《结构化分析—-数据流图ppt课件.ppt》由会员分享,可在线阅读,更多相关《结构化分析—-数据流图ppt课件.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第6章章 结构化系统分析结构化系统分析本章主要内容本章主要内容 系统分析的任务系统分析的任务 数据流图数据流图 数据字典数据字典 表达处理的工具表达处理的工具 实体关系图实体关系图 系统说明书系统说明书6.2 数据流图数据流图系统分析阶段:系统分析阶段: 使用数据流图使用数据流图DFD来建立系统需求的过程模来建立系统需求的过程模型。(结构化系统分析的方法,事件表为启型。(结构化系统分析的方法,事件表为启发)发) 系统分析采用系统分析采用ER图来建立系统的数据模型。图来建立系统的数据模型。(事物为启发)(事物为启发)先试试看先试试看 教师提交题目后,学生可以进行选题教师提交题目后,学生可以进行
2、选题 学生的选题结果由教务员收集整理后,根据学生的选题结果由教务员收集整理后,根据学生综合测评成绩将学生分配给教师学生综合测评成绩将学生分配给教师 教师得到分配的学生后,为每个学生确定最教师得到分配的学生后,为每个学生确定最终毕设题目,下达任务书终毕设题目,下达任务书 校外做毕设的学生交回接收函后,教务员分校外做毕设的学生交回接收函后,教务员分配督导教师,然后由督导教师填写任务书配督导教师,然后由督导教师填写任务书将以上描述以图示模型表示将以上描述以图示模型表示结构化分析的思想结构化分析的思想 数据流图数据流图DFD采用一系列分层次的数据流图采用一系列分层次的数据流图来描述系统。来描述系统。
3、DFD的每一个层次都代表了系统的一个抽象的每一个层次都代表了系统的一个抽象水平。高层次水平。高层次DFD中的处理可以进一步分解中的处理可以进一步分解成低层次、更详细的成低层次、更详细的DFD。分层的数据流图分层的数据流图 纵观纵观顶层顶层 P1 P2 P3 P4 P41P42 第一层第一层第二层第二层6.2.1 数据流图的基本成分数据流图的基本成分 数据流图用来记录系统中的数据和数据在特数据流图用来记录系统中的数据和数据在特定的过程中的流动,即数据如何被采集、处定的过程中的流动,即数据如何被采集、处理、保存和使用的(围绕信息系统的功能)理、保存和使用的(围绕信息系统的功能)外部实体外部实体数据
4、处理数据处理p1数据存储数据存储数据流数据流外部实体指系统以外又与系统有联系的人或事物外部实体指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处。它表达了该系统数据的外部来源和去处。例如:人、组织、外部系统等等。例如:人、组织、外部系统等等。 外部实体是数据的来源(谁提供了最初始的数据?)外部实体是数据的来源(谁提供了最初始的数据?) 外部实体是数据的去处(数据对谁有价值?)外部实体是数据的去处(数据对谁有价值?) 读者读者 图书图书管理员管理员 馆长馆长 读者读者图书图书管理员管理员外部实体外部实体处理处理指对数据的逻辑处理功能,也就是对数指对数据的逻辑处理功能,也就是对
5、数据的变换功能。据的变换功能。别名:功能、处理过程,数据加工别名:功能、处理过程,数据加工标识部分(层次化的功能编号)标识部分(层次化的功能编号)功能描述部分(动宾词组)功能描述部分(动宾词组)功能执行的角色(人,部门,计功能执行的角色(人,部门,计算机程序),通常可省略算机程序),通常可省略P2.2.1识别识别读者身份读者身份图书管理员图书管理员数据处理数据处理 数据流是指处理功能的输入数据或输出数据数据流是指处理功能的输入数据或输出数据 箭头表示数据流向箭头表示数据流向 。 经理经理编制编制财务财务报表报表合格订单合格订单编编 辑辑订货单订货单计计 算算 应收款应收款数据流数据流房间信息房
6、间信息查询查询空房空房登记登记入住入住 教师教师登记登记成绩单成绩单学生成绩学生成绩数据存储表示某种数据保存后的逻辑统称。不数据存储表示某种数据保存后的逻辑统称。不是指保存数据的物理地点或物理介质。是指保存数据的物理地点或物理介质。流入数据存储的数据流流入数据存储的数据流 将处理后的数据写入或修改到数据存储中将处理后的数据写入或修改到数据存储中流出数据存储的数据流流出数据存储的数据流 从数据存储中查询获取数据,不改变原来的数据从数据存储中查询获取数据,不改变原来的数据销售量销售量D2D2产品销售帐产品销售帐计算计算销售量销售量累计销售量单价累计销售量单价计算销售总额计算销售总额商品编号商品编号
7、#_#_D2D2产品产品D5D5职工职工D2D2产品产品数据存储数据存储怎么辨别数据存储怎么辨别数据存储 各种需要长期保存的表格(纸质各种需要长期保存的表格(纸质/电子)电子) 答辩评审表、新生登记表、包裹邮寄单答辩评审表、新生登记表、包裹邮寄单 分类存放的某类表格数据,称为一个数据存分类存放的某类表格数据,称为一个数据存储储 一个数据存储可能经过多道处理手续,即数一个数据存储可能经过多道处理手续,即数据处理(可能涉及多个人填写表格或查看)据处理(可能涉及多个人填写表格或查看) 如记账凭证的填写、审核、记账如记账凭证的填写、审核、记账 试卷打印申请表的填写、审批、领取试卷打印申请表的填写、审批
8、、领取数据流图中的图形元素有不同的画法,本书使数据流图中的图形元素有不同的画法,本书使用用Gane-Sarson画法画法储户储户业务业务处理处理帐目帐目存折存折存取要求存取要求其它图形表示其它图形表示事件表中能找到数据流图中出现的一些元素:事件表中能找到数据流图中出现的一些元素:活动对应于处理框活动对应于处理框事件源和事件目标对应于外部实体事件源和事件目标对应于外部实体触发点和响应结果是与外部实体相连的数据流触发点和响应结果是与外部实体相连的数据流只有数据存储在事件响应表中没有对应的描述只有数据存储在事件响应表中没有对应的描述一个事件的一个事件的DFD一个事件的一个事件的DFD(练习)(练习)
9、 医生看病开处方医生看病开处方 医生根据挂号单询问病人病情,书写诊断结果(病历),医生根据挂号单询问病人病情,书写诊断结果(病历),并根据医院库存药品开处方单。并根据医院库存药品开处方单。 教务员分配指导教师(学生志愿、综合测评成绩)教务员分配指导教师(学生志愿、综合测评成绩)事件和事件和DFD 事件列表中的每一个事件都可以画出一个事件列表中的每一个事件都可以画出一个DFD图(需要额外添加数据存储元素)图(需要额外添加数据存储元素) 事件列表可以作为画数据流图的一个基础和事件列表可以作为画数据流图的一个基础和检验列表检验列表 事件对应事件对应DFD模型的中间层模型的中间层 事件可以继续分解绘制
10、其具体的处理过程(向下事件可以继续分解绘制其具体的处理过程(向下细化)细化) 系统中事件较多时,应进行分组(向上抽象)系统中事件较多时,应进行分组(向上抽象)事件的事件的DFD的集成的集成 事件之间有一定的联系,一般通过数据存储事件之间有一定的联系,一般通过数据存储建立关联建立关联多个事件的多个事件的DFD 事件(处理)之间存在数据的流转,通常以数据存事件(处理)之间存在数据的流转,通常以数据存储为中介储为中介完整的数据流图完整的数据流图根据事件表重新组织,绘制完整的根据事件表重新组织,绘制完整的DFD模型:模型: 按照事件表,对每一个事件建立一个按照事件表,对每一个事件建立一个DFD片片段图
11、。段图。 把所有的把所有的DFD片段进行分组,归纳为大的处片段进行分组,归纳为大的处理逻辑,形成上一层理逻辑,形成上一层DFD(复杂系统层次更(复杂系统层次更多)。多)。 将属于一组内的将属于一组内的DFD片段放在一张图上,形片段放在一张图上,形成事件层的成事件层的DFD图。图。 对每个事件的数据处理进一步分解为下一层对每个事件的数据处理进一步分解为下一层DFD (复杂系统层次更多)。(复杂系统层次更多)。完整的数据流图完整的数据流图 真正进行结构化系统建模过程中,应该采用真正进行结构化系统建模过程中,应该采用自顶向下的分解方法,事件表只是寻找需求自顶向下的分解方法,事件表只是寻找需求的辅助工
12、具(启发)的辅助工具(启发) 建模是一个从具体到抽象,又从抽象到具体建模是一个从具体到抽象,又从抽象到具体的过程,需要反复多次的过程,需要反复多次6.2.2 数据流图的画法数据流图的画法 下面我们以高等学校学籍管理系统为例说明下面我们以高等学校学籍管理系统为例说明画数据流图的方法画数据流图的方法 如果不能直接建模,可以考虑以下事件:如果不能直接建模,可以考虑以下事件: 新生登记新生登记 登记期末成绩登记期末成绩 期末成绩分析期末成绩分析 登记补考成绩登记补考成绩 补考后成绩分析补考后成绩分析 评定奖学金评定奖学金 处理退学、留级、修学、复学处理退学、留级、修学、复学 发成绩单发成绩单顶层顶层新
13、生名单新生名单学籍表学籍表学籍管学籍管理系统理系统 招生办招生办 教委教委用人用人单位单位报表报表毕业生登记表毕业生登记表学籍管理系统顶层学籍管理系统顶层DFDDFD第一层第一层第二层第二层“成绩管理成绩管理”框的展开框的展开第三层第三层“处理期末成绩处理期末成绩”框的展开框的展开第三层第三层“分析期末成绩分析期末成绩”框的展开框的展开第三层第三层“分析补考成绩分析补考成绩”框的展开框的展开6.2.3 画数据流图的注意事项画数据流图的注意事项要注意以下几点:要注意以下几点:1. 关于层次的划分关于层次的划分2. 语法的正确性语法的正确性3. 可读性可读性4. 确定系统边界确定系统边界层次的划分
14、应遵守:层次的划分应遵守:(1)展开的层次与管理层次一致,也可以划分)展开的层次与管理层次一致,也可以划分得更细。得更细。(2)同一张图上的所有处理过程应该处于同一)同一张图上的所有处理过程应该处于同一个抽象层次上(抽象粒度一致)。个抽象层次上(抽象粒度一致)。(3)一个处理框经过展开,一般以分解为)一个处理框经过展开,一般以分解为410处理框为宜(最好处理框为宜(最好5-9个)个)(4)最下层的处理过程用几句话,或者用几张)最下层的处理过程用几句话,或者用几张判定表,或一张简单的判定表,或一张简单的HIPO图能表达清楚图能表达清楚1、合理的层次划分、合理的层次划分一个处理框经过展开,一般以分
15、解为一个处理框经过展开,一般以分解为410处理框为宜。处理框为宜。 如果一次分解后仅有两个处理框,为减如果一次分解后仅有两个处理框,为减少数据流图的层次,可以考虑将它们直少数据流图的层次,可以考虑将它们直接并入上一层中接并入上一层中 一个处理框分解后还是只有一个处理框一个处理框分解后还是只有一个处理框,则视为无效的分解,则视为无效的分解处理框的合并处理框的合并通常可以从以下几个方面检查数据流图的正确通常可以从以下几个方面检查数据流图的正确性:性:(1)数据守恒,或称为输入数据与输出数据匹配)数据守恒,或称为输入数据与输出数据匹配 处理有输入就应该有输出处理有输入就应该有输出 处理有输出就肯定有
16、输入处理有输出就肯定有输入 输入的数据应该全部流出该处理或者要用于产生输入的数据应该全部流出该处理或者要用于产生流出该处理的数据(排除无用数据)流出该处理的数据(排除无用数据) 输出的所有数据必须曾经流入过该处理或者是由输出的所有数据必须曾经流入过该处理或者是由流入该处理的数据加工产生(保证必要数据)流入该处理的数据加工产生(保证必要数据)2、正确性检查、正确性检查 (2)在一套数据流图中的任何一个数据存贮)在一套数据流图中的任何一个数据存贮,必定有流入的数据流和流出的数据流。,必定有流入的数据流和流出的数据流。(3)父图中某一处理框的输入、输出数据流)父图中某一处理框的输入、输出数据流必须出
17、现在相应的子图中。必须出现在相应的子图中。(3)任何一个数据流至少有一端是处理框)任何一个数据流至少有一端是处理框正确性检查(续)正确性检查(续)课堂练习(教务管理系统)课堂练习(教务管理系统)各学院事先制订好各招生年度的教学计划,教学计划包括各学院事先制订好各招生年度的教学计划,教学计划包括每学期的课程、课程类型及其学时,教学计划一般不会经每学期的课程、课程类型及其学时,教学计划一般不会经常修订。常修订。每学期末按照教学计划各学院安排下一学期的课程,由教每学期末按照教学计划各学院安排下一学期的课程,由教务员和教师协商后,向教务处上报可供开课的课程清单务员和教师协商后,向教务处上报可供开课的课
18、程清单(包括课程名称、班级及授课教师)。(包括课程名称、班级及授课教师)。教务处人员负责维护全校所有教室信息,包括教室号、类教务处人员负责维护全校所有教室信息,包括教室号、类型、容纳人数等。型、容纳人数等。教务处管理人员根据上报情况安排课表,并对外发布课表。教务处管理人员根据上报情况安排课表,并对外发布课表。学生根据本年级课表进行选课,在开学第学生根据本年级课表进行选课,在开学第2周周末,选课结周周末,选课结束。束。教务处根据学生选课情况,确定本学期的开课课程,产生教务处根据学生选课情况,确定本学期的开课课程,产生学生名册给任课教师。学生名册给任课教师。学期结束,教师根据各自课程的选修名单登记
19、学生成绩。学期结束,教师根据各自课程的选修名单登记学生成绩。提高数据流图的易理解性提高数据流图的易理解性(1)简化处理间的联系(利用数据存储)简化处理间的联系(利用数据存储)如:如:P2P2成绩管理成绩管理-P1-P1异动管理之间的联系可以异动管理之间的联系可以改变为:改变为:P2P2成绩管理成绩管理-D3-D3留退名单留退名单P1P1异动管理异动管理-D3-D3留退名单留退名单D3D3留退名单为增加的数据存储留退名单为增加的数据存储(2)均匀分解,应齐头并进)均匀分解,应齐头并进(3)适当的命名)适当的命名3、提高易读性、提高易读性信息系统建模不是对应用领域的业务建模,信息系统建模不是对应用
20、领域的业务建模,信息系统可能只反映业务系统的部分处理过信息系统可能只反映业务系统的部分处理过程。程。因此要关注信息系统解决的问题,重点是系因此要关注信息系统解决的问题,重点是系统中的统中的数据数据处理和流动。处理和流动。(1)排除纯手工活动)排除纯手工活动(2)排除其它外部系统的活动)排除其它外部系统的活动(3)和系统外的外部实体之间的接口通过数)和系统外的外部实体之间的接口通过数据流来实现据流来实现4、确定系统边界、确定系统边界毕业设计管理系统的边界毕业设计管理系统的边界问题讨论:问题讨论:1. 毕业设计一览表如何产生?毕业设计一览表如何产生?教师填报题目、学生选题、教务员分配、教师教师填报
21、题目、学生选题、教务员分配、教师分配分配2. 毕设进程检查(周记)需要在系统中处理吗?毕设进程检查(周记)需要在系统中处理吗?教师填写一周计划、学生填写工作情况、教师教师填写一周计划、学生填写工作情况、教师出检查意见出检查意见3. 答辩成绩如何登记答辩成绩如何登记/处理?处理?成立答辩小组、学生分组、分配评阅教师、登成立答辩小组、学生分组、分配评阅教师、登记评阅成绩、登记答辩成绩记评阅成绩、登记答辩成绩课堂练习课堂练习 街道呼叫中心是一种为小区居民提供各种便民服务街道呼叫中心是一种为小区居民提供各种便民服务的电话服务中心。其中话务员的坐席客户端系统的的电话服务中心。其中话务员的坐席客户端系统的
22、工作流程是:通过通信系统获取居民的拨入电话号工作流程是:通过通信系统获取居民的拨入电话号码和信号,话务员接听后,系统首先自动将该电话码和信号,话务员接听后,系统首先自动将该电话号码对应的家庭情况提供给话务员,然后:号码对应的家庭情况提供给话务员,然后:如果有报警信号,系统自动接通保卫部门电话;如果有报警信号,系统自动接通保卫部门电话;如果是服务信号,话务员根据居民提出的服务类型选择如果是服务信号,话务员根据居民提出的服务类型选择服务公司(其信息在系统中维护),最后打印出派工单服务公司(其信息在系统中维护),最后打印出派工单给服务公司,并保存本次服务记录;给服务公司,并保存本次服务记录;如果是咨
23、询信号,则根据居民的查询要求对咨询信息库如果是咨询信号,则根据居民的查询要求对咨询信息库进行检索,并保存本次咨询服务记录和居民反馈的满意进行检索,并保存本次咨询服务记录和居民反馈的满意度评价。度评价。请在下面的请在下面的DFDDFD图上添加必要的外部实体、数据流、数据图上添加必要的外部实体、数据流、数据存储和处理,从而完整地描述坐席处理的数据流。存储和处理,从而完整地描述坐席处理的数据流。课堂练习课堂练习 不完整的不完整的DFD如下:如下:通信通信系统系统P1获取用获取用户信息户信息P2判定业判定业务类型务类型P3报警报警拨出拨出通信通信系统系统6.2.4 数据流图的常见错误分析数据流图的常见
24、错误分析一般有三类错误情况:一般有三类错误情况:1. 语法错误(可采用软件工具辅助绘图消除)语法错误(可采用软件工具辅助绘图消除)2. 逻辑错误逻辑错误3. 词不达意,二义性词不达意,二义性错误情况举例错误情况举例1输入的数据流足够了吗?是否能够加输入的数据流足够了吗?是否能够加工出输出的数据流?工出输出的数据流?计算利息存款金额?查询图书读者信息错误情况举例错误情况举例2学生成绩单客户订单订单源数据是如何进入到信息系统中的呢?源数据是如何进入到信息系统中的呢?外部实体如何从系统中获取有关的数据呢?外部实体如何从系统中获取有关的数据呢?难道是心灵感应?难道是心灵感应?不论是手工系统还是计算机系
25、统,数据不会无缘无故不论是手工系统还是计算机系统,数据不会无缘无故保存或流动,和外部的交换一定和某个加工相连。保存或流动,和外部的交换一定和某个加工相连。错误情况举例错误情况举例3客户业务员订单外部实体到外部实体,说白了,全都是外部的,这外部实体到外部实体,说白了,全都是外部的,这个过程没有数据加工,并不是信息系统的内容。个过程没有数据加工,并不是信息系统的内容。(是业务流程的内容)(是业务流程的内容)数据流图从数据开始进入信息系统的地方开始绘制数据流图从数据开始进入信息系统的地方开始绘制读者图书管理员借书单错误情况举例错误情况举例4订单入库单数据不通过任何手续就能在数据存储之间流动?数据不通
26、过任何手续就能在数据存储之间流动?表格中的数据长腿了吗?要不硬盘智能化了,不表格中的数据长腿了吗?要不硬盘智能化了,不需要任何外部力量,磁道上的数据会自己移动?需要任何外部力量,磁道上的数据会自己移动?药品目录处方单一张表格的数据怎么能记录到另一张表格中呢?一张表格的数据怎么能记录到另一张表格中呢?人工做需要一个操作,机器做需要一段程序。人工做需要一个操作,机器做需要一段程序。错误情况举例错误情况举例5xxxx仅有流入的数据流,仅有流入的数据流,数据还有什么用途吗?数据还有什么用途吗?垃圾数据?!垃圾数据?!仅有流出的数据流,数据是从何仅有流出的数据流,数据是从何而来呢?而来呢?系统的一个局部
27、模型会存在这种系统的一个局部模型会存在这种情况,但完整系统应该不会。如情况,但完整系统应该不会。如果有,那个数据肯定是一千年不果有,那个数据肯定是一千年不变,可以直接由数据库管理员一变,可以直接由数据库管理员一次性搞定。次性搞定。(物业管理系统中的房屋举例)(物业管理系统中的房屋举例)错误情况举例错误情况举例6“修改还书日期修改还书日期”很细节,而很细节,而“借阅管理借阅管理”又很抽又很抽象。象。处理不在同一个抽象层次上,会造成理解困难!处理不在同一个抽象层次上,会造成理解困难!读者读者续借申请读者信息处罚记录P2续借审核P1借阅管理P3修改还书日期P5处罚管理P4打印通知单顾客顾客P1.1验
28、证验证身份身份P1.2核对帐核对帐户余额户余额P1.3登记取登记取款事务款事务P1.4打印打印存折存折帐户帐户顾客顾客P1.1验证验证身份身份P2.2登记存登记存款事务款事务帐户帐户取款取款存款存款DFD图不反映图不反映模块共享,改模块共享,改为为P2.1如图书馆借书系统中有三个处理逻辑:如图书馆借书系统中有三个处理逻辑:“p1借书借书”“”“p2还书还书”“”“p3查询服务查询服务”,但借书处理的,但借书处理的“P1.1检查库存检查库存”,不应绘制为,不应绘制为“P3查查询服务询服务”错误情况举例错误情况举例76.2.5 绘图工具软件绘图工具软件Visio介绍介绍 Microsoft Vis
29、io可用于绘制计算可用于绘制计算机系统中需要的各种模型图机系统中需要的各种模型图 绘制绘制DFD: DFD的四种元素的四种元素 数据流两端元素的关联性数据流两端元素的关联性 语法检查语法检查 上下层分解关系,子图自动继承父上下层分解关系,子图自动继承父图有关的数据流图有关的数据流 以树状目录列出全部处理以树状目录列出全部处理数据流图也常常要作重新分解。重新分解可数据流图也常常要作重新分解。重新分解可以按下述方法进行以按下述方法进行 ()把需要重新分解的某张图的所有子()把需要重新分解的某张图的所有子图连接成一张图连接成一张 ()把图分成几部分,使各部分之间的()把图分成几部分,使各部分之间的联
30、系最少联系最少 ()重新建立父图()重新建立父图 ()重新画子图()重新画子图 ()为所有处理重新命名,编号()为所有处理重新命名,编号数据流图的优化数据流图的优化 数据流图的分解每个人可能有所不同,画数据流图的分解每个人可能有所不同,画出的数据流图也会因人而异,并不一定谁出的数据流图也会因人而异,并不一定谁画的对,谁画的错。画的对,谁画的错。没有标准答案没有标准答案数据流图的优缺点数据流图的优缺点 图形元素少,易学易读,容易与用户沟通图形元素少,易学易读,容易与用户沟通 有层次性,允许系统分析员由上至下逐步分有层次性,允许系统分析员由上至下逐步分析系统,不会受困于太多复杂的细节析系统,不会受困于太多复杂的细节 不能描述系统的控制流不能描述系统的控制流 潜在的非语法错误不易发现,复核困难,需潜在的非语法错误不易发现,复核困难,需要有一定的分析设计经验要有一定的分析设计经验