软件工程习题及答案_第1页
软件工程习题及答案_第2页
软件工程习题及答案_第3页
软件工程习题及答案_第4页
软件工程习题及答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

软件工程习题及答案一、选择题1.软件工程的三要素是()A.方法、工具和过程B.建模、方法和工具C.建模、方法和过程D.定义、方法和过程

答案:A

解析:软件工程的三要素包括方法、工具和过程。方法是完成软件开发的各项任务的技术方法;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架。

2.软件生命周期中花费时间最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护

答案:D

解析:软件维护是软件生命周期中花费时间最多的阶段。因为软件在交付使用后,可能会因为各种原因需要进行修改、完善和扩展等维护工作,以适应不断变化的需求和环境。

3.瀑布模型的关键不足在于()A.过于简单B.各个阶段需要进行评审C.过于灵活D.不能适应需求的动态变更

答案:D

解析:瀑布模型是一种线性的软件开发模型,按照顺序依次进行需求分析、设计、编码、测试、维护等阶段。其关键不足在于缺乏灵活性,不能很好地适应需求的动态变更。当需求发生变化时,可能需要对前面已经完成的阶段进行大量的返工。

4.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件

答案:D

解析:快速原型模型的主要特点是能够及早提供工作软件。它先快速构建一个可以运行的软件原型,让用户和开发人员能够尽早看到软件的雏形,以便及时发现问题并进行改进,然后在此基础上逐步完善软件。

5.软件需求规格说明书的作用不包括()A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据

答案:C

解析:软件需求规格说明书是需求分析阶段的重要文档,它是软件验收的依据,明确了用户与开发人员对软件要做什么的共同理解,也是软件设计的依据。而软件可行性研究是在需求分析之前进行的,软件需求规格说明书不是其依据。

6.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能

答案:D

解析:需求分析阶段的主要任务是确定软件系统的功能。通过与用户沟通、调研等方式,准确了解用户的需求,将其转化为软件系统应具备的功能描述。

7.结构化分析方法是一种面向()的需求分析方法。A.对象B.数据结构C.数据流D.控制流

答案:C

解析:结构化分析方法是一种面向数据流的需求分析方法。它从数据传递和加工的角度,以数据流图为主要工具,对系统的功能进行分析。

8.数据字典是对数据定义信息的集合,它所定义的对象都包含于()A.数据流图B.程序框图C.软件结构D.方框图

答案:A

解析:数据字典是对数据流图中出现的所有被命名的图形元素的确切解释,它所定义的对象都包含于数据流图。数据流图描述了系统中数据的流动和处理过程,数据字典则对其中涉及的数据元素等进行详细定义。

9.软件设计中划分模块的一个准则是()A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合

答案:B

解析:软件设计中划分模块应遵循高内聚低耦合的准则。高内聚意味着模块内部具有很强的关联性,完成单一的功能;低耦合表示模块之间的依赖关系较弱,便于模块的独立开发、维护和复用。

10.为了使模块尽可能独立,要求()A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

答案:B

解析:同第9题,为使模块尽可能独立,应使模块的内聚程度尽量高,各模块间的耦合程度尽量弱。这样模块的独立性好,便于开发、维护和扩展。

11.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计

答案:D

解析:软件详细设计主要采用结构化程序设计方法。结构化程序设计强调程序的结构清晰、易读、易维护,通过顺序、选择、循环三种基本结构来构建程序。

12.程序流程图(PFD)中的箭头代表的是()A.数据流B.控制流C.调用关系D.组成关系

答案:B

解析:程序流程图中的箭头代表控制流,它描述了程序执行过程中各个步骤的先后顺序。

13.软件测试的目的是()A.证明软件的正确性B.发现软件中的错误C.排除软件中的错误D.验证软件的性能

答案:B

解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性。通过各种测试手段,尽可能找出软件中存在的缺陷,以便开发人员进行修复。

14.软件测试方法中的黑盒测试法和白盒测试法是依据()划分的。A.测试对象B.测试原则C.测试方法D.程序的内部逻辑和外部功能

答案:D

解析:黑盒测试法是基于程序的外部功能进行测试,不考虑程序内部结构;白盒测试法是基于程序的内部逻辑结构进行测试。所以它们是依据程序的内部逻辑和外部功能划分的。

15.下列属于黑盒测试方法的是()A.语句覆盖B.逻辑覆盖C.边界值分析D.路径覆盖

答案:C

