目录
1.结构化分析方法的概念
就软件需求分析而言,即:系统化地使用问题域术语,给出该问题的模型(即“系统必须做什么”的一个估算)
1)需求分析的目标
对需求陈述进行分析,解决其中的歧义、不一致等问题以系统化的形式表达用户的需求,即给出问题的形式化或半形式化的描述(称为系统的概念模型,或系统的需求规约或需求规格说明)。作为开发人员和客户间技术契约的基础,并作为而后开发活动的一个基本输入。
2)实现软件需求分析的目标对方法学的需求
(1)提供一组术语(符号),指导需求抽象中需要关注的主要方面,并用于表达分析中所使用的信息。
这些术语形成一个特定的抽象层,即需求层。
(2)依据这些术语所形成的“空间”,给出表达模型的工具,支持表达系统功能形态。
(3)给出过程指导,以支持系统化地使用相关信息建造系统模型。
2.结构化分析模型
一个抽象层是由一组确定的术语定义的,为支持需求分析中有关要使用的那些信息的表达,结构化分析方法给出了以下四个术语:数据流,加工,数据存储,实体
数据流,数据存储是数据抽象,加工是过程、功能的抽象,实体是系统边界的抽象
模型表达工具
(a)数据流图(DFD图)--表达系统功能模型的工具。是一种描述数据变换的图形工具,它包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。
(b)数据字典--定义数据流和数据存储
用于定义数据流和数据存储的结构,并给出构成所给出的数据流和数据存储的各数据项的基本数据类型。
(c)判定表或判定树等--定义加工小说明(结构化自然语言,判定表,判定树)
描述加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等。
3.结构化分析过程
(1)建立系统的功能模型 ---使用的工具为数据流图DFD
首先:建立系统环境图(顶层数据流图),确定系统边界
(2)继之:自顶向下,逐层分解,建立系统的层次数据流图
建立数据字典 ---使用的工具为结构符:+、|、{}等
定义数据流 定义数据存储 定义数据项
(3)给出加工小说明:集中描述一个加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等,
①模型平衡问题
**父图和子图的边界一致问题,即它们应有相同的边界:
**数据流图中的数据流与数据字典的一致问题,即每个数据流和数据存储必须在数据字典中予以定义
**数据流图中的“叶”加工(最低层)与小说明的一致问题,即必须给出“叶”加工的说明
**小说明和数据流图的图形表示一致问题,即在小说明中必须说明“输入数据流”如何使用,必须说明如何产生“输出数据流”;必须说明如何选取、使用、修改“数据存储“
②信息组织复杂性控制问题
·上层数据可以“打包
**上、下层的数据流对应关系在数据字典中给出,但包内数据流的性质(输入、输出)必须一致。
**一幅图中的图元个数应控制在7+/-2以内·
**与每一加工相关的数据流的数目应适中(与层次有关)
·**分析数据内容,确定是否所有的输入信息都用于产生输出信息;
**分析加工,确定一个加工所产生的输出,是否都能由该加工的输入信息导出
4.需求规格说明书
**数据流图,数据字典,加工说明
**接口
**性能需求
**属性
**其他需求