软件设计之所见

原创 2004年07月24日 11:05:00

  我是一个追求完美的人,所以现实生活中往往容易感到失望与痛苦,我们的四周围绕着太多粗糙不堪的玩意,前些日子有一同事买了一部国产手机,然后每隔一小段时间就看到他往手机修理处跑,后来他痛心疾首地对我说:"这辈子我再也不买国产手机!"。

  
我感到茫然,为什么很多MADE IN CHINA 的产品的质量那么差?为什么我们的汽车市场、手机市场都是老外的产品在兴风作浪?我是爱国的,但如果我有足够的MONEY,我是不会购买国内产品的......显而易见,有用耐用的产品对我们的生活与工作来说真是太重要了,软件也一样,一个有用的软件产品能帮助用户解决实际问题,能体现出对用户的价值。
 
 
 那如何才能设计出有用的软件呢?这是一个大问题,小弟显然不够资格来光明正大地回答,因此只好虚心地、试探性地作一下论述,免得贻笑大方。 现在的软件开发在很多的眼中似乎变得越来越简单,该死的可视化开发工具让我们变得越来越傻,简单易用的软件库层出不穷,社会信息化的进步有时却让人的脑子退步,尽管如此,市场上众多的软件产品中能成功的也只是凤毛麟角,可见软件产品的重心已不在于开发技术与工具,开发工作本身的确已变成了相当容易的事情,而设计出有用的软件才是真正的困难之所在! 设计这个词对我等俗人来说是高不可攀的,那需要天赋,需要思想的火花,需要灵感的喷发, DESIGNER一直是我比较仰慕的一种人.....
 
 
前些时候看过一本书,说软件设计的出发点就是 3W,呵呵,这里不是万维网的WWW,而是Who(为谁设计,用户是谁)、What(要解决哪些用户问题 )、Why(为什么要解决这些问题)三个单词的合并,也就是说在作软件设计时,必须先很好地回答这三个问题,如果没有明确的答案,就先别急着开发产品,可见它的重要性。 其实3W说白了,都是围绕着用户来的,因此满足用户的需求,便于用户的使用,同时又能使开发技术尽可能简单,这就是我们所要追求的。当然这话说得容易,做起来就没那么容易,相信很多同行也都有一些雷同的体会,在我们进行软件设计的过程中总会遇到一些相违背的思想,只有处理好了,才能设计出有用的软件产品。
 
 
 (1)技术决定产品的设计 我曾经相信技术是最酷的,是万能的,是至上的,在CODING时我喜欢用最IN的方式来SHOW我的技术水平,而很少去从用户的角度来思考问题。现在看来,这是错误的,用户买你的软件其实并不是为了其中的什么酷技术,而是因为软件产品能满足他们的需求,能使他们的生活、工作更方便一些,更有趣一些。因此是用户与市场决定了产品的设计,而不是单纯的技术。
 
 
 (2)我是高手我怕谁 毫无疑问,我们程序员是属于高智商群体,这很让我沾沾自喜,我们大多受过高等教育,我们聪明自信,我们热爱技术热爱CODING,正因如此,我们有一点骄傲自大,自觉不自觉地将软件设计当成是自我表达的一种方式,我是高手,用户是什么?呵呵,我怕什么?实际上,过度地自信往往会让设计工作变得了你一个人的表现。我们应善于学习,向市场学习,向用户学习,向懂行的人学习,“三人行必有我师”,要真正搞懂市场要什么,用户要什么,产品要什么?
 
 
(3)你要什么,我就做什么 这种满足人的一切需要正是完美主义者所容易犯的错误,有这种思想的设计者,往往忽略了技术上的可行性,这种设计通常会导致软件产品的失败,不仅会浪费大量的人力物力,更重要的是浪费大量美好的青春年华,所以软件设计只有基于用户需求,立足于可行的技术才能成功。 ......
 
 
应还有别的,只是我暂时想不到,总而言之,用户与市场是软件设计中最重要的因素,软件设计工作中更多的是研究用户与市场,而不是研究技术。

软件架构设计之常用架构模式

1.分层架构:分层架构是使用最多的架构模式,通过分层使各个层的职责更加明确,通过定义的接口使各层之间通讯,上层使用下层提供的服务。分层分为:严格意义上的分层,一般意义的分层。严格意义的分层是n+1层使...
  • kepoon
  • kepoon
  • 2014年04月02日 10:24
  • 2507

软件概要设计的过程与任务

在完成对软件系统的需求分析之后,接下来需要进行的是软件系统的概要设计。一般说来,对于较大规模的软件项目,软件设计往往被分成两个阶段进行。首先是前期概要设计,用于确定软件系统的基本框架;然后是在概要设计...
  • kevin_hcy
  • kevin_hcy
  • 2013年08月01日 15:50
  • 43694

软件工程各阶段的评审内容

软件工程各阶段的评审内容如下表: 评审点 评审人员 评审文档 评审内容 需求调研评审 用户   管理人员(PM) 软件开发人员 (质量管理人员) (初...
  • cnboynet
  • cnboynet
  • 2015年01月17日 17:50
  • 6340

我所见过的功能最强大的有源滤波器设计软件-filter design wizard

  • 2009年09月13日 16:26
  • 1.2MB
  • 下载

我所见的功能最强的服装类批发销售管理软件强力推荐版

  • 2014年11月04日 17:23
  • 17.5MB
  • 下载

设计模式个人所见

1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅...
  • by317966834
  • by317966834
  • 2012年06月06日 08:47
  • 694

软件测试之我所见

这篇博以及接下来的几篇博客,主要是为了即将要毕业的大学生想要从事软件测试行业而写的。只是个人的一些心得,希望朋友多多指教。 一、软件测试的背景 1.软件缺陷是什么? 软件或程序中存在的某种破...
  • bit_dangersmile
  • bit_dangersmile
  • 2017年08月10日 09:56
  • 202

平台网站架构设计之我所见[转]

前言: 我从业至今参与过不少平台网站的研发和改版,其中有电影评论平台,医药业行业平台,纺织业行业平台,地板业行业平台,翻唱音乐平台,地区门户,土木行业平台,还包括两个应用型平台。其中几个平台的性能...
  • chensrao
  • chensrao
  • 2011年03月28日 14:50
  • 994

软件设计模式——观察者模式(Observer)

介绍当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。应用实例1、拍卖的时候,拍卖师观察最高...
  • Jungle_hello
  • Jungle_hello
  • 2016年04月19日 18:22
  • 688

Java swing sqlserver实现的桌面通讯录小软件设计实现与项目源码

今天给大家分享一款由Java swing sqlserver实现的桌面通讯录软件,实现了管理员登录、通讯录及其分类管理、备忘录管理等功能,功能虽简单,但是很多细节都处理的很好,代码质量较高,是Java...
  • llqqxf
  • llqqxf
  • 2018年01月15日 12:25
  • 17
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件设计之所见
举报原因:
原因补充:

(最多只允许输入30个字)