软件设计师 数据流图(DFD)专题讲解
讲义:数据流程图dfd

讲义:数据流程图dfd数据流程图(DFD)数据流程图——描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流程图,⼀般⽤DFD (Data Flow Diagram)表⽰。
⼀、数据流程图的基本成分数据流程图⽤到四个基本符号,即:外部实体、数据处理、数据流和数据存储。
现分别介绍如下:1、外部实体外部实体——指系统以外⼜与系统有联系的⼈或事物。
它表达该系统数据的外部来源和去处,例如:顾客、职⼯、供货单位等等。
外部实体也可以是另外⼀个信息系统。
⼀般⽤⼀个正⽅形,并在其左上⾓外边另加⼀个直⾓来表⽰外部实体,在正⽅形内写上这个外部实体的名称。
为了区分不同的外部实体,可以在正⽅形的左上⾓⽤⼀个字符表⽰。
在数据流程图中,为了减少线条的交叉,同⼀个外部实体可在⼀张数据流程图中出现多次,这时在该外部实体符号的右下⾓画⼩斜线,表⽰重复。
若重复的外部实体有多个,则相同的外部实体画数⽬相同的⼩斜线。
外部实体的表⽰如图6.1所⽰。
图6.1外部实体2.数据处理处理指对数据的逻辑处理,也就是数据的变换。
在数据流程图中,⽤带圆⾓的长⽅形表⽰处理,长⽅形分为三个部分,如图6.2所⽰。
图6.2 处理标识部分⽤来标别⼀个功能,⼀般⽤字符串表⽰,如P1、P1.1等等。
功能描述部分是必不可少的,它直接表达这个处理的逻辑功能。
⼀般⽤⼀个动词加⼀个作动词宾语的名词表⽰。
功能执⾏部分表⽰这个功能由谁来完成,可以是⼀个⼈,也可以是⼀个部门,也可以是某个计算机程序。
3.数据流数据流是指处理功能的输⼈或输出,⽤⼀个⽔平箭头或垂直箭头表⽰。
箭头指出数据的流动⽅向。
数据流可以是信件、票据,也可以是电话等。
⼀般说来,对每个数据流要加以简单的描述,使⽤户和系统设计员能够理解⼀个数据流的含义。
对数据流的描述写在箭头的上⽅,⼀些含义⼗分明确的数据流,也可以不加说明,如图6.3所⽰。
图6.3数据流4.数据存储数据存储表⽰数据保存的地⽅。
这⾥"地⽅"并不是指保存数据的物理地点或物理介质,⽽是指数据存储的逻辑描述。
软件工程-数据流图(DFD)大题解析

1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
软件设计师数据流图(DFD)专题讲解

软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。
根据历年的辅导和阅卷经验,发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。
本文介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。
一.解题当中考生表现出的特点由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。
可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点:1.拿卷就做,不全面了解试卷,做到心中有数。
这样会导致在解题过程当中缺少一种整体概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。
这样,在解题时目标就会明确很多。
2.速度快,读一遍题就开始动手做。
3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。
4.在阅读题目时,不打记,不前后联系起来思考。
5.边做边怀疑边修改,浪费时间。
6.缺少的数据流找不准,可去掉的文件找不出来。
7.由于缺少项目开发经验,对一些事务分析不知如何去思考。
8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。
二.解题的方法与技巧1.首先要懂得数据流图设计要略。
有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。
如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。
在绘制时应该注意以下要点:(1)自外向内,自顶向下,逐层细化,完善求精。
(2)保持父图与子图的平衡。
为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。
软件工程DFD图示例 ppt课件

显然,图2.13 中子图与父图不平衡。子图 是父图中加工2 的分解,加工2 有输入数据流R 和M,输出数据流T,而子图则只有一个输入数 据流N,却有两个输出数据流T 与S。图2.14 中, 子图是父图中加工4 的分解,虽然表面上加工4 只有一个输入数据流“订货单”,而子图却有三
个输入数据流,但是如果“订货单”是由“客
⑵加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀 的几个部分; 分解度:一般每一个加工每次分解最多不要超过7 个子加工,应分解到基本加工为止。 ⑶子图与父图的“平衡”:父图中某个加工的输入输 出数据流应该同相应的子图的输入输出相同(相对应), 分层数据流图的这种特点称为子图与父图“平衡”。
一般来说,在上层可以分解得快些,而在中、 下层则应分解得慢些,因为上层是一些综合性的描 述,“易理解性”相对地说不太重要。
画分层DFD 图的基本原则 ⑴数据守恒与数据封闭原则
所谓数据守恒是指加工的输入输出数据流是否匹配 ,即每一个加工既有输入数据流又有输出数据流。或者 说一个加工至少有一个输入数据流,一个输出数据流。
为了降低系统的复杂性,采 取“逐层分解”的技术,画分层的 DFD 图。
画分层DFD 图的一般原则是: “先全局后局部,先整体后细节,先抽象 后具体”。通常将这种分层的DFD 图,分 为顶层、中间层、底层。顶层图说明了系 统的边界,即系统的输入和输出数据流,顶 层图只有一张。底层图由一些不能再分解 的加工组成,这些加工都已足够简单,称 为基本加工。在顶层和底层之间的是中间 层。中间层的数据流图描述了某个加工的 分解,而它的组成部分又要进一步分解。 画各层DFD 图时,应“由外向内”。
户”、“帐号”和“数量”三部分组成,即有如 下数据条目:订货单 =客户+帐号+数量 (2.2.5 数据词典),则子、父图平衡。
软件工程DFD图示例PPT课件

