完整word版南京工程学院软件工程复习题答案.docx

上传人:b****5 文档编号:11736679 上传时间:2023-03-31 格式:DOCX 页数:16 大小:25.01KB
下载 相关 举报
完整word版南京工程学院软件工程复习题答案.docx_第1页
第1页 / 共16页
完整word版南京工程学院软件工程复习题答案.docx_第2页
第2页 / 共16页
完整word版南京工程学院软件工程复习题答案.docx_第3页
第3页 / 共16页
完整word版南京工程学院软件工程复习题答案.docx_第4页
第4页 / 共16页
完整word版南京工程学院软件工程复习题答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

完整word版南京工程学院软件工程复习题答案.docx

《完整word版南京工程学院软件工程复习题答案.docx》由会员分享,可在线阅读,更多相关《完整word版南京工程学院软件工程复习题答案.docx(16页珍藏版)》请在冰豆网上搜索。

完整word版南京工程学院软件工程复习题答案.docx

完整word版南京工程学院软件工程复习题答案

复习题

第一章选择题:

1,2,3,4,6,7,8,9判断题:

1,2,3,4,5

第二章选择题:

1,2,3,4,5,7,8判断题:

1,2,3,4,5,6

第三章选择题:

1,2,3,5,6,7判断题:

1,2,3,4,5

第四章选择题:

5,6,7,8,9判断题:

5,6,7,8,9,10

第五章选择题:

4,5,6,7,8,9,10判断题:

1,2,3,4,5,6,7,8

第八章选择题:

1,2,3,4,5

第九章选择题:

1,2,3,4

第十二章选择题:

1,2,3

简答题:

1.什么是软件危机?

其产生的主要原因是什么?

2.结构化程序设计的指导原则是什么?

它有哪三种基本控制结构?

(红色为没有答案的)

3.什么是软件生存周期模型?

软件生命周期分为哪六个阶段?

并对每个阶段作简要说明。

4.如何画分层数据流图?

5.简述UML.实际建模过程。

6.在UML中的状态图、协作图、活动图、序列图在系统分析中各起到了什么作用?

7.什么是软件复用?

8.单元测试的功能是什么?

主要采用什么方法?

列举一个常用单元测试的工具。

9.什么是α测试和β测试?

10.自顶而下增值与自底而上增值各有何优、缺点?

11.请简单的谈一下安全测试?

12.为什么要进行软件维护?

13.提高软件可维护性的方法有哪些?

14.影响软件质量的因素有哪些?

15.什么是CMM?

CMM将软件过程的成熟度分为哪几个级别?

案例分析题

1.画出给定实例的数据流图。

并能给出其数据流条目,及对其中某一文件给出文件条目,对某数据项给出数据项条目,对某加工加工给出加工条目。

2.画出某系统的用例图,及子用例图,对用例图作简要说明;用UML状态图说明状态的变迁情况及说明。

 

习题答案

习题一答案

一、选择题

1.软件的主要特性是(ABC).

A)无形B)高成本

C)包括程序和文档D)可独立构成计算机系统

2。

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

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

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

3.包含风险分析的软件工程模型是(A)。

A)螺旋模型B)瀑布模型C)增量模型D)喷泉模型

4。

软件工程的主要目标是(C)。

A)软件需求B)软件设计C)风险分析D)软件实现

5.下列属于面向对象开发方法的是(ABCD)。

A)BoochB)UMLC)CoadD)OMT

6.软件危机的主要表现是(BD)。

A)软件成本太高B)软件产品的质量低劣

C)软件开发人员明显不足D)软件生产率低下

7。

软件开发方法的主要工作模型有(ABC)

A)螺旋模型B)循环模型C)瀑布模型D)专家模型

8.软件工程的目标有(ABC).

A)易于维护B)低的开发成本

C)高性能D)短的开发期

9.软件工程学的目的和意义是(AD)。

A)应用科学的方法和工程化的规范管理来指导软件开发

