软件工程 --软件工程用图
目录
数据流图
ER图
层次方框图
状态转换图
Warnier图
Petri图
网HIPO图
判定树
盒图(N-S图)
PAD图
数据流图
简介:
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型
数据流程图中有以下几种主要元素:
- →: 数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成.如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成.由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名
- □: 数据源(终点).代表系统之外的实体,可以是人、物或其他软件系统
- ○: 对数据的加工(处理).加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出
- 〓: 数据存储.表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等
例子:
实体-联系图(ER图)
目的:
为了把用户的数据要求清楚准确地描述起来系统分析员通常建立一个概念性的数据模型
要素:
- 实体型:用矩形表示,矩形框内写明实体名;
- 属性:用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;
- 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型
在E-R图中要明确表明1对多关系,1对1关系和多对多关系:
- 1对1关系在两个实体连线方向写1;
- 1对多关系在1的一方写1,多的一方写N
- 多对多关系则是在两个实体连线方向各写N,M
例子:
层次方框图
概述:
层次方框图用树形结构的一系列多层次的矩形描述数据的层次结构.树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)
例子:
状态转换图
概述:
通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为.此外状态转换图还指明了作为特定事件的结果系统将做那些动作(例如,处理数据).因此状态转换图提供了行为建模机制
在状态转换图中,每一个节点代表一个状态,其中双圈是终结状态
例子:
Warnier图
概述:
是表示数据层次结构的一种图形工具,它用树形结构来描绘数据结构.它还能指出某一类数据或某一数据元素重复出现的次数,并能指明某一特定数据在某一类数据中是否是有条件的出现.在进行软件设计时,从Warnier图入手,能够很容易转换成软件的设计描述
例子:
Petri图网
Petri网模型3种基本元素:
- 位置集P(Place Set)
- 转换集T(Transition Set)
- 标记集M(Marker Set或Token Set)
- 三元组模型 S = (P,T,M)
Petri网用一个八元组来表示知识间的因果关系,形式为:
- n P:位置的有限集
- n T:转换的有限集
- n D:命题的有限集
- n I:输入函数,表示从位置到转换的映射
- n O:输出函数,表示从转换到位置的映射
- n f:相关函数,表示强度,0-1之间
- n α:相关函数,表示位置对应命题的可信度,0-1之间
- β:相关函数,表示位置到命题的映射,位置对应的命题
例子:
IF dj THEN dk (CF=ui),若dj的可信度为0.8,规则强度ui=0.9
图2 Petri网表示例示
P={Pj,Pk}
T={ti}
D={dj,dk}
I(ti)={Pj}
O(ti)={Pk}
f(ti)=ui=0.9
(Pj)=0.8
(Pj)=dj (Pk)=dk
HIPO图
概述:
HIPO(Hierarchy Plus Input/Processing/Output)图是美国IBM公司70年代发展起来的表示软件系统结构的工具。它既可以描述软件总的模块层次结构--H图(层次图),又可以描述每个模块输入/输出数据、处理功能及模块调用的详细情况--IPO图。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的
例子:
判定树
概要:
判定树又称决策树,是一种描述加工的图形工具,适合描述问题处理中具有多个判断,而且每个决策与若干条件有关。使用判定树进行描述时,应该从问题的文字描述中分清哪些是判定条件,哪些是判定的决策,根据描述材料中的联结词找出判定条件的从属关系、并列关系、选择关系,根据它们构造判定树
例子:
盒图(N-S图)
简介:
流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程.在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成,这种流程图简称N-S图
N-S图的特点:
- 功能域明确
- 很容易确定局部和全局数据的作用域
- 不可能任意转移控制
- 很容易表示嵌套关系及模块的层次关系
种基本程序结构的N-S图:
顺序结构N-S图:
选择结构N-S图:
if条件:
多分支:
循环结构N-S图:
当型循环:
直到型循环:
例子:
PAD图
定义:
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以来,已经得到一定程度的推广。它用二维数形结构的图表示程序的控制流,将这种图转换为程序代码比较容易
优点:
- 使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序
- PAD图所描述的程序结构十分清晰.图中最左边的竖线是程序的主线,即第一层控制结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线.PAD图中竖线的总条数就是程序的层次数
- 用PAD图表现程序逻辑,易读、易懂、易记.PAD图是二维数型结构的图形,程序从图中最左边上端的结点开始执行,自上而下,从左到右顺序执行
- 很容易将PDA图转换成高级程序语言源程序,这种转换可由软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率
- 可用于表示程序逻辑,也可用于描述数据结构
- PAD图的符号支持自顶向下、逐步求精方法的使用.开始时设计者可以定义一个抽象程序,随着设计工作的深入而使用“def”符号逐步增加细节,直至完成详细设计
流图含义:
例子: