当前位置:文档之家› 软件工程考试答案-复习题

软件工程考试答案-复习题

一、选择填空

1.软件工程三要素是( B )。

A) 技术、方法和工具 B) 方法、工具和过程

C) 方法、对象和类 D) 过程、模型、方法

2.下列关于瀑布模型的描述正确的是( D )。

A)利用瀑布模型,如果发现问题修改的代价很低

B)瀑布模型的核心是按照软件开发的时间顺序将问题简化

C)瀑布模型具有良好的灵活性

D)瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开

3.以下说法正确的是( B )。

A.对于软件项目,投资回收期越长,越快获得利润。

B.用例模型的基本组成部件是用例、角色和用例之间的联系。

C.模块接口简单是软件发生错误的一个主要原因。

D.软件的质量保证工作一般在编码工作结束后才开始。

4.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

A.结合

B.隐藏

C.封装

D.抽象

5.可行性研究的步骤中不包括(D )的内容。

A.复查初步分析结果

B.研究现有的系统

C.导出新系统高层逻辑模型

D.建立新系统的物理模型解法。

6.技术可行性是可行性研究的关键,其主要内容一般不包括( C )。

A.风险分析

B.资源分析

C.人员分析

D.技术分析

7.需求分析最终结果是产生( B )

A.项目开发计划

B.需求规格说明书

C.设计说明书

D.可行性分析报告

8.需求分析的任务不包括( B )。

A.问题分析

B.系统设计

C.需求描述

D.需求评审。

9.需求分析中开发人员要从用户那里了解( A )

A.软件做什么

B.用户使用界面

C.输入的信息

D.软件的规模

10.数据字典是数据流图中所有元素的定义的集合,一般由( C )组成。

A) 数据说明条目、控制流条目、加工条目、数据存储条目

B) 数据流条目、数据项条目、文件条目、加工条目、

C) 数据源条目、数据流条目、数据处理条目、数据文件条目

D) 数据流条目、数据文件条目、数据池条目、加工条目

11.在E-R模型中,包含以下基本成分( C )。

A) 数据、对象、实体 B) 控制、联系、对象

C) 实体、联系、属性 D) 实体、属性、对象

12.一个模块的(B )是指能直接控制该模块的模块数。

A.扇出数

B.扇入数

C.宽度

D.深度

13.一个软件的宽度是指其控制的( C )。

A.模块数

B.层数

C.跨度

D.厚度

14.为了提高模块的独立性,模块内部最好是( C )

A.逻辑内聚

B.时间内聚

C.功能内聚

D.通信内聚

15.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( A )。

A)时间内聚 B)逻辑内聚 C)通信内聚 D)信息内聚

16.软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括( D )。

A.设计软件的模块结构

B.定义接口并建立数据结构

C.生成概要设计规格说明和组装测试计划

D.模块设计

17.总体设计的目的是确定整个系统的( B )。

A)规模 B)功能及模块结构 C)费用 D)测试方案

18.当模块中包含复杂的条件组合,只有( A )能够清晰地表达出各种动作之间的对应关系。

A.判定表和判定树

B.盒图

C.流程图

D.关系图

19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。

A.调用关系

B.组成关系

C.链接关系

D.顺序执行关系

20.在详细设计阶段,经常采用的工具有( A )

A.PAD

B.SA

C.SC

D.DFD

21.结构化程序设计主要强调的是( D )

A.程序的规模

B.程序的效率

C.程序设计语言的先进性

D.程序易读性

22.源程序的效率与( D )阶段确定的算法的效率直接有关。

A) 概要设计 B) 总体设计 C) 单元设计 D) 详细设计

23.软件复杂性度量的参数包括( B)

A.效率

B.规模

C.完整性

D.容错性

24.以下哪项不属于软件测试的基本原则( B )。

A) 关键是注重选择高效的测试用例

B) 选择尽可能多的测试用例

C) 尽量不由程序设计者进行测试

D) 充分注意测试中的群集现象

25.单元测试的测试对象是( B )。

A.系统

B.程序模块

C.模块接口

D.系统功能

26.下列各方法中( D )不是软件测试方法。

A)白盒法 B)黑盒法 C)动态测试 D)调试法

27.以下不属于白盒测试技术的是( D )

A.逻辑覆盖

B.基本路径测试

C.循环覆盖测试

D.等价类划分

28.软件调试技术包括( B )。

