《软件工程》习题与答案 张爽_第1页
《软件工程》习题与答案 张爽_第2页
《软件工程》习题与答案 张爽_第3页
《软件工程》习题与答案 张爽_第4页
《软件工程》习题与答案 张爽_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程

一习题与参考答案

软件工程

第一章绪论

【习题】

1、软件包括代码、数据和0

A.图

B.用户

C.测试用例

D.文档

答案:D

2、软件。

A,是虚的,并不真实存在

B.不磨损

C.是一种抽象的物理实体

D.不能移植

答案:B

3、以下的哪个说法是正确的?

A.硬件磨损,软件也磨损,这就是软件需要维护的原因。

B.软件移植就是照样再开发一个一样的软件产品。

C.软件不同于物理实体,不具有物理实体的属性,如形状、尺寸、材质、颜色等。

D.有些软件是免费的,所以软件并不昂贵。

答案:C

4、运用系统的、规范的、有效的方法来实施软件开发和维护。

A.软件工程

B.软件分析

C.软件过程

D.软件测试

答案:A

5、以下哪个说法不对?

A.客户是想要一个软件产品得到开发的个人或组织。

B.开发者是负责开发软件产品的组织的成员。

软件工程

C.客户为了用户而立项开发某软件产品,然后由用户使用该软件。

D.客户、开发者、用户绝对不可能是同一个人。

答案:D

6、以下哪个说法是正确的?

A.软件从业人员应该保证其工作始终与公众利益保持一致。

B.软件从业人员当然要听从雇主,雇主要求他干什么他就应该无条件服从,因为雇主给他

们支付酬金。

C.普通的软件从业人员不需要独立的职业判断力,只管服从负责人就行。

D.软件从业人员之间是竞争的关系,所以他们之间谈不上平等对待和协助。

答案:A

7、以下哪个说法是正确的?

A.如果软件从业人员与与公众利益保持一致,他就无法与雇主和客户的利益相一致。

B.依赖于先进的软件技术,就能够避免因软件从业人员缺乏职业道德和社会责任感而生产

出错误的、有害的软件产品。

C.软件是抽象的,所以无法明确软件工程职业道德和职业行为准则。

D.提升软件工程行业的声誉,是每一个软件从业人员的责任与义务。

答案:D

第二章软件工程要素

【习题】

1、一个软件从概念的探究到最终退役所经历的一系列步骤,称为它的

A.生命周期

B.范型

C.方法

D.业务

答案:A

2、以下哪个关于软件生命周期的说法是正确的?

A.不是所有的软件都有软件牛.命周期。

软件工程

B.每一个软件系统都行其生命周期。

C.软件生命周期是指软件产品提供服务的时间周期。

D.软件生命周期是规格说明、设计、实现与测试的循环过程。

答案:B

3、以下哪个可以作为软件过程中的一个单独的阶段?

A.测试

B.项目管理

C.维护

D.文档

答案:C

4、以下哪个关于软件开发的说法不正确?

A.软件开发不应该是一些个体的神秘劳动,而应该是一个由各种人员组成的团队而开展的

工程。

D.软件测试不只针对代码。

C.如果所有软件开发人员都足够专业,就可以不需要项目管理了。

D.软件开发应该是团队的协同工作。

答案:C

5、以下软件开发中的哪个阶段修正错误的代价最小?

A.需求阶段

B.分析阶段

C.设计阶段

D.实现阶段

答案:A

6、以下哪个说法是正确的?

A.就像一个人要经历从出生到死亡的生命旅程一样,一个软件也要经历它的生命周期。

B.软件企业从做软件开发挣到的钱肯定比做软件维护挣到的钱更多。

C.软件开发比软件维护更重要。

D.如果交付后软件还需要维护,就说明开发工作做得不够好。

答案:A

7、以下哪个说法是错误的?

软件工程

A.软件方法对最终的软件产品的质量没有影响。

B.C语言是结构化方法的一种具体的编程体现。

C.Java是面向对象方法的一种具体的编程体现。

D.当前面向对象方法是主流技术。

答案:A

8、以下哪个不是软件工具?

A.Notepad

B.编程工具

C.项目管理工具

D.版本控制工具

答案:A

第三章需求

【习题】

1、以下关于软件需求的哪个说法是错误的?

A.需求经常变化,这给开发团队造成很大的麻烦,这种现象很普遍。

B.用户总是非常欢迎目标软件系统。

C.有时,客户并不知道他们真正需要什么。

D.一些高水平的软件团队能够预见到潜在的用户需求,因此他们能够引领客户和用户。

答案:B

2、以下关于软件需求的哪个说法是错误的?

A.需求对目标软件系统的成功起着至关重要的作用。

B.收集需求有很多方法。