解析:边界值分析属于黑盒测试方法。它通过选取输入数据边界值附近的数据来进行测试,以发现程序在边界情况下可能出现的错误。而语句覆盖、逻辑覆盖、路径覆盖都属于白盒测试方法。

二、填空题1.软件工程是一门研究如何、、软件的学科。

答案:开发、维护、管理

解析:软件工程涵盖了软件开发的整个过程,包括如何进行有效的开发,在软件交付后如何进行维护,以及如何对软件开发项目进行管理等方面。

2.软件生命周期可分为、、、、、阶段。

答案:可行性研究、需求分析、软件设计、编码、测试、维护

解析:这是软件生命周期的六个主要阶段。可行性研究确定项目是否可行;需求分析明确软件功能需求;软件设计包括总体设计和详细设计;编码实现软件功能;测试检查软件质量;维护保障软件持续可用。

3.常见的软件开发模型有、、、等。

答案:瀑布模型、快速原型模型、增量模型、螺旋模型

解析:瀑布模型是经典的线性模型;快速原型模型强调快速构建原型;增量模型逐步增加软件功能;螺旋模型结合了风险分析,是一种比较灵活的模型。

4.需求分析的常用方法有、、等。

答案:结构化分析方法、面向对象分析方法、原型化方法

解析:结构化分析方法从数据流角度分析需求;面向对象分析方法从对象角度建模需求;原型化方法通过构建原型来获取需求。

5.软件设计包括和两个阶段。

答案:总体设计、详细设计

解析:总体设计确定软件的总体架构,如模块划分等;详细设计则对每个模块进行具体的算法设计、数据结构设计等。

6.模块之间的耦合方式有、、、、等。

答案:数据耦合、控制耦合、公共耦合、内容耦合、标记耦合

解析:数据耦合是通过数据传递来耦合;控制耦合传递控制信息;公共耦合多个模块共享全局数据;内容耦合模块间直接访问内部数据等;标记耦合传递数据结构的一部分。

7.软件测试的步骤一般包括、、、等。

答案:单元测试、集成测试、系统测试、验收测试

解析:单元测试针对单个模块进行测试;集成测试测试模块间的接口和集成情况;系统测试对整个系统进行全面测试;验收测试由用户或客户进行,确定软件是否满足需求。

8.白盒测试的主要技术有、、、等。

答案:语句覆盖、判定覆盖、条件覆盖、路径覆盖

解析:语句覆盖使程序中的每条语句至少执行一次;判定覆盖使每个判定的每种可能结果至少执行一次;条件覆盖使每个判定中的每个条件的所有可能结果至少执行一次;路径覆盖使程序中所有可能的路径至少执行一次。

9.软件维护的类型有、、、。

答案:改正性维护、适应性维护、完善性维护、预防性维护

解析:改正性维护修复软件中的错误;适应性维护使软件适应环境变化;完善性维护增加软件功能或改进性能等;预防性维护为提高软件未来的可维护性和可靠性进行的维护。

10.软件项目管理的主要内容包括、、、、等。

答案:项目计划、项目组织、人员管理、质量管理、风险管理

解析:项目计划制定项目进度等计划;项目组织确定团队结构等;人员管理涉及人员安排等;质量管理保障软件质量;风险管理识别和应对项目风险。

三、简答题1.简述软件工程的目标。

答案:软件工程的目标是生产具有正确性、可用性以及成本合适的软件产品。具体包括以下几个方面:正确性:软件应满足用户明确的和隐含的需求,正确地实现预期的功能。可用性:软件应易于使用、理解和维护,具有良好的用户界面和可操作性。成本合适:在预算范围内完成软件开发项目,合理控制成本,使软件的开发成本与效益达到平衡。效率:软件应具备较高的执行效率,在规定的时间内完成任务,占用较少的系统资源。可维护性:软件应具有良好的结构和设计,便于在软件交付后进行维护和修改。可扩展性:软件应具备一定的扩展性,能够方便地进行功能扩展和升级,以适应未来需求的变化。

2.什么是软件生命周期?

答案:软件生命周期是指从软件定义开始,经过开发、使用和维护,直到最终退役的全过程。它包括以下几个阶段:可行性研究:确定软件开发项目的可行性,评估项目的成本、效益、技术可行性等。需求分析:明确软件系统的功能需求、性能需求、用户界面需求等,与用户沟通并获取准确的需求。软件设计:包括总体设计和详细设计,确定软件的总体架构和各个模块的具体设计。编码:根据软件设计的结果,使用编程语言实现软件的各个模块。测试:对软件进行各种测试,检查软件是否满足需求,发现并修复软件中的错误。维护:软件交付使用后,对软件进行修改、完善和扩展,以适应不断变化的需求和环境。

