- pdf下载:密码7281
- 专栏目录首页:【专栏必读】软件工程导论第六版(张海藩)专栏学习笔记目录导航
一:概要(各章图形及对应符号)
注意:
- 没有用红色字体标出的图,代表这类题目基本不会以画图的方式考察(我也不敢百分之百保证),着重会在选择、填空中考察概念
- 使用红色字体标出的图,是必须要掌握它的画法的
- 总的来说:E-R图、数据流图、状态转换图(流图)、结构图、程序流程图、盒图、判定表、类图、时序图、用例图必考画法
(1)传统软件工程部分
A:可行性研究
①:系统流程图
系统流程图是概括地描绘物理系统的传统工具。系统流程图的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图
②:数据流图(DFD)
基本符号
关于“数据流”的扩充
③:数据字典
符号表示
B:需求分析
①:E-R图
符号表示
②:状态转换图
符号表示
③:层次方框图
层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据素
随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节时为止
④:warnier图
Warnier图是法国计算机科学家Warnier提出的表示信息层次结构的另外一种图像工具,它用树形结构描绘信息,可以表明信息的逻辑组织,即可以指出一类信息或一个信息素是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的,它比层次方框图提供了更丰富的描绘手段
- 图中花括号用来区分数据结构的层次
- 在一个花括号内的所有名字都属于同一类信息
- 异或符号表明一类信息或一个数据素在一定条件下才出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个;在一个名字下面(或右边)的圆括号中的数字指明了这个名字代表的信息类(或素)在这个数据结构中重复出现的次数
⑤:IPO图
IPO图是输入、处理、输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系
IPO图的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序。在IPO图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况。下图一个主文件更新的例子
C:总体设计
①:层次图(H图)和HIPO图(H图+IPO)
层次图用来描绘软件的层次结构。层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。如下图的一个例子,最顶层的方框代表正文加工系统的主控模块,它调用下层模块完成正文加工的全部功能;第二层的每个模块控制完成正文加工的一个主要功能,第二层的模块又可
以调用下一层的模块完成具体的工作
HIPO图是“层次图加输入/处理/输出图”的缩写。使HIPO图具有可追踪性,在层次图里除了最顶层的方框,之外,每个方框都加了编号
②:结构图
基本符号
- 方框代表模块、框内注明模块的名字或主要功能
- 箭头或直线表示调用关系
- 尾部是空心圆表示传递的是数据;若是实心圆则表示传递的是控制信息
特殊符号
表示当模块M中某个判定为真时调用模块A,为假时调用模块B
表示模块M循环调用模块A、B和C
D:详细设计
①:程序流程图
符号
- a:选择
- b:注释
- c:预先定义的处理
- d:多分支
- e:开始或停止
- f:准备
- g:循环上界限
- h:循环下界限
- i:虚线
- j:省略符
- k:并行方式
- l:处理
- m:输入输出
- n:连接
- o:换页连接
- p:控制流
②:流图
程序流程图映射为流图的方法
①:对于顺序结构,一个顺序处理和下一个选择可以映射为一个结点
②:对于选择语句,开始/结束语句映射为一个结点,两条分支至少各映射成一个结点
③:开始语句和结束语句各映射成一个结点
③:盒图
符号
出于要有一种不允许违背结构程序设计精神的图形工具的考虑,提出了盒图,又称为N-S图。其基本符号如下
- a:顺序结构
- b:
IF_TEEN_ELSE
型分支 - c:
CASE
型多分支 - d:循环结构
- e:调用子程序A
④:PAD图
PAD是问题分析图(problem analysis is diagram)的英文缩写,是使用二维树形结构的图来表示程序的控制流,这种图翻译为程序代码比较容易。其基本符号如下
- a:顺序
- b:选择(
IF C THEN P1 ELSE P2
) - c:
CASE
型多分支 - d:
WHILE
型循环(WHILE C DO P
) - e:
UNTIL
型循环(REPEAT P UNTIL C
) - f:语句符号
- g:定义
PAD优点(需要记忆)
- 使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序
- PAD图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数
- 用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行 ,自上而下,从左向右顺序执行,遍历所有结点
- 容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率
- 即可用于表示程序逻辑,也可用于描绘数据结构
- PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使用
def
符号逐步增加细节,直至完成详细设计(如下图所示,左图表示初始的PAD图,右图表示使用def
符号细化处理框P2)
⑤:判定表和判定树
当算法中包含多重嵌套的条件选择时,判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。由以下部分组成
- 左上部列出所有条件
- 左下部是所有可能做的动作
- 右上部是表示各种条件组合的一个矩阵
- 右下部是和每种条件组合相对应的动作
⑥:PDL
过程设计语言(PDL), 即伪码,它是用正文形式表示数据和处理过程的设计工具。PDL具有严格的关键字外部语法,用于定义控制结构和数据结构。PDL表示实际操作和条件的内部语法通常又是灵活自由的,可以适应各种工程项目的需要
⑦:Jackson图
- 面向数据结构的设计方法:面向数据结构的设计方法的最终目标是得出对程序处理过程的描述,面向数据结构的设计方法最适合于在详细设计阶段使用,即在完成了软件结构设计之后,可以使用面向数据结构的方法来设计每个模块的处理过程
- Jackson方法:Jackson方法和Warnier方法是最著名的两个面向数据结构的设计方法,Jackson图根据程序中数据素彼此间的逻辑关系可分为顺序结构、选择结构和重复结构3类
(2)面向对象部分
①:类图
具体符号细节请移步:(软件工程复习核心重点)第八章面向对象方法学-第三节:面向对象建模之对象模型
- 类图:类名、属性、服务
- 类关系:泛化=实现>组合>聚集>关系>依赖
②:用例图
③:状态图
状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件,描述哪些状态之间可以转换,不同的状态下有不同的行为
- 实心圆:表示初始状态
- 实行圆外面一个空心圆:表示中止状态
- 状态框:上面是名称,下面说明处于该状态时,系统或对象要进行的活动
- 航空订票系统状态图
④:顺序图
UML顺序图一般用于确认和丰富一个使用情境的逻辑。顺序图将交互关系表现为一个二维图,纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类角色,类角色的活动用生命线表示
- 生命线用一条纵向虚线表示
- 对象表示为一个矩形,其中对象名称标有下划线
- 激活是过程的执行,包括等待过程执行的时间。在顺序图中激活部分替换生命线,使用长条的矩形表示
- 消息是对象之间的通信,是两个对象之间的单路通信,是从发送者到接收者之间的控制信息流。消息在顺序图中由有标记的箭头表示,箭头从一个对象的生命线指向另一个对象的生命线,消息按时间顺序在图中从上到下排列
- 在顺序图中,对象安排在X轴。启动交互的对象放在最左边,随后放入消息的对象放在启动交互对象的右边。交互中对象发送和接收的消息沿着Y轴以时间增加的次序放置。在顺序图中,有的消息对应于激活,表示它将会激活一个对象,这种消息称为调用消息(Call Message);如果消息没有对应激活框,表示它不是一个调用消息,不会引发其他对象的活动,这种消息称为发送消息(Send Message)
二:着重考察画法的图
(1)数据流图(★★★★★)
A:画法介绍
1:仔细阅读题目,找出源点/终点、处理、数据流、数据存储这四个要素(能找见多少就找多少)
- 源点/终点:例如人员
- 处理:例如数据的更新、条件等操作
- 数据流:例如信息、数据
- 数据存储:例如数据库、文件(比如账户密码就必须要存储起来)
2:画出基本系统模型,这是一个高度抽象、简单的模型。任何系统的基本模型都由若干数据源点/终点以及一个处理组成,该处理代表系统对数据加工变换的基本功能
3:细化模型中的功能,其中数据存储可以最后画
B:典型例题
1.假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。画出上述订货系统的数据流图
1:基本系统模型
- 任何系统的基本模型都由若干数据源点/终点以及一个处理组成,该处理代表系统对数据加工变换的基本功能
如下
2:细化模型,描绘系统主要功能
- 产生报表和处理事物是系统必须完成的两个主要功能
- 细化后增加了两个数据存储:处理事物需要库存清单数据;产生报表和处理事物需要订货信息
3:进一步细化功能级数据流图中描绘的系统主要功能
当一个事物发生使必须先接受它,随后按照事物的内容修改库存清单,最后如果更新后的库存量少于临界值,需要再次订货
4:考虑是否继续分解和细化
一旦在想要分解时产生了诸如 “如何具体地实现一个功能” 这样的疑问时就表明不需要分解了
5:检查
- 分层必须保证信息的连续性
- 注意编号的处理
2.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户
顶层
第一层
3.医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告
4.高考录取统分子系统有如下功能
(1)计算标准分:根据考生原始分计算得到标准分,存入考生分数文件
(2)计算录取分数线:根据标准分、招生计划文件中的招生人数计算录取线,存入录取
线文件。
根据要求画出该系统的数据流图
5.
(2)E-R图(★★★★★)
A:画法介绍
最经典的就是那个“教学管理系统”E-R图,其余图可套用它
一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;学生选修一门课,产生成绩;学生的属性有学号、姓名等;教师的属性有教师编号,教师姓名等;课程的属性有课程号、课程名等。请画出该系统E-R图
B:典型例题
1.请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件
2.请画出银行储蓄系统的E-R图
3.请画出飞机订票系统的E-R图
4.请画出医患监护系统E-R图
(3)状态转换图(★★★)
A:画法介绍
在读题目时区分状态与事件
- 状态:状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态,又做动作
- 状态图:状态图是有限自动机的图形表示,反映了状态与事件的关系
- 事件:事件就是引起系统做动作或(和)转换状态的控制信息
B:典型例题
1.复印机的工作过程大致如未接到复印命令时,处于闲置状态。-旦接到复印命令,则进入复印状态。完成一个复印命令规定的工作后,又回到闲置状态。等待下一个复印命令。如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装置。装满纸后进入闲置状态,准备接收复印命令。如果复印时发生卡纸故障。则进入卡纸状态。发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。试用状态转换图,描绘复印机的行为
- 复印机的状态有:闲置、复印、缺纸、卡纸
- 引起状态转换的事件:复印命令、完成复印命令、发现缺纸、装满纸、发生卡纸、卡纸排除
2.请用状态转换图刻画堆栈对象的动态行为模型
(4)结构图(★★★)
A:画法介绍
一个典型的结构图例子
- 最左侧一般是输入
- 中间是处理
- 最右侧是输出
B:典型例题
1.计算考生分数计算系统的结构图
【答案】
(5)程序流程图和盒图(★★★★★)
A:画法介绍
- 程序流程图这里就再不多说了,从高中起就在话这个东西
- 重点掌握程序流程图和盒图的转换
B:典型例题
1.研究下面盒图和程序流程图的对应关系
【答案】
2.
【答案】
(6)流图
A:画法介绍
- 主要涉及考点就是程序流程图转换为流图,然后根据流图估计程序复杂度
- 具体映射方法在前面已有介绍
- 流图不画开始画结束
- 流图中用圆表示结点,一个圆代表一条或多条语句(比如4、5)。程序流程图中的一个顺序的处理框序列和一个菱形判定框,可以映射成流图中的一个结点(比如2,3)
- 流图中的箭头线称为边,代表控制流。流图中一条边必须终止于一个结点(比如9必须为一个结点),即使这个结点并不代表任何语句
- 由边和结点围成的面积称为区域,计算区域数时应包括图外部未被围起来的区域
B:典型例题
1.
(7)判定表
A:画法介绍
- 列出所有条件,分清这些条件的大小(一般条件数少的作为大条件)
- 我的建议时先画判定树,再弄判定表,如果直接上来就是判定表,很容易出错
B:典型例题
假设某航空公司规定,乘客可以免费托运重量不超过30kg(条件1)的行李。当行李重量超过30kg时,对头等舱(条件2)的国内乘客(条件3) 超重部分每公斤收费4,对其他舱(条件2) 的国内乘客超重部分每公斤收费6,对外国乘客(条件4) 超重部分每公斤收费比国内乘客多–倍,对残疾乘客超重部分每公斤收费比正常乘客少一半
在表的右上部分中T表示它左边那个条件成立,F表示条件不成立,空白表示这个条件成立与否并不影响对动作的选择。判定表右下部分中画X表示做它左边的那项动作,空白表示不做这项动作
- 第一个条件是行李重量,分为大于30kg和小于30kg
- 第二个条件是国内乘客和国外乘客,分配两派
- 第三个条件是头等舱和其他舱,分为两派
- 第三个套件是正常和普通旅客,分为两派
- 交易总金额
- 每股售价
- 买进、卖出的股数是否是100的倍数
- 交易的股数是否是100的倍数
(8)类图
A:画法介绍
- 注意这种题没有标准的答案,按照连接自己的画就可以了
- 先画对象,然后再连接
B:典型例题
今天的文章 【软件工程导论题型大总结】画图题总结分享到此就结束了,感谢您的阅读。现代人的生活离不开银行及其ATM柜员机,客户会在银行开设多个账户,通过柜员
机刷卡,(包括跨行ATM) 进行交易来办理取款入账和转账等多种交易业务,请用
类图刻画上述银行业务的静态逻辑结构
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/86896.html