真善美

勇于承担责任; 如果你做不到,要提前跟别人说明,不要等到事情发生后再解释。

  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  55 随笔 :: 0 文章 :: 29 评论 :: 0 Trackbacks

  浅谈软件设计人员应具备的基本能力

   设计的好坏,直接影响到后续的开发,这个我们都知道,我也深有体会。我自己也试着做一些东西,但都因为设计不合理,做不下去。有些功能虽然能实现,但运行速度很慢,我的一位同事,写的SQL语句,运行页面要花3个小时。这样的程序能交给用户?所以一个有经验的设计者,做设计时也会考虑到效率的问题。

在这里只谈一下自己想法,软件设计人员应具备的基本能力。

先看一幅图片:

 

   每次谈到沟通问题我都会想到这幅图片,知道沟通有多么重要。

   这就是设计人员要具备的基本能力之一:沟通。

   沟通贯穿于软件的整个生命周期中。从需求分析开始,沟通就开始发挥它的重要性了,这里要注意不同对象要采用不同的语言,用户并非像我们一样明白我们的专业术语,这就要我们采用自然语言进行沟通,避免在理解上产生偏差。有时用户滔滔不绝的描述了一大堆,可能并不是我们想要的,这时就要我们设计人员尽力引导用户,将我们要了解的都弄清楚,以免以后引起不必要的变更。在聆听用户阐述时,设计人员需将所有的功能点罗列出来,注意不要遗漏。

   设计人员要具备的基本能力之二:尊重事实,客观理解需求。

   用户只会告诉我们他想要什么,不会告诉我们怎么去做。因此,设计人员要将用户需求进行分析、归纳和整理。在这里设计人员都实事求是,不能夸大,也不能缩小,要这样做的目的就是:“让用户花钱,买一件称心如意的商品”。如果用户给出的需求是模糊或不合理的,设计人员就要帮助用户进行分析,告诉用户不合理的原因等,并建议用户采取何种方案,重新确认需求。

   设计人员要具备的基本能力之三:编写文档。

   文档也是软件产品,没有文档的软件,不称其为软件。

   从用户那里收集需求时,可能是每一个业务人员都只跟你描述他所知道的那一部分业务流程和需求,在文档里,我们需要把每个人的描述都记录下来,然后再综合整理成一个完整的业务流程和需求文档。很多在脑海中似是而非的内容也会在文档化的过程被加以细化和规范化。

   有人会认为需求都明白了,不写设计文档,也能做出程序,这样理解就错了,这样就可能引起本文开头所说的那些问题了。文档是一种帮助我们整理自己思路的工具。许多问题只有在你要落笔记录下来时,才会更加仔细地考虑其完善性。比如说我参与的一项目,项目组讨论并定下了数据库所用到的表和字段等,但当我写文档时,却发现了不少问题,多余表、字段及表连接问题等等。想更清楚表达软件设计的各个方面,可以通过UML来提高文档的质量。

   设计人员要具备的基本能力之四:设计应以用户为出发点。

   这是我读《设计心理学(唐纳德.A.诺曼著)一书后的最深体会。我感觉这应该是设计的最高境界,如果这里做好了,就差不多达到我们常说的“真-善-美”了。我把这点列到基本能力中,是因为我们做设计时,要有这种思想,要体会用户的心理。尽管我们做不到最好,但是我们考虑到这一点了。如果只单纯的实现功能,用户使用产品时,找不到北,全是用户的错吗?

   设计人员要抓住用户的心理,确保:1、用户能够弄明白操作的方法2、用户能够看出系统的工作状态。假想一下:如果用户没弄明白操作方法,操作失误,你的产品从此变成垃圾,即使用户说“唉,是我笨。”,用户想再买你的产品的机率有多大呢?设计人员是制造商,目的是让我们的产品能够更好的推广,用户才是最终的体验者,只有当用户说这个产品好,那才是真的好。

   设计产品的质量高低归结于不倦的尝试。在不断的尝试中总结经验,对设计人员来说,经验是非常重要的。设计人员要具备以上基本能力,再通过实践总结发现并学习其它能力,不断积累,不断进步。



posted on 2007-06-26 21:09 真善美 阅读(799) 评论(0)  编辑  收藏 所属分类: 其它