例2下图是培训中心管理系统的数据流图:
由于只有一层,因此分解的加工较多 不易理解,而且如果其中某个加工较复杂, 例如编号为3 的加工“付款”和编号为7 的加工“复审”仍很复杂,一时难以理解, 如果不继续分解下去,直到每个加工都足 够简单易于理解为止,则会影响需求分析 结果的可读性。
第15页/共18页
⑷合理使用文件 当文件作为某些加工之间的交界面时,文件 必须画出来,一旦文件作为数据流图中的一个独 立成份画出来了,那么它同其它成份之间的联系 也应同时表达出来。 理解一个问题总要经过从不正确到正确,从 不确切到确切的过程,需求分析的过程总是要不 断反复的,一次就成功的可能性是很小的,对复 杂的系统尤其如此,因此,系统分析员应随时准 备对数据流图进行修改和完善,与用户取得共识, 获得无二义性的需求,才能获得更正确清晰的需 求说明,使得设计、编程等阶段能够顺利进行, 这样做是必须和值得的。
第11页/共18页
画分层DFD 图的基本原则 ⑴数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配,
即每一个加工既有输入数据流又有输出数据流。或者说 一个加工至少有一个输入数据流,一个输出数据流。
⑵加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀 的几个部分; 分解度:一般每一个加工每次分解最多不要超过7 个子加工,应分解到基本加工为止。 ⑶子图与父图的“平衡”:父图中某个加工的输入 输出数据流应该同相应的子图的输入输出相同(相对应), 分层数据流图的这种特点称为子图与父图“平衡”。
第4页/共18页
第5页/共18页
如图所示,如果系统规模较 大,仅用一个DFD 图难以描述, 会使得系统变得复杂,且难以理 解。
软件工程DF数据流图图片

职工考勤信息包括:职工基本信息
职工出勤信息
职工出差信息
职工加班信息
职工请假信息
其中:
职工基本信息包括:职工姓名,职工编号,性别,年龄,职称。
职工出勤信息包括:姓名,编号,上班打卡时间,下班打卡时间,缺勤记录。
职工出差信息包括:姓名,编号,出差开始时间,出差结束时间,统计出差天数。
职工加班信息包括:姓名,编号,加班开始时间,加班结束时间,统计加班时间。
职工请假信息包括:姓名,编号,请假开始时间,请假结束时间,统计请假时间。
职工考勤系统(顶层DFD)
职工考勤系统(一层DFD)
职工考勤系统-职工信息(二层DFD)
对功能1分解(职工信息)
对功能2分解(加班)
对功能3分解(出差)
对功能4分解(请假)
对功能5分解(考勤)
职工考勤系统-职工信息-添加职工信息(对1.1再分解)
职工考勤系统-职工信息-查询职工信息(对1.1再分解)
数据字典(DD )
ConceptualDateModel
LogicalDataModel
(1)数据表格
设计表(逻辑模型):
职工基本信息表
职工出勤信息表
职工加班信息表
职工出差信息表
职工请假信息表
(1)设计E-R图
2
软件结构图。
软件需求说明书编写中的数据流绘制技巧

