软件工程之数据流图专题
- 格式:doc
- 大小:531.00 KB
- 文档页数:3
【软考】——数据流图
在软考学习中,下午题的前三道:数据流图,ER模型,UML图是基本上不能失分的,这⼏个题是最基本的题,出题的形式都是固定的,⽽数据流图这道题拿满分最重要的是耐⼼和细⼼的分析试题。
考点突破
①补充数据流图的缺失部分,包括补充数据流、补充外部实体及补充数据存储。
——实体出现的频率⽐较多
②数据流图的改错,包括改正数据流名称,数据流的起始点与终点及删除多余数据流——通过仔细分析题就可以找到错误。
③附加与数据流图相关的概念简答题。
——积累的过程
基础
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加⼯⾓度,以图形⽅式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析⽅法的主要表达⼯具及⽤于表⽰软件模型的⼀种图⽰⽅法。
【基本图形符号】
【分层数据流图】
分层的数据流图主要分为:顶层图和0层图。
顶层图是确定与外部实体之间的输⼊和输出数据流。
0层图是将顶层图中的加⼯分解成若⼲个加⼯,并⽤数据流连接这些加⼯。
是顶层图的细化过程。
满⾜结构化⽅法原则中的⾃顶向下,逐层分局的原则。
【数据平衡原则】
1、分层数据流图中的数据平衡原则
⽗类和⼦类之间的数据流必须保持⼀致,包括数量和内容上⼀致,或者上(下)层输出等于上(下)层的输出。
2、每张数据流图的数据平衡原则
加⼯的输⼊数据流和输出数据流要平衡,保证加⼯的输出数据流都有对应的输⼊和输出数据流。
⿊洞:只进不出
奇迹:只出不进
灰洞:加⼯不出输出流
答题技巧总结
详细分析试题说明,充分利⽤数据平衡原则!。
淮海工学院计算机科学系实验报告书课程名:《软件工程》题目:结构化设计实验班级:***********学号:*************姓名:*************结构化设计验报告要求1目的与要求:1)系统学习和理解结构化软件工程设计阶段的基本任务、概念、原理、技术和方法;2)掌握设计阶段各种设计工具,如、层次图、程序流程图、N-S图、PAD图、判定表(树)、伪代码语言等工具的使用方法;3)通过理论学习和试验要逐步提高运用结构化软件工程的设计理论、技术和方法解决实际问题的综合应用和实践创新能力;4)请借阅有关Microsoft Office Visio 系统,预习系统有关的结构化设计工具和使用方法;5)按照实验题目要求独立完成结构化设计实验内容,严禁拷贝、抄袭他人设计成果;6)认真书写实验报告,并于下周5以前提交。
2 实验内容或题目1.针对自己第一次实验所完成的结构化分析项目(或题目),选择所绘制的数据流图,E-R图、状态图,完成下面2、3、4、5、6要求的结构化设计内容;2.按照面向数据流图的结构化设计方法,并在优化所选择数据流图的基础上,导出项目的总体设计层次图(H图);3.按照详细设计阶段所学的过程设计工具,分别选择程序流程图、盒图和PAD图等设计工具,在第2所得层次图中选择几个主要模块进行详细设计,画出相应设详细计结果图形;4.根据选择的E-R图进行数据库(以关系数据库模型为基准,进行数据库表及其关系设计);5.根据H图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选择一个数据库表(实体)进行界面表单(数据编辑界面)设计;6.选择第3步中某一模块的详细设计结果,画出对应得流图,并计算其圈复杂度。
3 实验步骤与源程序1.优化所选择数据流图2.导出项目的总体设计层次图(H图);3.按照详细设计阶段所学的过程设计工具,分别选择程序流程图、盒图和PAD图等设计工具,在第2所得层次图中选择几个主要模块进行详细设计,画出相应设详细计结果图形;(1)流程图登录:存取款:办理银行卡:开始姓名为空FT 填写个人信息提示银行卡类型未选提示办卡成功T提示姓名为空提示身份证号码为空结束身份证号码为空TF银行卡类型已选两次密码一致TF提示两次密码输入不一致F(2)盒图登录: 存取款:(3)PAD 图 登录:用户名存在且密码正确提示错误登陆成功业务办理:要办理的业务手机银行存取款存取款转账贷款缴费网上银行手机银行转账贷款缴费网上银行4.根据选择的E-R 图进行数据库(以关系数据库模型为基准,进行数据库表及其关系设计); 储户数据库:存取款数据库:银行数据库:5.根据H 图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选择一个数据库表(实体)进行界面表单(数据编辑界面)设计; 用户界面功能菜单:Form Title办理银行卡帐户管理存取款转帐贷款缴费网上银行手机银行密码修改存款银行卡挂失个人信息修改取款卡内定期转活期历史明细卡内活期转定期汇款卡转帐卡折互转水费电费天然气手机充值开通网上银行修改信息开通手机银行修改信息注销网上银行注销手机银行注销银行卡住房公积金短期小额贷款助学贷款长期抵押贷款银行卡办理界面:办理银行卡欢迎进入银行卡办理系统姓 名性 别身份证号码家庭住址银行卡类型男女信用卡储蓄卡银联卡请输入密码:请再次输入密码:确定清空返回6.选择第3步中某一模块的详细设计结果,画出对应得流图,并计算其圈复杂度。
题目:图书馆管理系统一、系统功能:为了以便图书馆管理人员对图书借阅、归还等提供轻松快捷管理方式,同步也以便广大读者顾客可以随时随处对图书进行续借,查询。
实现人力与设备费用节约;解决速度提高;管理信息服务改进;人员工作效率提高。
既有图书管理系统分为图书采购、图书编目、图书借阅、信息检索四某些,统各某些既互相独立,又能进行各某些之间数据调用。
1)图书采购子系统重要功能是采购新图书。
图书采购子系统重要由数据解决、采购清单、图书信息录入构成。
2)图书编目时系统自动调用采访子系统数据及所购图书数据,图书编目完毕后,可将数据交送到编目主库及借阅子系统进行图书借阅。
图书编目子系统大体有图书编目、记录打印、数据维护几某些构成。
3)图书借阅是用来记录图书借还信息,必须有书有证才干进行图书借还,借阅子系统中图书数据来自编目子系统。
4)信息检索,顾客可以运用该系统,检索到图书馆馆藏书目、读者基本信息、读者借书、预约到书、超期读者、罚款记录、最新图书、借阅频率最高图书信息。
二、 数据图:第一层数据流图图书馆管理系统学生管理员供货商订货报表管理员信息检验错误 检验错误借书证查询结果操作确认第二层数据流图学生借阅图书学生还书过学生查询书籍查询成果增删改数据流图三、数据字典:1)数据源点及汇点描述:1.名称:学生简要描述:借书、还书、查询及登记注册关于数据流:借书证;所借课本2.名称:当前日期简要描述:当天日期关于数据流:年月日加工2)逻辑词条描述:1.加工名:检查能否借书加工编号:1简要描述:检查学生身份、图书与否入库、读者还能借多少书以此鉴定读者与否能借书输入数据流:借书证;所借课本,学生信息,图书信息,图书借阅量,日期输出数据流:借书错误信息,借书信息加工逻辑: IF 借书证未登记入库 THEN发出“借书错误”ELSE IF 图书未登记入库 THEN发出“借书错误”ELSE IF 读者已借图书和现借图书多于限制数N THEN发出“借书错误”ELSE IF 读者已借图书中有超期 THEN发出“借书错误”ELSE 发出“借书信息”ENDIFENDIFENDIFENDIF2.加工名:添加借阅记录加工编号:2简要描述:将“借书信息”登记到“借阅记录”中,完毕后将课本递交读者输入数据流:借书信息,日期输出数据流:图书借阅记录,图书加工逻辑:将借书信息及日期写入图书借阅记录;将图书递交读者3)数据流名词条描述:1.数据流名:借书证阐明:用以携带学生唯一辨认标记数据流来源:学生信息数据流去向:检查能否借书数据流构成:学生=借书证号+姓名+专业+性别+出生日期+照片+借书数量借书证号=“”..“” varchar姓名=2—24 varchar专业=2—24 varchar性别==1 int出生日期=datetime照片=Image借书数量=int2.数据流名:图书阐明:记录图书重要有关信息数据流来源:学生数据流去向:检查能否借书数据流构成:图书=ISBN+书名+作者+出版社+价格+复本量+库存量书号=“”..“” varchar书名=2—24 varchar作者=2—24 varchar出版社=2—24 varchar价格=“000.01”..“999.99”float复本量=int库存量=int3.数据流名:检查错误阐明:用于批示学生借书错误信息数据流来源:借书检查数据流去向:学生数据流构成:检查错误=2—40 varchar4.数据流名:借书信息阐明:用于传递读者号和图书号数据流来源:借书检查数据流去向:借书记录数据流构成:借书信息=借书证号+ISBN+索书号+借书时间。
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
目录1要求: (1)1.1 格式 (1)1.2 内容: (1)1.3 时间地点: (1)1.4 联系方式 (1)2数据流图 (2)2.1 顶层数据流图 (2)2.2 处理1加工分解 (2)2.3 处理2加工分解 (3)2.4 处理3加工分解 (3)3数据字典例子: (3)3.1 数据流条目 (3)3.2 数据项条目 (4)3.3 数据存储条目 (5)3.4 加工条目 (6)3.5 外部输入条目 (7)4需求分析 (8)4.1 目的与任务: (8)4.2 该系统所要满足的信息要求: (8)4.3 处理要求 (9)1要求:1.1格式●学号后面要加上序号,即“学号-序号”●正文字体小四宋体,行间距离1.5倍●正反打印,加上页码1.2内容:●90页第8题(需求分析的数据流,数据字典和需求分析报告)●画图时,采用“插入->对象”方式●数据流图采用visio->形状->软件->Gane-Sarson图形1.3时间地点:●时间:第10周前(5月8号前)●地点:工学一号馆718或6281.4联系方式2数据流图2.1顶层数据流图2.2处理1加工分解2.3处理2加工分解2.4处理3加工分解3数据字典例子: 3.1数据流条目3.2数据项条目3.3数据存储条目3.4加工条目3.5外部输入条目4需求分析4.1目的与任务:学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。
目录1要求: (1)1。
1 格式 (1)1。
2 内容: (1)1。
3 时间地点: (1)1.4 联系方式 (1)2数据流图 (2)2.1 顶层数据流图 (2)2。
2 处理1加工分解 (2)2。
3 处理2加工分解 (3)2.4 处理3加工分解 (3)3数据字典例子: (3)3.1 数据流条目 (3)3.2 数据项条目 (4)3。
3 数据存储条目 (5)3.4 加工条目 (6)3。
5 外部输入条目 (7)4需求分析 (8)4。
1 目的与任务: (8)4.2 该系统所要满足的信息要求: (8)4。
3 处理要求 (9)1要求:1.1格式●学号后面要加上序号,即“学号-序号”●正文字体小四宋体,行间距离1.5倍●正反打印,加上页码1.2内容:●90页第8题(需求分析的数据流,数据字典和需求分析报告)●画图时,采用“插入->对象”方式●数据流图采用visio—>形状-〉软件—〉Gane—Sarson图形1.3时间地点:●时间:第10周前(5月8号前)●地点:工学一号馆718或6281.4联系方式2数据流图2.1顶层数据流图2.2处理1加工分解2.3处理2加工分解2.4处理3加工分解3数据字典例子:3.1数据流条目3.2数据项条目3.3数据存储条目3.4加工条目3.5外部输入条目4需求分析4.1目的与任务:学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询.通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。
一、什么是数据流图数据流图是一种图形化的系统模型,它在一张图中展示信息系统的数据流向——即系统的输入与输出数据分别是什么,数据从哪里来并最终流向何处,以及数据存储在什么地方。
数据流图的基本图形元素有:•数据流:是由一组固定成分的数据组成,表示数据的流向。
值得注意的是,数据流图中描述的是数据流,而不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
•加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。
每个加工都有一个名字和编号。
编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
•数据存储:数据存储表示暂时存储的数据。
每个数据存储都有一个名字。
•外部实体:外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
二、为什么画数据流图通过数据流图,软件设计师可以自顶而下的分析系统的信息流程、在图上确定需要计算机处理的部分、向数据库设计过渡、根据数据流向确定存取方式、能够确定一个处理过程。
而在测试过程中,数据流图可以方便、直接的帮助程序员查找到错误的发生位置。
三、什么时候画数据流图需求分析阶段,为了获得一个对新系统的框架认识、概念性认识,需要对新系统建模。
而用图形表示需求,就是需求建模,获得分析模型。
需求分析方法中的结构化分析方法的特点是利用数据流图来帮助人们理解问题,对问题进行分析。
四、怎么画数据流图(一)确定系统的输入输出由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。
此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。
(二)由外向里画系统的顶层数据流图首先,将系统的输人数据和输出数据用一连串的加工连接起来。
一.数据流图的基本成分
数据流图主要由4种成分(加工、数据流,数据存储文件、数据源点或汇点)组成,如下表所示:
二.数据流图的基本原则
●在单张DFD中,必须满足以下原则:
1)一个加工的输出数据流不应该与输入数据流同名,即使它们的组成成分相同(流进和流出存储文件的数据流除外),数据流不能存在于外部实体与外部实体之间,也不能存在于外部实体和数据存储文件之间;
2)保持数据守恒。
一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据;
3)每个加工必须既有输入数据流,又有输出数据流;
4)所有的数据流都必须以一个加工开始,或以一个加工结束(数据流存在于加工与加工之间,加工与数据存储文件之间,加工与外部实体之间)。
5)流向/流出数据存储文件的数据流名可以省略不写。
●在父图与子图之间,必须满足以下原则:
1)保持父图与子图的平衡。
也就是说,父图中某加工的输入(输出)数据流中的数据必须与它的子图的输入(输出)数据流中的数据在数
量和名字上相同;
2)加工细节隐藏。
根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节;
3)均匀分解。
应该使一个数据流图中的各个加工分解层次大致相同;
其它应该注意的原则:
1)简化加工间关系。
在数据流图中,加工间的数据流越少,各加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目;
2)适当地为数据流、加工、文件、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字;
3)忽略枝节。
应集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性问题;
4)表现的是数据流而不是控制流;
5) 在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读没有写或者只有写没有读。
例:根据数据流图的设计原则(子图),阅读下图所示的数据流图,找出其中的错误之处。
答案:外部实体A和B之间不能存在数据流;外部实体A和数据存储H之间不能存在数据流;加工2的输入/输出数据流名字相同;加工4只有输入,没有输出;加工5只有输出,没有输入
三.DD(Data Dictionary)数据字典
数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
3.1 数据字典的内容以及格式
数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。
数据词典中所有的定义应是严密的、精确的,不可有半点含混,不可有二义性。
在定义数据流或数据存储组成时,使用的符号如3-1表:
举例:定义数据流组成和数据项。
机票=姓名+日期+航班号+起点+终点+费用
姓名={字母}
航班号=“Y7100”..“Y8100”
终点=[上海|北京|西安]
3.2 数据字典条目
数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。