A.边界值分析

B.演绎法

C.循环覆盖

D.集成测试

29.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为( D )。

A.纠错性维护

B.适应性维护

C.改善性维护

D.预防性维护

30.软件维护产生的副作用,是指( C )。

A.开发时的错误

B.隐含的错误

C.因修改软件而造成的错误

D.运行时误操作

31.维护的副作用可分三类,不包括( D )。

A.代码副作用

B.数据副作用

C.文档副作用

D.人员副作用

32.下列各种图不能用于动态建模的有( B)。

A) 状态图B) 类图C) 序列图 D) 活动图

33.下列不是模型元素的是( D )。

A) 关联 B) 聚合 C) 依赖 D) 笔记

34.软件工程管理的对象是软件( B )。

A) 开发人员B)工程项目 C)开发过程 D)开发速度

35.以下不属于用例之间关系的是( A )。

A) 友元 B) 扩展 C) 使用 D) 组合

36.UML语言不支持的建模方式有(C )。

A.静态建模

B.动态建模

C.模块化建模

D.功能建模

37.软件工程管理的对象是软件(B )。

A.开发人员

B.工程项目

C.开发过程

D.开发速度

二、简答题

1.简述什么是软件工程?

软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

2.软件产品具有哪些特性?

⑴是一种逻辑产品,与物质产品有很大的区别.

⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制

就产生了大量软件产品.

⑶软件产品不会用坏,不存在磨损,消耗.

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的

⑸开发软件的费用不断增加,致使生产成本相当昂贵.

(6)其质量往往靠不住,缺乏可见性

3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段?

定义时期:问题的定义(客户需求)、可行性研究(为什么做);

开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。

运行时期:软件维护。

4.可行性分析的任务是什么?

1.技术上可行性:研究现有技术、资源及限制能否支持和实现系统的功能、性能,主要是技术风险问题。

2.经济上的可行性:进行成本估算及效益评估,确定项目是否值得开发。

3.操作上的可行性:系统的操作方式在这个用户组织内是否行得通。

4.社会上的可行性:主要指系统开发后能否运行,是否存在合同、责任、侵权、用户组合管理等方面的问题。从法律,社会效益研究可行性。

5.简述如何检查数据流图的正确性和提高它的易理解性?

可从以下几个角度来检查数据流图的正确性:数据守恒、文件的使用:父图和子图的平衡等;提高数据流图的易理解性可从以下几个方面进行:简化加工间

的联系、注意分解的均匀、适当的命名等。

6.什么是耦合?什么是内聚?

耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。

内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标。模块中组成元素结合的越紧密,模块的内聚性就越高,模块的独立性也就越高。理想的内聚性要求模块的功能应明确、单一,即一个模块只做一件事情。模块的内聚性和耦合性是两个相互对立且又密切相关的概念。

7.衡量模块独立性的两个标准是什么?它们各表示什么含义?

两个定性的度量标准:耦合与内聚性。耦合性:也称块间联系。指软件系统中各模块间相互联系紧密程度的一种度量。模块间联系越紧密,其耦合性就是越强,模块的独立性则越差。内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,模块内元素联系越紧密,内聚性越高。

8.详细设计的基本任务是什么?有哪几种描述方法?

设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其他(代码设计、输入|输出格式设计、人机对话设计)、编写详细设计说明书、评审。程序流程图、PAD图、PDL。

9.什么是编码风格?为什么要强调编码风格?

编码风格又称程序设计风格或变成风格。编码的目标从强调效率转变为强调清晰。良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不在注意风格就很难写出高质量的程序,尤其当多个程序员合作编写一个很大的程序时,需要强调良好而一直的编码风格,一边相互通讯,减少因不协调而引起的问题。总之,两哈的编码风格有助于编写出科考而又容易维护的程序编码的风格在很大程度上决定着程序的质量

10.简述软件测试的两种基本的测试方法。

第一种方法是黑盒测试,第二种是白盒测试。黑盒测试时完全不考虑程序内部结构和处理过程、只按规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试时在程序接口进行的测试,又称为功能测试。白盒测试是将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。白盒测试又称为结构测试。

11.为什么软件测试不应该由程序的编写人员来做?

答: 软件测试的目的是为了发现程序中的错误而执行程序的过程。

正确认识测试的目标十分重要。测试目标决定了测试力案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,

如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。

12.什么是UML?它的价值体现在什么地方?

