第4章需求分析(结构化方法)
需求分析是指开发人员通过细致的调查分析,详细准确和完整的理解,用户需要什么样的软件,将用户非形式的需求陈述转化为完整的需求定义,再将需求定义转换到相应的需求规格说明的过程,
4.1需求分析的特点,
- 问题的复杂性,
- 客户和开发者之间的交流障碍,
- 客户需求的易变,
- 客户描述的不一致性和完整性,
4.2需求收集,
-
需求收集的内容,
需求收集需要收集以下几个方面的内容,数据需求,功能需求,性能需求,运行需求,其他方面的需求,
-
需求收集的方式,
访谈,由开发人员向客户提出问题,分为程式化的访谈和非程式化的访谈,
问卷调查,场景使用,用户资料收集等等,
4.3数据流建模,
数据流建模的方法是一种结构化的分析方法,自顶向下逐步分解的定义用户系统的需求,
-
数据流图
数据流图的组成部分有4种,
数据流,在数据流中用箭头表示,
加工,在数据流图中用一个圆圈或圆角的方框表示,
数据存储,用一个开口的矩形或双划线表示,
数据的原点和终点,用正方形或立方体来表示,
拓展符号,*(与),+(或),异或
-
分层数据流图,
存数据流图有利于控制问题的复杂度,有利于描述大型系统,有利于用户的理解,
顶层数据流图
顶层数据流图只有一张,主要描述整个系统的作用范围,说明系统的边界,反映系统和外部环境之间的关系,
底层数据流图
底层数据流图有一些不必再进行分解的加工组成,
中间层数据流图
中间层数据流图是通过分解高层加工得到的,中还有一些加工,需要进一步分解,
-
数据词典,
数据词典是关于数据信息的集合,是对数据流图中的每个数据,包括数据流和数据存储,进行严格定义的场所,
-
加工说明,
加工说明是对数据流图的基本加工进行说明,可以采用以下的方法,Ipo图,结构化语言,判定表,判定数等等,
IDEF0功能建模,
-
Idef0图
Idef0图的主要元素是盒子以及箭头,盒子代表系统的功能,箭头表示系统处理的数据约束,
Idef零功能建模方法要求一张Idef0图中的盒子最多只能有6个,子图还要求不少于三个,盒子至少有一个控制箭头,箭头只能水平或竖直
Idef0图中的箭头表示了系统的数据约束,箭头又可分为,分支箭头,汇合箭头,通道箭头,双向箭头,虚线箭头,选择箭头,
通知箭头,表示多个活动需要同一种数据或一种数据的不同成分,
汇合箭头,表示多个活动产生同一种数据,
通道箭头,表示箭头描述的数据约束不出现在子图或父图中,
双向箭头,表示两个盒子的活动互为输入或互为控制,且将先触发的盒子放在较高的位置上,
虚线箭头,表示活动触发的先后顺序,
选择箭头,表示数据的选择关系,
注意,一条边线上最多有4个箭头,
-
分层Idef0,
为了明确分解过程中数据和图形间的关系,采用Icom码和节点号来进行标识,
Icom分别表示,来自父盒子的输入,控制,输出,机制边线,并在字母之后跟上数据约束在父盒子中的数字顺序号,
节点号,节点号用来表明图形或盒子在分层Idef0图中的位置,
-
Idef0图的建模步骤,
确定建模的范围,观点及目的;建立系统的内外关系图;建立a0图的一系列子图;书写文字说明。
4.5Idef1x数据建模,
Idefex方法是Idefe方法的拓展版本,Idef1用来表示系统的信息结构和语义,Idefex方法增强了图形的表达能力,丰富了语义和简化了开发过程,
-
实体,
实体是具有相同属性或特征的现实或抽象事物的集合,这个集合中的一个元素便称为实体的一个实例,
在一张Idefex图中,一个实体只能在图中出现一次,
实体分为独立实体和从属实体,独立实体用矩形表示,从属实体用圆角矩形表示,
-
联系,
Idef1x图中的联系分为确定联系和非确定联系,确定联系只1对1或一对多的联系,非确定联系只多对多的联系,确定联系又可分为连接联系和分类联系,连接联系,有可标定联系和非标定联系,分类联系,有完全分类联系和不完全分类联系,
可标定联系用实线加圆圈表示,非标定联系用虚线加圆圈表示,
完全分类联系,由圆圈加两根横杠表示,不完全分类联系,由圆圈加一根横杠表示,
-
属性,
属性表示现实或抽象的事物的一种特性或特质,类似于uml图中的类