软件需求说明书编写中的数据流绘制技巧在软件开发的过程中,需求分析是非常关键的一步。
而在需求分析中,数据流图是常用的工具,用于描述系统中各个功能模块之间的数据流动情况。
本文将详细介绍软件需求说明书编写中的数据流绘制技巧,帮助开发团队更好地理解和掌握数据流图的绘制方法。
一、数据流图的概念和作用数据流图(Data Flow Diagram,简称DFD)是一种图形化的工具,用于描述系统中信息的流动和处理过程。
它可帮助软件开发人员清晰地了解系统中的数据流动,明确各个功能模块之间的关系,从而为需求分析和系统设计提供依据。
数据流图以图形的形式展示了系统中的数据流和处理功能,包括数据流入和流出的过程,以及在各个处理模块中进行的数据处理操作。
通过数据流图,团队成员可以直观地了解系统的结构和功能,快速定位问题和风险,并确保开发过程中的顺利进行。
二、数据流图的绘制步骤1. 确定关键功能模块:根据需求分析的结果,确定系统中的关键功能模块,并对其进行命名和标识,以便在数据流图中进行引用。
2. 确定数据流和处理过程:根据需求分析的结果,确定系统中的数据流和处理过程,并使用适当的符号进行标识。
数据流可以是输入数据、输出数据或系统内部流动的数据,而处理过程则可以是数据的加工、转换、存储等。
3. 绘制主要数据流和处理过程:根据系统中的主要数据流和处理过程,开始绘制数据流图的主干结构。
主要数据流通常包括系统的输入和输出数据,而处理过程则包括系统的各个功能模块。
注意根据功能模块之间的关系,合理安排数据流的流动方向和处理过程的顺序。
4. 细化和完善数据流图:在主干结构绘制完成后,进一步细化和完善数据流图。
可根据系统的具体要求,增加细节数据流和处理过程,以更全面地描述系统的功能和流程。
5. 验证和修正数据流图:在数据流图完成后,进行验证和修正是非常重要的。
团队成员可以通过检查数据流图的正确性、一致性和完整性,发现潜在的问题和错误,并进行相应的修正。
跟我学如何创建软件系统数据库设计中的数据流程图(DFD)