答: UML即统一建模语言,是面向对象技术领域占主导地位的标准建模语言。UML 的价值在它综合体现了世界上面向对象方法实践的最好经验,支持用例驱动,一构架为中心以及递增和迭代地进行软件开发。

三、分析与设计

1.依下列叙述确定软件生命周期模型。

假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算使用哪种软件生命周期模型?请说明你作出选择的理由。

答:1)旧版本相当于一个原型,由此较容易确定对新版本的需求,故不必要建立原型系统来分析用户需求;2)该公司软件工程师具有开发字处理软件的丰富经验,有采用增量模型开发新版字处理软件的技术水平;3)该软件深受用户喜爱,故将其体系结构设计成开放式的,以利于今后的改进和扩充。4)用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。

2.依下列叙述确定软件生命周期模型。

M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐明你的理由。

答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。

根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。

3.依下列叙述确定软件生命周期模型。

假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算使用哪种软件生命周期模型?请说明你作出选择的理由。

答:对这个软件的需求很明确,实现开平方功能的算法也很熟悉,因此,既无需通过原型来分析需求也无需用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来年开发该软件。综上所述,为了开发这个简单的软件,使用大多数人熟悉的瀑布模型就可以了。

4.请依描述绘制DFD图.

学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来(包括学校财务通知学生收款信息,并接收来自书店的应付款信息等)通过学校的会计科办理。画出教材征订系统的功能级数据流图。

答:DFD图绘制如下图 [参考,可有其它理解]。

教材库存

5. 请依描述绘制DFD图并写出数据词典中的数据流条目。

自学考试报名过程中有个“记录报名单”的处理。该处理主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。

答:DFD图绘制如下图 [参考,可有其它理解]。

考生名册

数据流词典中的数据流条目: 报名单=姓名+性别+身份证号+课程名 开考课程=课程名+开考时间 考生名册=准考证号+姓名+课程

6. 如图所示的程序流程代表一个非结构化的程序,请解答以下问题。为什么说它是非结构化的?设计一个与它等价的结构化程序(画出盒图)。

答:1)如图所示程序的循环控制结构有两个出口,不符合狭义的结构程序定义(单入口单出口),因此是非结构化的程序;

2)盒图如下:

7.画出下列伪码程序的程序流程图和盒图。 START

p

(NOT p)OR (NOT q)

g

F

T

IF p THEN WHILE q DO f END DO ELSE BLOCK g n

END BLOCK END IF STOP 答:

流程图、盒图分别如下:。

8.请设计下列伪码程序的语句覆盖测试用例。

START INPUT (A,B,C ) IF A>5 THEN X=10 ELSE X=1 END IF

IF B>10 THEN Y=20 ELSE Y=2

p

q

g

n

f

F

T

IF C>15 THEN Z=30

ELSE Z=3

END IF

PRINT(X,Y,Z)

STOP

答:本题共需两组测试用例:

(1)使3个判定表达式之值全为假

输入:A=1,B=1,C=1

预期的输出:X=1,Y=2,Z=3

(2)使3个判定表达式之值全为真

输入:A=20,B=40,C=60

预期的输出:X=10,Y=20,Z=30

9.请设计下列伪码程序的判定覆盖测试用例。START

INPUT(A,B,C,D)

IF(A>0)AND(B>0)

THEN X=A+B

ELSE X=A-B

END

IF(C>A)OR(D

THEN Y=C-D

ELSE Y= C+D

END

PRINT(X,Y)

STOP

答:为做到判定覆盖至少需要两组测试用例。1)使两个判定表达式之值全为假

输入A=-1,B=-2,C=-3,D=1

预期的输出:X=1,Y=-2

2)使两个判定表达式之值全为真

输入A=1,B=2,C=3,D=1

预期的输出:X=3,Y=2

分析与设计

某软件公司拟采取下列措施来提高他们开发出的软件产品的可维护性,请一一判断这些措施的正确性,并说明理由。

1.在分析用户需求时同时考虑维护问题。()

答:正确。在分析用户需求时同时考虑维护问题,列出将来可能增加或变更的需求,就可以在设计时为将来可能做的修改预先做一些准备,使得在用户提出这些维护需求时,实现起来比较容易些。

2.测试完程序后,删去程序中的注解以缩短源程序长度。()

