软件工程之数据流图(介绍&&案例实战&&Visio工具)

1. 数据流图的介绍


1.1 数据流图的概念


数据流图(Data Flow Diagram,DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

数据流图的优点:

在数据流图中没有任何具体的物理元素,它只是描绘信息在软件中流动和被处理的情况。
因为数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,所以是分析员与用户之间极好的沟通工具。
设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需考虑怎样具体地实现这些功能,因此,它也是今后进行软件设计很好的出发点。
数据流图可以在任何抽象层次上被用来表示系统或软件。事实上,数据流图可以被分层次地画,层次越低(在数据流图中1层比0层的层次更等)表现出的信息流细节和功能细节也越多。数据流图既提供了功能建模机制、也提供了信息流建模机制。
 

1.2 数据流图的基本符号

数据流图有4种基本符号:

  • 正方形(或立方体)表示数据的源点或终点;
  • 圆角矩形(或圆形)代表变换数据的处理;
  • 开口矩形(或两条平行横线)代表数据存储;
  • 箭头表示数据流,即特定数据的流动方向。

1.3 数据流图命名规范

数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。

因此,给这些成分起名字时应该仔细推敲。

数据源点/终点并不需要在开发目标系统的过程中设计和实现,它并不属于数据流图的核心内容,只不过是目标系统的外围环境部分(可能是人员、计算机外部设备或传感器装置)。通常,为数据源点 / 终点命名时采用它们在问题域中习惯使用的名字

数据流(或数据存储)命名:

名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。

不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。

如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。

处理命名:

通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。

名字应该反映整个处理的功能,而不是它的一部分功能。

名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作为名字。

通常名字中仅包括一个动词。如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。

如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。

1.4 数据流图设计原则

1、父图-子图平衡原则

即父图输入输出数据流等于子图输入输出数据流。

2、数据守恒原则

3、守恒加工原则

每个加工至少有一个输入数据流和一个输出数据流

2.示例

1、计算机储蓄系统

顶层数据流图

0/1层数据流图

2、图书预定系统

顶层数据流图

0层数据流图

1层数据流图

3、订货系统

顶层数据流图

0层数据流图

1层数据流图

某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:   1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。   2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。   3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。   4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。   5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。   6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。   7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 2. ......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值