《需求分析》读书笔记(1)
《需求分析》 DavidC.Hay 著 清华大学出版社
绪 论
1. 需求分析就是对系统开发工作提出明确要求的过程。(目标、组成部分、由什么人完成什么工作)
2. 在需求分析阶段偷工减料将导致的一个主要问题是开发出来的系统很复杂。简单系统的开发要比复杂系统容易得多,但简单系统的设计则要难得多。
3. 需求分析应由能够关注出资企业的本质及其在信息方面的需求的人员来完成。痴迷地认为用某项技术可以解决所发现的任何问题的人不适于做需求分析。
4. 从不同角度看待问题。
5. “软件项目的成功取决于两个条件:一是客户能够清楚地说明需要做什么工作,二是软件工程师能够以合理的价格交付合格的产品。无论缺少哪个条件,软件工程师都应坦诚地告诉客户此项目不会成功。”
6. 确定“需要做什么工作”,为此需要
ü 与项目客户建立密切的联系——最好是通过一位项目监督人
ü 切实有效的项目管理(选定的项目经理是最优秀的)
ü 相关人员都明确并切实理解的一系列步骤
7. 要描述企业的需求,首先要对企业本身进行描述。
8. 历史:结构化方法——》信息工程——》面向目标
9. 区别需求分析和系统设计
需求分析解决的是:企业的本质是什么?如何使用信息?(问题空间或会谈空间)
系统设计是特定技术针对该企业的具体运用(求解空间)
需求分析是关于“要做什么”的,而不是关于“如何去做”的。
10. 需求分析过程中所形成的模型必须在技术上是中立的。即描述要做的工作,但不考虑可能会采用什么技术来完成。
11. 系统开发生命周期:构建和实现一个系统必须遵循的一系列步骤。
构架框架:开发过程中各类人员的观点及按照各自观点分别考虑的问题。
12. 系统开发生命周期的步骤:战略、需求分析、设计、构建、转变、生产。
13. 认识到系统开发是由具有不同观点的若干类人员共同完成的与认识到系统开发是分阶段完成的同等重要。(Zachman)
14. 软件系统构架框架是由若干行、若干列组成的一个矩阵。其中的行代表不同的观点,列则是从不同观点考察的对象。
15. 矩阵包括:规划者视图、企业所有者视图、构架师视图、设计师视图、构建者视图、生产系统视图。
16. 根据Zachman框架,需求分析可以看作是把企业所有者视图转化为软件构架师视图的过程。