答:不正确。程序中的注解是提高程序可理解性的关键内部文档,删去程序中的注解必会降低程序的可读性和可理解性,从而降低软件可维护性。

3.在开发过程中尽量保证各阶段文档的正确性。()

答:正确。完整准确的文档对提高软件的可理解性有重要贡献,保证文档的正确性是提高软件可维护性的关键。

4.在开发过程中尽量保证各阶段文档的正确性。()

答: 正确。完整准确的文档对提高软件的可理解性有重要贡献,保证文档的正确性是提高软件可维护性的关键。

5.进行总体设计时加强模块间的联系。()

答: 不正确。模块间耦合越紧密,程序就越难理解和修改,修改后测试也就比较困难。因此加强模块间的联系将降低软件的可维护性。

6.在分析用户需求时同时考虑维护问题。()

答: 正确。在分析用户需求时同时考虑维护问题,列出将来可能增加或变更的需求,就可以在设计时为将来可能做的修改预先做一些准备,使得在用户提出这些维护需求时,实现起来比较容易些。

7.尽可能使用高级语言编写程序。()

答: 正确。用高级语言编写程序可以给程序变量和程序模块赋予含义鲜明的名字,据此较易把程序对象和其所代表的实体联系起来,另外高级语言所使用的符号和概念更符合人的习惯,这样书写的程序容易阅读,因此也就更容易维护。

8.进行总体设计时加强模块间的联系。()

答: 不正确。模块间耦合越紧密,程序就越难理解和修改,修改后测试也就比较困难。因此加强模块间的联系将降低软件的可维护性。

9.尽量用可重用的软件构件来组装程序。()

答: 正确。可重用构件基本上没有错误,用这样的构件组装的程序可靠性高,改正性维护需求自然就少。此外,可重用构件适应性强,应用范围广,容易适应新需求,因此,用这样的构件组装的程序也较容易实现适应性和完善性维护。

面向对象分析与建模

问题描述如下:

王大夫在小镇上开了一家牙科诊所。

他有一个牙科助手、一个牙科保健员和一个接待员。王大夫需要一个软件系统来管理预约。

当病人打电话预约时,接待员将查阅预约表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。如果病人同意建议的就诊时间,接待员将输入约定时间和病人名字,系统将核实相关信息,在治疗后做已诊治标记。系统能按病人姓名、按日期进行查询,能显示病人数据和预约信息。接待员可取消预约,可打印已预约却尚未诊治的病人清单。系统可从病人记录中获知病人的电话号码。接待员可打印出关于所有病人的每天和每周的工作安排。

1.建立上述牙科诊所管理系统的状态图。

输入非法名字,按姓名或日期查询,打印工作安排,取消预约.

2.建立上述牙科诊所管理系统的对象模型。

3.建立上述牙科诊所管理系统的用例模型。

2015/1/6 陈国富 盐城工学院

预约登记表

牙科诊所

病人清单

病 人

工作安排

病人记录

预约 每天工作安排

每周工作安排

1…* 1…* 1…* 1…* 1…*

软件工程复习题及答案

一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将 正确答案填涂在答题卡上) 1.软件质量因素不包括。 A.正确性 B.高性能 C.可测试性 D.可理解性 2.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 3.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 4.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 5.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 6.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 8.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 9.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 10.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 11.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 12.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

《软件工程》经典考试例题复习题-重点知识点(含标准答案)

《软件工程》经典考试例题复习题-重点知识点(含答案)

