第3章需求分析为什么需要需求分析
开发人员往往急于求成希望对开发进行指导希望开发人员对用户的要求理解希望用户理解开发人员测试部门有理可依需求分析做什么
准确地回答”系统必须做什么
”这个问题;对系统提出完整、准确、清晰、具体的要求;写出软件需求规格说明书;用户要很好地参与到需求分析过程中来;(需求要不断迭代)注意区别”可行性分析”和”需求分析”的异同;设计出系统的”数据模型”、细化的“逻辑模型”和“行为模型”;(关键所在)IsWhatNotHow需求分析做什么
所有的结构化分析方法都遵守下述准则:(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型
(2)必须定义软件应完成的功能,这条准则要求建立功能模型
(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型
(4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节
需求获取面临的挑战客户说不清楚需求需求易变性问题的复杂性和对问题空间理解的不完备性与不一致性优秀需求具有的特性1
划分优先级6
无二义性7
1需求分析的任务具体任务:确定对系统的综合要求(系统需要什么
)分析和设计系统的数据要求(处理的数据对象是什么
)在可行性分析的基础之上分析和设计系统的功能模型(系统功能的模型表示是什么
)分析和设计描述软件动态变化的行为模型(系统的状态是如何改变的
)编写软件需求规格说明书,可能需要修正系统开发计划3
1确定系统的综合要求功能要求性能要求可靠性和可用性要求出错处理要求接口要求约束逆向要求扩展要求基本的、核心的时间、存储量、安全性MTTF对环境错误应该如何响应用户、硬件、软件、通信限制条件、精度、语言对系统可能的扩充或修改系统不应该做什么3
2分析和设计系统的数据