3.比较瀑布模型、快速原型模型和增量模型的优缺点。

答案:瀑布模型优点:阶段明确,文档驱动,有利于项目的管理和控制。顺序性强,前一个阶段完成后才进入下一个阶段,便于分工协作。缺点:缺乏灵活性,难以适应需求的动态变化。风险后置,在项目后期发现需求问题时,修改成本高。快速原型模型优点:能够及早提供工作软件,让用户和开发人员尽早看到软件雏形,便于沟通和发现问题。对需求的适应性强,可根据用户反馈及时调整原型。缺点:可能导致系统结构不够清晰,因为快速构建原型可能忽视了整体架构设计。容易造成后期的返工,因为原型可能只是一个初步的实现,与最终产品有较大差异。增量模型优点:逐步增加功能,降低了项目风险,每次增加的功能相对独立,便于开发和测试。能够较快地向用户交付部分功能,提高用户满意度。缺点:对系统的整体架构设计要求较高,否则可能出现模块之间的兼容性问题。随着增量的增加,项目管理的复杂度可能会上升。

4.简述需求分析的任务和步骤。

答案:需求分析的任务是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。需求分析的步骤如下:问题识别:通过与用户沟通、调研等方式,识别用户对软件系统的需求,包括功能需求、性能需求、可靠性需求、安全性需求等。分析与综合:对识别出的需求进行分析,去除模糊和不合理的部分,然后进行综合整理,形成完整的需求描述。编制需求规格说明书:将分析与综合得到的需求用规范的文档形式记录下来,形成软件需求规格说明书,作为后续开发工作的依据。需求评审:组织相关人员对需求规格说明书进行评审,确保需求的完整性、准确性、一致性和可行性,发现并解决需求中的问题。

5.什么是软件设计的模块化原则?

答案:软件设计的模块化原则是指将软件系统划分为若干个独立的模块,每个模块完成一个相对独立的子功能,并且模块之间的接口应尽量简单。模块化设计具有以下优点:提高软件的可维护性:每个模块相对独立,当某个模块出现问题时,只需要修改该模块,不会影响其他模块。增强软件的可扩展性:便于增加新的模块来实现新的功能,而不影响原有系统的结构。有利于团队协作开发:不同的模块可以由不同的开发人员负责,提高开发效率。降低软件的复杂性:将大的软件系统分解为多个小模块,降低了整体的复杂度,便于理解和开发。

在进行模块化设计时,应遵循高内聚低耦合的原则。高内聚要求模块内部具有很强的关联性,完成单一的功能;低耦合要求模块之间的依赖关系较弱,尽量减少模块之间的交互。

6.简述软件测试的原则。

答案:软件测试应遵循以下原则:尽早并不断地进行测试:测试应贯穿于软件开发的整个过程,尽早发现问题,避免问题积累。全面测试:对软件的功能、性能、可靠性、安全性等各个方面进行全面测试,确保软件质量。重点测试:关注软件的关键功能、核心模块以及容易出现问题的部分,进行重点测试。避免测试自己的代码:开发人员应尽量避免测试自己编写的代码,以减少主观因素的影响。及时反馈:测试人员发现问题后应及时向开发人员反馈,以便开发人员及时修复。严格执行测试计划:按照测试计划进行测试,确保测试的全面性和系统性。进行回归测试:在软件修改后,应进行回归测试,确保修改没有引入新的问题。测试应具有可重复性:测试过程和结果应具有可重复性,以便对软件质量进行准确评估。

7.什么是黑盒测试和白盒测试?它们各自的特点是什么?

答案:黑盒测试是基于程序的外部功能进行测试,不考虑程序内部结构。它把程序看作一个黑盒子,只关注输入数据和输出结果之间的关系。黑盒测试的特点包括:从用户角度出发,关注软件的功能是否满足需求。不需要了解程序内部结构,测试用例的设计相对简单。能够发现软件功能方面的错误,但难以发现程序内部逻辑错误。

白盒测试是基于程序的内部逻辑结构进行测试。它需要了解程序的内部结构和算法,通过检查程序的内部代码来发现错误。白盒测试的特点包括:可以深入检查程序的内部逻辑,发现程序中的逻辑错误和算法错误。测

温馨提示

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

评论

0/150

提交评论