C.需求就是要确定客户想要什么。

D.需求就是要确定客户真正需要什么。

答案:C

3、快速原型o

软件工程

A.对于大型开发团队是最好的方法。

B.是当客户很难描述清楚需求时的一种很好的方法。

C.是当客户能够描述清楚需求时的一种很好的方法。

D.有时并不需要很快搭建起来。

答案:B

4、需求不是目标软件系统的o

A.源

B.根

C.基础

D.设计方案

答案:D

第四章面向对象思想与范型

【习题】

1、好的软件设计,模块应该是0

A.低内聚、高耦合

B.低内聚、低耦合

C.高内聚、低耦合

D.高内聚、高耦合

答案:C

2、以下几种耦合中,哪种耦合的强度最高?

A.数据耦合

B.内容耦合

C.印记耦合

D.控制耦合

答案:B

3、以下那个不是模块?

A.函数

软件工程

B.类

C.方法

D.图

答案:D

4、以下哪个关于模块的说法是错的?

A.好的模块设计对于整个软件系统的质量是非常重要的。

B.模块设计是软件系统设计的一部分。

C.模块的内聚性与模块之间的耦合度互不相干。

D.模块是软件系统的组成部分。

答案:C

5、如果一个模块中的所有动作都必须在同一个时间段内执行,那么就说这个模块具有

内聚。

A.时间性

B.过程性

C.通信性

D.逻辑性

答案:A

6、模块perimeter.circle的代码如下所示,该模块具有内聚。

doubleperimeter_circle(doubleradius,doublePi){

return2*Pi*radius;

)

A.逻辑性

B.过程性

C.功能性

D.信息性

答案:C

7、类Circle的代码如下所示,类Circle具有内聚。

