2024年大学试题(计算机科学)-软件工程笔试参考题库含答案_第1页
2024年大学试题(计算机科学)-软件工程笔试参考题库含答案_第2页
2024年大学试题(计算机科学)-软件工程笔试参考题库含答案_第3页
2024年大学试题(计算机科学)-软件工程笔试参考题库含答案_第4页
2024年大学试题(计算机科学)-软件工程笔试参考题库含答案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

“人人文库”水印下载源文件后可一键去除,请放心下载!(图片大小可任意调节)2024年大学试题(计算机科学)-软件工程笔试参考题库含答案“人人文库”水印下载源文件后可一键去除,请放心下载!第1卷一.参考题库(共75题)1.模型是对现实的简化,建模是为了更好地理解所开发的系统。2.DBMS有哪些基本功能?3.耦合是指一个模块内各个元素彼此结合的紧密程度。()4.下列哪一项不是项目组分配角色项()A、项目组长B、开发人员C、测试人员D、管理人员5.面向对象分析(OOA)中,动态建模的内容不包括()A、设计脚本B、划分主题C、画事件追踪图D、画状态转换图6.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。A、Booch方法B、UML语言C、OMT方法D、Coad方法7.下列哪一项不属于保密级别()A、普通B、加密C、保密D、机密8.比较容易发现的涉众称为初始涉众,又称为(),通常包括客户、管理者和相关的投资者。A、关键涉众B、涉众基线C、普通涉众D、一般涉众9.需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据;而软件质量应该摆到最重要的位置加以考虑。10.对象的内部实现与外部可访问性的分离体现了对象的()A、继承性B、共享性C、封装性D、抽象性11.下面所列的性质中,()不属于面向对象程序设计的特性。A、继承性B、重用性C、封装性D、可视化12.成功的测试是指()A、运行测试实例后未发现错误项B、发现程序的错误C、证明程序正确D、改正程序的错误13.面向对象方法中建立动态模型的图形工具是()A、程序图B、数据流图C、对象图D、状态图14.关于软件设计表达法,以下哪些说法是正确的()A、伪代码和程序设计语言POL,类似于编成语言,一般在详细设计阶段描述过程和方法的行为B、形式规范语言是一种文本语言,使用数学(逻辑、集合、顺序)的基本概念,严格、抽象地定义软组件的接口和行为C、实体关系图ERD(EntityRelationshipDiagram):用以定义存储在信息系统中数据的概念模型,只用于数据库模型中D、组件图表示出组件集合及其关系。组件提供接口集合的实现,是系统物理的和可置换的部件15.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是()。16.什么是软件生命周期?根据国家标准《计算机软件开发规范》,软件生命周期主要包括哪些阶段?17.火车是一种陆上交通工具。火车和陆上交通工具之间的关系是()关系。A、组装B、整体部分C、hasaD、一般特殊18.在软件结构设计的后处理中,下列说法错误的是()A、为模块写的处理说明及接口说明可采用IPO图B、数据结构的描述可用Warnier图或Jackon图C、给出设计约束或限制。如数据的边界值,数据类型、格式、内存容量及时间的限D、设计的优化工作主要放在软件结构设计的后处理阶段19.模块中所有成分引用共同的数据,该模块的内聚度是()。A、逻辑性B、顺序性C、功能性D、通信性20.请设计以下策划管理文档:项目周报、项目月报、里程碑报告、重大事件报告、软件开发计划评审报告、项目计划变更申请表、计划更改与批准记录。21.简述业务用例图与用例图的区别。22.下列能减少支援性维护活动的有()A、利用软件包B、进行配置管理C、对用户进行适当培训23.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。()24.()能够有效地检测输入条件的各种组合可能会引起的错误。A、等价类划分B、边界值分析C、错误推测D、因果图25.下面对提高程序编码效率没有影响的是()。A、选择良好的设计方法B、选择良好的算法C、选择良好的数据结构D、变量名的使用26.简述白盒测试的思想,并列举两种典型的测试技术。27.下列软件特性中相互促进的是()A、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好28.你作为NorthWind公司的一个当前项目团队中担任程序经理的角色,该项目的目标是为NorthWind公司的所有计算机部署一个新的合同管理系统部署。项目团队收集了很多信息来进行远景/范围文档的制作,当你阅读完用户的问卷调查反馈后,你发现在不同部门,不同区域,不同工作的用户有()A、重新审查用户就绪准备B、在出事风险表中添加用户需求无法理解的条目C、为远景/范围文档建立用户档案D、使用采访再去收集更多的信息E、做一个交流计划29.什么是白盒测试?白盒测试主要采用的技术有哪些?30.实例关联的含义是什么?如何确认实例关联?31.是否存在这样一种现象:搞系统软件的公司不需要采用CMMI或ISO9001模式?CMMI或ISO9001模式只适用于搞应用软件的企业?如果是,是为什么?如果不是,又是为什么?32.分析RUP的二维开发模型,说明RUP的迭代开发过程。33.在数据流图中,可否将两个加工用一个数据流相连?可否将两个源用一个数据流相连?为什么?34.模块的初始化工作和模块处理意外故障均属于()A、时间内聚B、顺序内聚C、功能内聚D、逻辑内聚35.数据字典与数据流程图和状态变迁图相比较有什么特点?它的基本元素有哪些?36.在软件开发中,下面任务不属于设计阶段的是()。A、数据结构设计B、给出系统模块结构C、定义模块算法D、定义需求并建立系统模型37.关于软件的实现方法中的启发方法,以下哪些说法是错误的()A、边设计边高度以反馈数据改进设计,都发球启发式方法B、典型的启发式方法的应用时网络通信的交通路经控制C、启发式方法术语形式方法,利用自学习的途径求解问题,利用已有算法知识产生某个问题的解,只要直接构造的是非启发式系统D、启发式系统的特征是在根毛中获取知识以才能做出系统38.说明动态建模的过程。39.活动图是()图的特殊情况。A、类B、执行者C、状态D、对象40.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。41.软件的生存周期一般分成哪几个阶段?42.()是按自顶向下进行软件系统总体设计的思想发展而来的,是以数据流为基础、自顶向下、逐步求精和模块化的一个过程。该方法也被称为面向数据流的设计方法。43.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是()和()。44.通常将具有共性的非功能要求设计在(),以减少重新开发的工作量。A、接口层B、中间层C、最低层D、最高层45.结构化设计采用模块化方法的主要出发点是()。A、增加内聚性B、减少耦合度C、提高有效性D、降低复杂度46.头插法建立单链表时,元素的输入顺序与在链表中的逻辑顺序是()的。47.提高可维护性的方法有哪些?48.软件开发环境由软件开发工具和环境集成机制构成,前者用于支持()A、需求分析的相关过程、活动和任务B、软件设计的相关过程、活动和任务C、软件编码的相关过程、活动和任务D、软件开发的相关过程、活动和任务49.为了定量评价软件质量,必须对软件特性进行()A、评审B、测试C、分析D、维护50.软件调试有哪些方法?各自有什么特点?51.单元测试的计划应该在什么阶段完成()A、需求分析B、概要设计C、详细设计52.维护机构接受维护申请后,接下的工作是()A、回归测试B、评价申请C、执行维护D、组织复审53.软件测试对象应包括哪些内容?54.请使用PAD图描述在数组A(1)~A(10)中找最大数的算法。55.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。()56.项目的前景和范围文档、用户需求文档都被视为属于(),重点都是用户的现实世界。A、开发文档B、需求文档C、前景文档D、用户文档57.怎样才能得到可维护性高的程序(提高可维护性有那些方法)?58.面向对象设计思想的核心是封装、继承和()A、选择B、消息C、多态D、调用59.继承有单继承和多继承。单继承指的是子类只有一个父类,在一个类层次结构中若只有单继承,则该类层次结构是树形结构。多继承指的是子类可以有多个父类,在一个类层次结构中若有多继承,则该类层次结构是()层次结构。A、树形B、星形C、网状D、环形60.下列属于面向对象开发方法的是()。A、BoochB、UMLC、CoadD、OMT61.交互图是对单个用例的典型场景的实现,适合于事务性业务工作的表示。62.()不属于概要设计所解决的问题范围。A、确定模块的层次结构B、全程数据结构的设计C、描述系统的功能与性能D、修改用户手册63.可以采用基于线程或基于服务界面的策略完成面向对象系统的集成测试。基于线程的测试,集成一组相互协作以对某个输入或某个事件作出响应的类;基于服务界面的测试,从那些界面窗口类开始,按界面层次构造系统。64.各种软件维护的类型中最重要的是()。A、完善性维护B、纠错性维护C、适应性维护D、预防性维护65.面谈中,问题组织结构中,下列不属于问题的组织结构的是()。A、金字塔结构B、漏斗结构C、封闭式结构D、菱形结构66.软件产品与其他任何产品不同,它是无形的,完全没有物理属性。67.什么是软件工程环境?68.什么是“类”?“类”与传统的数据类型有什么关系?有什么区别?69.在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有()。A、隐藏复杂性B、信息隐蔽C、经常类的复用D、类的开发70.简述模块、模块化及模块化设计的概念。71.简述面向数据结构方法的特点。72.内聚程度较低的是()内聚。A、偶然B、通讯C、顺序D、时间73.基于组件的软件开发的优势是什么?74.用例与角度之间的关联情况以下说法正确的是()A、0-无关联B、1-相当相关C、2-密切相关D、3-轻度关联75.瀑布模型是一种以对象为驱动的模型,适合于面向对象方法。第2卷一.参考题库(共75题)1.怎样理解“如果你对过程域吃透了,用好了,你就成为CMMI的内行了”?2.快速原型模型的主要特点之一是()A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供工作软件3.按照构建技术进行分类,原型可分为:水平原型和垂直原型。4.等价分类法的测试技术采用的一般方法?5.在顺序表(2,5,7,10,15,18,21,25)中,用二分法查找关键字值20所需的关键字比较次数为()6.下面哪个不属于常见的3类人机界面设计指南()A、一般交互指南B、信息输出指南C、数据输入指南D、信息显示指南7.为什么说类构件是目前较为理想的可重用软构件?它有哪些重用方式?8.PAD(ProblemAnalysisDiagram)图是一种()工具。A、系统描述B、详细设计C、测试D、编程辅助9.尽可能在软件生产过程中保证各阶段文件的正确性。10.瀑布模型(WaterfallModel)突出的缺点是不适应()的变动。A、算法B、平台C、程序语言D、用户需求11.容错系统的设计包括哪些步骤?12.详细设计说明书中可以使用判定表及必要的说明来表示程序的逻辑。13.如果选择的开发方法是实验式或者探索式开发方法,应该尽量花费最小的代价,争取最快的速度,忽略或简化不重要的功能处理。14.PO图由()、()和()三个框组成。这个图的特点是能够直观的显示三者之间的关系。15.李先生在公司的项目组中担任发布管理的角色,该项目组所负责的项目正处于项目的部署阶段,在该阶段中,李先生的工作重点是()A、比较解决方案/工作域,稳定管理B、解决问题,增大支持(escalationsupport)C、促进,反馈,评估,签字D、培训,培训进度管理E、性能测试,问题标识F、站点部署管理,批准更改16.软件在需要它投入使用时能实现其指定的功能的概率是()。A、可靠性B、可理解性C、可移植性D、可使用性17.什么是快速原型方法?18.Lipow证明了:当源程序少于100个语句时,每行代码的出错率随程序行数的增长()。A、呈线性相关关系B、呈指数方式增长C、呈对数方式增长D、没有一定规律19.模块内聚性是衡量模块内各成分()彼此结合的紧密程度。A、之间B、中间C、前面D、后面20.需求分析阶段的基本任务是什么?21.软件危机的表现形式是()、()、()。22.提高I/O设备效率的指导原则有哪些?23.一般来说,在管理软件中,软件生存周期各个阶段的工作量以()所占的比例最大。A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段24.软件重用技术是从根本上提高软件可维护性的重要技术。25.软件开发环境中最主要的组成部分是()A、软件工程B、项目管理工具C、软件工具D、需求分析工具26.软件的生产与硬件不同,在它的开发中没有明显的制造过程。对软件的质量控制,必须着重在软件维护方面下功夫。27.怎样进行基本路径测试?28.某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示,请问图中是否应该增加"教务人员"?试说明理由。29.程序系统时代出现的“软件作坊”有什么特点?30.使用条件路径选择进行白盒测试时,对于嵌套型分支结构,若有n个判定语句,则需要()个测试用例。A、n-1B、nC、n+1D、2n31.抽象和求精是一对互补的概念,也是人类解决复杂问题时最常用、最有效的方法。32.经济可行性研究的范围包括()A、资源有效性B、管理制度C、效益分析D、开发风险33.软件测试的目的是证明程序没有错误。34.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。()35.场景被人们广泛接受的原因是因为人们更倾向于会对真实事件和真实事物的描述产生反应。36.模块间的单向调用关系叫做模块的层次结构。37.可将软件生存周期划分为3个过程,可行性研究属于其中的()A、软件定义过程B、软件开发过程C、软件设计过程D、软件运行与维护过程38.在软件测试中,下面说法中错误的是()。A、测试是为了发现程序中的错误而执行程序的过程B、测试是为了表明程序是正确的C、好的测试方案是极可能发现迄今为止尚未发现的错误的方案D、成功的测试是发现了至今为止尚未发现的错误的测试39.面向对象分析时,所标识的对象为()是错误的。A、与目标系统有关的物理实体B、与目标系统发生作用和人或组织的角色C、目标系统运行中需记忆的事件D、目标系统中环境场所的状态40.为了提高模块的独立性,模块内部最好是()A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚41.请说明为什么模块控制的宽度和深度要适度。42.传统方法学采用结构化技术自底向上地完成软件开发各项任务。43.螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:()、()、开发实施、()。44.软件需求分析阶段的目的是澄清用户的要求,并把双方共同的理解明确地表达成一份书面文档,即()。45.面向对象的基本概念类、对象、封装、继承等定义是什么?46.GB/T17544中,测试文档的种类包括()A、测试计划B、测试描述C、测试报告D、测试用例47.文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的(),软件开发人员在各个阶段以文档作为前段工作成果的体现和后段工作的基础。A、接口B、桥梁C、科学D、继续48.面向对象实现应该选用哪种程序设计语言?为什么?49.顺序表中查找某个元素时,从前到后查找与从后到前查找的时间复杂度()。50.请详细说明瀑布模型与迭代模型之间的关系。51.下列模型中,不属于质量度量模型的是()A、Boehm模型B、McCall模型C、喷泉模型D、ISO软件质量评价模型52.面向数据结构的设计,考虑问题的出发点是(),最终目标是();解决问题的焦是()。53.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。()54.软件工程管理的主要内容有:项目经费管理,(),项目进度管理和人员管理。55.关于Sprint,下面的()是错误的。A、一个Sprint通常是一个1-4周的迭代B、Sprint长度在开发过程中是可以调整的C、需求在一个Sprint中是不允许变化的D、sprint的产出是“完成”的、可用的、潜在可发布的产品增量56.基本表、代码表、中间表、临时表,它们有何异同?57.耦合是对软件结构中各个不同模块之间互相关联程度的度量。一个模块直接访问另一个模块的内部信息应属于()方式。A、控制耦合B、内容耦合C、数据耦合D、外部耦合58.为什么要进行软件维护?59.下列各种图可用于对象内部动态建模的有()A、用例图B、类图C、状态图D、包图60.简述使用DFD描述系统过程模型是必须遵守哪些规则。61.举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗?62.分析类用于描述系统中概念层次的对象。63.在衡量软件质量时,最重要的标准是()A、可维护性好B、可用性好C、满足用户功能需求64.若某种内聚要求一个模块中包含的任务必须在同一段时间内执行,这种内聚属于()A、时间内聚B、逻辑内聚C、通信内聚D、信息内聚65.在进行需求分析时,就应该同时考虑软件的可维护性问题。66.一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。建立该书的对象模型。67.统计表明,软件测试工作往往占软件开发总工作量的()%以上。A、20B、40C、60D、8068.()是衡量软件的模块独立性的两个定性度量标准。A、耦合性和内聚性B、内聚性和可靠性C、耦合性和独立性D、可靠性和独立性69.简述数据流图在可行性研究中的作用和用途。70.面向对象程序的质量基本上由面向对象设计的质量决定,并对程序的可靠性、可重用性和可维护性产生深远的影响。71.分析比较面向对象的软件测试与传统的软件测试的异同。72.将如下的基本文件:考生基本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)合并成考生新文件。 试用面向数据结构的Jackson方法完成下列工作 (1)画出输入和输出的数据结构图; (2)画出程序结构图; (3)写出程序的过程性表示,列出所有操作和条件. (4)用Jackson伪代码写出与程序结构图对应的过程性表示73.什么软件?软件按功能进行划分,可以划分成哪几类?按工作方式进行分类,可以划分成哪几类?74.只支持单重继承的程序设计语言有()A、C++B、DelphiC、C75.结构化设计方法采用变换分析和事务分析技术实现()。A、从数据结构导出程序结构B、从模块结构导出程序结构C、从模块结构导出数据结构D、从数据流图导出初始化结构图第1卷参考答案一.参考题库1.参考答案:正确2.参考答案:1、建立数据库的结构;2、管理用户的数据库;3、提供在数据库上的各种操作;4、提供数据库对外的各种接口。3.参考答案:错误4.参考答案:D5.参考答案:B6.参考答案:B7.参考答案:B8.参考答案:B9.参考答案:正确10.参考答案:C11.参考答案:D12.参考答案:B13.参考答案:D14.参考答案:A,B,D15.参考答案:顺序内聚16.参考答案:软件生命周期是指软件定义、开发、运行维护,直至被淘汰的全过程。根据我国国家标准《计算机软件开发规范》(GB8566—8),软件生命周期包括软件定义、软件开发、软件运行维护三个阶段,并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。17.参考答案:D18.参考答案:D19.参考答案:D20.参考答案: (1)项目周报是: (2)项目月报是: (3)里程碑报告是: (4)重大事件报告是: (5)软件开发计划评审报告是: (6)项目计划变更申请表是: (7)划更改与批准记录是:21.参考答案: 业务用例图用于建立机构的业务模型,包括描述整个机构业务执行的流程和所提供的功能等内容。 用例图用于对软件系统的需求分析,即用于描述一个软件系统需要完成什么样的功能。22.参考答案:C23.参考答案:错误24.参考答案:D25.参考答案:D26.参考答案: 白盒测试又称结构测试,它把测试对象看作一个透明的盒子。测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态和预期的状态是否一致 典型测试技术:逻辑驱动、基本路径测试等27.参考答案:A28.参考答案:B29.参考答案: 白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。 白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。30.参考答案: 实例关联指的是对象实例集合与另一个对象实例集合之间的某种静态的映射关系。有关联的两个实例集合既可以是两种对象的实例集合,也可以是同一种对象的实例集合的两个子集。确定实例关联包括确定关联类型和对象实例之间可能存在的映射数目和范围。 常见的关联类型有表示物理位置的(如毗邻、包含),动作传递的(如驱动、发动),通讯联系的(如告诉),所有关系的(如拥有)和条件满足的(为...工作、与...结婚、管理)等等。 对关联的确定,可以在分析剧本中所描述的事物和事物之间的关系的基础上,通过建立”对象联系矩阵”来进行。 在对象与对象相交的空格处,如果两对象之间具有某种联系,则填写上相应的联系类型和实例映射数目。 在同一对象相交的空格处亦可以具有联系,此时表明该对象的不同实例集合之间具有某种联系。 对象实例关联可以从对象联系矩阵所描述的关系抽象得到。31.参考答案:不是。因为CMMI和ISO9000模式规定了严格的管理制度、文档和评估软件能力与成熟度等级的一套标准,它们几乎包括了所有的IT的企业,只是一些优秀的企业自己内部形成特有的企业管理文化,但是它们并不排斥CMMI和ISO9000模式,甚至还充分肯定CMMI和ISO9000体系。32.参考答案: 在RUP中,软件开发生存周期根据时间和RUP的核心工作流划分为二维空间。横轴描述RUP开发过程的动态结构,纵轴描述RUP的静态组成部分。 ⑴横轴把软件开发周期(Cycle)划分为起始(Inception)、演化(Elaboration)、构造(Construction)和提交(Transition)四个连续的阶段(Pahse)。 ⑵纵轴表示核心工作流。RUP中有商业建模、需求、分析和设计、实现、测试、部署、配置和变更管理、软件项目管理和环境9个核心工作流(CoreWorkflows): RUP中的每个阶段都由一个或多个连续的迭代组成,每一个迭代都是一个完整的开发过程,产生一个可执行的产品版本,在每个阶段结束前都应有一个里程碑(MileStone)评估该阶段的工作,只有当阶段目标达到时才允许项目进入下一阶段,产生一个阶段里程碑。这是一种更灵活、风险更小的方法,是多次通过不同的开发工作流,这样可以更好地理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本,称为一个迭代生存周期。33.参考答案:两个加工可以直接用数据流相连,两个源不能直接用数据流相连。因为数据流由一组固定成分的数据组成。在DFD中,数据流的流向可以有以下几种:从一个加工刘向另一个加工,从加工流向文件(写文件),从文件流向加工(读文件),从源流向加工,从加工流向宿。34.参考答案:A35.参考答案: 数据流程图反映了系统的静态特征,状态变迁图反映了系统的动态特征。而它们都不能反映系统的具体细节。 数据字典能够进一步描述模型的细节。以数据字典为中心的建模方法能够相对完整精确地描述一个系统。 数据字典的主要元素有:数据元素、数据流、处理和数据文件或者数据库。36.参考答案:D37.参考答案:C38.参考答案:(1)准备脚本。 动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。 (2)确定事件。 确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作。 (3)准备事件跟踪表。 把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。 (4)构造状态图。 对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。39.参考答案:C40.参考答案:正确41.参考答案: 三个时期: 软件定义,软件开发,运行开维护。 八个阶段: 问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,维护。42.参考答案:结构化程序设计43.参考答案:聚集;组合44.参考答案:B45.参考答案:D46.参考答案:相反的47.参考答案: 在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,应从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。48.参考答案:D49.参考答案:A50.参考答案: 常见的软件调试策略包括:试探法、归纳法、演绎法、回溯法和对分法等。 ⑴试探法。一种比较原始的调试策略。它的基本思想是通过分析软件系统运行过程中大量数据信息、中间结果的变化情况来查找错误发生的原因、确定错误发生的位置。该方法简单、易行,但调试效率低,只适用于结构比较简单的小型系统。 ⑵归纳法。一种由特殊到一般的逻辑推理方法。根据软件测试所取得的个别错误数据,错误线索着手,通过分析这些线索之间的关系而发现错误。 ⑶演绎法。一种由一般到特殊的逻辑推理方法。根据已有的测试数据,设想所有可能的出错原因,然后通过测试逐一排除不正确、不可能的出错原因,最后证明剩余的错误的合理性,确定错误发生的位置。 ⑷回溯法。从软件系统中发现错误位置开始,沿着程序的控制流程往回追踪程序代码,直至找到错误发生的位置或范围。回溯法对于规模较小的软件系统而言是一种比较有效的调试策略,但不适宜较大型的软件。 ⑸对分查找法。在程序中插入某些变量关键点的正确值,检查程序的运行结果,在插入点以后的运行正确,则错误发生在插入点的前半部分;反之,错误发生在插入点的后半部分。不断对分缩小错误范围,进行错误定位。51.参考答案:C52.参考答案:B53.参考答案:软件测试并不等于程序代码测试,其应该贯穿于软件定义与开发的整个期间。因此,需求分析、概要设计以及程序编码等各阶段所得的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序代码都应成为软件测试的对象。54.参考答案: 55.参考答案:错误56.参考答案:D57.参考答案: ⑴建立明确的软件质量目标。 ⑵采用先进的软件开发方法、技术和工具。 ⑶建立明确的质量保证体系。 ⑷选择可维护的程序设计语言。 ⑸改进程序文档。58.参考答案:C59.参考答案:C60.参考答案:A,B,C,D61.参考答案:正确62.参考答案:C63.参考答案:错误64.参考答案:A,B65.参考答案:C66.参考答案:正确67.参考答案:方法与工具的结合,加上配套的软、硬件支持称为软件工程环境。它能支持开发者按照软件工程的方法,全面完成生存周期中的各项任务。68.参考答案: 把具有相同特征和行为的对象归在一起就形成了类。类成为某些对象的模板,抽象地描述了属于该类的全部对象的属性和操作。属于某个类的对象叫做该类的实例。对象的状态则包含在它的实例变量,即实例的属性中。类定义了各个实例所共有的结构,类的每一个实例都可以使用类中定义的操作。实例的当前状态是由实例所执行的操作定义的。 类,就它是一个数据值的聚合的意义上来看,与Pascal中的记录或C中的结构类似,但又有差别。类扩展了通常的记录语义,可提供各种级别的可访问性。也就是说,记录的某些成份可能是不可访问的,而这些成份对于本记录型来说具有可访问性。类不同于记录,因为它们包括了操作的定义,这些操作与类中声明的数据值有相同的地位。69.参考答案:B70.参考答案: 模块是数据说明、可执行语句等程序对象的集合,是单独命名的,并且可以通过名字来访问的。 模块化是指把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件。 模块化设计就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。71.参考答案: 1.以信息对象及其操作作为核心进行需求分析; 2.认为复合信息对象具有层次结构,并且可按顺序,选择,重复3种结构分解为成员对象信息; 3.提供由层次信息结构映射为程序结构的机制,从而为软件设计奠定良好的基础。72.参考答案:A73.参考答案: 大量来自产业实例研究的证据表明基于组件的软件开发导致软件系统的开发成本、开发质量、开发效率都得到了显著的改善。 ①开发的质量 基于组件的软件开发的一个明显优点就是提高了软件的质量。可复用的组件相对于在单一应用中使用的模块来说,一般都更为成熟并具有较高的质量保证,这主要是因为: (1)可复用的组件在开发过程中都经过严格的测试。组件的开发者一般都是在该组件的使用领域具有丰富经验、对该领域具有深入研究的开发团体,他们能从以往的客户和开发项目那里得到许多宝贵的经验,因而更容易开发出高质量的组件“精品”。在组件的开发过程中,为了保证它广泛的适应性和在频繁使用过程中的正确性,一般对其有更高的质量要求,并且在组件正式发布以前,都要进行更为严格的测试。因而可复用组件的质量会得到更好的保证。 (2)可复用的组件在不断复用过程中,其中的错误和缺陷会被陆续的发现,并得到及时的排除。所以随着一个可复用组件复用次数的不断增加,其中的错误会逐渐减少,软件的质量也随之改善。在软件开发中使用的一个可复用组件通常都是经过许多其他客户的频繁使用,因此可复用的组件相对于新开发的模块更为成熟。 HP公司的一份研究报告认为:“被复用代码的缺陷率是每一千行0.9个缺陷。而在新开发的代码中缺陷率是每一千行4.1个缺陷。对一个包含68%复用代码的软件来说,缺陷率是每一千行2.0个缺陷,比无复用的软件缺陷率大约减少了51%。” 所以可以说,基于可复用的组件的软件开发在质量和可靠性方面确实带来了实质性的提高。 ②开发的效率 基于可复用组件的软件开发对于提高软件开发的效率也有着显著的作用。软件复用已经渗透到了软件开发的各个阶段,在开发的各个阶段都有可以被重复使用的软件产品。在分析和设计阶段可以复用的组件包括:应用框架、用例、分析和设计模型等产品。在编码阶段可以复用的组件包括:函数库、子程序库、类库、二进制组件库等产品。在测试阶段复用的组件包括测试用例和测试数据等产品。显然使用现成可用的可复用组件比从头开始进行开发在开发效率上大为提高。在软件开发的各个阶段使用相应的可复用组件对于提高软件产品的生产效率具有重大的意义。 然而使用可复用的组件对开发效率的影响受到多方面因素的影响,这些因素包括:应用领域、问题的复杂度、开发队伍的结构和规模、项目开发的周期、被应用的技术等。由于在不同的应用中影响其开发效率的因素有所不同,所以可复用组件对开发效率的提高程度也是不同的,一般大约30%-50%的复用可以使开发效率提高25%-40%。 ③开发的成本 使用可复用的现成组件进行软件开发比一切都重新开发,其成本大为节省。它避免了不必要的重复劳动和人力财力的浪费。同时也必须意识到基于组件的软件开发也是有一定成本和代价的。首先是开发可复用的组件的成本。通常开发、测试、维护一个可复用的组件的成本是一个具有相同功能非复用组件的1.5-3倍。因为可复用的组件需要有更强的适应性和更高的质量保证。其次是建立和维护组件库的成本。对组件库的管理、维护、检索和修改也需要投入相当的时间和金钱。另外,在开发软件复用一个组件时,也是需要一定成本的。虽然复用一个现成的组件的成本比重新开发的成本要低得多,只有后者的四分之一左右,但是复用的开销不会降到零。74.参考答案:A75.参考答案:错误第2卷参考答案一.参考题库1.参考答案:为了学好、用好CMMI,推荐“过程域是纲,纲举目张”的办法。对于CMMI1.2版本,要以它的22个过程域为纲(主线),以特定目标、特定实践、共性目标、共性实践为目,去熟悉每个级别中的内容,从内容中去发现内涵。作为第一步,先熟悉CMMI阶段模型ML2中的7个PA,为了实现每个过程域的目标(包括特定目标和共性目标),要规划每个PA对应的关键实践(包括特定实践和共性实践)及工作产品,然后在组织内实施,以改善软件管理过程。2.参考答案:D3.参考答案:正确4.参考答案: (1)为每个等价类编号。 (2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。 (3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有无效等价类被覆盖为止。5.参考答案:36.参考答案:B7.参考答案: 具备可重用的软构件应有的特点:独立、可塑、接口清晰(文档详尽)。 重用方式有:实例重用、继承重用和多态重用。8.参考答案:B9.参考答案:正确10.参考答案:D11.参考答案: ⑴按设计任务要求进行常规设计,尽量保证设计的正确。 ⑵对可能出现的错误分类,确定实现容错的范围。 ⑶按照“成本──效率”最优原则,选用某种冗余手段(结构、信息、时间)来实现对各类错误的屏蔽。 ⑷分析或验证上述冗余结构的容错效果。如果效果没有达到预期的程度,则应重新进行冗余结构设计。如此反复,直到有一个满意的结果。12.参考答案:正确13.参考答案:正确14.参考答案:输入;处理;输出15.参考答案:F16.参考答案:A17.参考答案:所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。强调过程的多次反复,对文档的要求不高。18.参考答案:A19.参考答案:A20.参考答案:需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作: (1)问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。 (2)分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。 (3)编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。21.参考答案:成本高;生产率低;质量难保证22.参考答案: 1、I/O的请求应当最小化; 2、对于所有的I/O操作,安排适当的缓冲区,以减少频繁的信息交换; 3、对辅助存储(例如磁盘),选择尽可能简单的,可接受的存取方法; 4、对辅助存储的I/O,应当成块传送; 5、对终端或打印机的I/O,应考虑设备特性,尽可能改善I/O的质量和速度; 6、任何不易理解的,对改善输入/输出效果关系不大的措施都是不可取的; 7、任何不易理解的所谓“超高效”的I/O毫无价值。23.参考答案:D24.参考答案:正确25.参考答案:C26.参考答案:错误27.参考答案: ⑴以详细设计或源程序为基础,导出程序图; ⑵计算程序图的环路覆杂性; ⑶确定只包含独立路径的基本路径集; ⑷设计测试用例,确保基本路径集中每条路径(独立路径)的执行。28.参考答案: 不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。 29.参考答案:软件作坊虽然也生产具有工业化特征的软件产品,但软件作坊是一种比较松散的组织机构,缺少工业化企业应具有的标准、规范和制度,因此不能使软件生产过程工业化。30.参考答案:C31.参考答案:正确32.参考答案:C33.参考答案:错误34.参考答案:错误35.参考答案:正确36.参考答案:正确37.参考答案:A38.参考答案:A39.参考答案:D40.参考答案:C41.参考答案:深度过大表示分工过细,而宽度过大则表示系统复杂度大,所以模块控制的宽度和深度要适度。42.参考答案:错误43.参考答案:制定计划;风险分析;用户评估44.参考答案:软件需求规格说明书45.参考答案: 类(Class)是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。 对象(Object)是系统中描述客观事物的一个实体,它是构成系统的一个基本的单位,由一组属性和对这组属性进行操作的一组服务组成,是类的一个实例 封装(Encapsulation)是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。 继承性:如果一个类A继承自另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”。继承使得相似对象可以共享程序代码和数据结构,大大减少程序中的冗余信息;继承可以把已有的一般性的类具体化来提高软件的可重用性。 多态性(Polymorphism)是指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为。46.参考答案:A,C,D47.参考答案:B48.参考答案: 应该选择能够更完整、更正确地表达问题域语义的面向对象语言。 这是由于面向对象语言相对非面向对象的语言,其突出的优点:一致的表示方法、可重用性、可维护性。49.参考答案:相同50.参考答案: 在宏观上,迭代模型是动态模型,瀑布模型是静态模型。一方面,迭代模型需要经过多次反复迭代,才能形成最终产品。另一方面,迭代模型的每一次迭代,实质上都是执行一次瀑布模型,都要经历初始、精化、构造、移交4个阶段,走完瀑布模型的全过程。 在微观上,迭代模型与瀑布模型都是动态模型。迭代模型与瀑布模型在每一个开发阶段(初始、精化、构造、移交)的内部,都有一个小小的迭代过程,只有经历这一迭代过程,该阶段的开发工作才能做细做好。 瀑布模型与迭代模型之间的这种微妙关系,如下图所示。51.参考答案:C52.参考答案:数据结构;得出程序的过程性描述;实体的结构分析53.参考答案:错误54.参考答案:软件质量管理55.参考答案:B56.参考答案: 数据库是表的集合,表由字段组成,表中存放着记录

温馨提示

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

评论

0/150

提交评论