B)克服软件危机

C)作好软件开发的培训工作

D)以较低的成本开发出高质量的软件

二、判断题

1.软件就是程序,编写软件就是编写程序。

(×)

2。

瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

(×)

3.结构化方法的工作模型是使用螺旋模型进行开发.(×)

4。

结构化方法和OO方法都是一种面向过程的软件开发方法。

(×)

5。

原型化开发方法包括生成原型和实现原型两个步骤。

(×)

习题二答案

一、选择题

1.需求分析的主要目的是(BC)。

A)系统开发的具体方案

B)进一步确定用户的需求

C)解决系统是“做什么”的问题

D)解决系统是“如何做”的问题

2.需求分析的主要方法有(CD)。

A)形式化分析方法B)PAD图描述

C)结构化分析(SA)方法D)OOA法

3.面向对象的分析方法主要是建立三类模型,即(D)。

A)系统模型、E—R模型、应用模型

B)对象模型、动态模型、应用模型

C)E—R模型、对象模型、功能模型

D)对象模型、动态模型、功能模型

4。

SA法的主要描述手段有(B)。

A)系统流程图和模块图

B)DFD图、数据词典、加工说明

C)软件结构图、加工说明

D)功能结构图、加工说明

5.画分层DFD图的基本原则有(ACD)。

A)数据守恒原则

B)分解的可靠性原则

C)子、父图平衡的原则

D)数据流封闭的原则

7。

画DFD图的主要目的是(AD)。

A)作为需求分析阶段用户与开发者之间交流信息的工具

B)对系统的数据结构进行描述

C)对目标系统的层次结构进行描述

D)作为分析和设计的工具

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

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

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

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

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

二、判断题

1.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

(×)

2.SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)

3。

需求管理主要是对需求变化的管理,即如何有效控制和适应需求的变化。

(√)

4.在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(×)

5.加工小说明是对系统流程图中的加工进行说明.(×)

6.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

(×)

习题三答案

一、选择题

1。

模块的基本特征是(AC)。

A)外部特征(输入/输出、功能)B)内部特征(输入/输出、功能)

C)内部特征(局部数据、代码)D)外部特征(局部数据、代码)

2.SD方法的设计总则是(CD).

A)程序简洁、操作方便B)结构清晰、合理

C)模块内聚性强D)模块之间耦合度低

3.软件设计的主要任务是(ABD)。

A)将分析阶段获得的需求说明转换为计算机中可实现的系统;

B)完成系统的数据结构和程序结构设计

C)完成模块的编码和测试

D)对模块内部的过程进行设计

5。

从工程管理的角度来看,软件设计分(D)两步完成。

A)系统分析、模块设计B)详细设计、总体设计

C)模块设计、详细设计D)总体设计、详细设计

6.模块独立性准则定性指标(BD)来衡量。

A)分解度B)耦合度C)屏蔽性D)内聚性

7.用户界面设计的任务包括(ABC).

A)确定用户界面类型B)建立任务模型

C)建立用户模型D)建立功能模型

二、判断题

1.划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。

(×)

2.在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常被使用。

(×)

3.信息隐蔽原则有利于提高模块的内聚性。

(√)

4.中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使用事务分析技术得到初始的模块结构图.(×)

5。

SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。

(×)

习题四答案

一、选择题

5.一个类属性依其特征划分,其类型有(ABCD)。

A)描述型B)定义型C)派生型D)参考型

6。

在进行面向对象分析时,所采用的模型有(ABC)。

A)对象模型B)动态模型C)静态模型D)功能模型

7.状态是对象属性的值的一种抽象,它的性质有(AB)。

A)时间性B)持续性C)有序性D)有穷性

8.数据流图中的处理必须用对象中的操作来实现,常见的操作有(ABCD)。

A)查询B)动作C)活动D)访问

9。

建立继承关系时所采用的方式有(AC)。

A)自顶向下B)从内到外C)自底向上D)从复杂到简单

