软件工程用图
阅读数:557 评论数:0
跳转到新版页面分类
架构学
正文
一、概述
二、可行性研究阶段
系统流程图主要应用在系统架构阶段,是系统分析员或系统设计师对将要构建系统的一种描述,这种描述以简单图形化的方式给出了系统的整体结构,涉及到系统将要使用的各种部件,如子系统、数据库、磁盘、文件、用户的输入与输出等。
(1)符号
(2)示例
系统流程图主要描述系统的整体结构,而程序流程图主要描述某个程序模块的执行步骤和过程。
用于表示业务信息系统中的数据流,它表达了系统中的数据从输入到存储间所涉及的程序。
(1)符号
(2)示例
(3)数据流图三大原则
第一 父图与子图的平衡原则
即子图的输入输出数据流同父图对应加工的输入输出数据必须一致。
不符合
符合
第二 数据守恒原则
外部实体与外部实体之间不存在数据流
外部实体与数据存储之间不存在数据流
数据存储与数据存储之间不存在数据流
第三 守恒加工原则
对于每个加工,必须既有输入数据流,又有输出数据流。
数据流与加工有关,且必须经过加工。
数据流图描写叙述了系统的分解。但没有对图中各成分进行说明。数据字典就是用来定义数据流图中的各个成分的具体含义的,使每一个图形元素的名称都有一个确切的 解释。
(1)符号
数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。数据词典中所有的定义应是严密的、精确的,不可有半点含混,不可有二义性。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
三、需求分析阶段
E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
(1)符号
实体:用矩形表示,矩形框内写明实体名;
属性:用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;
联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。联系也可以有属性。
1对1关系在两个实体连线方向写1;
1对多关系在1的一方写1,多的一方写N
多对多关系则是在两个实体连线方向各写N,M
(2)示例
描述系统状态和事件,以及事件引发系统在状态间的转换。这种模型适用于描述实时系统。
(1)元素
状态图中定义的状态有初态、终态和中间态。初态只有一个,终态可以有很多。
中间态的状态变量:状态图所显示类的属性。
中间态的活动:列出该状态时要执行的事件和动作。
(2)示例
层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。
层次模块结构图主要关心的是模块的外部属性,即上下级模块、同级模块之间的数据传递和调用关系,而 并不关心模块的内部。换句话说也就是只关心它是什么,它能够做什么的问题,而不关心它是如何去做的(这一部分内容由下面的IPO图解决)。
(1)示例
warnier图的作用和层次方框图的作用基本相同,也用树形结构来描绘数据结构。只不过Warnier图的描述手段更多,它还能指出某一类数据或某一数据元素重复出现的次数,并能指明某一特定数据在某一类数据中是否是有条件的出现。在进行软件设计时,从Warnier图入手,能够很容易转称成软件的设计描述。
(1)例子
IPO图是输入、处理和输出图的简称,它清楚的描述了输入数据、处理数据、输出数据之间的关系。
(1)示例
四、总体设计阶段
层次图用来描绘软件的层次结构。很适于在自顶向下设计软件的过程中使用。用此图表示自顶向下分解所得系统的模块层次结构,H图又可称为模块层次图。常和IPO图组成HIPO图。
(1)元素
H图中一个方形的方块代表一个模块,方块内可写出标识此模块的处理功能或模块名。模块间的调用关系,用联结两模块的直线表示
(2)示例
层次图 | 层次方框图 | |
---|---|---|
作用 | 描述软件结构 | 描述数据结构 |
矩形框 | 模块 | 数据元素 |
连线 | 调用关系 | 组成关系 |
HIPO图 = 层次图+输入+处理+输出。由层次图(H图) 和IPO图两部分构成。
结构图和层次图类似,都是描述软件结构的图形工具。
(1)符号
(2)示例
五、详细设计阶段
画程序流程图的目的就是让我们以图形化的方式来理解 某段程序执行的步骤,看图总比读文字要容易理解的多。下图是一个用户登录的流程图。
(1)符号
盒图又叫NS图,NS图类似流程图,但所不同之处是NS图可以表示程序的结构。
(1)符号
PAD图就是用二维树形结构图来表示程序的控制流。
(1)符号
(1)元素
条件桩(Condition Stub):在左上部,列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
动作桩(Action Stub):在左下部,列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
条件项(Condition Entry):在右上部,列出针对它左列条件的取值。在所有可能情况下的真假值。
动作项(Action Entry):在右下部,列出在条件项的各种取值情况下应该采取的动作。
(2)示例
判定树是一个类似于流程图的树结构;是一种描述加工的图形工具,适合描述问题处理中有多个判断,而且每个决策与若干条件有关。
(1)元素
内部结点表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶结点代表类或类分布。树的最顶层结点是根结点。
(2)示例
如算法中的伪代码。
Jackson方法是一种面向数据结构的设计方法。
(1)示例
流图,是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
(1)元素
节点和边
(2)示例
六、软件项目管理
甘特图内在思想简单,即以条状图的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。
(1)时间轴
位于甘特图的顶部,显示时间的跨度,可以按天、周、月或年进行划分。
(2)任务列表
位于甘特图的左侧,列出项目中的所有任务或活动。
(3)条形图
在任务列表的右侧,与时间轴对应。每个任务用一个条形表示,条形的长度表示任务的持续时间。
(4)里程碑
特殊的标记,表示项目中的关键事件或节点,通常以钻石形符号表示。
(5)依赖关系
用箭头表示任务之间的依赖关系,如任务B必须在任务A完成后才能开始。