需求分析与设计阶段的区别
一、需求分析
需求分析是指开发人员要进行细致的调查分析,准确理解用户的要求。将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能的过程
1、需求分析的基本原则
- 可以把一个复杂问题按功能进行分解并可逐层细化。
- 必须能够表达和理解问题的数据领域和功能领域。
- 建立模型。
2、需求分析的基本任务
是要准确地理解旧系统,定义新系统的目标。回答系统必须“做什么”的问题。
- 问题明确定义;
- 导出软件的逻辑模型;
- 编写文档;
3、需求分析方法
- 1)结构化分析
- 建立现行系统的物理模型;
- 抽象出现行系统的逻辑模型;
- 建立 目标系统的逻辑模型;
- 进一步补充和优化;
- 建立现行系统的物理模型;
- 2)数据流图
(数据流、加工、数据流原点和终点)、数据字典、加工逻辑的描述(结构化语言、判定表、判定树)
二、需求阶段
- 找出领域模型
- 在需求分析阶段,先找出用例,画出用例图,一开始,用例的粒度不宜太细,以免看不清主线。
- 需求分析先要确定业务上的需求,业务规则,有哪些约束条件。
- 描述“为什么”
- 抓住主线,列出用例。
- 对用例进行扩展。
- 列出可能的扩展需求
三、设计阶段
1)画出用例图
2)画出状态图
3)画出实体类图
4)画出序列图
5)定义数据字典和ER图
6)对照用例,每个用例都走一遍,看是否能走通,有没有什么问题
7)设计要做到什么程度:自己心中非常有底,非常有信心,而不能自己心里都是虚的,没什么底。
四、需求分析学习笔记
在可行性分析阶段,主要是对新系统的基本思想和过程进行初步的分析和论证,对系统的基本功能,性能,开发时间的限制,人员安排,投资情况做一个客观的分析。
在需求分析阶段,要对在可行性分析阶段确定的系统目标和功能作进一步详细的描述,确定系统“做什么”的问题。
1、需求分析一般的实现步骤
(1)获得当前系统的物理模型。物理模型是对当前系统的真实写照。首先要对现行系统进行分析,理解,了解它的组织情况,数据流向,输入输出,资源利用情况等,在分析的基础上画出它的物理模型。
(2)抽象出当前系统的逻辑模型。逻辑模型是在物理模型的基础上,去掉次要的东西,建立起反映系统本质的逻辑模型。
(3)建立目标系统的逻辑模型。分析目标系统和当前系统逻辑上的区别,建立符合用户需求的目标系统的逻辑模型。
(4)补充目标系统的逻辑模型。对目标系统进行补充完善,加上一些次要的因素,例如出错处理。
2、需求分析的具体任务
1)确定系统的综合要求
(1)确定系统功能要求。这是最主要的需求,确定系统必须实现的所有功能。
(2)确定系统性能要求。应就具体系统而言。例如可靠性,联机系统的响应时间,存储容量,安全性能等。
(3)确定系统运行要求。主要是系统运行时要求,如系统软件,数据库管理系统,外存,数据通信接口等。
(4)将来可能扩展的要求。对将来可能的扩充作预准备。
2)分析系统的数据要求
软件系统本质上是信息处理系统,因此,必须考虑:
(1)数据(需要哪些数据,数据间联系,数据性质,数据结构等)
(2)数据处理(处理的类型,处理的逻辑功能等)
(3)导出系统的逻辑模型。通常系统的逻辑模型用DFD(Data Flow
Diagram)图描述。
(4)修正系统的开发计划。通过需求分析对系统的进度和成本有了更精确的估算,因此可以进一步修改开发计划。
2、需求分析的过程
(1)问题识别:双方确定系统的综合需求。包括功能需求,性能需求,运行时需求,扩张需求,用户界面需求,安全需求,可靠性,保密性,可维护性,可移植性等需求。
(2)分析与综合:导出系统的逻辑模型。
(3)编写文档:
- 需求说明书
- 初步用户使用手册
- 确认测试计划
- 修改完善项目开发计划
(4)分析评审:对功能的正确性,完整性,清晰性和其它需求进行复查和评审。