实验三 学习在Visio中创建数据流图
实验目的:学习在Visio中创建数据流图所需的模板和创建数据流图的基本过程,掌握使用数据流图表示功能模型的方法。
实验要求:掌握根据具体描述分析出数据的源点或终点、变换数据的处理、数据存储和数据流四种基本成分,创建数据流图模具将数据流图所需的各种图形包含在其中,使用自己创建的模板绘制数据流图。
实验条件:windowsXP、Visio2003 实验内容及步骤:
数据流图描绘数据在软件系统内从输入移动到输出的过程中所经受的变换。通常用数据流图建立软件系统的功能模型。数据流是系统逻辑功能的图形表示,图中没有任何具体的物理部件,仅仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解它,因此是分析员与用户之间极好的通信工具。
数据流图只有四种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头线表示数据流,即特定数据的流动方向。数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动状态的数据。
在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。千万不要试图在数据流图中表示分支条件或循环,这样做将造成混乱,画不出正确的数据流图。通常在数据流图中忽略出错处理,也不包含诸如打开或关闭文件之类的内务处理。画数据流图的要点是,描绘“做什么”而不考虑“怎样做”。画数据流图的基本方法是,从基本系统模型出发,自顶向下从抽象到具体分层次地画。 一、创建数据流图模板:
数据流图模具中应该包括:正方形(或立方体)、圆角矩形(或圆形)、;开口矩形(或两条平行横线)、箭头线等基本形状。
1. 打开数据流模型图模板:
Gane-Sarson模具中的基本形状都可用于数据流图的绘制。
(1) 在“文件”菜单上,指向“新建”,然后单击“选择绘图类型”。 (2) 在“类别”下,单击“软件”,然后在“模板”下,单击“数据流模型图”。
2. 打开连接线:
连接线模具中有各种连接线,包含直线-曲线连接线。
(1) 在“文件”菜单上,指向“形状”, “其他Visio方案”,然后单击“连接线”。
3. 打开混合流程图形状:
混合流程图形状中有“分段进程2”,适合用来绘制数据流图。
(1) 在“文件”菜单上,指向“形状”, “流程图”,然后单击“混合流程图形状”。
4. 新建数据流模具:
这样,我们已经找到了绘制数据流图所需的所有基本形状。可以把它们集中放置在自己定制的数据流模具中。这样,以后在画数据流图时,就可以只打开和使用这一个模具,比较方便。
(1) 在“文件”菜单上,指向“形状”,然后单击“新建模具”。
(2) 将所需的“接口”、“数据存储”、“分段进程2”、 “直线-曲线连接线”形状分别从
1
“Gane-Sarson” 、“混合流程图形状”和“连接线”模具中拖入新模具。
(3) 检查修改四种图形的线条粗细为0.48pt,并设置填充为“无”。以直线-曲线连接
线修改为例:通过右键单击直线-曲线连接线,选择“编辑主控形状”,单击“编辑主控形状”,打开编辑页。在其中右键单击直线-曲线连接线,选择“格式”,单击“线条”,在线条对话框中指定粗细=0.48pt,终点=13号箭头,然后按“确定”按钮。关闭编辑页。
(4) 将“接口”形状更名为“源点/终点”, 修改“分段进程2”名称为“处理”,修改“直
线-曲线连接线”名称为“数据流”。 (5) 保存新模具(.vss)并命名为“数据流”。
5. 建立数据流模板:
(1) 关闭“Gane-Sarson” 、“连接线”和“混合流程图形状”模具。
(2) 在“文件”菜单上,单击“另存为”。保存类型选择“模板(*.vst)”,文件名为“我
的数据流模板”。
(3) 在“文件”菜单上,单击“关闭”。
二、绘制数据流图:
使用刚才完成的数据流模板,绘制数据流图。(注意在使用“分段进程2”时,可以分别选中上下部分,按F2键后添加文本。)
1. 绘制书中73页习题3的数据流图:
题目:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
分析:从存取款的常识可知,本系统的数据源点和终点都是“储户”,储户既要提出存取款要求,又要获得存款存单或利息清单。
系统对存取款的处理功能主要是“记录存款信息”、“打印存款存单”和“核对密码”、“计算利息”、“打印利息清单”。
为了完成上述功能,显然“存款信息”应该是一个数据存储。
(1) 在“文件”菜单上,单击“打开”。
(2) 在“打开”对话框中,选择“我的数据流模型.vst”,单击“打开”。 (3) 在绘图页中绘制指定数据流图。 (4) 将文件保存为“学号姓名.vsd”。
2
1记录存款信息存款单存款信息利息清单存款信息2打印存款存单存款存单储户储户D1 存款信息取款单存款信息3核对密码存款信息4计算利息利息值5打印利息清单
2. 在上题文件的另一个绘图页中绘制书中73页习题4的数据流图:
题目:为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。
分析:从问题陈述可知,本系统的数据源点是“旅行社”,机票预订系统印出取票通知和帐单是给旅行社的,所以“旅行社”也是终点。另外旅客凭取票通知和帐单交款取票,系统印出机票给旅客,则“旅客”也是一个源点和终点。
机票预订系统包括了预订机票和旅客取票两部分,主要功能有:“分类并检验”、“订票”、“记账”和“机票准备”。
要为旅客安排航班,需要查看“航班目录”,所以“航班目录”应该作为一个数据存储;系统能够输出账单,所以有记账功能,则另一个数据存储为“记账文件”;完整的订票信息应给存储在“机票文件”中,作为“准备机票”功能的基本数据。 提示:本系统的基本系统模型如下:
订票单机票旅行社飞机机票预订系统旅客取票通知单取票单
3
1旅行社订票单分类并检验有效订票单2订票航班信息D1 航班目录机票信息取票单有效取票单账单3旅客记账账单D2 记账文件D3 机票文件机票信息4机票准备取票通知单旅行社机票
3. 在上题文件的另一个绘图页中绘制书中73页习题5的数据流图:
题目:医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
分析:从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。
系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。 为了分析病人上理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。 提示:本系统的基本系统模型如下:
病人生理信号时钟日期、时间患者监护系统警告信息病情报告护士要求报告护士
绘制本系统的功能级数据流图过程如下:
4
123病人生理生理危急病人信号接收分析信号信号信号信息产生警告警告信息信息护士生理信号D1 患者安全范围病情报告456时钟日期时间定时取样定时的产生病情要求护士生理信号生理信号更新日志报告报告日志日志数据数据D2 患者日志
5