数据流图(DFD)专题讲解
实验三 数据流图与数据字典
实验三数据流图与数据字典数据流图与数据字典是软件工程中常用的工具,用于描述系统的功能和数据流动。
本文将详细介绍数据流图和数据字典的定义、结构和使用方法。
一、数据流图数据流图(Data Flow Diagram,简称DFD)是一种图形化的工具,用于描述系统内部的数据流动和处理过程。
它由四个基本元素组成:数据流、处理器、数据存储和外部实体。
下面分别对这些元素进行详细介绍。
1. 数据流(Data Flow)数据流是系统中不同部分之间传输的数据。
它用箭头表示,箭头的方向表示数据的流向。
数据流可以分为输入数据流和输出数据流。
输入数据流表示从外部实体进入系统的数据,输出数据流表示从系统流出到外部实体的数据。
2. 处理器(Process)处理器表示对数据进行处理的功能模块或子系统。
它可以是一个人、一个机器或一个软件模块。
处理器接收输入数据流,经过处理后产生输出数据流。
3. 数据存储(Data Store)数据存储表示系统中用于存储数据的位置,如数据库、文件等。
数据存储是持久化的,可以在系统的不同执行过程中保存数据。
4. 外部实体(External Entity)外部实体表示系统外部的实体,可以是用户、其他系统或设备等。
外部实体与系统之间通过数据流进行数据交换。
在数据流图中,以上四个元素通过连线连接起来,形成一个完整的系统模型。
数据流图可以分为多个层次,从整体到细节逐步展开,以便更好地理解系统的功能和数据流动。
二、数据字典数据字典(Data Dictionary)是对系统中使用的数据元素进行定义和描述的文档。
它包含了系统中使用的数据元素的名称、定义、属性和关系等信息。
数据字典的主要作用是提供对系统中数据元素的统一定义和描述,以便于系统开发和维护。
数据字典的内容包括以下几个方面:1. 数据元素名称(Data Element Name)数据元素名称是对数据元素进行命名的标识符。
它应该具有描述性,能够清晰地表达数据元素的含义。
【软考】——数据流图
【软考】——数据流图
在软考学习中,下午题的前三道:数据流图,ER模型,UML图是基本上不能失分的,这⼏个题是最基本的题,出题的形式都是固定的,⽽数据流图这道题拿满分最重要的是耐⼼和细⼼的分析试题。
考点突破
①补充数据流图的缺失部分,包括补充数据流、补充外部实体及补充数据存储。
——实体出现的频率⽐较多
②数据流图的改错,包括改正数据流名称,数据流的起始点与终点及删除多余数据流——通过仔细分析题就可以找到错误。
③附加与数据流图相关的概念简答题。
——积累的过程
基础
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加⼯⾓度,以图形⽅式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析⽅法的主要表达⼯具及⽤于表⽰软件模型的⼀种图⽰⽅法。
【基本图形符号】
【分层数据流图】
分层的数据流图主要分为:顶层图和0层图。
顶层图是确定与外部实体之间的输⼊和输出数据流。
0层图是将顶层图中的加⼯分解成若⼲个加⼯,并⽤数据流连接这些加⼯。
是顶层图的细化过程。
满⾜结构化⽅法原则中的⾃顶向下,逐层分局的原则。
【数据平衡原则】
1、分层数据流图中的数据平衡原则
⽗类和⼦类之间的数据流必须保持⼀致,包括数量和内容上⼀致,或者上(下)层输出等于上(下)层的输出。
2、每张数据流图的数据平衡原则
加⼯的输⼊数据流和输出数据流要平衡,保证加⼯的输出数据流都有对应的输⼊和输出数据流。
⿊洞:只进不出
奇迹:只出不进
灰洞:加⼯不出输出流
答题技巧总结
详细分析试题说明,充分利⽤数据平衡原则!。
软件工程_数据流图_数据字典讲义
库存 清单
仓库 管理员
出入库 事务
1 处理 事务
订货 信息
2 产生 报表
订货 信息
定货 报表
采购员
D2
定货信息
图2: 定货系统的功能级数据流图(1层)
泉州师范学院数计学院计算机科学与技术专业
软件工程讲义
一、数据流图的概念
• 数据流图(Data Flow Diagram,DFD)是 一种图形化技术,它描绘信息流和数据从 输入移动到输出的过程中所经受的变换。 在数据流图中没有任何具体的物理部件, 它只是描绘数据在软件中流动和被处理的 逻辑过程。它与数据字典一起用来构成系 统的逻辑模型。
仓库 管理员
出入库 事务
接收 事务
1.1
出入库 事务
更新库 信息 存清单
1.2
库存
处理 定货
定货 信息
1.3
产生 报表
定货 信息
2
定货 报表
采购员
D2
定货信息
图4: 以联机方式更新库存清单
泉州师范学院数计学院计算机科学与技术专业
软件工程讲义
六、使用数据流图的几点说明
D1 库存清单
库存 清单
仓库 管理员
软件工程讲义
三、数据流图的构成及符号
3、附加符号的若干例子
恐怖分子藏身地信息 导弹袭击
分 恐怖
子
报 伤亡
告
+
平民
伤亡
报告
登 本·拉
本·拉登位置信息 导弹袭击
被
报 消灭
告
+
本·拉
登侥
幸逃
脱报
告
泉州师范学院数计学院计算机科学与技术专业
第二讲数据流程图DFD
1.业务流程的描述工具
⑴ 业务流程图 ⑵ 表格分配图
⑴ 业务流程图
业务流程图(transition flow diagram ,TFD)是一种描述管理系统内 各单位、人员之间业务关系、作业顺序和 管理信息流动的流程图,它用一些规定的 符号及连线表示某个具体业务的处理过程, 它可以帮助分析人员找出业务流程中的不 合理回路。
3.系统分析的特点
⑷ 强调逻辑结构而不是物理实现 系统分析的主要任务是确定新系统能够实
现用户提出的哪些要求,能够达到什么目的。 至于用什么计算机、用什么技术、怎样去实 现等问题都不是系统分析阶段所要解决的。
4.系统分析的方法
目前,对于系统分析主要采用结构化的分析方法 ⑴ 结构化系统分析的基本思想
对系统需求的定义和描述最好用形式化语言或 其他描述工具,以明确地、无二义地描述系统需 求。
3.系统分析的特点
⑶ “自顶向下”的工作原则
采用“自顶向下”的工作原则,把一个复 杂的系统由粗到细、由表及里地进行分析是 信息系统开发过程中的工作原则。运用这一 原则,用户和系统分析员可以对系统有一个 中的概括性印象,而且随着逐步向下扩展, 对那些具体的、局部的组成部分也有深刻的 理解,进而确定新系统的逻辑模型。
围、工作内容、业务特点以及对新系统的 想法和建议); ⑵各类人员联合座谈(着重听取使用单位对目 前作业方式和对新系统的要求)。
⑵ 个别访问
个别访问可去除被访者在座谈会上的一 些约束,较能反映出其真实想法。可以 充分听取各方面的要点设计调查表,用其向有关 单位和个人征求意见和设计数据。 适用于:
❖ 然后,通过详细调查与分析,进一步确定用 户需求。
② 分析与综合
数据流图(DFD)专题讲解
数据流图(DFD)专题讲解及例题分析——解题的方法与技巧1.首先要懂得数据流图设计要略有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。
如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。
在绘制时应该注意以下要点:(1)自外向内,自顶向下,逐层细化,完善求精。
(2)保持父图与子图的平衡。
为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。
一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。
根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。
对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。
顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。
底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。
中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。
中间层次的多少,一般视系统的复杂程度而定。
任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。
父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。
在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。
图1 父图与子图的平衡(3)保持数据守恒。
也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。
数据流图(DataFlowDiagram,简称DFD)
数据流图(DataFlowDiagram,简称DFD)声明:本资料来源于个⼈对⽹上相关资料的整理;在信息处理系统中应⽤数据流图,通过对系统中数据、数据加⼯的全⾯分析,准确勾画出系统的框架,系统开发⼈员问以此为交流平台,共同分析可⾏性、合理性等,有助于系统缺陷在分析阶段被及时的发现和消除,为系统的设计、实现、测试阶段提供准确⽽充分的分析,是确保系统及产品质量的必要条件.采⽤语⾔描述、控制流图、程序框图分析是不是⽐⽤数据流图更好呢?⽤语⾔描述进⾏分析,分析的结果是⽆形的,只有对这个系统需要完成功能的描述.是否对所有数据的输⼈、输出、数据的处理过程进⾏分析是不可见的,也就⽆法考证分析的正确性和充分性,分析是不可控的,必然导致软件的缺陷,要到软件开发阶段后期才能发现,有可能对系统产⽣⼀定危害.⽤控制流图进⾏分析,分析关注的重点是控制,通过标识其状态描述系统的⾏为;标识这些状态是如何达到的,并定义状态间的变迁.信息处理领域的系统S是通过数据驱动的,⽤控制流图的分析不能涵盖所有数据,只对能产⽣系统⾏为的数据被分析,分析是不充分的,那么某些软件的缺陷在软件开发阶段早期不会被发现.⽤程序框图进⾏分析,分析关注的重点是如何实现系统的功能,注重的是细节,它应使⽤在软件开发的设计阶段.在分析阶段要注重系统的框架,⽤程序框图的分析不能清楚地看出系统的框架,将分析和设计过程混在⼀起,容易掩盖软件的缺陷.⽤数据流图进⾏分析,分析关注的重点是数据,将⾯向控制的信息作为数据进⾏处理,涵盖系统的所有数据,能准确的抽象系统的信息处理过程.概括的描述信息流和当数据从输⼈移动到输出时被应⽤的变换,每⼀层都明确强调“⼲什么“,“需要什么”,“给出什么”;可以反映出数据的流向和处理过程;数据流图分层进⾏分析,对顶层图的分析可以发现是否有输⼊信息或需要输出的信息被遗漏,容易及早发现系统各部分的逻辑错误,也容易修正.这样逐层分解下去,系统被严密的展开,系统的框架被展现出来.数据流图还有助于消除通常存在于软件开发⼈员与系统总体及硬件⼈员的交流隔阂.系统开发⼈员通过数据流图更容易理解软件要完成什么功能,数据来源于哪⾥,结果要输出到哪等等,他们可以给软件⼈员更多合理的建议.由于采⽤数据流图进⾏分析,提⾼分析的可见性和可控性,有助于软件的缺陷在软件开发阶段早期被及时的发现和消除.⼀,数据流图的基本元素数据流图中只能有四种基本元素,如下:描述⼀个处理.输⼊数据在此进⾏变换产⽣输出数据.其中注明处理的名称.描述⼀个输⼊源点或输出汇点.其中注明源点或汇点的名称.描述⼀个数据流.被加⼯的数据及其流向.流线上注明数据名称,箭头代表数据流动⽅向.描述⼀个数据存储.通常⽤于代表⼀个数据表,其中注明数据表的名称.⼆,分层数据流图为了表达数据处理过程的数据加⼯情况,⽤⼀个数据流图往往是不够的.稍为复杂的实际问题,在数据流图上常常出现⼗⼏个甚⾄⼏⼗个加⼯.这样的数据流图看起来很不清楚.层次结构的数据流图能很好地解决这⼀问题.按照系统的层次结构进⾏逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统.下图给出分层数据流图的⽰例.数据处理S包括三个⼦系统1,2,3.顶层下⾯的第⼀层数据流图为DFD/L1.第⼆层数据流图DFD/L2.1,DFD/L2.2及DFD/L2.3分别是⼦系统1,2和3的细化.对任何⼀层数据流图来说,我们称它的上层图为⽗图,在它下⼀层的图则称为⼦图.三,画数据流图的步骤和原则基本步骤:⾃外向内,⾃顶向下,逐层细化,完善求精.基本原则:①数据流图上所有图形符号只限于前述四种基本元素.②顶层数据流图必须包括前述四种基本元素,缺⼀不可.③顶层数据流图上的数据流必须封闭在外部实体之间.④每个加⼯⾄少有⼀个输⼊数据流和⼀个输出数据流.⑤在数据流图中,需按层给加⼯框编号.编号表明该加⼯处在哪⼀层,以及上下层的⽗图与⼦图的对应关系.⑥规定任何⼀个数据流⼦图必须与它上⼀层的⼀个加⼯对应,两者的输⼊数据流和输出数据流必须⼀致.此即⽗图与⼦图的平衡.⑦可以在数据流图中加⼊物质流,帮助⽤户理解数据流图.⑧图上每个元素都必须有名字.数据流和数据⽂件的名字应当是"名词"或"名词性短语",表明流动的数据是什么.加⼯的名字应当是"名词+宾语",表明做什么事情.⑨数据流图中不可夹带控制流.⑩初画时可以忽略琐碎的细节,以集中精⼒于主要数据流.四,数据流图应⽤举例例⼦待续。
数据流图DFD
数据流图DFD逻辑模型的工具——只反映信息在系统中流动和处理情况的图称为数据流图,它是描述系统逻辑模型的工具之一。
数据流图(Data Flow Diagram,简称DFD)是便于用户理解系统数据流程的图形表示。
它能精确地在逻辑上描述系统的功能、输入、输出和数据存贮等,而摆脱了其物理内容。
数据流图是系统逻辑模型的重要组成部分。
系统分析阶段必须进行全面准确的收集、整理、分析收集的数据及其流程。
一、数据收集数据收集工作量很大, 故要求系统研制人员应具备经营管理的素质,耐心细致地深入实际,配合业务人员收集与系统有关的一切数据。
1.数据收集的渠道现行的组织机构;现行系统的业务流程;现行的决策方式;各种报表、报告、图示。
2.数据的来源(1)组织的正式报告(对于手工系统而言):各种卡片、报表;会议决议。
(2)现行系统的说明性文件(对于已局部计算机化了的系统而言):各种流程图;计算机文件(数据库)系统的数据组织结构。
(3)组织外的数据来源:上级下达的各种文件和各项任务指标;与本单位密切相关的其它单位的有关信息。
3.收集数据的方法(1)查阅档案:到各个科室按收集数据的类型,查阅档案材料。
有时候没有现成的档案,系统分析员就要帮助这些部门建立档案材料。
如一个企业的各种报表应该汇编成册,每张报表编上号,注明用途、填报单位、报送单位、月用量、年用量等。
如果企业没有做这方面的工作,我们只好自己动手去收集这些报表,编成册,统一标号,调查各种使用情况,作为技术档案资料保存起来,以备日后查阅。
(2)面谈调查:对各级管理人员和工作人员要自上而下地进行访问。
调查有关系统总貌、系统目标、环境约束、近年内信息的需求情况,以及他们对现有信息系统的看法(包括有哪些信息是多余的,有哪些或哪方面的信息是急需补充和加强的等等)。
(3)发调查表:对于要作普遍调查的问题,可以发调查表进行调查。
(4)测定:有些数据,如业务的吞吐量、各项工作的时间和费用要实测一段时间。
软件工程-数据流图(DFD)大题解析
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
实验三 数据流图与数据字典
实验三数据流图与数据字典一、数据流图(DFD)数据流图是一种图形化的工具,用于描述系统中数据的流动和处理过程。
它能够清晰地展示系统的功能和数据之间的关系,帮助我们更好地理解系统的运作原理。
在本实验中,我们将使用数据流图来描述一个在线购物系统的功能和数据流动。
1. 上下文图(Context Diagram)上下文图是数据流图的最高层次,用于描述系统与外部实体之间的交互。
在我们的在线购物系统中,主要涉及三个外部实体:用户、商家和支付系统。
下面是上下文图的描述:- 用户:用户通过网页或移动APP与系统进行交互,可以浏览商品、下单、支付等。
- 商家:商家通过网页或移动APP管理商品信息、处理订单等。
- 支付系统:负责处理用户支付的第三方支付系统。
2. 0级数据流图(Level 0 DFD)0级数据流图展示了系统的主要功能和数据流动。
在我们的在线购物系统中,主要包括以下功能和数据流:- 用户注册和登录:用户可以通过注册和登录功能进行身份验证,以便进行购物和支付。
- 商品浏览:用户可以浏览系统中的商品信息,包括商品名称、价格、库存等。
- 商品搜索:用户可以根据关键词搜索系统中的商品。
- 下单:用户可以选择商品并下单购买。
- 订单处理:商家可以接收并处理用户的订单,包括确认订单、发货等。
- 支付处理:用户可以选择支付方式进行支付,支付系统负责处理支付请求。
- 数据存储:系统需要存储用户信息、商品信息、订单信息等数据。
二、数据字典(Data Dictionary)数据字典是对数据流图中使用到的数据流、数据存储和处理过程进行详细描述的文档。
它包含了数据流的名称、含义、数据类型、取值范围等信息,帮助我们更好地理解系统中的数据流动。
在我们的在线购物系统中,以下是数据字典的一部分示例:1. 数据流数据流名称:用户注册信息含义:用户在注册时提交的个人信息,包括用户名、密码、邮箱等。
数据类型:字符串取值范围:长度不超过50个字符数据流名称:商品信息含义:系统中的商品信息,包括商品名称、价格、库存等。
软件工程-数据流图(DFD)大题解析
1/4杭州电子科技大学计算机学院 软件与智能研究所某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1) 画出该系统的分层数据流图。
(8分)(2) 写出相应的数据字典(要求至少写出三项)。
(4分) (3) 将数据流图转换为软件的结构图。
(8分) (1):1)2) 第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息 别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况 位置:员工信息文件名称:分房计划文件 别名:描述:准备分房的计划 定义:员工号+住房请求 位置:公司系统名称:分房分数文件 别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
dfd图画法详解 ppt课件
D6 教材一览表
书库 保 管 员
dfd图画法详解
开发数据流程图时的注意事项: (1)上层数据流程图与下层数据流层图的平衡; (2)对图中各元素加以编号
P-处理, D-数据存储, F-数据流, .-流程图的层次 (3)图中只有数据流,无控制流
流。
仓管
事务
1.0
员
处理事务
2.0
订货报表 采购
产生报表
员
D2 订货信息 图 (b) 订货系统的一层数据流程图
dfd图画法详解
数据流图
仓管 员
D1 库存信息
F1 事务 1.1 事务输入
事务F2
和检验
F3 库存
1.2 更新库存
F4 缺货信息
1.3 处理订货
F5 订货信息 D2
订货信息
图(c) 订货系统的2层数据流程图 (子图1)
dfd图画法详解
发货票
用户
订货单
检验
出库 合格订单 处理
采购通知 采购员
不合格订单 EX1
库存台帐
dfd图画法详解
EX2:请根据以下定货过程画出数据流程图:采购员 从仓库收到缺货通知单后立即进行定货处理,即,查 阅订货合同单,若已定货,则向供货单位发出催货单, 否则,填写定货单送供货单位。供货单位发运货物后, 立即向采购员发出取货通知。
dfd图画法详解
考虑处理:问题给出“采购部需要报表”,因此 必须有一个用于产生报表的处理。输入事务的结果 是改变材料库存量,然而任何改变数据的操作都是 处理,因此对事务进行的加工是另一个处理。
考虑数据流:系统把订货报表送给采购部,因此 订货报表是一个数据流;仓库需要将每笔事务输入 到系统中,显然事务是另一个数据流。
实验三 数据流图与数据字典
实验三数据流图与数据字典数据流图(Data Flow Diagram,简称DFD)是一种用于描述系统功能的图形化工具,它展示了系统内部的各个功能模块之间的数据流动和处理过程。
数据字典(Data Dictionary)是对数据流图中使用的数据流、数据存储、处理过程和外部实体进行详细描述的文档。
一、数据流图(DFD)的标准格式数据流图一般由四个主要元素组成:外部实体、数据流、处理过程和数据存储。
下面将分别介绍它们在数据流图中的标准格式。
1. 外部实体(External Entity)外部实体表示与系统交互的外部对象,可以是人、其他系统或者外部设备。
在数据流图中,外部实体通常用矩形框表示,并在框内写明实体的名称。
例如,一个学生管理系统中的学生可以被视为一个外部实体。
2. 数据流(Data Flow)数据流表示系统中传输的数据,可以是输入数据、输出数据或者在系统内部流动的数据。
在数据流图中,数据流通常用箭头表示,并在箭头上写明数据的名称。
例如,学生管理系统中的学生信息可以被视为一个数据流。
3. 处理过程(Process)处理过程表示系统中对数据进行处理的功能模块。
在数据流图中,处理过程通常用圆角矩形框表示,并在框内写明过程的名称。
例如,学生管理系统中的录入学生信息功能可以被视为一个处理过程。
4. 数据存储(Data Store)数据存储表示系统中用于存储数据的地方,可以是数据库、文件或者内存等。
在数据流图中,数据存储通常用平行四边形表示,并在图形内写明存储的名称。
例如,学生管理系统中的学生信息数据库可以被视为一个数据存储。
二、数据字典(Data Dictionary)的标准格式数据字典是对数据流图中使用的数据流、数据存储、处理过程和外部实体进行详细描述的文档。
它包含了每个元素的名称、描述、数据类型、取值范围等信息。
下面将分别介绍数据字典中各个元素的标准格式。
1. 数据流(Data Flow)数据流的数据字典通常包含以下信息:- 数据流名称:数据流的名称,例如"学生信息"。
数据流图(DFD)详解
为数据处理)。
对数据流进⾏某些操作或变换。
每个加⼯也要有名字,通常是动词短语,简明地描述完成什么加⼯。
在分层的数据流图中,加⼯还应编号。
(3)数据存储(⼜称为⽂件),指暂时保存的数据,它可以是数据库⽂件或任何形式的数据组织。
(4)数据源点或终点,是本软件系统外部环境中的实体(包括⼈员、组织或其他软件系统),统称外部实体。
⼀般只出现在数据流图的顶层图。
画数据流图的步骤 (1)⾸先画系统的输⼊输出,即先画顶层数据流图。
顶层流图只包含⼀个加⼯,⽤以表⽰被开发的系统,然后考虑该系统有哪些输⼊数据、输出数据流。
顶层图的作⽤在于表明被开发系统的范围以及它和周围环境的数据交换关系。
下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。
不再分解的加⼯称为基本加⼯。
⼀般将层号从0开始编号,采⽤⾃顶向下,由外向内的原则。
画0层数据流图时,分解顶层流图的系统为若⼲⼦系统,决定每个⼦系统间的数据接⼝和活动关系。
例如,在上⾯的机票预订系统按功能可分成两部分,⼀部分为旅⾏社预订机票,另⼀部分为旅客取票,两部分通过机票⽂件的数据存储联系起来,0层数据流图如图3-4。
(3)注意事项。
①命名。
不论数据流、数据存储还是加⼯,合适的命名使⼈们易于理解其含义。
②画数据流⽽不是控制流。
数据流反映系统”做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加⼯的执⾏顺序。
③⼀般不画物质流。
数据流反映能⽤计算机处理的数据,并不是实物,因此对⽬标系统的数据流图⼀般不要画物质流。
④每个加⼯⾄少有⼀个输⼊数据流和⼀个输出数据流,反映出此加⼯数据的来源与加⼯的结果。
⑤编号。
如果⼀张数据流图中的某个加⼯分解成另⼀张数据流图时,则上层图为⽗图,直接下层图为⼦图。
⼦图及其所有的加⼯都应编号。
⑥⽗图与⼦图的平衡。
⼦图的输⼊输出数据流同⽗图相应加⼯的输⼊输出数据流必须⼀致,此即⽗图与⼦图的平衡。
⑦局部数据存储。
当某层数据流图中的数据存储不是⽗图中相应加⼯的外部接⼝,⽽只是本图中某些加⼯之间的数据接⼝,则称这些数据存储为局部数据存储。
讲义:数据流程图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.数据存储数据存储表示数据保存的地方。
这里"地方"并不是指保存数据的物理地点或物理介质,而是指数据存储的逻辑描述。
软件工程讲义数据流图
[问题1]
指出图C的数据流图中①,②,③的数据流名。
[问题2]
要供应者,次要供应者)
(2)库存清单(零件编号,库存量,库存量临界值)
泉州师范学院数计学院计算机科学与技术专业
软件工程讲义
五、数据流图实例——定货系统
3、画顶层数据流图,即 系统的基本模型。
系统的基本模型由若干个 数据源点/终点以及一个 处理组成,这个处理代表 了系统对数据加工变换的 基本功能。
出入库
仓库 管理员
D1 库存清单
出入库 事务
库存 清单
1 处理 事务
2
定货
产生 报表
报表
采购员
订货 信息
D2
订货 信息
定货信息
图2: 定货系统的功能级数据流图(1层)
泉州师范学院数计学院计算机科学与技术专业
一、数据流图的概念
软件工程讲义
• 数据流图(Data Flow Diagram,DFD)是 一种图形化技术,它描绘信息流和数据从 输入移动到输出的过程中所经受的变换。 在数据流图中没有任何具体的物理部件, 它只是描绘数据在软件中流动和被处理的 逻辑过程。它与数据字典一起用来构成系 统的逻辑模型。
数据源点/终点的命名
• 不属于数据流图的核心内容,通常是目标系统的外围环境部分。 通常采用它们在问题域中习惯使用的名字。
泉州师范学院数计学院计算机科学与技术专业
软件工程讲义
六、使用数据流图的几点说明
2、在分析下层的数据流图时,有时没有给出源点与终 点。
3、从一个数据存储中取出来的或放进去的数据通常和 原来存储的数据相同,即数据存储和数据流只不过 是同样数据的两种不同形式。这时候,与数据存储 同名的数据流经常被省略。
实验三 数据流图与数据字典
实验三数据流图与数据字典数据流图与数据字典一、数据流图(DFD)的概述数据流图是一种用于描述系统功能的图形化工具,它表示了系统内部的数据流动和处理过程。
数据流图可以帮助我们更好地理解系统的功能和数据的流动方式,从而为系统设计和开发提供指导。
二、数据流图的组成要素1. 实体(Entity):实体代表了与系统进行交互的外部对象,可以是人、组织或其他系统。
实体通过数据流与系统进行数据交换。
2. 数据流(Data Flow):数据流代表了在系统内部传输的数据,数据流可以是输入数据、输出数据或在系统内部流动的数据。
3. 进程(Process):进程代表了对数据流进行处理的功能模块,进程可以是计算、转换、存储或控制等。
4. 数据存储(Data Store):数据存储代表了系统中用于存储数据的位置,可以是数据库、文件或内存等。
5. 数据流图符号:数据流图使用一些特定的符号来表示上述组成要素,如箭头表示数据流、矩形表示进程、椭圆表示实体、平行四边形表示数据存储等。
三、数据字典的概述数据字典是一种用于描述系统数据的工具,它包含了系统中使用的所有数据项的详细说明。
数据字典可以帮助我们更好地理解系统数据的含义和关系,为系统设计和开发提供准确的数据定义和描述。
四、数据字典的组成要素1. 数据项(Data Item):数据项是系统中使用的最小数据单位,它可以是一个字段、一个变量或一个常量等。
2. 数据类型(Data Type):数据类型定义了数据项的种类和属性,如整数、字符串、日期等。
3. 数据长度(Data Length):数据长度定义了数据项的最大长度,如字符型数据项的最大字符数。
4. 数据格式(Data Format):数据格式定义了数据项的显示格式,如日期的显示格式可以是年-月-日。
5. 数据关系(Data Relationship):数据关系描述了数据项之间的关系,如主键-外键关系等。
6. 数据字典表格:数据字典使用表格的形式来组织和呈现数据项的定义和描述,表格包括数据项名称、数据类型、数据长度、数据格式、数据关系等字段。
实验三 数据流图与数据字典
实验三数据流图与数据字典数据流图(Data Flow Diagram,简称DFD)和数据字典(Data Dictionary)是软件工程中常用的两种工具,用于描述系统的功能和数据流动。
本文将详细介绍数据流图和数据字典的定义、使用方法以及相关的注意事项。
一、数据流图(Data Flow Diagram)数据流图是一种图形化的工具,用于描述系统内部的数据流动和处理过程。
它通过图形符号表示系统的各个组件(称为处理器)以及它们之间的数据流动(称为数据流),从而清晰地展示系统的功能和数据流向。
1. 数据流图的符号和构成数据流图由以下几种基本符号构成:- 矩形框:表示系统的功能或者处理过程,也称为处理器(Process)。
每一个处理器都有一个名称,用于描述它的功能。
- 箭头线:表示数据流(Data Flow),用于表示数据在不同处理器之间的流动。
- 圆圈:表示数据存储(Data Store),用于表示数据在系统中的存储位置。
- 菱形:表示外部实体(External Entity),用于表示与系统交互的外部实体,如用户、其他系统等。
2. 数据流图的层次结构数据流图可以按照层次结构进行划分,从而更好地描述系统的功能和数据流向。
普通来说,数据流图可以分为多个层次,每一个层次都包含了更加详细的功能和数据流动。
- 0级数据流图(Level 0 DFD):是最高层次的数据流图,用于描述系统的整体功能和数据流向。
- 1级数据流图(Level 1 DFD):是对0级数据流图的进一步细化,用于描述系统的具体功能和数据流动。
- 更高级别的数据流图:如果需要更详细地描述系统的功能和数据流动,可以继续划分更高级别的数据流图。
3. 数据流图的绘制步骤绘制数据流图的普通步骤如下:- 确定系统的边界:确定系统的范围和边界,即哪些功能和实体属于系统的一部份,哪些属于外部实体。
- 确定处理器:确定系统中的功能和处理过程,将每一个功能表示为一个矩形框,并为每一个处理器命名。
软件工程-数据流图(DFD)大题解析
1/4杭州电子科技大学计算机学院 软件与智能研究所某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1) 画出该系统的分层数据流图。
(8分)(2) 写出相应的数据字典(要求至少写出三项)。
(4分) (3) 将数据流图转换为软件的结构图。
(8分) (1):1)2) 第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息 别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况 位置:员工信息文件名称:分房计划文件 别名:描述:准备分房的计划 定义:员工号+住房请求 位置:公司系统名称:分房分数文件 别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
数据流图数据字典
S1 客 F1付款单 户
P1 帐务处理
F2明细帐
P2 打印帐簿
F3帐簿
S2 会 计
数据流图数据字典
1 数据流图的构成(3)
(2)数据流 数据流(Data Flow)由一个或一组确定的数据组成。 ①数据流名应能直观地反映数据流的含义。 ②数据流的流向 ③数据流可以同名,也可以有相同的数据结构,但必须有不同的数 据或具有不同的含义。 ④两个符号(加工、外部项、数据存储)之间可以有多个数据流存在 ,DFD并不表明它们之间的任何关系,诸如次序、主次等。 ⑤避免错误的数据流命名方法
数据流图数据字典
7 数据字典
数据字典的内容(5) “外部项”条目
数据流图数据字典
S储户
F1取款单、存 折
P1
取款审核
F1.2 不 合 格 存 折 、 取款单
F1.1 合格存折、取P2 Nhomakorabea款单
取款处理
F2存折、利率单 、结算清单
S储户
D1 帐目库
D2 取款记录
取款处理顶层图
数据流图数据字典
5 数据流图绘制举例(4)
(2)图书预订系统:书店向顾客发放订单,顾客将所填订单交由系统 处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理 ,处理过程中根据顾客情况和订单数目将订单分为优先订单与正常订 单两种,随时处理优先订单,定期处理正常订单。最后系统根据所处 理的订单汇总,并按出版社要求发给出版社。
数据流图数据字典
1 数据流图的构成(4)
(3)加工 加工又称处理亦称变换,它表示对数据流的操作。 加工的符号分成上、下两部分,从上到下分别是标识部分和功能描 述部分。 标识部分用于标注加工编号,加工编号应具有唯一性,以标识加工 ,以“P”开头。 功能描述部分用来写加工名。为使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“生成成绩列表”。
由说明“根据学生信息文件来确认该学生是否选修这门课程”可知,验证学生信息时,需要根据学生信息文件来进行;而生成成绩列表及成绩单时,学生信息都是必要的。