————————————————————————————————作者:————————————————————————————————日期:

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. 为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。 开始(x>1) AND (y=0) (x=2) OR (z>1) 语句段1 语句段2结束 F F T T a b c d e (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. 请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变

软件工程期末考试总复习题及答案

复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_ 文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量使用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和 可用性,常用的度量软件可 7.靠性的两个指标是_成功地运行的概率_______和_平均故障 时间_______。 8.将待开发的软件细化,分别估算每一个子任务所需要的开发 工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.如果一个模块被n 个模块调用,其中直接的上级模块的个数 是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按一定的步骤 映射成软件结构。 12.软件的风险分析可包括风险识别、风险预测和风险驾 驭(或风险管理)等3项活动。 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权延续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。

15.面向对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和____ 编写程序代码_______ 等。 17.为了使应用软件适应计算机环境的变化而___修改软件 _______________ 的过程称为适应性维护。 18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行 累加,然后求平均值,则该模块的内聚性是__________顺序内聚________ 。 19.投资回收期就是使累计的经济效益等于__最初的投资费用 ______________ 所需的时间。 20.软件生存周期是指一个软件从提出开发要求开始直到__软 件废弃____为止的整个时期。 21.曾被誉为“程序设计方法的革命”的结构化程序设计,使 程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。 22.从结构化程序设计到面向对象程序设计,是程序设计方法 的又一次飞跃。 23.在单元测试时,需要为被测模块设计___测试用例_______。名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软

软件工程复习题及答案

软件工程复习题及答案 1. 软件工程的三要素是()。 A. 技术、方法和工具 B. 方法、对象和类 C. 方法、工具和过程(正确答案) D. 过程、模型、方法 2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。 A. 软件工程材料(正确答案) B. 软件工程目标 C. 软件工程原理 D. 软件工程过程 3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件生命周期 B. 软件测试 C. 软件工程(正确答案) D. 软件过程 4. 下列说法中正确的是()。 A. 20世纪50年代提出了软件工程的概念 B. 20世纪60年代提出了软件工程概念(正确答案) C. 20世纪70年代出现了客户机/服务器技术 D. 20世纪80年代软件工程学科达到成熟 5. 软件危机的主要原因是()。 A. 软件工具落后 B. 软件生产能力不足 C. 对软件的认识不够

D. 软件本身的特点及开发方法(正确答案) 6. 增量模型本质上是一种()。 A. 线性顺序模型 B. 整体开发模型 C. 非整体开发模型(正确答案) D. 螺旋模型 7. 软件过程是()。 A. 特定的开发模型 B. 一种软件求解的计算逻辑 C. 软件开发活动的集合(正确答案) D. 软件生命周期模型 8. 软件生命周期模型不包括()。 A. 瀑布模型 B. 用例模型(正确答案) C. 增量模型 D. 螺旋模型 9. 数据流图是进行软件需求分析的常用图形工具,其基本图形符号是()。 A. 输入、输出、外部实体和加工 B. 变换、加工、数据流和存储 C. 加工、数据流、数据存储和外部实体(正确答案) D. 变换、数据存储、加工和数据流 10. 在结构化分析方法中,用以表达系统内数据的运动情况的工具是()。 A. 数据流图(正确答案) B. 数据字典 C. 结构化语言 D. 判定表与判定树 11. 在需求分析之前有必要进行()工作。 A. 程序设计

软件工程复习题(带答案)

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类D确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 &功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B模块的接口 C.数据的名称和用途D模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有(C)。 A.只有结构化语言.B有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性B适应性 C完善性D预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D•变换、数据存储、加工和数据流

《软件工程》复习题及答案

软件工程复习题 第一部分(第1~6章) 一、选择题: 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3.瀑布模型存在的问题是(B )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的 B.需求确定的C.管理信息 D.实时 6.下列有关软件工程的标准,属于国际标准的是(C ) A.GB B.ANSI C.ISO D.IEEE 7.结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10.设年利率为i,现存入p元,n年后可得钱数为(C)。 A、P×(1+i*n) B、P× (i+1)*n C、p×(1+i)n D、p×(i+n) 11.可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 (C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干 (B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案 一. 选择题 1. 下列不属于软件工程方法论的是: A. 瀑布模型 B. 敏捷开发 C. 融合开发 D. 增量开发 答案:C. 融合开发 2. 哪个不是软件需求工程的阶段? A. 需求收集和分析 B. 需求规格说明书编写 C. 需求确认和验证 D. 需求修复和更新 答案:D. 需求修复和更新 3. 软件开发生命周期中不包含以下哪个阶段? A. 需求分析

B. 软件设计 C. 软件测试 D. 软件维护 答案:C. 软件测试 4. 下列哪个是软件开发项目管理的基本约束? A. 时间 B. 人员 C. 质量 D. 成本 答案:D. 成本 5. 使用UML建模时,哪个图标不属于结构图? A. 类图 B. 对象图 C. 时序图 D. 包图 答案:C. 时序图 二. 填空题

1. 软件工程的目标是提高软件的质量和________。 答案:生产效率 2. 软件需求可以分为________和________两类。 答案:功能需求,非功能需求 3. 软件设计的核心目标是________。 答案:满足需求 4. 软件测试的目的是发现________。 答案:缺陷和错误 5. 软件维护分为________和________两个主要类别。 答案:正确性维护,适应性维护 三. 简答题 1. 请简要介绍敏捷开发方法。 答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。 2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程考试答案-复习题

一、选择填空 1.软件工程三要素是( B )。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 2.下列关于瀑布模型的描述正确的是( D )。 A)利用瀑布模型,如果发现问题修改的代价很低 B)瀑布模型的核心是按照软件开发的时间顺序将问题简化 C)瀑布模型具有良好的灵活性 D)瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 3.以下说法正确的是( B )。 A.对于软件项目,投资回收期越长,越快获得利润。 B.用例模型的基本组成部件是用例、角色和用例之间的联系。 C.模块接口简单是软件发生错误的一个主要原因。 D.软件的质量保证工作一般在编码工作结束后才开始。 4.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 5.可行性研究的步骤中不包括(D )的内容。 A.复查初步分析结果 B.研究现有的系统 C.导出新系统高层逻辑模型 D.建立新系统的物理模型解法。 6.技术可行性是可行性研究的关键,其主要内容一般不包括( C )。 A.风险分析 B.资源分析 C.人员分析 D.技术分析 7.需求分析最终结果是产生( B ) A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 8.需求分析的任务不包括( B )。 A.问题分析 B.系统设计 C.需求描述 D.需求评审。 9.需求分析中开发人员要从用户那里了解( A ) A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 10.数据字典是数据流图中所有元素的定义的集合,一般由( C )组成。 A) 数据说明条目、控制流条目、加工条目、数据存储条目

