当前位置: 首页 > article >正文

软件设计——数据流图

目录

  • 前言
  • 数据流图相关名称
  • 数据字典
  • 加工逻辑的描述
    • 结构化语言
    • 判定表
    • 判定树

前言

软件设计师备考资料整理

数据流图相关名称

元素说明
数据流由一组固定成分的数据组成,表示数据的流向。每个数据流通常由一个合适的名词,反映数据流的含义(数据流必须和加工相关,即从加工流向加工、数据源流向加工或加工流向数据源
加工加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流做了什么处理后变成了输出数据流
数据存储用来表示暂存存储的数据,每个文件都有名字,流向文件的数据流表示写文件,流出的表示读文件
外部实体指存在软件系统外的人员或组织

数据字典

符号含义举例说明
=被定义为
+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”
终点=[长沙|上海|北京|西安]

加工逻辑的描述

常用的加工逻辑:

  1. 结构化语言
  2. 判定表
  3. 判定树

结构化语言

结构化语言是一种介于自然语言和形式化语言之间的半形式化语言,指自然语言的一个受限子集

外层:用来描述控制结构,采用顺序、选择和重复3种基本结构

  1. 顺序结构,一组祈使语句、选择语句、和重复语句的顺序排列
  2. 选择结构,一般用 IF-THEN-ELSE-ENDIF、CASE-OF-ENDCASE等关键字
  3. 重复结构,一般用 DO-WHILE-ENDDO、REPEAT-UNTIL等关键字

内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和游戏的自定义词,其动词含义要具体,尽量不用形容词和副词来修饰,还可使用一些简单的算法运算和逻辑运算符号

实例
······
借书,图书管理员接收到读者的借书请求后,根据读者信息和借书信息,检查读者是否合法,如果合法,检查该读者是否已经超出借阅图书数目的最大限制,若都合法,则通知读者借书成功,将借书信息写入借书文件中,同时更新图书目录文件
······

结构化描述

WHILE(接收借书请求)
DU{
		查询读者信息 AND 查询借书信息;
		IF(读者合法)
				THEN{
						IF(是否超出借阅图书书目的最大限制)
							THEN;
							ELSE{
									通知读者借书成功;
									借书信息写入借书文件;
									更新图书目录文件;
							}
					ENDIF
			}
	ENDIF
}ENDDO

判定表

某些情况下,数据流图中某个加工的一组动作依赖于多个逻辑条件的取值,此时用判定表能够清楚地表示负责的条件组合与应做的动作之间的关系

判定表由4个部分组成,用双线分割成如下的4个区域:

~~
条件定义条件取值的组合
动作定义在各种取值的组合下应执行的动作

判定树

判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
在这里插入图片描述


http://www.kler.cn/news/355717.html

相关文章:

  • arm-none-linux-gnueabi-strip的作用
  • Springboot接入Elastic
  • AWTK fscript 中的 widget 扩展函数
  • C++ 学习笔记 十二 结构体
  • 深度学习框架-Keras的常用内置数据集总结
  • nacos组件介绍
  • 智能指针(3)
  • 构建 effet.js 人脸识别交互系统的实战之路
  • Linux 和Windows创建共享文件夹实现文件共享
  • 产品推介——高压晶体管光耦KL851
  • Mybatis多对一查询的配置及两种方法的使用示例对比以及Mybatis一对多查询两种方法使用示例及对比
  • Android中的Room数据库框架
  • 如何使用代理来保护你的电子邮件?
  • 了解一些常用的Javascript对象方法
  • Python网络爬虫入门指南
  • 使用JavaScript开发扑克牌游戏:从零开始的前端之旅
  • Vscode+Pycharm+Vue.js+WEUI+django火锅(7) 傍着Copliot战WEUI Picker
  • React高级Hook
  • 遇到 msvcp120.dll 文件缺失的情况如何处理?全面分析msvcp120.dll
  • kubernets(二)