软件工程用的17种图

参考链接:
(1)软件工程用的15种图https://blog.csdn.net/weixin_44301114/article/details/85290628
(2)软件工程中的那些图https://blog.csdn.net/dsj15831653282/article/details/48769139

软件工程使用软件和软件所能画的图

(1)迅捷 : 业务流程图 软件结构图 功能框图 数据字典 序列图 用例图
(2)Microsoft Office Visio: 业务流程图 软件结构图 功能框图 数据流图 数据字典 序列图 UML(用例图、类图、序列图、活动图、数据流图)
(3)Rational Rose: 用例图 包图 活动图 序列图 协作图 带有实体类、控制类、边界类的类图
(4)PowerDesigner: BPM(业务处理模型)、CDM(概念数据模型)、PDM(物理数据模型)

软件工程中应用的15种图

1、系统流程图

不论什么程序设计语言,程序设计都有3种基本结构:顺序结构、选择结构和循环结构。三种基本结构的特点: 一个入口,一个出口,不出现死循环和死语句。

3、数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。

数据字典(data dictionary)是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。分析一个用户交换的对象系统的第一步就是去辨别每一个对象,以及它与其他对象之间的关系。这个过程称为数据建模,结果产生一个对象关系图。当每个数据对象和项目都给出了一个描述性的名字之后,它的关系再进行描述(或者是成为潜在描述关系的结构中的一部分),然后再描述数据的类型(例如文本还是图像,或者是二进制数值),列出所有可能预先定义的数值,以及提供简单的文字性描述。这个集合被组织成书的形式用来参考,就叫做数据字典。

据字典在需求分析阶段被建立。
数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
数据字典可能包含的信息,例如:
数据库设计资料
数据内部储存的SQL程序
用户权限
用户统计
数据库的过程中的信息
数据库增长统计
数据库性能统计

【解析】

6、层次方框图

层次方框图即层次模块机构图。层次模块结构图(或称结构图structure chart)是1974年由W.Steven等人从结构化设计(structured design)的角度提出的一种工具。它的基本做法是将系统划分为若干子系统,子系统下再划分为若干的模块,大模块内再分小模块,而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。
层次模块结构图主要关心的是模块的外部属性,即上下级模块、同级模块之间的数据传递和调用关系,而并不关心模块的内部。换句话说也就是只关心它是什么,它能够做什么的问题,而不关心它是如何去做的(这一部分内容由下面的IPO图解决)。

Example

7、Warnier图

Example

9、层次图

Example

11、结构图

软件结构图是为了反映软件系统中组件之间相互关系和约束的体系结构设计图,称为软件体系结构图更为合适,一般通过分层次或分时间段等方式说明体系结构的各个组成部分的组合关系。

在结构化设计方法中,软件结构图主要分为变换型软件结构图和事务型软件结构图两种。

软件结构包括构成系统的设计元素的描述、设计元素之间的交互、设计元素的组合模式以及在这些模式中的约束。一个系统由一组构件以及它们之间的交互关系组成,这种系统本身又可以成为一个更大的系统的组成元素。

Example

12、程序流程图

程序流程图又称程序框图,是用统一规定的标准符 描述程序运行具体步骤的图形表示。程序框图的设计是在处理流程图的基础上,通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。程序框图是进行程序设计的最基本依据,因此它的质量直接关系到程序设计的质量。

Example

13、盒图

摆弄数据离散度的一种图形。它对于显示数据的离散的分布情况效果不错。在软件工程中,Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也被称为N-S图。

它由五个数值点组成:
最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。也可以往盒图里面加入平均值(mean)。

由于现实数据中总是存在各式各样地“脏数据”,也称为“离群点”,于是为了不因这些少数的离群数据导致整体特征的偏移,将这些离群点单独汇出,而盒图中的胡须的两级修改成最小观测值与最大观测值。这里有个经验,就是最大(最小)观测值设置为与四分位数值间距离为1.5个IQR(中间四分位数极差)。
即:
1、IQR = Q3-Q1,即上四分位数与下四分位数之间的差,也就是盒子的长度。
2、最小观测值为min = Q1 – 1.5IQR,如果存在离群点小于最小观测值,则胡须下限为最小观测值,离群点单独以点汇出。如果没有比最小观测值小的数,则胡须下限为最小值。
3、最大观测值为max = Q3 + 1.5IQR,如果存在离群点大于最大观测值,则胡须上限为最大观测值,离群点单独以点汇出。如果没有比最大观测值大的数,则胡须上限为最大值。
通过盒图,在分析数据的时候,盒图能够有效地帮助我们识别数据的特征:
1、直观地识别数据集中的异常值(查看离群点)。
2、判断数据集的数据离散程度和偏向(观察盒子的长度,上下隔间的形状,以及胡须的长度)。

14、PAD图

PAD是问题分析图(Problem Analysis Diagram)的英文缩写。
与方框图一样,PAD图也只能描述结构化程序允许使用的几种基本结构。发明以来,已经得到一定程度的推广。它用二维树形结构的图表示程序的控制流,以PAD图为基础,遵循机械的走树(Tree Walk)规则就能方便地编写出程序,用这种图转换为程序代码比较容易。

特征:
1)结构清晰,结构化程度高;
2)易于阅读
3)最左端的纵线是程序主干线,对应程序的第一层结构;每增一层PAD图向右扩展一条纵线,帮程序的纵线数等于程序层次数。
4)程序执行:从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线。

优点:
1. 使用表示结构优化控制结构的PAD符 所设计出来的程序必然是程序化程序
2. PAD图所描述的程序结构十分清晰。图中最左边的竖线是程序的主线,即第一层控制结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数;
3. 用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树型结构的图形,程序从图中最左边上端的结点开始执行,自上而下,从左到右顺序执行;
4. 很容易将PAD图转换成高级程序语言源程序,这种转换可由软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。
5. 既可用于表示程序逻辑,也可用于描述数据结构
6. PAD图的符 支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象程序,随着设计工作的深入而使用“def”符 逐步增加细节,直至完成详细设计。

PAD图是面向高级程序设计语言的,为FORTRAN,COBOL和PASCAL等每种常用的高级程序设计语言都提供了一整套相应的图形符 。由于每种控制语句都有一个图形符 与之对应,显然将PAD图转换成与之对应的高级语言程序比较容易。

PAD是一种程序结构可见性好、结构唯一、易于编制、易于检查和易于修改的详细设计表现方法。用PAD可以消除软件开发过程中设计与制作的分离,也可消除制作过程中的“属人性”。虽然目前仍需要由人来编制程序,一旦开发的PAD编程自动化系统实现的话,计算机就能从PAD自动编程,到那时程序逻辑就是软件开发过程中人工制作的最终产品。显然在开发时间上大大节省,开发质量上将会大大提高。

缺点:不如流程图易于执行。

15、判定表

判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表达出来;其缺点是判定表的建立过程较烦杂,且表达方式不如前两种简便。判定表在用于知识表达中,有许多其他方式所达不到的作用。

判定表通常有以下四个部分组成:
1)条件桩(Condition Stub):在左上部,列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
2)动作桩(Action Stub):在左下部,列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3)条件项(Condition Entry):在右上部,列出针对它左列条件的取值。在所有可能情况下的真假值。
4)动作项(Action Entry):在右下部,列出在条件项的各种取值情况下应该采取的动作。

判定表的建立步骤:
1)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。
2)列出所有的条件桩和动作桩。
3)填入条件项。
4)填入动作项。得到初始判定表。
5)简化.合并相似规则(相同动作)。

判定表的优点:
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。

Example

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月6日
下一篇 2021年5月6日

相关推荐