软件工程—数据流图的概念及步骤

一、数据流图概念

数据流(Data Flow Diagram,DFD)是从数据传递和加工的角度,以图形的方式来描述逻辑输入经过系统加工处理后转化为逻辑输出的结构化系统分析工具

重点理解:系统的输入和输出分别是什么、数据从何处来又去向何方、数据存储在何处

二、 数据流图元素

  • 数据流:一组固定成分的数据组成,表示数据的流向。除了流向数据存储和流出数据存储的数据流不需命名外,其余数据流都要命名
  • 加工:输入数据流到输出数据流之间的转换。每个加工都有编号(看出是哪个加工分解出的子加工)和名字
  • 数据存储:每个数据存储都有一个名字
  • 数据源:数据的发源地、归属地

三、数据流图步骤

  • 确定系统的输入输出:扩大范围,把可能有的内容全部包括进去
  • 由外向内构建系统的顶层数据流图:系统从外界接收了什么数据、系统向外界发送了什么数据
  • 自顶向下逐层分解,绘制分层数据流图

四、数据流图注意

  • 加工的输出数据流不应与输入数据流同名,即是成分相同;
  • 允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流向不同的加工;
  • 数据存储首次出现且只与一个加工有关,那么这个数据存储作为加工的内部文件可不必画出;
  • 数据守恒:每个加工必须既有输入数据流,又有输出数据流,反映此加工数据的来源与加工结果;
  • 数据存储必须既有读的数据流,又有写的数据流。子图中可能存在只读不写或只写不读;

五、数据流图案例

1. 某高校学生选课系统有如下功能:学生根据开课情况和培养方案填写选课单,选课系统对每个学生的选课单进行处理。选课系统根据教学计划检查学生学分情况,计算上课时间如果不发生冲突,或冲突时间小于20%,则可以选修。根据选课优先级,最后产生每个学生的个人课表和每门课程的选课名单。请分层画出该系统的顶层和1层的数据流图。

2. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请画出数据流图医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。

3. 假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。要求:画出系统的顶层模型、第一层模型和第二层模型。

4. 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印利息清单给储户。请用数据流图描绘本系统的功能。

5. 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。画出系统的顶层及1层数据流图。

数据流图(Data Flow Diagram,简称DFD)是一种图形化表示系统数据流动的模型。它用于展示信息在系统中的流动、被存储和处理的方式。数据流图通常用于系统设计和分析阶段,帮助开发者理解系统的工作原理和数据的流向。

数据流图的主要组成部分包括:

1. **数据流(Data Flow)**:用箭头表示,显示数据在系统中的流动方向和路径。
2. **处理过程(Process)**:用圆角矩形表示,描述系统中的数据处理活动。
3. **数据存储(Data Store)**:用两条平行线表示,表示数据的存储位置,可以是数据库、文件系统等。
4. **外部实体(External Entity)**:用方形表示,代表系统外部的用户或系统,它们可以是数据的提供者或接收者。

数据流图可以有不同的层次,包括:

- **上下文图(Context Diagram)**:展示了系统与外部实体的交互,不涉及系统内部的细节。
- **层级图(Level 1 DFD)**:展示了系统的主要功能和数据处理过程,通常只有一个处理过程。
- **详细图(Level 2 and Beyond DFDs)**:进一步细分主要处理过程,展示更详细的子过程和数据流。

创建数据流图的步骤通常包括:

1. 确定系统边界和外部实体。
2. 识别主要的数据处理过程。
3. 确定数据存储的位置。
4. 绘制数据流,连接处理过程和数据存储。
5. 细化每个处理过程,创建更详细的数据流图。

数据流图是一种非常有用的工具,可以帮助开发者和分析师理解复杂的系统,并为系统设计和开发提供指导。
 

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值