读书笔记《道法自然--面向对象实践指南》第一章


开始一个项目,首先要明确的是项目的“目标”和项目“范围”。软件的目标定义应该尽量简洁
明了、无歧义,范围确定之后,就可以找出项目“干系人”(也就是除开发组成员外,对项目
有影响的人)。找出项目干系人之后,就进入了“需求分析”阶段。更直白一点讲,需求分析
就是找出软件要达到项目干系人的目标所应具备的功能,可分为功能性需求与非功能性需求
两类。需求分析做完后,应该用文档把此阶段为止项目的状况记录下来,这份记录的文档就
是“需求说明书”。需求说明书是与客户沟通的一个契约,同时,对项目组内部成员来讲,也
能对项目应实现的功能有个印象。

在软件开发的第一阶段,也就是需求分析阶段,还是有几个问题需要注意。项目开发总会碰
到很多问题,为了能更好的进行抉择,项目组应该确立一个基本的方针,以便于作为判断时
的一个依据;人都有追求完美的天性,这特点反映在需求阶段,具体表现就是会有人列出“
很好很强大”的需求项,而不顾项目最切实的需要,还有身处的项目组所具备的开发能力,
或者想到了,但是错误的以为只要一定的增加人手,项目也可以赢得同样比例的时间,在书
中提出了一个由资源/需求/时间组成的均衡三角形,揭示出增大三角形的任一边,对项目目
标的达成可能会没有任何助益,在需求分析阶段,必须要有忍受缺陷的能力,坚持“只实现
项目实际需要的,不实现可能需要的”;“死打他”(Start)按钮的小故事说明,在与项目干系
人做需求收集时应该注意,要采用同样一套用语,为了更好的收集需求,必要时,程序员对
项目干系人还负有做出解释的工作,书中的一个例子,就是用展示原形(prototype)的方法,
收到了较好的效果。


感想:

没有项目开发流程的清晰认识,所看到的最终成品,即规格书、图表、源代码,都是静止的
、支离破碎的局部,前后看不出任何联系,最终徒使自己迷惑。电脑中的资料就是那样的摆
放在那里,要使这些东西动起来,观者脑海中必须先有个大概的框架。

题外话:

虽然是一本技术书,但作者通过生活中几个小故事的描写,去掉了技术书籍条列式的枯燥,
能够有此效果,皆源于作者对生活中细节的观察思考,还有大量书籍的阅读。这本书也可以
作为一个书单。


问题:

1. 对目标和范围的划分不是很清楚,觉得目标和范围有相当一部分的重复。

2. 对需求说明书的作用,还不是十分明确,主要是觉得客户可能看不懂需求说明书,尤其
   是用例分析的表达方法,如果用UML图表达用例,很怀疑用户是否明白“小人图”到底说了
   些什么。
 

你可能感兴趣的:(读书笔记《道法自然--面向对象实践指南》第一章)