需求分析
参照b站【计算机三级数据库技术】
1.需求分析的概念和意义
需求是值用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,能完成什么样的功能,达到什么样的性能。
需求分析是在计算机系统的软件功能分配和软件设计之间起重要桥梁作用的一项软件工程活动。
- 描述待开发的系统所要完成的功能。
需求分析使得系统工程师能够刻画出软件的功能和性能,指明软件和系统其他元素的接口,并建立软件必须满足的约束。
需求分析的目标:
- 深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的的其他有效性需求
2.需求分析往往因为软件产品的下列特性而困难重重
软件功能复杂
- 用户需求可变性
- 软件产品的不可见性
通常,一个计算机应用系统的需求分析工作是在系统分析人员与用户不断交互的过程中完成的
3.需求获取的方法
面谈
- 准备访谈
- 计划和安排访谈日程
- 访谈开始和结束
- 引导访谈
- 访谈整理工作
实地观察
- 现场观察法
- 询问法{直接访问、堵截访问、电话访问、邮寄访问等}
问卷调查
- 适合使用情况
- 需访谈个体过多
- 需要问答容易确定的细节问题
- 希望有详细的结果
- 注意事项
- 使用问卷表尽可能简短
- 估计回答问题需要的时间,并在问卷表的开头标注时间
- 制定问题前,先确定你需要的答案
查阅资料
- 收集用户以下材料
- 现在的业务操作流程及其改进意见文档
- 现在使用的数据表和文件及其格式,并确定数据的来源
4.需求分析的过程
标识问题
- 需求分析的第一步,通过对问题和标识获得的对所有求解问题及其运行环境的理解
建立需求模型
- 目前在信息系统的需求分析中可使用结构化分析模型或面向对象分析模型
描述需求
- 需求、功能、信息、性能、环境和其他需求
确认需求
- 确认需求及评审。审核功能需求、数据需求、性能、数据管理及其他需求
目前在信息系统的需求分析中华可以使用如下方法
- 结构化分析与建模方法
如:DFD建模,IDEF建模 - 面向对象分析与建模方法
如:UML用例建模
结构化分析与设计方法是瀑布模型的首次实践
结构化分析任务
建立分析模型。SA模型是描述软件需求的一组模型,主要包括功能模型、数据模型和行为模型编写需求规格说明书。SRS是分析阶段编写的以文字为主的文档,主要内容包括:引言、信息描述、功能描述、行为描述、质量保证、接口描述以及其他需求等。
结构化分析的指导思想 → \rightarrow →抽象与分解是结构化分析的主要指导思想。
1、DFD需求建模方法
数据流图(Data Flow Diagram,DFD):
DFD建模方法的核心是数据流,从应用系统的数据流着手以图形方法刻画和表示一个具体业务系统的数据处理过程和数据流。
- 数据流
数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。 - 数据源(终点)
代表系统之外的实体,可以是人、物或其他软件系统。 - 对数据的加工(处理)
加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。 - 数据存储
表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等
2、DFD建模过程、具体建模过程及步骤:
- (1)明确目标,确定系统范围。
将用户对目标系统的功能需求完整、准确、一致地描述出来。 - (2)建立顶层DFD图。
说明系统边界,即系统的输入和输出数据流,顶层DFD只有一张。 - (3)构建第一层DFD分解图。
中间层DFD,描述了某个过程的分解,而它的组成部分又要进一步分解。 - (4)开发DFD层次结构图(原则:保持均匀的模型深度,按困难程度选择)。
底层DFD,由一些不可再分解的过程组成。 - (5)检查确认DFD图.
检查确认DFD图的5条规则:
父图中描述过的数据流必须在相应子图出现。
一个处理至少有一个输入流和输出流。
一个存储必定有流入的数据流和流出的数据流
一个数据流至少有一端是处理框。
表达描述的信息是全面、完整、正确和一致
最常使用的是IDEFO~IDEF4:
- IDEFO:描述系统功能及其相互关系;
- IDEF1:系统信息及其数据之间联系;
- IDEF2:系统模拟,动态建模;
- IDEF3:过程描述及获取方法;
- IDEF4 :面向对象设计;
4、UML用例建模方法
UML方法采用面向对象思想建模,使用用例图来描述系统功能需求。
用例图由系统、角色、用例三种模型元素及其之间的关系构成。