软件设计 -- 数据流图,数据字典,ER图
作者:opLW
参考:《软件工程》第三版
目录
1.数据流图
-
数据流图的基本元素(DFD:data flow diagram数据流图) 包括:数据流,加工,文件,源或宿。其中数据流,加工,文件用于构建软件系统内部的数据处理模型。源或宿表示存在于系统之外的对象,帮助我们理解系统数据的来源和去向。
-
源或宿
源或宿通常是指存在于软件系统之外的人员或组织,表示软件系统的输入数据的来源和输出数据的去向,因此也称为源点和终点。- 源或宿是不同个体 例如一个考务处理系统,考生向系统提供报名单(输入数据流),所以考生是该系统的源;而考务处理系统将成绩的统计分析表(输出数据流)传递给考试中心,所以考试中心是该系统的一个宿。
- 源或宿是同一个个体 例如报名系统,考生向系统提供报名单(输入数据流),系统根据信息生成一个准考证并发送给考生(输出数据流),在这个过程中考生既是源又是宿。
-
加工
加工描述了输入数据流到输出数据的变换,即将输入数据流转换为输出数据流。每一个加工用一个定义明确的名字标识。一个加工至少有一个输入数据流和一个输出数据流。- 例如考务系统的统计成绩,审定合格者,编准考证号等。
-
数据流
数据流由一组固定成分的数据组成。例如:运动会管理系统中,报名单(数据流)由队名,姓名,性别,参赛项目等数据组成。- 数据流的流向 从一个加工流向另外一个加工,从加工流向文件(写文件),从文件流向加工(读文件),从源流向加工,从加工流向宿。
- 每一个数据流用一个定义明确的名字标识。但是如果是从文件流出或流向文件,由于它们代表了文件的一个记录,所以不必为他们命名。
-
文件
文件用于存放数据。通常一个数据流流入一个加工之后就会消失,会变成其他输出数据流。所以整个系统就需要文件来存放原始数据流或其他数据流。- 例如 考务处理系统中,随着不断有学生报名,报名册的内容需要不断补充。在统计成绩和制作考生通知书时还需要报名册的相关信息,所以报名册应该作为文件存在,保存考生的相关信息。
- 每一个文件用一个定义明确的名字标识。可以有数据流流入文件表示写文件,可以有数据流流出文件表示读文件,也可以同时有数据流流入和流出表示修改文件。
-
数据流图的扩充符号
在DFD中,一个加工可以有多个输入数据流和多个输出数据流,此时可以添加其他符号来描述多个数据流之间的关系。-
星号(*) 表示数据流之间存在 “ 与 ” 的关系。
- 如果是输入数据流,则表示所有输入数据流到达之后,才可以进行加工处理;
- 如果是输出数据流,则表示加工结束之后将同时产生所有的输出流数据。
-
加号(+) 表示数据流之间存在 “ 或 ” 的关系。
- 如果是输入数据流,则表示其中任意一个数据流到达之后就可以开始加工。
- 如果是输出数据流,则表示加工处理的结果至少产生其中一个输出数据流。
-
异或(⊕) 表示数据流之间存在 “ 异或 ” 的关系。
- 如果是输入数据流,则表示当且仅当其中一个输入数据流到达之后才可以进行加工处理;
- 如果是输出数据流,则表示加工结束之后仅产生这些输出流数据中的一个。
-
星号(*) 表示数据流之间存在 “ 与 ” 的关系。
2.数据字典
- 数据字典 数据字典与数据流图密不可分,两者构成软件的逻辑模型。数据字典的条目分为5类:数据流,文件,数据项(组成数据流和文件的数据),加工,源或宿。数据字典主要用来描述数据流图中各项的详细内容。
-
数据字典使用的描述符号
-
数据字典条目
不同的开发团队可以有不同的要求,也有工具可以帮助我们生成数据字典,下面列出各个条目常见的项,黄色是必须的项。- 数据流条目
名称 | 数据流的名字 |
别名 | 名称的另外一个名字 |
简述 | 对数据流的简单说明 |
数据流组成 | 描述数据流由哪些内容组成 |
数据流来源 | 描述数据流从哪一个加工或源流出 |
数据流去向 | 描述数据流流入哪个加工或宿 |
数据量 | 系统中该数据流的总量,如考务系统中“ 报名单 " 的总量是10000张 |
峰值 | 某段时间处理的最大数量 |
注解 | 对该数据的其他补充说明 |
其中数据流组成是数据流条目的核心,列出了组成该数据流的各数据项。
如: 培训报名单 = 姓名 + 单位 + 课程
- 文件条目
名称 | 文件名 |
别名 | 名称的另外一个名字 |
简述 | 对文件的简单说明 |
文件组成 | 描述文件由哪些数据项组成 |
写文件的加工 | 描述哪些加工对文件进行写的操作 |
读文件的加工 | 描述哪些加工对文件进行读的操作 |
文件组织 | 描述文件的存储方式(顺序,索引)等 |
使用权限 | 描述不同类型用户的权限 |
- 数据项条目
名称 | 数据项名 |
别名 | 名称的另外一个名字 |
简述 | 对数据项的简单说明 |
数据类型 | 描述数据项的类型,如整型,字符串等 |
计量单位 | 指明数据项的计量单位,如条,公斤等 |
取值范围 | 描述数据项允许的域值,如1…100等 |
- 加工条目
名称 | 加工名 |
别名 | 名称的另外一个名字 |
简述 | 对加工功能的简单说明 |
加工号 | 加工在DFD中的编号 |
加工逻辑 | 简要描述加工的大体过程 |
- 源或宿条目
名称 | 源或宿名 |
别名 | 名称的另外一个名字 |
简述 | 简要说明,包括指明该实体是源还是宿,还是两者兼具 |
3.ER图
万水千山总是情,麻烦手下别留情。
如若讲得有不妥,文末留言告知我,
如若觉得还可以,收藏点赞要一起。
opLW原创七言律诗,转载请注明出处