一、数据流图概念

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

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

二、 数据流图元素

三、数据流图步骤

四、数据流图注意

五、数据流图案例

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

数据流图实例详解(软件工程数据流图的概念及步骤)(1)

选课系统顶层数据流图

数据流图实例详解(软件工程数据流图的概念及步骤)(2)

选课系统1层数据流程

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

数据流图实例详解(软件工程数据流图的概念及步骤)(3)

患者监护系统顶层数据流程

数据流图实例详解(软件工程数据流图的概念及步骤)(4)

患者监护系统1层数据流程

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

数据流图实例详解(软件工程数据流图的概念及步骤)(5)

订货系统顶层数据流程

数据流图实例详解(软件工程数据流图的概念及步骤)(6)

订货系统1层数据流图

数据流图实例详解(软件工程数据流图的概念及步骤)(7)

订货系统2层数据流图

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

数据流图实例详解(软件工程数据流图的概念及步骤)(8)

银行计算机储蓄系统顶层数据流程

数据流图实例详解(软件工程数据流图的概念及步骤)(9)

银行计算机储蓄系统1层数据流图

数据流图实例详解(软件工程数据流图的概念及步骤)(10)

银行计算机储蓄系统2层数据流图

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

数据流图实例详解(软件工程数据流图的概念及步骤)(11)

机票预订系统数据流图

数据流图实例详解(软件工程数据流图的概念及步骤)(12)

机票预订系统1层数据流图