二、判断题

5.面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。

(√)

6.面向对象设计的主要目标是提高生产效率,提高质量和提高可维护性。

(√)

7.对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

(√)

8.面向对象的分析是用面向对象的方法对目标系统的问题域空间进行理解、分析和反映.通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。

(√)

9。

类的设计过程包括:

确定类,确定关联类,确定属性,识别继承关系。

(√)

10。

复用也叫重用或再用,面向对象技术中的“类"是比较理想的可重用软构件,它有三种重用方式:

实例重用、继承重用、多态重用。

(√)

习题五答案

一、选择题

4.下列各种图可用于动态建模的有(ACD)。

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

5。

下列属于状态的组成部分的有(AB)。

A)名称B)活动C)条件D)事件

6。

UML中包括的事件有(ABCD).

A)条件为真B)收到另一对象的信号

C)收到操作调用D)时间表达式

7.属性的可见性有(ABD)。

A)公有的B)私有的C)私有保护的D)保护的

8.用例之间的关系有(BCD)。

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

9。

应用于通用化约束的方式有(ABCD)。

A)完整B)不相交C)不完整D)覆盖

10.消息的类型有(ABC)

A)同步B)异步C)简单D)复杂

二、判断题

1.UML建模语言是由视图、图、模型元素和通用机制构成的层次关系来描述的.(√)

2.UML是一种建模语言,是一种标准的表示,是一种方法.(×)

3。

泳道是一种分组机制,它描述了状态图中对象所执行的活动.(×)

4.同步消息和异步消息的主要区别是:

同步消息的发送对象在消息发送后,不必等待消息处理,可立即继续执行,而异步消息则发送对象必须等待接收对象完成消息处理后,才能继续执行。

(×)

5。

类图中的角色是用于描述该类在关联中所扮演的角色和职责的。

(√)

6.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述.(×)

7.用例模型的基本组成部件是用例、角色和用例之间的联系.(√)

8.用例之间有扩展、使用、组合等几种关系。

(√)

习题七答案

5.什么是软件复用?

答:

软件复用是指重复使用已有的软件产品来开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。

在软件复用中重复使用的软件产品不仅仅局限于程序代码,而是包含了在软件生产的各个阶段所得到的各种软件产品,这些软件产品包括:

领域知识、体系结构、需求分析、设计文档、程序代码、测试用例和测试数据等。

将这些已有的软件产品在软件系统开发的各个阶段重复使用,这就是软件复用的原理。

习题八答案

一、选择题

1。

软件测试的主要特点是(AC)。

A)软件测试的开销大B)软件测试要依靠工具

C)软件不能进行“穷举"测试D)软件测试要依靠人工

2。

整体测试又称为组装测试,其主要内容包括(CD)。

A)对整体的性能进行测试B)用白盒法设计测试用例进行测试

C)确定组装策略和次序D)对组装过程进行测试

3.渐增式是将模块一个一个地连入系统,每连入一个模块(C).

A)只需要对新连入的模块进行测试

B)都不需要再进行测试

C)要对新子系统进行测试

D)都要进行回归测试

4。

静态测试是以人工的、非形式化的方法对程序进行分析和测试。

常用的静态测试方法有(BCD).

A)运行程序并分析运行结果B)桌前检查与代码会审

C)数据流分析图D)调用图

5。

集成过程的原则是(BC)。

A)按照模块的大小集成

B)尽早测试包含I/O的模块

C)尽早测试关键模块

D)按照“输入—处理-输出”的次序进行集成

习题九答案

一、选择题

1。

软件维护的类型有(ABCD)。

A)完善性维护B)纠错性维护C)适应性维护D)预防性维护

2.各种软件维护的类型中最重要的是(AB)。

A)完善性维护B)纠错性维护C)适应性维护D)预防性维护

3。

以下属于完善性维护的有(BD)。

A)解决开发时未能测试各种可能条件带来的问题

