软件工程模拟习题_第1页
软件工程模拟习题_第2页
软件工程模拟习题_第3页
软件工程模拟习题_第4页
软件工程模拟习题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

软件工程模拟习题一、选择题1.软件工程的出现是由于()。A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展

答案:C

解析:软件工程概念的出现源自软件危机。软件危机主要表现在软件需求增长得不到满足、软件开发成本和进度无法控制、软件质量难以保证、软件维护困难等方面。为了解决这些问题,软件工程应运而生。

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

答案:B

解析:瀑布模型是一种线性顺序模型,它规定了软件开发的各个阶段,前一个阶段完成后才进入下一个阶段。其关键不足在于它是一种严格的线性模型,难以适应需求的动态变更。当在项目后期发现需求变更时,修改成本会很高。

3.软件可行性研究一般不考虑()。A.是否有足够的人员和相关的技术来支持系统开发B.是否有足够的工具和相关的技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题

答案:D

解析:软件可行性研究主要从技术可行性、经济可行性和操作可行性等方面进行分析。技术可行性考虑是否有足够的人员、技术和工具来支持系统开发;经济可行性评估待开发软件是否有市场以及经济上是否合算。而软件质量问题通常是在软件开发过程中通过质量保证措施来解决,不是可行性研究阶段重点考虑的内容。

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

答案:D

解析:需求分析阶段的主要任务是深入描述软件的功能和性能,确定软件系统必须做什么,即明确软件系统的功能需求。软件开发方法在设计阶段确定;软件开发工具的选择贯穿于软件开发的各个阶段;软件开发费是在项目预算等过程中考虑的,并非需求分析阶段的任务。

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

答案:A

解析:数据字典是对数据流图中包含的所有元素的定义的集合。数据流图描述了系统中数据的流动和处理过程,数据字典则对数据流图中的数据项、数据流、数据存储和加工等进行详细定义,使得数据流图更加准确和完整。

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

答案:B

解析:高内聚低耦合是软件设计中划分模块的重要准则。高内聚意味着模块内的各个元素之间具有很强的关联性,共同完成一个明确的功能;低耦合表示模块之间的依赖关系很弱,模块之间的交互尽量简单。这样的模块设计有利于提高软件的可维护性、可扩展性和可复用性。

7.详细设计的结果基本决定了最终程序的()。A.代码的规模B.运行速度C.质量D.可维护性

答案:C

解析:详细设计阶段为软件的实现提供了具体的蓝图,它对每个模块的算法和数据结构进行了详细设计。详细设计的质量直接影响到程序的实现难度、可读性、可维护性等,基本决定了最终程序的质量。

8.软件测试的目的是()。A.证明软件系统中存在错误B.找出软件系统中存在的所有错误C.尽可能多的发现软件系统中的错误D.证明软件的正确性

答案:C

解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性。通过各种测试方法和技术,尽可能多地发现软件系统中存在的错误,以便及时进行修复,提高软件质量。

9.软件维护工作的最主要部分是()。A.校正性维护B.适应性维护C.完善性维护D.预防性维护

答案:C

解析:完善性维护是在软件使用过程中,为了满足用户日益增长的需求,改进软件性能、增加新功能等而进行的维护活动。随着软件使用时间的推移,用户往往会提出新的功能需求或对现有功能提出改进意见,完善性维护就是为了满足这些需求,它是软件维护工作中最主要的部分。

10.面向对象方法中,继承是指()。A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制

答案:D

解析:继承是面向对象编程中的一个重要概念,它允许一个类继承另一个类的属性和操作。通过继承,可以实现代码的复用,提高软件的开发效率和可维护性。子类可以继承父类的属性和方法,并根据需要进行扩展和修改。

二、填空题1.软件工程包括软件开发技术和软件工程管理两大部分内容,软件开发技术又包括软件开发方法学、软件工具和软件工程环境。2.软件生命周期可分为问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护等阶段。3.结构化分析方法的常用工具包括数据流图、数据字典、判定表和判定树。4.软件总体设计阶段的主要任务是确定软件的总体结构,包括模块划分、模块之间的接口设计等。5.详细设计通常以结构化程序设计技术为逻辑基础,因为从软件工程观点看,可理解性是软件最重要的质量标准之一。6.软件测试过程一般可划分为单元测试、集成测试、系统测试和验收测试四个阶段。7.调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错。8.软件维护的内容包括校正性维护、适应性维护、完善性维护和预防性维护。9.面向对象模型主要由对象模型、动态模型和功能模型组成。10.统一建模语言(UML)中的事物包括结构事物、行为事物、分组事物和注释事物。

三、简答题1.简述软件危机的表现。答:软件危机主要表现在以下几个方面:软件需求增长得不到满足:用户对软件功能的需求不断增加,而软件开发团队难以准确理解和实现这些需求。软件开发成本和进度无法控制:由于对软件开发过程估计不足,导致项目超支、延期交付。软件质量难以保证:软件中存在大量的缺陷和错误,影响软件的正常使用。软件维护困难:随着软件的使用,维护成本高、难度大,且容易引入新的问题。

