软件工程-数据流图(DFD)大题解析

1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:

➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。

➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。

➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。

➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。

试根据上面的系统功能描述:

(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提供的信息,分别指出这三条数据流的起点和终点。

D2->4

D4->4

D1->5

【问题4】(3分)

简要叙述在本例中运用了哪几条画分层DFD图的指导原则。

答:数据守恒原则子父平衡原则

数据流封闭原则

【问题5】(4分)

数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明数据流图和程序流程图在适用场合与作用上的区别。

答:数据流图:宏观地描述系统功能需求,是一种图形化技术,描绘信息流和数据从输入移动到输出的过程中所经历的变换,它只是描绘数据在软件中流动和被处理的逻辑过程。因易理解,所以是分析员与用户之间极好的通信工具。

程序流程图:是流程程序分析过程最基本工具,它是人们对解决问题的方法,思路式算法的一种描述。

图2-1 顶层数据流图

图2-2 第1层数据流图如有侵权请联系告知删除,感谢你们的配合!

如有侵权请联系告知删除,感谢你们的配合!

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

《软件工程》经典考试例题复习试题,重点知识点[含答案解析]

1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号 码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。 要求:写出在数据字典中,电话号码的数据流条目的定义即组成。 电话号码=[分机号|外线号码] 分机号=7201 (7299) 外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100 (300) 市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{数字}4 数字=[0|1|2|3|4|5|6|7|8|9] 2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。 (1)语句覆盖测试用例 令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。 (2)判定覆盖 可以设计如下两组数据以满足判定覆盖: x=3,y=0,z=1(1分)(通过路径abce); x=2,y=1,z=2(1分)(通过路径acde)。 或者 x=2,y=1,z=1;覆盖路径acde x=1,y=1,z=1;覆盖路径ace x=3,y=0,z=1;覆盖路径abce (注意:本题也还可以有其他答案) 3.请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,

出门时要穿上大衣。 4.对下列子程序进行调试: procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) then x:=x/y; if (y=2) or (x>l) then x:=x+l; end. 该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。完成下列各题: (1)画出程序流程图。 (2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。 答:(1)程序流程图 (2)用白盒法中条件组合覆盖设计测试用例: ① y=2, z=0, x=4; ② y=2, z=1, x=1; ③ y=1, z=0, x=2; ④ y=1, z=1, x=1. (注:也可有其它答案) 5.选择排序的伪代码如下,请根据代码画出其PAD图。 select_sort(a[1],a[2],…,a[n]) { for(i=1;i

数据流图(DFD)专题讲解

软件工程考试 之 数据流图(DFD)专题讲解及例题分析 ——解题的方法与技巧 1.首先要懂得数据流图设计要略 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点: (1)自外向内,自顶向下,逐层细化,完善求精。 (2)保持父图与子图的平衡。 为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。 顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。 底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。 中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。中间层次的多少,一般视系统的复杂程度而定。 任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。 在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。

软件工程课后题答案大全(详细)

软件工程习题解答 第一章概述 3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。 d.软件开发技术落后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。 4.什么是软件工程?它的目标和内容是什么? 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标: a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能; d.开发的软件易于移植; e.需要较低的维护费用; f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高; 软件工程的内容: 1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。 2)软件开发管理:软件管理学、软件经济学、软件心理学。 6.什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等. 7.什么是软件生存周期模型?有哪些主要模型? 软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。) 软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等 第三章需求分析 1.什么是需求分析?需求分析阶段的基本任务是什么? 需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。 需求分析阶段的基本任务是:

软件工程习题答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 (软件开发时期:概要设计、详细设计、软件实现、软件测试) 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3.耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合) D) 控制耦合,内容耦合,数据耦合,公共环境耦合。 4.在详细设计阶段所使用到的设计工具是:(C) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。

C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。 详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL 在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树. DFD数据流图:总体设计阶段 5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。 C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6.在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7.下面不是软件工程的3个要素的是(C) A过程 B.方法C.环境 D.工具 软件工程的三个要素:方法、工具、过程 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 软件=程序+数据+文档+服务

