软件设计——数据流图
目录
- 前言
- 数据流图相关名称
- 数据字典
- 加工逻辑的描述
- 结构化语言
- 判定表
- 判定树
前言
软件设计师备考资料整理
数据流图相关名称
元素 | 说明 |
---|---|
数据流 | 由一组固定成分的数据组成,表示数据的流向。每个数据流通常由一个合适的名词,反映数据流的含义(数据流必须和加工相关,即从加工流向加工、数据源流向加工或加工流向数据源) |
加工 | 加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流做了什么处理后变成了输出数据流 |
数据存储 | 用来表示暂存存储的数据,每个文件都有名字,流向文件的数据流表示写文件,流出的表示读文件 |
外部实体 | 指存在软件系统外的人员或组织 |
数据字典
符号 | 含义 | 举例说明 |
---|---|---|
= | 被定义为 | |
+ | 与 | x=a+b表示x由a或由b组成 |
[···,···]或[···\···] | 或 | x=[a,a],x=[a\b],表示x由a个或由b组成 |
{···} | 重复 | x={a},表示x由0个或多个a组成 |
(···) | 可选 | x=(a),表示a可在x中出现,也可以不出现 |
高铁票=姓名+日期+车次+起点+终点+开销
车次=“G2345”···“G3652”
终点=[长沙|上海|北京|西安]
加工逻辑的描述
常用的加工逻辑:
- 结构化语言
- 判定表
- 判定树
结构化语言
结构化语言是一种介于自然语言和形式化语言之间的半形式化语言,指自然语言的一个受限子集
外层:用来描述控制结构,采用顺序、选择和重复3种基本结构
- 顺序结构,一组祈使语句、选择语句、和重复语句的顺序排列
- 选择结构,一般用 IF-THEN-ELSE-ENDIF、CASE-OF-ENDCASE等关键字
- 重复结构,一般用 DO-WHILE-ENDDO、REPEAT-UNTIL等关键字
内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和游戏的自定义词,其动词含义要具体,尽量不用形容词和副词来修饰,还可使用一些简单的算法运算和逻辑运算符号
实例
······
借书,图书管理员接收到读者的借书请求后,根据读者信息和借书信息,检查读者是否合法,如果合法,检查该读者是否已经超出借阅图书数目的最大限制,若都合法,则通知读者借书成功,将借书信息写入借书文件中,同时更新图书目录文件
······
结构化描述
WHILE(接收借书请求)
DU{
查询读者信息 AND 查询借书信息;
IF(读者合法)
THEN{
IF(是否超出借阅图书书目的最大限制)
THEN;
ELSE{
通知读者借书成功;
借书信息写入借书文件;
更新图书目录文件;
}
ENDIF
}
ENDIF
}ENDDO
判定表
某些情况下,数据流图中某个加工的一组动作依赖于多个逻辑条件的取值,此时用判定表能够清楚地表示负责的条件组合与应做的动作之间的关系
判定表由4个部分组成,用双线分割成如下的4个区域:
~ | ~ |
---|---|
条件定义 | 条件取值的组合 |
动作定义 | 在各种取值的组合下应执行的动作 |
判定树
判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。