1.1跟我学如何创建软件系统数据库设计中的数据流程图(DFD)1.1.1数据流程图DFD(Data Flow Diagram)概述1、什么是数据流图它是一种最常用的结构化分析工具,主要实现从数据传递和加工角度,以图形的方式刻画和描述出系统内的数据运动情况(数据的来龙去脉和实际流程----数据在对象间流动),从而实现对系统中信息运动的抽象,是MIS系统数据建模的主要形式。
下面为一个在Excel中设计出的人员管理系统中的DFD示例2、主要的作用一个软件系统的逻辑模型应能表示当某些数据输入到该系统,经过系统内部一系列处理(变换或加工)后产生某些逻辑结果的过程。
而DFD是描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,亦即描述系统中数据流程的图形工具。
(1)向数据库设计过渡系统分析员用这种形式的工具实现对系统“自顶向下”方式的系统信息流程的分析,并可在图上画出计算机处理的部分;同时根据逻辑存贮,对数据作进一步的分析,最终可实现向数据库设计过度。
(2)向程序设计过渡根据数据流向,决定出对数据的“存取方式”----该“存取方式”最终应该对应一个处理过程或者功能实现,我们可用相应的程序语言来表达该处理方法的要求,最终可实现向程序设计过渡。
(3)有助于系统的客户对系统的理解和交流由于数据流图描述了信息系统中数据处理的过程和信息传递的方向与联系,因此,便于在系统分析阶段中用户与系统分析员之间沟通。
因为,客户、特别是商业系统的客户,一般都会有自己的业务流程图,如票据流转图和操作流程图,它们与我们现在的数据流图很相识。
3、主要的应用场合DFD作为结构化系统分析与设计的主要方法,已经得到了广泛的应用---- DFD可以在需求分析、业务建模阶段发挥作用,以实现对系统的需求的深入理解。
另外,DFD尤其适用于MIS类型的系统的需求分析、业务建模。
4、DFD的主要优缺点在传统的结构化程序设计中,DFD或许比较重要。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。
根据历年的辅导和阅卷经验,发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。
本文介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。
一.解题当中考生表现出的特点由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。
可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点:1.拿卷就做,不全面了解试卷,做到心中有数。
这样会导致在解题过程当中缺少一种整体概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。
这样,在解题时目标就会明确很多。
2.速度快,读一遍题就开始动手做。
3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。
4.在阅读题目时,不打记,不前后联系起来思考。
5.边做边怀疑边修改,浪费时间。
6.缺少的数据流找不准,可去掉的文件找不出来。
7.由于缺少项目开发经验,对一些事务分析不知如何去思考。
8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。
二.解题的方法与技巧1.首先要懂得数据流图设计要略。
有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。
如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。
在绘制时应该注意以下要点:(1)自外向内,自顶向下,逐层细化,完善求精。
(2)保持父图与子图的平衡。
为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。
一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。
根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。
对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。
顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。
底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。
中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。
中间层次的多少,一般视系统的复杂程度而定。
任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。
父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。
在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。
图1 父图与子图的平衡(3)保持数据守恒。
也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。
每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。
一个加工的输出数据流只由它的输入数据流确定。
数据流必须经过加工,即必须进入加工或从加工中流出。
(4)加工细节隐蔽。
根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节。
当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口时,那么这些数据存储为局部数据存储。
为了强调局部数据存储的隐蔽性,一般情况下,局部数据存储只有作为某些加工的数据接口或某个特定加工的输入和输出时,才画出来。
即按照自顶向下的分析方法,某数据存储首次出现时只与一个加工有关,那么这个数据存储应该作为与之关联加工的局部数据存储,在该层数据流子图中不必画出,而在该加工的子图中画出,除非该加工为原子加工。
(5)简化加工间的关系。
在数据流图中,加工间的数据流越少,各个加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目。
(6)均匀分解。
应该使一个数据流中的各个加工分解层次大致相同。
(7)适当地为数据流、加工、文件、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字。
(8)忽略枝节。
应集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性的问题。
(9)表现的是数据流而不是控制流。
数据流图与传统的程序流程图不同,数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的。
数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序。
数据流图适合于宏观地分析一个组织的业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。
每个加工必须既有输入数据流,又有输出数据流;在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读、没有写,或者只有写、没有读。
2.解题的方法。
(1) 数据平衡原则。
数据平衡原则分为两个方面:① 在分层数据流图中,父图和子图要平衡,也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。
②数据平衡的另一个方面是说:每个加工必须即有输入数据流又有输出数据流,而且一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。
(2) 要特别注意的几个细节问题。
① 除了流向数据存储(文件)或从数据存储流出的数据流不必命名外,其它每个数据流都必须有一个合适的名字。
②流向文件的数据流,表示写入数据,流出文件的数据流表示读文件。
在整套数据流图中,每个文件必须既有读的数据流又有写的数据流,但在某一张子图中可能只有读没有写,或者只有写没有读。
③在逐步精化的过程中,若一个文件首次出现时只与一个加工有关,既该文件是个加工的内部文件,那么该文件在当层图中不必画出,可在该加工的细化图中画出。
3.解题的技巧。
(1)阅读题干的技巧。
快速的阅读第一遍,基本了解题目所涉及到的知识点或者事务,打记实体对象和存储文件,甚至可以将数据流也标记一下;这一步重点落在问题上,一般问题不难,但一定要看清问题。
带着问题来看第二遍,边看边解决。
(2)要有整体的概念,不能因一个点符合就断定是它,尤其是数据对象。
(3)注意解题的速度,一般在20分钟以内为最好。
(4)解题的过程中,每一条数据流都能够在[说明]中找到相应的语句。
(5)数据流名称要写对,每错一个字扣0.5分;流向也要写对。
(6)做好以后,复查一遍;不要边做边怀疑、边修改,那样会担误时间,且错误更多。
三.例题讲解例1:【软件设计师(数据库系统工程师)2007年11月真题】试题一(共15分)阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4. 对于有效成绩,系统将其保存在课程成绩文件中。
对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。
教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
主讲教师须将核对之后的成绩报告返还系统。
7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查结果给系统。
对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
图1-2 0层数据流图【问题1】(4分)使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
【问题2】(3分)使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
【问题3】(6分)数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
【问题4】(2分)数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。
简要说明程序流程图的适用场合与作用。
试题分析:本题考查的是DFD的应用,属于比较传统的题目,考查点也与往年类似。
问题1考查的是顶层DFD。
顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体及外部实体与系统之间的输入输出数据流。
题目要求填充的正是外部实体。
从顶层DFD可以看出,数据流是完整的。
所以只要根据数据流从题目说明的上下文中,找出E1~E4所对应的外部实体,分别为考试委员会、主讲教师、学生和教务处。
0层DFD中缺少的东西比较多,要求填写数据存储及缺失的数据流。
先来确定数据存储。
首先,从说明中找出可能是数据存储的元素来。
很明显,学生信息文件、课程信息文件、课程单元信息文件、课程成绩文件和无效成绩文件应该是数据存储。
下面的工作就是对号入座。
从0层DFD上可以看到,加工3到D5有一条数据流;而加工3所完成的操作是“记录无效成绩”。
从说明中可知,“对于无效成绩,系统会单独将其保存在无效成绩文件中”,所以D5应该是数据存储“无效成绩文件”;类似地,从加工2气己录有效成绩”到D4有一条数据流,这说明D4就是数据存储“课程成绩文件”。
D1输出两条数据流,分别流向加工1“验证学生信息”和加工4“生成成绩列表”。
由说明“根据学生信息文件来确认该学生是否选修这门课程”可知,验证学生信息时,需要根据学生信息文件来进行;而生成成绩列表及成绩单时,学生信息都是必要的。