文章目录
1.需求分析的概念与意义
- 需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。
- 需求分析是在计算机系统的软件功能分配和软件设计之间起重要桥梁作用的一项软件工程活动。描述待开发的系统所要完成的功能。
- 需求分析使系统工程师能够刻画出软件的功能和性能,指明软件和系统其他元素的接口,并建立软件必须满足的约束。
- 需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
2.需求分析所面临的困难
需求分析往往因为软件产品的下列特性而困难重重:
- 软件功能复杂。
- 需求的可变性。
- 软件产品的不可见性。
通常,一个计算机应用系统的需求分析工作是在系统分析人员与用户不断交互的过程中完成的。
3.获取需求的方法
-
面谈
系统分析员与用户方的专家和业务人员进行知识交流、与他们会谈,获得需求。
-
实地观察
实地观察用户的操作过程。对比现有的系统,思考如何采取更高效的方式。
-
问卷调查
若需访谈的个体太多,且需要回答容易确定的细节问题,可采取问卷调查方式。
-
查阅资料
收集和查阅相关的文献资料,如组织机构图、规章制度、相关文档、图表及报告等。
4.需求分析的过程
-
标识问题:
需求分析的第一步,通过对问题和标识获得的对所有求解问题及其运行环境的理解。
-
建立需求模型:
目前在信息系统的需求分析中可使用结构化分析模型或面向对象分析模型。
-
需求描述:
需求、功能、信息、性能、环境、其他需求。
-
确认需求:
需求确认及评审。审核功能需求、数据需求、性能、数据管理及其他需求。
4.1 结构化分析方法的提出
- 20世纪70年代中期,Stevens、Myers与Constantine等人在结构化程序设计的基础上,倡导**结构化设计(Structured Design, SD)**技术。
- 70年代后期,Yourdon等人倡导了与SD配套的结构化分析(Structured Analysis, SA)技术,合称为结构化分析与设计方法。
- 结构分析与设计方法是瀑布模型的首次实践。
4.2 结构化分析任务
- 建立分析模型。SA模型是描述软件需求的一组模型,主要包括功能模型、数据模型和行为模型。
- 编写需求规格说明书。SRS是分析阶段编写的以文字为主的文档,主要内容包括:引言、信息描述、功能描述、行为描述、质量保证、接口描述以及其他需求等。
- 结构化分析的指导思想。抽象与分解是结构化分析的主要指导思想。
4.3 DFD需求建模方法
- 数据流图(Data Flow Diagram, DFD):DFD建模方法的核心是数据流,从应用系统的数据流着手以图形方法刻画和表示一个具体业务系统的数据处理过程和数据流。
![](https://img.imgdb.cn/item/600bd94f3ffa7d37b3ac61f0.jpg)
-
数据流:数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
-
数据源(终点)
代表系统之外的实体,可以是人、物或其他软件系统。
-
对数据的加工(处理)
加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
-
数据存储
表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
4.4 DFD建模过程
-
明确目标,确定系统范围。
将用户对目标系统的功能需求完整、准确、一致地描述出来。
-
建立顶层DFD图。
说明系统边界,即系统的输入和输出数据流,顶层DFD只有一张。
-
构建第一层DFD分解图。
中间层DFD,描述了某个过程的分解,而它的组成部分又要进一步分解。
-
开发DFD层次结构图(原则:保持均匀的模型深度,按困难程度选择)。
底层DFD,由一些不可再分解的过程组成。
-
检查确认DFD图。
4.5 检查确认DFD图的5条规则
- 父图中描述过的数据流必须在相应子图出现。
- 一个处理至少有一个输入流和输出流。
- 一个存储必定有流入的数据流和流出的数据流。
- 一个数据流至少有一端是处理框。
- 表达描述的信息是全面、完整、正确和一致的。
4.6 IDEF0需求建模方法
IDEF方法(结构化分析方法):ICAM DEFinition Method,由美国空军发明,从IDEF0到IDEF14(包括IDEF1X在内)共有16套方法,每套方法都是通过建模程序来获取某个特定类型的信息。
最常使用的是IDEF0~IDEF4:
- IDEF0:描述系统功能及其相互关系;
- IDEF1: 系统信息及其数据之间联系;
- IDEF2: 系统模拟,动态建模;
- IDEF3: 过程描述及获取方法;
- IDEF4:面向对象设计。
4.7 UML用例建模方法
UML方法采用面向对象思想建模,使用用例图来描述系统功能需求。用例图由系统、角色、用例三种模型元素及其之间的关系构成。
关于UML会在后续的一个部分详细介绍。