软件工程复习题答案

. 选择题 1.软件工程研究的主要内容有(ABCD) 2. A.软件开发方法、技术B.软件开发工具及环境 3. C.软件管理技术 D.软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型 &软件危机的主要表现是(BD) 9. A.软件成本太高 B.软件产品的质量低劣 10. C.软件开发人员明显不足D.软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A.机构需求B.产品需求C.外部需求D.领域需求 13.需求分析的作用是(ABCD) 14. A.定义软件的范围及必须满足的约束 15. B.确定软件的功能和性能及与其他系统成分的接I I 16. C.建立数据模型、功能模型和行为模型 17. D.最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A.获取需求B.需求分析与建模 C.确认需求D.进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A.缺乏领域知识 B.存在默认的知识 22. C.存在多个知识源 D.客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A.功能分析方法 B.结构化分析方法 25. C.信息建模法 D.面向对彖的分析方法 26.数据词典中可包含的条目有(ABCD) 27. A.数据流B.数据项C.文件D.加工 28•属于分布式的软件体系结构有(B) 29. A.仓库模型B.客户/服务器模型C.分布式对象结构 D.中间件 30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合 32. A. 12 345 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型

软件工程复习试题及答案

软件工程复习试题及答案 Revised by BETTY on December 25,2020

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 .数据流图有四种基本成分:源、终点,处理,存储,数据 流。 7 8SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇 点。 5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。

软件工程复习重点答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 B、物理模型 C、概念模型 D、程序流程图 5、描述软件结构的工具有( A模块结构图) A、模块结构图 B、PAD图 C、数据流程图 D、程序 6、进行需求分析可以使用多种工具,但( C )是不适用的。 A、数据流程图 B、判定表 C、PAD图(详细设计) D、数据字典 7、可行性研究要进行的需求分析和设计应该是( C )。 A、详细的 B、全面的 C、简化的、压缩的 D、彻底的 8、软件生命周期由( C )三个时期组成。 A、概要设计、详细设计和系统实现 B、可行性分析、系统设计和编码 C、定义、开发和运行维护 D、分析、设计和测试 9、以下( D )不是模块。对象是一个实体 A、过程 B、程序 C、函数 D、对象 10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。 A、设计阶段的概要设计 B、设计阶段的详细设计 C、编码阶段 D、测试阶段 11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、DFD数据流程图 需求分析常用的是数据流程图和数据字典 13、为了提高测试的效率,应该( D) A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据库 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 14、成功的测试是指( B发现程序的错误) A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。 A、白盒法 B、灰盒法 C、黑盒法 D、综合法 16、在物理设计阶段,根据处理的需要,进行物理存储安排,形成数据库的( A内模式) A、内模式 B、外模式 C、概念模式 D、物理模式

《软件工程》11套考试复习练习题、作业题(含答案)

