2.1 软件需求分析的概念
软件需求:是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,准确地回答系统必须“做什么”。
主要任务:
①分析和建模: 通过对问题及其环境的理解、分析和综合,建立分析模型。
②描述和表达:把用户的需求通过一定的方式完整、准确、清晰、一致地表达出来,形成软件需求规格说明书,即:需求分析报告。
目的:
①是为目标系统建设提供明确的目标。
②为后期的软件设计、软件测试等工作提供重要依据。
一般步骤:
①调查研究
②分析建模
③需求描述
④需求验证
2.2 结构化分析方法
结构化分析方法是一种面向数据流的分析方法,就是使用数据流图、数据字典、结构化语言、判定表或判定树等工具,来建立一种新的、称为结构化说明书的目标文档。
主要思想:
运用“抽象-分解”的基本手段,自顶向下逐层分解,直到找到满足功能需要的所有细节为止。
建模要素:
①数据或信息模型(实体-关系图):用于描述数据对象间的关系。
②功能模型(数据流图):指明系统中数据是如何流动和变换的,并描述使数据进行变换的功能。
③行为模型(状态转换图):指明系统在外部事件作用下将会如何动作,表明了系统的各种状态,以及各种状态间的变迁。
基本步骤:
①画出顶层DFD,确定系统边界。
②由顶向下按功能逐层分解,根据分析需要画出各层DFD。
③当不再分解时,建立DD并对处理进行描述。
④建立E-R图、控制流图、控制说明和状态迁移图STD等为分析作补充。
⑤沿DFD回溯:从最终的输出数据流出发,审查输入/输出的合理性、一致性、完整性。
⑥修改完善软件需求规格说明书。
2.3 实体-关系图
实体-关系图的主要成分是:实体、关系和属性。
实体可以是物理存在的对象,也可以是抽象存在的对象。
属性是描述实体或关系中的一种特征。
关系:实体内部的关系和实体之间的关系,有3种形式。
2.4 数据流图
数据流图的表示方式:
①应该遵守“由外向里”的原则。
②先确定系统的边界或范围,再考虑系统的内部,先画数据处理的输入和输出,再画数据处理内部。
具体步骤:
①识别系统的输入和输出,画出顶层图。
②画系统内部的数据流、加工与文件,画出一级细化图。
③加工的进一步分解,画出二级细化图。
总结:
①顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。
②底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。
③在顶层和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。
数据流图绘制时应注意的问题:
①合理编号。
②注意子图和父图的平衡。
③分解的程序。
2.5 状态转换图
状态转换图用于指明系统在外部事件作用下将会如何动作,表明了系统的各种状态,以及各种状态间的转换。
状态转换图构成了系统的行为模型。
2.6 数据词典
数据字典:是描述数据的信息集合,是对使用的所有数据元素定义的集合。
数据字典可以保证数据在使用中的一致性。
数据字典的组织方式:
①只含一个数据的数据项或数据元素。
②由多个相关数据项组成的数据流。
③数据文件或数据存储。
数据词典的词条应包含的信息:
①名称
②别名或编号
③组成或组织结构的描述
④类型、长度、取值范围等
⑤何处使用:使用该词条的加工