软件工程-数据流图(DFD)大题解析

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提供的信息,分别指出这三条数据流的起点和终点。

软件工程习题答案

软件工程习题答案 一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 (软件开发时期:概要设计、详细设计、软件实现、软件测试) 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3.耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合) D) 控制耦合,内容耦合,数据耦合,公共环境耦合。 4.在详细设计阶段所使用到的设计工具是:(C) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。 详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL

在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树. DFD数据流图:总体设计阶段 5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。 C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6.在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7.下面不是软件工程的3个要素的是(C) A过程 B.方法C.环境 D.工具 软件工程的三个要素:方法、工具、过程 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 软件=程序+数据+文档+服务 9.在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于( C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C )是其突出的缺点。 A.不适应平台的变动

软件工程分析题解答

分析设计 1.分析图3和表1,其中模块p 、t 、u 更新同一个数据库,其它模块的关系如表1所示,请确定模块之间的耦合类型。 p-q :数据耦合 p-s :标记耦合 q-r :控制耦合 q-s :标记耦合 r-t :数据耦合 s-u:数据耦合 p-t-u:公共环境耦合 2.分析图4所示程序流程图,请分析采用条件覆盖进行测试的测试用例,将测试数据写入对应单元格内。

T2 B>0 , F2 B<0 T3 C>A , F3 CB 测试用例: A=1,B=1,C=2,D=0 覆盖了 T1,T2,T3,T4 A=0,B=1,C=1,D=1 覆盖了 F1,T2,T3,F4 A=1,B=0,C=1,D=1 覆盖了 T1,F2,F3,F4 3.分析图5所示程序流程图,画出对应的流图,采用McCabe 方法计算其复杂度。

计算复杂度有三种办法: V (G )=D ;D 代表区域数 V (G )=E-N+2;E 为流图中的边的条数,N 是流图中结点数 V (G )=P+1;P 为判定结点的数目。 先 画 出 控 制 流 图 , 任意选一种方法就行, 复杂度为 4.

4. 分析图6所示的公文提交时序图,用文字描述对象间的交互过程。 答:访问者访问浏览器,提交自己的访问请求,并且向服务器提交公文,服务器解析访问者的请求参数,获取公文提交方法(),服务器进行业务处理,调用数据库进行数据更新,更新公文状态(),向数据库返回更新结果()和返回公交结果(),对浏览器发送Response 响应(),最后,访问者获得公文提交结果。

5.软件工程课程资源网站的主要模块有:网站首页、教学队伍、课程描述、教学大纲、理论教学、实验教学、课程资源、习题试卷、师生互动等。请根据界面设计的一般原则,设计该网站的首页。 6.某学籍管理系统需要输入学生代码。合法的代码符合以下3条规则: (1)由6位数字构成; (2)前四位是入学年份(2010—2014); (3)后2位是专业类别(01-12)。 采用等价类划分法进行测试,请列出测试等价类表、设计测试用例。

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么? 软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。具体表现如下: (1)软件是逻辑部件而不是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学和面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性和无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1.管理过程模型。2.瀑布模型(又称为生命周期模型)。3.增量过程模型:包括增量模型,,RAD模型。4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5.专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么是软件生命周期? 一个软件从定义,开发,使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段和步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务是什么? 定义阶段:问题定义--任务:关于规模和目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO 图或PDL图;编码和单元测试--任务:源程序清单,单元测试方案和结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。

软件工程第3章习题解答

第3章《结构化分析》习题解答 习题1 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-关系图描绘系统中的数据对象。 解答: (1)数据流图: 基本模型: 第二级模型(最终结果——完整的DFD图):

姓名 帐号 取款单 核对 1 金额 取款清单 1 存款单 存款 存款清单 1 1 姓名 住址 身份证号 存款类型 存款日期 金额 到期日期 电话 利率 储户 取款单 姓名 住址 电话 身份证号 存款单 填写 1 n n 填写 1 储户 姓名 住址 电话 身份证号 填写 1 n n 填写 1 存款 存款清单 1 1 姓名 住址 身份证号 存款类型 存款日期 金额 到期日期 电话 利率 存款单 姓名 帐号 取款单 核对 1 金额 取款清单 1 (2)实体关系图ER : E-R 图1: E-R 图2: E-R 图3: 总E-R 图:

