可行性研究的图
系统流程图
数据流图
通常在数据流图中忽略出错处理,也不包括打开文件关闭文件之类的内务操作
数据流图的层次结构
- 为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。
- 在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。
- 底层流图是指其加工不需再做分解的数据流图,它处在最底层。
- 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。
其他的数据流图的例子:《用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象》
数据字典
数据字典例子
北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0。校外电话又分为本市电话和外地电话两类。拨校外电话需要先拨0,若是本市电话则接着拨8位数字(第一位不是0) ,若是外地电话则拨3位区码后再拨8位电话号码(第一位不是0) 。
- 电话号码 = [ 校内电话 | 校外电话 ]
- 校内电话 = 非零数字 + 三位数字
- 非零数字 = [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]
- 三位数字 = 3{数字}3
- 数字 = [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]
- 校外电话 = [ 本市电话 | 外地电话 ]
- 本市电话 = 0 + 八位非零开头数字
- 八位非零开头数字 = 非零数字 + 七位数字
- 七位数字 = 7{数字}7
- 外地电话 = 0 + 三位区码 + 八位非零开头数字
- 三位区码 = 三位数字
需求分析的图
E-R图
状态转换图
通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作,例如,处理数据
![](https://i-blog.csdnimg.cn/blog_migrate/39231881a807c6d6cfbe33920efe7f2e.png)
状态
状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。一张状态图中只能有一个初态,而终态则可以有0至多个
事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。例如:
- 内部时钟表明某个规定的时间段已经过去
- 用户移动或点击鼠标
活动表的语法格式:事件名(参数表) / 动作表达式。其中,“事件名”可以是任何事件的名称。在活动表中经常使用下述3种标准事件:entry,exit和do。
- entry事件指定进入该状态的动作
- exit事件指定退出该状态的动作
- do事件则指定在该状态下的动作
需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。
- 两个状态之间带箭头的连线称为状态转换,箭头方向为状态转换方向
- 状态的变迁通常是由事件出发的,在这种情况下应该在状态转换的箭头线上标出触发转换的事件表达式
- 如果在箭头线上未标明事件,则表示在原状态的内部活动执行完之后自动触发转换
状态转换图例子
复印机的工作过程大致如下∶未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。
试用状态转换图描绘复印机的行为。
没有人打电话时电话处于闲置状态,有人拿起听筒则进入拨号音状态,到达这个状态后,电话的行为是响起拨号音并计时;这时如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态
详细设计的图
盒图
![](https://i-blog.csdnimg.cn/blog_migrate/9cf2ea458070de92d0c29c2ebd35f535.png)
盒图例子
求数组的最大值,用盒图表示
PAD图
PAD图例子
求数组的最大值,用PAD图表示
判定表
条件组合部分可以合并时,应该合并
判定表例子
乘客免费托运重量不超过30kg。行重量超过30kg时,则头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。画出行李超过30公斤时的判定表
经过分析,条件一共有四个:国内乘客、头等舱乘客、国外乘客、残疾乘客。所以共有16个可能的条件组合。下图红色的是不符合条件的组合。
去掉不符合条件的组合。同色的部分是可以合并的,因为与同色的条件不影响决策
最终的决策表如下
判定树
判定树例子
乘客免费托运重量不超过30kg。行重量超过30kg时,则头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。画出行李超过30公斤时的判定树
层次方框图
- 层次方框图用树形结构的一系列多层次的矩形描绘数据的层次结构
- 树形结构的顶层是一个单独的矩形框,它代表完整的数据结构下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际元素(不能再分割的元素)