B)增加联机求助命令

C)缩短系统的应答时间,使其达到特定要求

D)为软件的运行增加监控设施

4.进行系统修改时可能会产生维护的副作用,它们可能有(ABC)。

A)修改数据的副作用B)修改错误后,又引入了新的错误

C)修改代码的副作用D)文档资料的副作用

习题十二答案

一、选择题

1.CMM表示(A)。

A)软件能力成熟度模型B)软件过程工业化控制

C)国际软件质量认证D)软件统一性标准

2.软件过程和产品质量有详细的度量标准,并且得到了定量的认识和控制.以下()具有上述特征。

A)可重复级B)已定义级C)已管理级D)优化级

3.CMM是开发高效率、高质量和低成本软件时,普遍采用的软件生产过程标准,它的主要用途不包括(C)。

A)软件过程评估B)软件过程改进C)软件过程控制D)软件能力评价

 

简答题

1。

什么是软件危机?

其产生的原因是什么?

答:

“软件危机”(SoftwareCrisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大.而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要.致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折.软件危机主要表现在两个方面:

(1)软件产品质量低劣,甚至开发过程就夭折.

(2)软件生产率低,不能满足需要。

2。

如何画分层数据流图?

有哪些基本原则?

答:

总的原则是:

至顶而下,逐层分解(画分层数据流图)。

逐层分解的画法可以控制每一层的复杂度。

顶层:

将整个系统作为一个加工,描述系统边界(输入与输出)。

中间层:

将某个加工分解为一组子加工,其中的子加工还需进一步分解。

底层:

由不再进行分解的基本加工组成.

画分层数据流图的基本原则有:

①数据守恒与数据封闭原则.②加工分解的原则.③子图与父图“平衡”的原则。

④合理使用文件的原则。

3。

简述UML实际建模过程。

答:

UML建模过程是一个迭代过程。

每次迭代都建立相应的模型。

分为以下几个阶段:

①分析阶段。

建模的目的是捕捉系统的功能需求,分析、提取所开发系统的“客观世界”领域的类以及描述它们的合作关系。

常以用例图为首选模型.

②设计阶段。

建模的目的是通过考虑实现环境,将分析阶段的模型扩展和转化为可行的技术实现方案。

常建立以类图为主的静态模型,及包括状态模型、顺序模型、活动模型和合作模型等动态模型.

③实现阶段。

主要工作就是进行编码,同时对已构造的模型作相应的修正.

④配置阶段.通过模型描述所开发系统的软硬件配置情况建立配置模型。

⑤测试阶段.使用前几个阶段所构造的模型来指导和协助测试工作。

4.在UML中,状态图、协作图、活动图、顺序图在系统分析中各起到了什么作用?

答:

状态图(StateDiagram)用来描述一个特定对象在其生存周期或在某段时间内的所有可能的状态及其引起状态转移的事件。

一个状态图包括一系列的状态以及状态之间的改变.例如订单的状态变化等,在实时系统中用得较多,还可以用于辅助设计用户界面。

顺序图(SequenceDiagram)清晰地描述一组对象之间动态的交互关系、时间的约束关系,着重描述对象间消息传递的时间顺序,所以顺序图在实时系统中被大量使用。

当参与交互的对象数目增加,交互关系复杂时用顺序图描述会显得杂乱,协作图(CollaborationDiagram)从另一个角度来更好地描述相互协作的对象间的交互关系和链接(Link)关系。

着重体现交互对象间的静态链接关系和协作关系.协作图也可以从顺序图生成.

活动图(ActivityDiagram)是由状态图变化而来的,从系统任务的观点来看,系统的执行过程是由一系列有序活动组成的。

活动图可以有效地描述整个系统的流程,描述了系统的全局的动态行为,且只有活动图是唯一能够描述并发活动的UML图。

5。

什么是软件复用?

答:

软件复用是指重复使用已有的软件产品来开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。

在软件复用中重复使用的软件产品不仅仅局限于程序代码,而是包含了在软件生产的各个阶段所得到的各种软件产品,这些软件产品包括:

领域知识、体系结构、需求分析、设计文档、程序代码、测试用例和测试数据等。

将这些已有的软件产品在软件系统开发的各个阶段重复使用,这就是软件复用的原理。

6。

什么是α测试和β测试?

答:

α测试是在开发机构的监督下,在确认测试阶段后期由个别用户对软件进行测试,目的是评价软件的FLURPS(功能、局域化、可使用性、可靠性、性能和支持性),注重界面和特色。

β测试是在进行了α测试的基础上,由支持软件预发行的客户对FLURPS进行测试,主要目的是测试系统的可支持性,是在软件产品正式发布前的测试。

7.单元测试的功能是什么?

主要采取什么方法?

例举一个常用单元测试的工具?

单元测试。

完成每个模块的测试,尽可能发现模块内部的错误。

单元测试主要采用白盒测试法。

工具:

(自己看下书呢)

8.为什么要进行软件维护?

答:

软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。

一个中等规模的软件,如果其开发过程需要一两年时间,则它投入使用以后,其运行时间可能持续5~10年之久。

在这个维护阶段中,人们需要着手解决开发阶段尚未解决的问题,同时,还解决维护工作本身所产生的问题。

做好软件的维护工作不仅能够排除软件中存在的错误,使它能够正常工作,而且还可以使它扩充功能,提高性能,为用户带来新的效益。

维护阶段的花费约占整个软件生存周期花费的67%.因此,应充分认识到维护现有软件的重要意义。

9。

提高可维护性的方法有哪些?

答:

在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。

在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。

在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。

在软件设计的复审中,应从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。

在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素.

在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。

在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审.

为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。

10。

影响软件质量的因素有哪些?

答:

影响软件质量的因素如下表所示。

质量因素

定义

正确性

系统满足规格说明和优化目标的程度,即在预定环境下能正确地完成预期功能的程度

健壮性

在硬件故障、操作错误等意外情况下,系统能作出适当反应的程度

效率

为完成预定功能,系统需要的计算资源的多少

完整性

即安全性,对非法使用软件或数据,系统能够控制(禁止)的程度

可用性

对系统完成预定功能的满意程度

风险

能否按照预定成本和进度完成系统,并为用户所满意的程度

可理解性

理解和使用该系统的容易程度

可维护性

诊断和改正运行时所发现错误所需工作量的大小

灵活性

即适应性,修改或改进正在运行的系统所需工作量的大小

可测试性

软件易测试的程度

可移植性

改变系统的软、硬件环境及配置时,所需工作量的大小

可再用性

软件在其他系统中可被再次使用的程度(或范围)

互运行性

把该系统与另一个系统结合起来所需的工作量

11.什么是CMM?

CMM将软件过程的成熟度分为哪几个级别?

答:

(1)?

?

看下书。

(2)初始级、可重复级、已定义级、已管理级和优化级。

12。

自顶向下渐增与自底而上渐增各有何优、缺点?

答:

① 自顶向下渐增

优点:

能够尽早发现系统主控方面的问题,并尽早测试系统结构的问题.

缺点:

需要编写桩模块,由于下属模块往往不止一个,也不止一层,加之模块接口的复杂性,桩模块很难模拟各下层模块之间的调用关系,也无法验证桩模块是否完全模拟了下属模块的功能.因此很难尽早查出底层容易出错的复杂模块中的错误,所以导致过多的回归测试。

② 自底向上渐增

优点:

需要编写驱动模块。

驱动模块是模拟主程序或者调用模块的功能,处于被测试模块的上层,所以驱动模块只需模拟向被测模块传递数据,接收或打印从被测模块返回的数据等功能,比编写桩模块容易。

还能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。

缺点:

只有当系统所有模块全部组装完成,才能看到系统完整的结构,才能测试系统的主控功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1