软件工程-数据流图(DFD)大题解析
- 格式:doc
- 大小:164.00 KB
- 文档页数:4
软考dfd题型
软考中的DFD(数据流图)题型主要考察以下几个知识点:
1. 给出外部实体的名称。
2. 给出数据存储的名称。
3. 查找错误的数据流和丢失的数据流。
4. 数据字典部分的考察。
5. 问答题,例如面向对象结构设计方法的基本思及其适用场合。
在做此题型时,需要快速、标准地解决上述知识点。
可以采取以下技巧:
1. 读题过程中,把读到的名词(可能为外部实体的词)、某某文件之类(即数据存储)、数据流标出来,这样在做问题一、二的时候,数据流图与说明对照,快速、标准地解决知识点和。
2. 查找丢失数据流时,先要做的是顶层和0层图对照,保持父图和子图平衡,即父图中某加工的输入(输出)数据流的数据必须与子图的输入(输出)数据流中的数据在数量和名字上相同。
如需了解更多有关软考DFD题型的信息,建议查阅相关论坛或咨询专业人士。
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________.2.基于软件的功能划分,软件可以划分成__________、__________、__________三种.3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制.8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤.1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M。
Jackson提出的,它是一种面向()的软件设计方法.A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( ).a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
数据流图例题解析例题:请根据以下描述画出系统的数据流图。
该子系统共有三个加工:(1)首先是“建立订货合同台帐”:从订货合同、材料检验单和客户文件输入数据、输出形成合同台帐文件;(2)然后是“分类合并”:从合同台帐文件输入数据,排序合并后形成合同分类文件,最后“打印”加工单元从合同分类文件打印出合同分类表。
解析:本题是一道丰富典型的应用题,要求学习根据文字描述画出数据流图,这种题型在《信息管理系统》课程考试中经常出现,必须熟练掌握。
为了解答这个例题,我们先回顾一下这三项内容:1、什么是数据流图;2、它有哪些基本符号;所谓数据流图(Data Flow Diagram,简称DFD)是一种分析系统数据流程的图形工具。
它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
一般由数据流、加工、文件和数据源或终点四项组成(可参照教材图7-9)。
那么如何绘制数据流图呢?以本题为例进行说明:首先我们可根据例题中的描述在纸上画出第一个加工“建立订货合同台帐”,如图1所示:图1其次,分析这个加工的输出、输入数据流。
根据题意可知,该加工的输出是合同台帐文件、而为完成该项输出,必须有三项输入,即订货合同、材料检验单、客户文件。
据此可绘制出如图2所示的图形:图2此时应注意两点:第一要对加工进行编号。
本例中,我们将加工“建立订货合同台帐”编号为P1;第二要判断输入、输出项是一般的数据流、还是文件存储。
如果是文件存储(比如客户文件、合同台帐文件)则需要用右边开口的方框表示,同时表示数据流的箭头上的文字可省略。
第三、将加工“分类合并”画在纸上,如图3所示图3第四、找出加工“分类合并”的输入和输出项,并用箭头在纸上标注出来。
本例中,该加工的输入数据流是合同台帐文件,输出数据流是合同分类文件,由于“合同台帐文件”已被绘制在纸张上,因此只需用箭头将它与加工联接起来即可。
如图4所示:图4第五、按上述方法,将加工“打印”绘制在图纸上。
软考dfd题型(实用版)目录1.软考 DFD 题型概述2.DFD 图的组成部分3.DFD 图的绘制方法与技巧4.软考 DFD 题型的备考策略正文【软考 DFD 题型概述】软考 DFD 题型是指计算机软件水平考试中的一种题型,主要考察考生对于数据流图(Data Flow Diagram,简称 DFD)的理解和应用能力。
数据流图是一种图形化的表达方式,用于描述信息系统中数据的流动、加工以及存储等过程。
在软考中,DFD 题型通常以选择题、填空题和简答题等形式出现,对于考生掌握软件工程知识、提高系统分析与设计能力具有重要意义。
【DFD 图的组成部分】数据流图主要由以下几个部分组成:1.数据流:数据流是数据在系统中流动的过程,通常用箭头表示。
数据流可以是输入、输出或中间结果,其名称通常表示数据的含义。
2.处理:处理是对数据流进行加工的地方,可以是计算、存储、检索等操作。
处理用一个矩形框表示,并在框内注明加工的类型。
3.数据存储:数据存储用于存储数据流图中的数据,可以是文件、数据库或内存等。
数据存储用一个双矩形框表示,并在框内注明存储的数据及类型。
4.接口:接口是数据流图各个组成部分之间的连接点,表示数据的输入输出。
接口用一个圆形框表示,并在框内注明连接的组件名称。
【DFD 图的绘制方法与技巧】1.从上到下,从左到右绘制数据流。
2.尽量减少数据流的交叉,避免数据依赖关系。
3.合理布局各个组件,便于阅读与理解。
4.遵循“自顶向下,逐步求精”的原则,先绘制高层次的数据流图,再逐步细化。
5.使用适当的注释,说明数据流、处理和存储的含义及关系。
【软考 DFD 题型的备考策略】1.掌握 DFD 的基本概念和组成部分,了解其作用和应用场景。
2.学习和实践 DFD 图的绘制方法,提高自己的绘图能力。
3.多做真题和模拟题,熟悉考试题型和答题技巧。
4.结合实际案例,加深对 DFD 图的理解和应用。
5.加强与其他考生的交流与学习,共同进步。
软件⼯程习题解答(含基本章节应试例⼦以及⼀个UML案例)软件⼯程习题解答⼀、软件⽣存周期各阶段的基本任务?1. 问题定义:(1)回答要解决的问题是什么。
(2)系统分析员应该提出关于问题性质、⼯程⽬标和规模的书⾯报告。
(3)经过和⽤户讨论,澄清含糊不清的地⽅,改正理解不正确的地⽅,得出⼀份双⽅都满意的⽂档。
(4)问题定义是软件⽣命周期中最简短的阶段。
2.可⾏性研究:(1)前⼀阶段定义的问题有可⾏的解决办法吗?(2)系统分析员要进⾏⼀次⼤⼤压缩和简化了的系统分析和设计。
导出⾼层逻辑模型(⽤数据流图表⽰)。
确定⼯程规模和⽬标,准确估计系统的成本和效益。
(3)使⽤部门的负责⼈根据可⾏性研究的结果决定是否继续进⾏该⼯程的开发⼯作。
3.需求分析:(1)主要确定⽬标系统必须具备哪些功能。
(2)系统分析员和⽤户密切配合,充分交流,得出经⽤户确认的系统逻辑模型(数据流图、数据字典、算法描述)。
4.总体设计:(1)回答如何解决问题。
(2)系统分析员应使⽤系统流程图或其他⼯具描述每种可能系统;估计每种⽅案的成本和效益。
推荐⼀较好的系统──有其详细计划。
设计软件的结构(⽤层次图或结构图描述)。
5.详细设计:(1)回答应该怎样具体地实现这个系统。
(2)设计出程序的详细规格说明(⽤HIPO层次图加输⼊/处理/输出图)或PDL语⾔(过程设计语⾔)。
6.编码和单元测试:(1)写出正确的容易理解,容易维护的程序模块。
(2)程序员:选取⼀种适当的⽤⾼级语⾔书写程序(或汇编语⾔)。
仔细测试编写出的每⼀个模块。
7.综合测试:(1)通过各种类型的测试,使软件达到预定的要求。
(2)最基本的测试是集成测试和验收测试⽅法。
集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进⾏必要的测试。
验收测试是按照需求规格说明书的规定,由⽤户对⽬标系统进⾏验收。
(3)⽤正式⽂档将测试计划、详细测试⽅案以及实际测试结果保存。
1、下列描述正确的是______。
A)程序就是软件B)软件开发不受计算机的限制C)软件既是逻辑实体,有时物理实体D)软件是程序、数据和相关文档的集合解析:软件是包括程序、数据及相关文档的完整集合,程序只是软件重要的组成部分之一,所以A是错误的,而软件开发受计算机系统的限制(如使用Viausl Basic 6.0所开发的程序不能在UNIX系统下运行)软件是逻辑实体而不是物理实体是软件的两个重要特点,所以B,C也是错误的。
答案:D2、“软件危机”产生的主要原因是______。
A)软件日益庞大B)开发方法不当C)开发人员编写程序能力差D)没有维护好软件解析:软件危机产生的原因主要是由于随着计算机软件的规模不断扩大,软件的开发跟不上计算机应用繁荣迅速增长。
答案:A3、为了克服软件危机,人们提出了用______的原理来设计软件,这就是软件工程诞生的基础。
A)数学B)软件学C)运筹学D)工程学解析:软件工程应用工程学的原理来进行软件设计,以克服在软件规模不断增大的情况下,传统的、依赖个人能力的开发方法不能保证软件质量和开发周期的问题。
答案:D4、软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用______的方法替代传统手工方法。
解析:随着软件规模的扩大,在传统的手工方法已不能适应软件开发需要的情况下,产生了软件工程的方法,其主要思想是在软件生产过程中使用工程化的开发方法。
答案:工程化5、软件文档是软件程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的______。
A)可理解性B)可维护性C)可扩展性D)可移植性解析:在传统的软件开发方法下,由于缺少软件文档,造成了开发出的软件难以维护。
为解决这一问题,在软件工程中文档是开发工程中的重要组成部分,对软件的可维护性有至关重要的影响。
答案:B6、计算机辅助软件工程,简称______。
A)SAB)SDC)SCD)CASE解析:计算机辅助软件工程简称为CASE。
软件工程模拟卷1答案一、判断题(共10题)划分模块可以降低软件的复杂度和工作量,所以将模块分得越小越好。
()()★标准答案:错误1. 数据流图(DFD)实际上就是程序流程图,而程序图则是简化了的程序流程图。
()()★标准答案:正确2. 为了提高模块的独立性,应尽量做到低内聚高耦合。
()()★标准答案:正确3. 现代程序设计首先强调的是程序的效率,而不是程序的风格和可读性。
()()★标准答案:错误4. 软件产品在交付使用之前一般要经过如下四个步骤的测试:单元测试、集成测试、白盒测试和黑盒测试。
()()★标准答案:错误5. CASE的中文含义是计算机辅助软件工程。
()()★标准答案:正确6. 继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。
()答案:错误7. 浦向数据流的设计以需求分析阶段产生的数据流图为基础,按一定的步骤将其映射为软件结构。
()()★标准答案:正确8. 将软件系统划分为模块时,应尽量做到高内聚低耦合,提高模块的独立性。
()()★标准答案:正确9. 耦合性是一个用来衡量模块内部各个元素彼此结合紧密程度的度量指标。
()()★标准答案:错误二、单选题(共10题)—把己确定的软件需求转换成特定形式的设计表示,使其得以实现。
A. 系统设计B.详细设计C.逻辑设计D.软件设计★标准答案:D2, _指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
A.分解B.模块化C.抽象D.模块★标准答案:B3. —是指将具有一致数据结构和行为的对象抽象成类。
A.分类性B.继承性C.多态性D.封装性★标准答案:A4. —指被测试程序不再机器上运行,而是采用人检测和计算机辅助静态分析的手段对程序进行测试。
A.黑盒测试B.动态测试C.白盒测试D.静态测试★标准答案:D5. Coad方法是面向_的软件开发方法。
A.对象B.数据结构C.逻辑结构D.功能结构★标准答案:A6. 能够与软件需求分析、设计、编码相对应的软件测试是—组装测试、确认测试、单元测试A. 单元测试、组装测试、确认测试单元测试、确认测试、组装测试B. 确认测试、组装测试、单元测试★标准答案:D7. 软件可行性研究的任务是从__、经济可行性和社会可行性三个方面分析每种解决方法的可行性。
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
四、设计DFD图(10分)一个飞机机票预订系统,功能为旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间及目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(付有应交的账款)。
旅客在飞机起飞的前一天凭取票通知等交款取票,系统检验无误,输出机票给旅客。
请画出该系统的DFD图。
机票设计测试用例(10分)某城市的电话号码由三个部分组成。
这三部分的名称与内容分别是:1、地区码:空白或3位数字;2、前缀:非“0”或“1”开头的3位数字;3、后缀:4位数字。
用等价分类法完成如下要求:(1)划分出有效等价类、无效等价类;(2)为有效等价类设计出测试用例。
3.下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}(2)用基本路径覆盖法给出测试路径。
(3)为各测试路径设计测试用例(1)控制流图如下,McCabe环路复杂性为3。
(2)测试路径:Path1:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…(3)测试用例:Path1:取n=1,datalist[0] = 1,预期结果:k=0Path2:取n=2,datalist[0] = 1,datalist[1] = 0,预期结果:k=0Path3:取n=2,datalist[0] = 0,datalist[1] = 1,预期结果:k=1五、分析题1.根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEA TELSEBLOCKcdEND BLOCKEND IFSTOP答:.根据下列描述,画出教材征订系统的第一层数据流图。
1/4
杭州电子科技大学
计算机学院 软件与智能研究所
某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:
计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:
(1) 画出该系统的分层数据流图。
(8分)
(2) 写出相应的数据字典(要求至少写出三项)。
(4分) (3) 将数据流图转换为软件的结构图。
(8分) (1):
1)
2) 第一层数据流图
员工信息文件
员工分数文件夹
分房分数文件
2.
名称:员工信息 别名:
描述:员工的各种信息
定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况 位置:员工信息文件
名称:分房计划文件 别名:
描述:准备分房的计划 定义:员工号+住房请求 位置:公司系统
名称:分房分数文件 别名:
描述:计算出的每个员工分房分数的文件
定义:员工号+分房分
位置:公司系统
2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)
【说明】
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:
1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4)对于有效成绩,系统将其保存在课程成绩文件中。
对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5)若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。
教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
主讲教师须将核对之后的成绩报告返还系统。
7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查结果给系统。
对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图2-1所示的顶层数据流图和图2-2所示的第1层数据流图。
【问题1】(4分)
使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
E1:考试委员会
E2:主讲教师
E3:每个选课学生
E4:教务处
【问题2】(3分)
使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
D1:课程信息文件
D2:课程单元信息文件
D3:学生信息文件
D4:课程成绩文件
D5:无效成绩文件
【问题3】(6分)
数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
3/4
杭州电子科技大学
计算机学院 软件与智能研究所
D2->4 D4->4 D1->5 【问题4】(3分)
简要叙述在本例中运用了哪几条画分层DFD 图的指导原则。
答:数据守恒原则 子父平衡原则 数据流封闭原则 【问题5】(4分)
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。
简要说明数据流图和程序流程图在适用场合与作用上的区别。
答:数据流图:宏观地描述系统功能需求,是一种图形化技术,描绘信息流和数据从输入移动到输出的过程中所经历的变换,它只是描绘数据在软件中流动和被处理的逻辑过程。
因易理解,所以是分析员与用户之间极好的通信工具。
程序流程图:是流程程序分析过程最基本工具,它是人们对解决问题的方法,思路式算法的一种描述。
图2-1 顶层数据流图
图2-2 第1层数据流图。