作业1: 1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案: A C. ①软件②程序③代码④硬件 ⑤文档⑥外设⑦数据⑧图表 2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 供选择的答案: A.①程序开发环境②操作系统的资源管理功能 ③程序人员数量④计算机的并行处理能力 B.①需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计 ⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计 3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。 有人将软件的发展过程划分为4个阶段: 第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。 第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐

普及。随着( B )的发展,编译技术也有较大的发展。 第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。 第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。 供选择的答案: A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言 ⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计 E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计 ⑤需求定义⑥图象处理 4. 软件工程过程有哪几个基本过程活动?试说明之。 5. 试说明“软件生存周期”的概念。 6. 试论述瀑布模型软件开发方法的基本过程。 7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 8. 软件工程学的基本原则有哪些?试说明之。 9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。 上机题 1. 假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能:

国开大学软件工程复习选择题

国开大学软件工程复习选择题 第一大题单选题 1. 在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是__________。 【A.】控制类 【B.】组件类 【C.】主函数 【D.】事务类 参考答案:A 2. 面向过程的方法最关心的是__________,而过程实施的__________是作为过程参数传递的。【A.】过程/对象 【B.】数据结构/主体 【C.】动作/数据结构 【D.】对象/属 参考答案:A 3. 面向对象分析和设计的界限是__________,从分析到设计是一个逐渐扩充模型的过程。【A.】清晰的 【B.】模糊的 【C.】非线性的 【D.】确定的 参考答案:B 4. 一般性的软件其测试工作量大约占整个开发工作量的__________。 【A.】小于10% 【B.】40% 【C.】90% 【D.】大于100 参考答案:B 5. 程序设计语言的技术特性不应包括__________。 【A.】数据结构的描述性 【B.】抽象类型的描述性 【C.】数据库的易操作性 【D.】软件的可移植性 参考答案:D 6. 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了__________ 【A.】软件危机 【B.】软件工程 【C.】程序设计革命 【D.】结构化程序设计

参考答案:A 7. __________是职业软件工程师的必要条件。 【A.】自律、善于沟通、具有一定的软件技能 【B.】编程速度快 【C.】熟悉众多的软件环境 【D.】语言天赋 参考答案:A 8. 用户需求描述的是__________。 【A.】用户使用该软件要完成的任务 【B.】业务需求 【C.】功能需求 【D.】软件目标、规模和范围 参考答案:A 9. __________定义了用户使用该软件要完成的任务。 【A.】用户需求 【B.】业务需求 【C.】性能需求 【D.】功能需求 参考答案:A 10. 哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。__________ 【A.】演化模型 【B.】喷泉模型 【C.】原型模型 【D.】螺旋模型 参考答案:A 11. 数据流程图上的数据流必须封闭在__________之间。 【A.】外部过程 【B.】内部数据 【C.】内部过程 【D.】外部实体 参考答案:D 12. 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为__________ 【A.】数据耦合 【B.】公共耦合 【C.】标记耦合 【D.】内容耦合 参考答案:D

软件工程基础(复习题及答案)

复习题 一、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析 活动。(对) 2。数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错) 3.JAVA语言编译器是一个CASE工具。(对)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 5.软件模块之间的耦合性越弱越好。(对) 6.数据库设计说明书是一个软件配置项(对) 7。在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9.如果通过软件测试没有发现错误,则说明软件是正确的.(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对)11。模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 12。集成测试主要由用户来完成.(错) 13。确认测试计划应该在可行性研究阶段制定(错) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 16。在可行性研究中最难决断和最关键的问题是经济可行性。(╳) 17.耦合是指一个模块内各个元素彼此结合的紧密程度。( ╳) 18。一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。( √) 19.概要设计阶段完成的主要文档是概要设计说明书。(√)

20。过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(╳) 21。程序设计语言中应绝对禁止使用GOTO语句。( ╳) 22.类是关于对象性质的描述,由方法和数据组成。(√) 23。随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰.( √) 25。为保证程序的安全,必须做到程序中没有任何错误存在,即容错。( ╳) 26。如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 名词解释 1.数据词典—-是描述数据信息的集合,它对数据流图中的各个 元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确.有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软 件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大 6.软件可靠性——指在给定的时间内,程序按照规定的条件成 功地运行的概率 7.软件配置——是一个软件在生存周期内,他的各种形式、各 种版本的文档与程序的总称 8.软件再工程-—运用逆向工程、重构等技术,在充分理解原有

相关主题
文本预览
相关文档 最新文档