旅客 订票 旅行社 n m 姓名 性别 身份证号 目的地 工作单位 旅行时间 服务 合约 航空公司 n n 1 1 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。 请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。 解: 总E-R 图:

软件工程大题练习+答案

四、设计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 datalist[k] ) k=j; return k; } (2)用基本路径覆盖法给出测试路径。 (3)为各测试路径设计测试用例 (1)控制流图如下,McCabe环路复杂性为3。

(2)测试路径: Path1:①→③ Path2:①→②→④→⑥→… Path3:①→②→⑤→⑥→… (3)测试用例: Path1:取n=1,datalist[0] = 1, 预期结果:k=0 Path2:取n=2,datalist[0] = 1,datalist[1] = 0,预期结果:k=0 Path3:取n=2,datalist[0] = 0,datalist[1] = 1,预期结果:k=1 五、分析题 1.根据伪码程序画出程序流程图,盒图(N-S图)。START a IF x1 THEN REPEAT UNTIL x2 b END REPEA T

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细) 软件工程习题解答 第一章概述 3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。 d.软件开发技术落后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。 4.什么是软件工程?它的目标和内容是什么? 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标: a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能;

d.开发的软件易于移植; e.需要较低的维护费用; f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高; 软件工程的内容: 1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。 2)软件开发管理:软件管理学、软件经济学、软件心理学。 6.什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等. 7.什么是软件生存周期模型?有哪些主要模型? 软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等 第三章需求分析 1.什么是需求分析?需求分析阶段的基本任务是什么? 需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。 需求分析阶段的基本任务是: (1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求. (2) 分析与综合,导出软件的逻辑模型. (3) 编写文档 4.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

软件工程DFD习题

由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记(捐赠人姓名,捐赠款额,捐赠日期,捐赠人联系方式),捐款存入银行;由教育单位提出用款申请,在进行相应的合法性校验和核对相应的捐款储备后做出支出,并且将支出情况(教育单位名称,用款金额,用款日期,用款说明)入库保存;每月统计本月的收入与支出状况及资金余额,生成财政状况报表给基金会的理事会。 要求: (a)画出顶级、1级和2级数据流图(可以画到3级数据流图,但不允许只画到1级数据流图); (b)给出至少3项数据字典和1项加工说明。 顶级DFD 1级DFD 2级DFD DD

<捐助人信息> ::= 捐赠人姓名+捐赠款额+捐赠日期+捐赠人联系方式 <支出情况> ::= 教育单位名称+用款金额+用款日期+用款说明 <财政报表信息> ::=月收入+支出+资金余额 加工说明 对教育单位的合法性校验…… 1.某培训中心要研制一个课程培训管理系统。它的业务是: 将学员发来的表单收集分类后,按几种不同的情况处理。 (1)如果是选课申请单,首先查阅课程文件,检查该课程是否额满,然后在学员文件、课程文件上登记,最后给学员返回选课确认单。其中选课申请单包含学员学号、姓名、一门或多名选择的课程号,选课确认单记录了该学员选课成功与否信息。 (2)如果是销课申请单,则先在课程文件、学员文件和帐目文件上做相应的修改,并给学员销课确认单。其中销课申请单包含学员学号、姓名、一门或多名注销的课程号,每门课注销的理由。 (3)如果是付款单,则在帐目文件上登记,并给学员一张收费收据。其中付款单记录学员学号、姓名、一门或多名选择的课程号和对应的选修费用。 要求: (a)画出顶级、1级和2级数据流图(可以画到3级数据流图,但不允许只画到1级数据流图); (b)给出至少3项数据字典和1项加工说明。 1顶级DFD 1级DFD 2级DFD

相关文档
最新文档