classCircle{

doubleradius;

doublearea(doubleradius,doublePi){

returnPi*radijs*radius;

软件工程

doubleperimeter_circle(doubleradius,doublePi){

return2*Pi*radius;

)

)

A.逻辑性

B.过程性

C.功能性

D.信息性

答案:D

8、如果一个模块能够访问另一个模块的内容,则这两个模块之间就是耦合。

A.内容

B.公共

C.控制

D.数据

答案:A

9、在如下代码中,模块A和模块Book之间具有耦合。

A.内容

B.公共

C.控制

D.数据

publicclassBook(

Stringstatus;

)

publicclassA{

BookaBook;

publicvoidborrow_book(){

aBook.status="己借出";

软件工程

答案:A

10、如果一个模块向另一个模块传递参数来控制接收方模次的执行流程,则这两个模块之间是

____耦合。

A.控制

B.印记

C.数据

D.逻辑

答案:A

在如下代码中,模块A和模块perimetejfigure之间具有耦合,模块perimetejfigure

具有内聚。

A.内容

B.公共

C.控制

D.数据

E.逻辑性

F.过程性

G.功能性

H.信息性

doublefunctionA(){

doublearea=perimeter_figure(aFlag);

doublefunctionperime:er_figure(intflag){

if(flag==0){//圆

}elseif(flag==1){//椭圆

}elseif(flag==2){//矩形

软件工程

}elseif(flag==3){//三角形

}elseif(flag==4){//平行四边形

}elseif(flag==5){//梯形

}else{〃其他图形

)

}

答案:

AaE

12、如果一个模块向另一个模块传递一个数据结构作为参数,但在后者中,该数据结构中的数

据只有一部分数据被利用到,则这两个模块之间是耦合。

A.控制

B.印记

C.数据

D.逻辑

答案:B

13、如果两个模块都能访问相同的全局变量,那么这两个噗块之间构成了耦合。

A.公共

B.印记

C.数据

D.内容

答案:A

14、如果一个模块向另一个模块传递的参数是简单数据类型、或者及杂数据类型,但数据类型

中的数据在被调用模块中都被用到,那么这两个模块之间是耦合。

A.公共

B.印记

C.数据

D.内容

软件工程

答案:C

15、不是面向对象沿言Java中用来定义访问控制的关键字。

A.public

B.private

C.final

D.protected

答案:C

16、以下哪个说法是错误的?

A.面向对象语言支持数据封装与信息隐藏。

B.类是一种抽象数据类型。

C.抽象数据类型就是类。

D.抽象数据类型既支持数据抽象,也支持过程抽象。

答案:C

17、以下哪个说法是错误的?

A.数据封装是面向对象范型的一个特性。

B.信息隐藏是面向对象范型的一个特性。

C.类支持继承。

D.在任何情况下,隐藏类中的方法的实现细节都是没有意义的。

答案:D

18、利用继承的策略是利用。

A,适当地

B.尽可能地

C.小心翼翼地

D.随便地

答案:A

19、父类与子类之间的关系称为关系。

A.聚合

B.继承

C.关联

D.组合

软件工程

答案:B

20、整体类与部分类之间的关系称为关系。

A.聚合

B.继承

C.关联

D.耦合

答案:A

21、以下哪种类之间的关系不需要阶元关系来描述?

A.聚合

B.继承

C.关联

D.组合

答案:B

22、以下哪个说法是正确的?

A.胳膊是电子游戏中人物身体的一部分,因此它是类“人物”的子类。

B,课程“软件工程”是“课程”类的一个子类。

C.如果继承利用的不恰当,继承就会造成麻烦。

D.结构化技术也支持继承。

答案:C

23、关系的两个类必须用强动词或动词诃组来描述。

A.聚合

B.继承

C.关联

D.组合

答案:C

24、UML是的缩写。

A.UnifiedModuleLanguage

B.UnifiedModelingLanguage

C.UniversalModuleLeveling

D.UnitedModelingLanguage

软件工程

答案:B

25、在一个软件系统中,一个方法有多个实现版本,这种机制称为0

A.多态

B.关联

C.面向对象

D.信息隐藏

答案:A

26、以下Java中的哪种机制不能用来实现多态?

A.Overloading

B.Overriding

C.Interface

D.Multithreading

答案:D

27、运行时动态地、而不是编译时静态地激活正确的“方法”,这种机制称为

A.面向对象

B.继承

C.数据封装

D.动态绑定

答案:D

28、以下哪种图不是UML图?

A.用例图

B.类图

C.ER图

D.顺序图

答案:C

软件工程

第五章面向对象分析

【习题】

1、下面哪个关于00A阶段中用例建模的说法是正确的?

A.一个情景对应多个用例。

B.每个用例只能有一个情景。

C.一个用例是一个情景实例。

D.一个情景是用例的一个实例。

答案:D

2、描述目标软件系统的功能、参与者与系统之间的交互,而不是系统内部的活动.

A.用例图

B.类图

C.协作图

D.状态图

答案:A

3、针对下面这个用例图,哪个说法是错误的?

A.学生能够与系统中的用例A交互。

B.用例A的成功执行必须包括用例B的成功执行。

C.如果用例A执行,用例C也必须执行。

D.用例C可能不被激活。

答案:C

4、以下关于用例建模的描述,哪个说法是正确的?

A.用例图中参与者只能是人员。

软件工程

B.参与者与用例之间的交互是单向的。

C.用例图是目标软件系统的功能模型。

D.用例建模既面向行为,也面向数据。

答案:C

5、某公司拟开发一个销售合同管理信息系统,其应用情景将是:每天,客户通过传真将订单信

息传给销售人员,然后钧售人员把销售信息录入到该系统中。那么以下哪类人员是系统的直

接参与者?

A.客户

B.销售人员

C.订单信息

D.传真机

答案:B

6、以下关于类建模的描述.哪个说法是正确的?

A.类是一种不支持继承的抽象数据类型。

B.类图能够反映业务流程。

C.类可以被看作模块。

D.类图是对目标软件系统的动态建模。

答案:C

7、以下哪种图不是面向对象分析模型?

A.用例图

B.类图

C.状态图

D.ER图

答案:D

8、以下关于动态建模的描述,哪个说法是错误的?

A.状态图是动杰建模的产品。

B.一个类图对应一个状态图

C.不是所有的实体类都需要状态图作为补充。

D.一个状态图对应一个类。

答案:B

软件工程

第六章面向对象设计

【习题】

1、图描述的重点是对象之间消息传递的顺序。

A.用例

B.状态

C.协作

D.顺序

答案:D

2、图描述的重点是对象之间的协作关系。

A.用例

B.状态

C.协作

D.顺序

答案:C

3、顺序图与协作图都是图。

A.交互

B.状态

C.协作

D.顺序

答案:A

4、可以用来对类中方法的详细设计进行描述。

A.自然语言

B.计算机语言

C.伪代码

D.Java代码

答案:C

5、可以用来描述每一个用例的情景。

A.类图

软件工程

B.用例图

C.顺序图

D.状态图

答案:C

6、以下哪一个不是顺序图的组成部分?

A.对象

B.消息

C.状态转变

D.生命线

答案:C

7、以下哪项工作不是详细设计阶段的工作?

A.数据库设计

B.系统架构设计

C.用户界面设计

D.算法设计

答案:B

第七章实现

【习题】

一、选择题

1、保持良好的代码布局的最根本目的是<

A.为了显示程序员的专业水平

B.提高代码的可读性

C.为了美观

D.为了节省空间

答案:B

2、以下哪个说法不能作为编程的标准?

A.对代码构造合适的布局。

软件工程

B.为变量起有意义的名。

C.变量名宜短些。

D.增加注释。

答案:C

3、以下哪个关于良好的编程习惯的说法是错误的?

A.程序中的变量名应该是有意义的,即顾名思义。

B.程序中的变量名应该具有一致性。

C.如果程序员有足够的经验且足够小心,那么他写的代码就不需要加注释。

D.注释对于代码的阅读者是有帮助的。

答案:C

4、以下哪个关于编程习惯的说法是正确的?

A.好的变量名字有利于调试和维护。

B.如果做了序言注释,就不需要行间注释了。

C.代码布局是为了好看的界面。

D.应该推荐嵌套if。

答案:A

5、以下哪个选项是自底向上实现与集成的缺点?

I.操作模块得不到充分的测试。

II.逻辑模块得不到充分的测试。

III.故障隔离。

A.I,II,与111

B.只有n

c.只有in

D.只有11和in

答案:B

6、图7.8是一个软件系统中的模块关系设计,如果系统采用白顶向下实现与集成,那么实现模

块a时,需要2个存根,分别是对模块和模块的存根。

软件工程

图7.8一个软件系统中的模块关系设计

A.a

B.b

C.c

D.d

答案:Boc

7、以下哪个是在选择编程语言时最后考虑的因素?

A.开发效率

R应用领域

C.成本

D.个人偏好

答案:D

8、以下哪个是自顶向下实现与集成的缺点?

A.逻辑模块得不到充分的测试。

B.操作模块得不到充分的测试。

C.主要设计错误发现的晚。

D.故障隔离。

答案:B

9、以下哪个说法是正确的?

A.先做实现,然后做集成。

B.自顶向下实现与集成需要驱动。

C.自底向上实现与集成需要驱动。

D.自底向上实现与集成需要存根。

答案:C

软件工程

第八章软件质量保证

【习题】

一、选择题

1、软件测试的目的是.

A.增加软件开发的工作量和成本

B.在软件系统中找到尽可能多的错误

C.证明软件是正确的

D.为了给一部分不适合做开发的人员找些事情做

答案:B

2、审查与是两种非执行测试。

A.单元测试

B.构件测试

C.走查

D.以上都不是

答案:C

3、软件开发是建设性的,而软件测试是o

A.建设性的

B.破坏性的

C.为了掩盖软件中的错误

D.为了显示软件开发团队的排场大

答案:B

4、以下关于软件测试的说法哪个是错误的?

A.软件测试对保证软件质量很重要。

B.软件测试应该是自发的,不需要管理。

C.软件测试需要事先做好计划。

D.软件测试与软件开发一样,也要认真做好相关文档,并妥善保存。

答案:B

5、以下关于基于执行测试的说法哪个是正确的?

A.对目标软件系统可靠性的测试计划应该基于需求文档中的功能性需求。

软件工程

B.对目标软件系统健壮性的测试计划应该基于需求文档中的功能性需求。

C.对目标软件系统正确性的测试计划应该基于需求文档中的非功能性需求。

D.对目标软件系统正确性的测试”•划应该基于需求文档中的功能性需求。

答案:D

6、软件质量保证小组。

A.的职责是根据开发小组的工作质量而对其实行奖惩

B.在这个软件团队或这个软件企业中是个点缀

C.在管理上应该独立于开发小组

D.只能够在目标软件系统的代码开发完毕后开始工作

答案:C

7、软件测试。

A.谁都能做,不需要计划和技术

B.对于高水平的软件开发团队来说是不需要的,或可有可无的

C.是紫接在实现阶段后面的一个阶段

D.包括可执行测试和非执行测试

答案:D

第九章维护

【习题】

一、选择题

1、在整个软件过程中,哪个阶段花费最长的时间和最多的成本?

A.分析

B.设计

C.实现

D.维护

答案:D

2、以下哪种维护是为了提高软件产品的性能?

A.纠错性维护

B.完善性维护

软件工程

C.适应性维护

D.哪个也不是

答案:B

3、使软件系统适应新的操作系统而做的维护是维扩。

A.纠错性维护

B.完善性维护

C.适应性维护

D.哪个也不是

答案:C

4、某银行的定期存款利率发生了变化,那么需要对该银行管理信息系统进行维护。

A.纠错性维护

B.完善性维护

C.适应性维护

D.哪个也不是

答案:C

5、以下哪个关于的维护说法是不对的?

A.只有最好的程序员才能够胜任软件维护工作。

B.维护很耗时,所以应该安排新手来锻炼锻炼。

C.维护是一项费力不讨好的工作。

D.很多时候,维护人员是为开发人员的错误而受过。

答案:B

6、假设维护人员定位了程序中的一个错误,试图去修改它,但却引进了新的错误,这称之为

A.犯错

B.回归错误

C.故障

D.缺陷

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论