2.什么是可行性研究?可行性研究的任务是什么?答:可行性研究是在项目开发前,对项目的技术、经济、操作等方面进行全面分析,以确定项目是否可行的过程。可行性研究的任务包括:技术可行性:评估是否有足够的人员、技术和工具来支持系统开发。经济可行性:分析项目的成本和收益,判断在经济上是否合算。操作可行性:考虑系统在实际使用中的可操作性,包括用户的接受程度等。

3.简述需求分析的任务和步骤。答:需求分析的任务是深入描述软件的功能和性能,确定软件系统必须做什么。需求分析的步骤如下:问题识别:收集用户需求,了解用户对软件的期望和要求。分析与综合:对收集到的需求进行分析和综合,提炼出软件的功能和性能需求。编制需求规格说明书:将需求分析的结果以文档形式记录下来,形成需求规格说明书。需求评审:对需求规格说明书进行评审,确保需求的准确性和完整性。

4.软件设计的原则有哪些?答:软件设计的原则包括:高内聚低耦合:模块内元素关联性强,模块间依赖关系弱。模块化:将软件系统划分为多个模块,便于开发和维护。信息隐蔽:模块内部信息对其他模块隐蔽,提高软件的安全性和可维护性。模块独立性:每个模块完成独立的功能,减少模块间的相互影响。可维护性:设计的软件应便于维护,包括修改、扩展和纠错等。

5.简述软件测试的原则。答:软件测试的原则包括:尽早并不断地进行测试:在软件开发的早期阶段就开始进行测试,以便及时发现问题。全面测试:对软件的各个方面进行全面测试,包括功能、性能、兼容性等。重点测试:关注软件的关键功能和容易出现问题的部分。避免测试自己的代码:由独立的测试人员进行测试,减少主观偏见。测试用例要有代表性:能够覆盖各种可能的情况。及时反馈测试结果:将测试中发现的问题及时反馈给开发人员。

6.什么是软件维护?软件维护的类型有哪些?答:软件维护是在软件交付使用后,为了改正错误、改进性能、适应环境变化等而进行的修改和完善软件的过程。软件维护的类型包括:校正性维护:修复软件中存在的错误。适应性维护:使软件适应环境的变化,如操作系统升级等。完善性维护:增加软件的功能,改进软件性能。预防性维护:对软件进行优化和改进,预防未来可能出现的问题。

7.简述面向对象方法的优点。答:面向对象方法的优点包括:提高软件的可维护性:对象的封装性使得软件结构清晰,易于修改和扩展。提高软件的可扩展性:通过继承和多态性,可以方便地添加新的功能和对象。提高软件的可复用性:对象类可以被多个地方复用。符合人类的思维习惯:面向对象方法模拟了人类认识世界的方式,使软件开发更加自然。增强软件的可靠性:通过封装和信息隐蔽,减少了错误传播的可能性。

8.简述UML的主要视图。答:UML的主要视图包括:用例视图:从用户角度描述系统功能,定义了系统的外部行为。逻辑视图:描述系统的静态结构,包括类、接口等。组件视图:展示系统的物理组件,如文件、模块等。部署视图:描述系统在硬件环境中的部署情况。动态视图:包括交互图(顺序图、协作图)、状态图和活动图,用于描述系统的动态行为。

四、综合题1.某高校欲开发一个成绩管理系统,记录学生的课程成绩,并能生成成绩单和进行成绩统计分析。请根据以下要求完成相关工作:画出该系统的数据流图。写出数据字典中部分数据项的定义,如学生信息、课程信息、成绩等。

数据流图```++|学生信息|++|v++|课程信息库|++|v++|成绩管理|++|v++|成绩单生成|++|v++|成绩统计分析|++```

数据字典学生信息:定义:包括学号、姓名、性别、出生日期、专业等描述学生基本情况的数据项。数据项:学号:字符型,长度为8位,唯一标识学生。姓名:字符型,长度为20位。性别:字符型,取值为"男"或"女"。出生日期:日期型。专业:字符型,长度为30位。课程信息:定义:包含课程编号、课程名称、学分、授课教师等关于课程的描述。数据项:课程编号:字符型,长度为6位,唯一标识课程。课程名称:字符型,长度为50位。学分:数值型,取值范围为16。授课教师:字符型,长度为20位。成绩:定义:记录学生在某门课程上的考试成绩及考核方式等。数据项:学号:引用学生信息中的学号。课程编号:引用课程信息中的课程编号。成绩:数值型,取值范围根据课程性质而定。考核方式:字符型,如"考试""考查"等。

2.请设计一个简单的图书管理系统的模块结构,包括图书信息管理、读者信息管理、借阅管理等功能模块,并说明各模块之间的接口关系。

模块结构图书信息管理模块:负责图书信息的录入、修改、删除、查询等操作。读者信息管理模块:管理读者的基本信息,如注册、注销、信息修改等。借阅管理模块:处理图书的借阅、归还、续借等业务。

接口关系图书信息管理模块与借阅管理模块:借阅管理模块在进行借阅操作时,需要从图书信息管理模块获取图书的库存

温馨提示

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

评论

0/150

提交评论