需求分析与设计阶段的区别

一、需求分析

需求分析是指开发人员要进行细致的调查分析,准确理解用户的要求。将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能的过程

1、需求分析的基本原则

  • 可以把一个复杂问题按功能进行分解并可逐层细化。
  • 必须能够表达和理解问题的数据领域和功能领域。
  • 建立模型。

2、需求分析的基本任务

是要准确地理解旧系统,定义新系统的目标。回答系统必须“做什么”的问题。

  • 问题明确定义;
  • 导出软件的逻辑模型;
  • 编写文档;

3、需求分析方法

  • 1)结构化分析
    • 建立现行系统的物理模型;
    • 抽象出现行系统的逻辑模型;
    • 建立 目标系统的逻辑模型;
    • 进一步补充和优化;
  • 2)数据流图
    (数据流、加工、数据流原点和终点)、数据字典、加工逻辑的描述(结构化语言、判定表、判定树)

二、需求阶段

  1. 找出领域模型
  2. 在需求分析阶段,先找出用例,画出用例图,一开始,用例的粒度不宜太细,以免看不清主线。
  3. 需求分析先要确定业务上的需求,业务规则,有哪些约束条件。
  4. 描述“为什么”
  5. 抓住主线,列出用例。
  6. 对用例进行扩展。
  7. 列出可能的扩展需求

三、设计阶段

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)分析评审:对功能的正确性,完整性,清晰性和其它需求进行复查和评审。