辽师软件工程期末复习题.docx
《辽师软件工程期末复习题.docx》由会员分享,可在线阅读,更多相关《辽师软件工程期末复习题.docx(20页珍藏版)》请在冰豆网上搜索。
![辽师软件工程期末复习题.docx](https://file1.bdocx.com/fileroot1/2023-3/29/74be7c8c-27ef-4154-bba8-f102f612e991/74be7c8c-27ef-4154-bba8-f102f612e9911.gif)
辽师软件工程期末复习题
Documentserialnumber【KKGB-LBS98YT-BS8CB-BSUT-BST108】
辽师软件工程期末复习题
说明:
以下试题虽然经过多次整理,但由于时间有限,存在错误或不足之处在所难免。
同学们在阅读和使用过程中如发现问题,请你在课程评价的“建议”中指出,具体方法是:
写明大小题号:
问题所在;正确内容。
在此谢谢你提供的方便和指正。
一、概念题
1、软工程:
是1)将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上;2)对1)中所述方法的研究。
2、软件:
是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。
3、软件危机:
是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
4、软件过程:
是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动。
5、基线:
是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变。
6、软件配置项:
是为配置管理而作为单独实体处理的一个工作产品或软件。
7、对象:
是系统中用来描述客观事物的一个实体,它是构成系统给的一个基本单位,有一组属性和对这组属性进行操作的一组服务组成。
8、软件过程模型:
是描述软件过程的整体框架,它是软件过程的一种抽象表示。
9、类:
是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。
10、实体类:
用于描述必须存储的信息及其相关行为,它是对系统核心信息的建模,通常这些信息需要长久地保存。
11、版本:
是确定在明确定义的时间点上某个配置项的状态。
12、耦合度:
是表示两个子系统之间的关联程度。
当一个子系统发生变化时对另一个子系统的影响很小,则称它们是松散耦合的;反之,如果变化的影响很大时,则称它们是紧密耦合的。
13、软件需求:
1)用户解决问题或达到目标所需要的条件或能力。
2)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需要具有的条件或能力。
3)一种反映上面1)或2)所描述的条件或能力的文档说明。
14、软件实现:
是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。
15、内聚性:
是子系统内部的相关程度。
当子系统中彼此相关的多个对象执行类似的任务时,则认为该子系统是高内聚的;反之,当子系统内的多个对象彼此不相关时,则认为是低内聚的。
16、软件验证:
是指试图证明在软件生存期各个阶段,软件产品或中间产品是否能够满足客户需求,包括逻辑协调性、完备性和正确性。
17、软件测试:
广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。
狭义上讲,测试是对软件产品质量的检查和评价,它一方面检查软件产品中存在的质量问题,同时对产品质量进行客观的评价。
18、软件再工程:
是以系统理解为基础,结合逆向工程、重构和正向工程等方法,将现有系统重新构造成为新的形式。
19、软件确认:
是一系列的活动和过程,其目的是保证软件产品能够符合其描述要求。
20、软件维护:
是指在软件运行或维护阶段对软件产品所进行的修改,做这些修改时可能改正软件中的错误,也可能是增加新的功能以适应新的需求,但是一般不包括软件系统结构上的重大改变。
21、遗留系统:
是指那些过时或存在问题的计算机系统,它们往往是许多年以前开发出来的,在长期的使用过程中不断地被人们修改。
22、项目风险:
是一种不确定的事件或条件,这种事件或条件一旦发生,就会对项目目标产生某种正面或负面的影响。
23、软件风险管理:
是通过主动而系统地对项目风险进行全过程的识别、分析和监控,最大限度地降低风险对软件开发的影响。
24、多态性:
是指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为。
二、选择题
1、系统的规格说明与其行为之间的偏差称为:
C。
A:
软件错误B:
软件缺陷
C:
软件故障D:
软件危机
2、下列关系属于静态的是B。
A:
对象B:
继承
C:
关联D:
类
3、描述系统“要做什么”而不是“怎么做”的是D。
A:
软件需求B:
业务需求
C:
需求分析D:
需求规格说明
4、在问题及其最终解决方案之间架设桥梁的第一步是A。
A:
需求获取B:
需求分析
C:
需求规格说明D:
需求验证
5、软件工程以关注软件质量为目标,三要素为ABC。
A:
过程B:
方法,
C:
工具D:
结果
6、软件过程包括ABCD。
A:
规格说明B:
软件开发
C:
软件演化D:
软件确定
7、软件质量属性包括:
ABCD。
A:
可维护性B:
可依赖性
C:
有效性D:
可用性
8、业务需求是组织或客户对于系统的高层次目标要求,定义了项目的远景和范围,
即确定ABCD。
A:
软件产品的发展方向B:
功能范围
C:
目标客户D:
价值来源
9、软件测试人员应具备的素质B。
A:
表达能力B:
移情能力
C:
操作能力D:
适应能力
10、下列关于UML叙述不正确的是A。
A、UML是一种高级编程语言,且是可视化的
B、UML是一种可用于详细描述的语言
C、UML是一种构造语言
D、UML是一种文档化语言
11、常用的数据存储方式ABC。
A、数据文件B、关系数据库
C、面向对象数据库D、层次数据库
12、下列说法中正确的是ABC。
A、FORTRAN适合于科学计算B、COBOL适用于商业处理
C、BASIC适应分时操作系统D、JAVA适合于实时系统开发
13、消息是对象发出的服务请求,一般包括ABCD。
A、对象标识B、服务标识
C、输入信息D、应答信息
14、A是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。
A、对象B、类
C、消息D、聚合
15、B是表示两个子系统之间的关联程度。
A、模块化B、耦合度
C、内聚性D、复用性
16、由于不断的内存泄漏或非法访问内存造成的错误是A。
A、内存异常B、内存分配
C、软件危机D、软件故障
17、表示一种一般事物(父类)和特殊事物(子类)之间的关系是C。
A、依赖B、关联
C、泛化D、实现
18、下列哪种系统在开发中适用于形式化方法模型D。
A、位于火车站的交互式车次查询系统B、大学教务管理系统
C、支持软件维护的软件工程工具D、汽车防抱死刹车控制系统
19、具有异步性和及时性特点的一种常用的项目沟通方式是D。
A、电话交谈B、项目网站
C、书面报告D、电子邮件
20、系统需求模型的描述方法有ABC。
A、结构化英语B、可视化模型
C、形式化方法D、具体化内容
21、在大多数软件项目中,C典型的开发组织方式。
A、民主式B、主程序员式
C、技术管理式D、项目式
22、面向对象的软件工程方法不包括以下哪个选项A
A、面向对象解答B、面向对象分析
C、面向对象设计D、面向对象测试
23、软件生命周期中所花费用最多的阶段是D。
A、详细设计B、软件编码
C、软件测试D、软件维护
24、下列哪个阶段不是软件生存期三个阶段中的内容C。
A、计划阶段B、开发阶段
C、编码阶段D、维护阶段
25、有效的软件项目管理集中在AB方面
A、人员B、项目
C、结果D、开始
26、A是影响沟通有效性的重要因素之一。
A、软件团队规模B、团队人员
C、项目大小D、外在因素
27、以下C是聚合关系,例如大学中的系由办公室、实验室、资料室组成。
A、实验室和资料室B、实验室和办公室
C、系和实验室D、办公室和实验室
28、以下D不是微软开发团队的特点。
A、交流和管理成本低B、决策和执行速度快
C、产品质量易于控制D、多元化的项目组织
29、软件成本估算不包括以下哪一项D。
A、专家判断B、类比估算
C、COCOMO模型D、软件项目成本预算
30、下列属于递进式的软件开发策略的表现的是ABC。
A、解决问题的及时性B、不确定和变更因素的可控性
C、缩短产品上市周期D、提高软件产品的质量
31、对UML理解错误的一项是D。
A、一种可视化的建模语言B、一种可用于详细描述的语言
C、一种构造语言D、一种具体化方法
32、顺序图的组成不包括下列哪个选项D
A、对象B、生命线
C、消息D、模型
33、UML的组成不包括下列哪个选项B
A、视图B、代码
C、图D、模型元素
34、下面哪个与其他几个不同D。
A、驾驶执照B、信用卡
C、身份证D、Joe的第一次作业
35、需求描述,以下哪种是半形式化语言B。
A、符号B、图形
C、语言、文字的描述D、自然语言
36、对于冰箱,它的系统需求是AD,功能需求是B,非功能需求是C。
A、制冷B、冷藏
C、节能D、照明
37、需求分析的主要内容工作内容包括:
定义系统的边界,建立软件原型,分析需求可行性,确定需求优先等级,A。
A、建立需求分析模型,创建数据字典B、建立软件原型,创建数据字典
C、分析获取信息,创建数据字典D、建立需求分析模型,分析获取信息
38、需求工程的所有过程,包括需求获取,需求分析,需求规格说明,A等等。
A、需求验证和需求管理B、需求验证和分析需求
C、需求管理和需要的产生D、需求管理和分析需求
39、软件项目的实践表明,项目团队成员的数量应保持在C之间,才是最佳范围。
A、1到2人B、4到6人
C、3到7人D、8到10人
40、项目沟通的方式多种多样,目前为止用于解决问题并达成一致意见的唯D。
A、直接交谈B、电话交谈
C、电子邮件D、会议
E、项目网站F、书面报告
41、A是一种比较科学的估算方法,它适合评估一些与历史项目在应用领域、环境和复杂度上相似的项目,通过历史项目与新项目的比较得到规模估算。
A、类比估算B、专家判断
C、经验模型D、公式模型
42、B是指需求规格说明对各种需求的描述不能存在矛盾,如术语使用冲突、功能和行为特征方面的矛盾以及时序上的不一致等。
A、可验证性B、一致性
C、正确性D、无二义性
43、有时客户可能无法有效地表达或只能片面地表达自己的需求,开发人员很难通过面谈和会议获得完整的信息。
这种情况下,C是一种比较好的解决方法。
A、需求专题讨论会B、原型化方法
C、观察用户工作流程D、基于用例的方法
44、一般来说,一个用例对应一个A。
A、控制类B、边界类
C、实体类D、分析类
45、从面向对象的角度看,以下哪个选项是对象C。
A、驾驶执照B、信用卡
C、张心的第一次作业D、灯
46、对象图实质上是A的实例。
A、类图B、顺序图
C、状态图D、活动图
E、协作图F、组件图
G、分布图
47、事物标识系统中的元素,其中包括结构事物,行为事物,B,注释事物。
A、实现事物B、分组事物
C、演化事物D、关联事物
48、计算机辅助软件工程,简称 D 。
A、SA B、SD
C、SC D、CASE
49、根据软件服务对象的范围不同,一般可以将软件划分为AB。
A、通用软件B、定制软件
C、应用软件D、系统软件
50、强调风险分析,适合于大型复杂的软件系统的软件过程模型是B。
A、瀑布模型B、螺旋模型
C、增量模型D、喷泉模型
51、适合于对安全性,可靠性和保密性要求极高的软件过程模型是C。
A、瀑布模型B、螺旋模型
C、形式化方法模型D、喷泉模型
52、软件工程的B是管理和控制产品质量的关键。
A、工具B、过程
C、方法D、模型
53、软件C为软件工程的方法提供了自动的或半自动的软件支持环境。
A、方法B、过程
C、工具D、模型
54、C是一种线性的过程,适用于在开发的早期阶段软件需求不完整确定的情况。
A、快速原型模型B、增量模型
C、瀑布模型D、形式化方法模型
55、在D中,软件被作为一系列的增量构件来设计、实现、集成和测试。
A、瀑布模型B、螺旋模型
C、基于组件的开发模型D、增量模型
56、软件成本在计算机系统的整个成本中所占比例A。
A、越来越大B、越来越小
C、不变D、和硬件的比例一样
57、软件维护技术不包括C。
A、程序理解B、再工程
C、顺向工程D、影响分析
58、软件工程人员的职业道德不包括D。
A、遵纪守法B、服务客户、造福客户
C、诚实信用D、服从领导
59、软件实现不包括D。
A、源程序B、目标代码
C、可执行构件D、测试规程
60、软件过程模型不包括C。
A、瀑布模型B、快速原型模型
C、集成模型D、形式化方法模型
61、软件工程是一门C的工程科学。
A、综合性B、开放性
C、交叉性D、可视性
62、以下选项中哪一个是软件工程人员的基本素质A。
A、遵纪守法B、服务客户、造福社会
C、诚实守信D、按时完成任务
63、某公司需要给火车站开发一个交互式火车车次查询系统,这是火车站首次使用该系统。
该公司应该使用软件过程模型中的A模型。
A、瀑布模型B、快速原型模型
C、增量模型D、螺旋模型
64、关于瀑布模型,D不是它的缺陷。
A、早期的错误可能在开发后期才发现
B、开发模型是线性的,用户只有等整个过程的末期才能见到开发成果,中间提出的变更要求很难得到响应,增加开发风险。
C、各个阶段划分完全固定,阶段间产生大量的文档,极大地增加了工作量。
D、由于各个构件是逐渐并入已有的软件体系结构中,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
65、软件工程当前面临的主要挑战不包括:
D。
A、遗留系统的问题B、高可信软件开发的要求
C、软件开发方式的变化D、软件配置管理
66、下列选项中适合快速原型模型的是A。
A、北京市交通设施设计与漫游系统B、基于工作流的科技项目管理系统
C、空中交通控制系统D、开发学生选课系统
67、A是一种线性的过程,适用于在开发的早期阶段软件需求被完整确定的情况。
A、瀑布模型B、增量模型
C、螺旋模型D、形式化增量模型
68、以下C适合于交互式系统,特别是同一个模型需要多个视图的情况。
A、仓库体系结构;B、分层体系结构;
C、MVC体系结构;D、客户机/服务器体系结构;
E、管道和过滤器体系结构。
69、在将一个复杂的大系统分解成若干子系统的时候,子系统的层数以下哪个不太适合D。
A、1层B、2层
C、5层D、8层
70、瀑布模型强调A的作用,并要求每个阶段都要仔细验证。
A、文档B、设计
C、工具D、方法
71、软件工程的方法中使用最广泛的两种方法是A。
A、传统的软件开发方法和当前流行的面向对象的方法
B、传统的软件开发方法和当前流行的面向过程的方法
C、传统的面向对象的方法和当前流行的软件开发方法
D、传统的面向过程的方法和当前流行的软件开发方法
72、统计数据表明,导致软件项目失败的主要原因是由于不适当的A造成的。
A、管理B、技术
C、工具D、过程
E、方法
73、如果想制作学生网上报名系统,应该使用哪种模型A
A、瀑布模型B、快速原型模型
C、增量模型D、形式化方法模型
74、哪种模型具有较少的缺陷和较高的安全性D
A、瀑布模型B、快速原型模型
C、增量模型D、形式化方法模型
75、在软件实现的这一软件工程的活动中哪一项不是其产生的主要过程制品C。
A、源程序B、目标代码
C、软件体系结构D、可执行构件
76、下面软件发展阶段哪一阶段是面向对象的阶段B
A、第一阶段20世纪50-60年代B、第二阶段20世纪70年代
C、第三阶段20世纪80年代D、第四阶段20世纪90年代至今
77、软件工程将A有机地结合在一起。
A、人员、技术、组织与管理B、程序、作者、理论与实践
C、程序、理论、哲学与实践D、理论、作者、思想与实践
78、B是对系统不同的版本进行标识和跟踪的过程,它可以保证软件技术状态的一致性。
A、配置项标识B、版本管理
C、系统构建D、变更控制
79、A是系统测试中最基本的测试,它不管软件内部的实现逻辑,主要根据软件需求规格说明和测试需求列表进行测试。
A、功能测试B、确认测试
C、系统测试D、验收测试
三、填空题
1、单元测试是对软件基本组成单元进行的测试,也称为组件测试。
2、软件维护可分成改正性维护,适应性维护和完善性维护。
3、1968年10月,NATO科学委员会提出“软件工程”和“软件危机”术语。
4、BROOKS法则表明,向进度落后的项目中增加人手,只能使进度更落后。
5、计算机科学与软件工程的区别是:
计算机科学解决计算机自身问题;软件工程解决实际应用问题。
6、从是否需要执行被测试软件的角度来看,可分为静态测试和动态测试。
7、“复杂”和“变化”给软件项目的管理带来了相当大的难度降低复杂性和控制变化成为软件项目管理面临的关键问题。
8、软件项目规模是影响软件项目工作量和成本的重要因素,常用的估算方法包括代码行技术和功能点技术等。
9、软件过程模型有:
瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型。
10、用例之间存在包含、扩展和泛化等三种关系
11、从软件的功能需求来看,分析类可分为实体类、边界类和控制类3种类型。
12、有效的软件项目管理集中于4个方面,简称为项目管理的“4P”分别为人员、产品、过程、项目。
13、验证强调对过程的检验,而确认强调对结果的检验。
14、从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
15、软件的特性包括,软件是复杂的,软件是不可见的,软件是不断变化的,大多数软件是定制的,而不是通过已有构件组装而成的。
16、快速原型的类型包括:
抛弃原型,演化原型两种类型。
17、类之间的关系包括关联关系、聚合关系、泛化关系和依赖关系。
18、常用的uml图包括用例图、类图、顺序图、状态图等。
19、软件项目管理的核心内容在于项目的规划和跟踪控制。
20、软件项目的典型开发组织方式有,民主式,主程序员式,和技术管理式。
21、软件项目的生命周期包括项目启动,项目规划,项目实施和项目收尾等四个阶段。
22、软件工程学家Codd和Yourdon认为:
面向对象=对象+类+继承+通信。
23、软件模型一般包括数学模型、描述模型和图形模型3种类型。
24、UML由视图、图、模型元素和公共机制等部分组成。
25、UML规定的4种机制是说明、修饰、通用划分、扩展机制。
26、多态性机制不但为软件的结构设计提供了灵活性,还减少了信息冗余,明显提高了软件的可复用性和可扩充性。
27、项目规划具体活动内容包括:
确定项目活动,预算项目成本,制定进度计划。
28、常用的风险对应策略包括风险规避、风险缓解、风险转移、风险接受等。
29、降低复杂性和控制变化成为软件项目管理面临的关键问题。
30、常用的风险识别方法头脑风暴法和风险检查表。
31、软件项目规划是项目管理的核心工作,其关键是项目管理者对资源、成本和进度做出合理的估算,进一步制定出切实可行的软件项目计划。
32、项目沟通是软件工程中最关键而且最耗时的活动。
33、封装使对象形成两个部分:
接口和实现。
34、抽象类是不能直接产生实例的类。
35、可执行构件包括定制的组件、商业组件、遗留组件等。
36、微软公司的软件开发过程模型由规划、设计、开发、稳定、发布五个主要阶段组成。
37、形式化方法特别适合于对安全性、可靠性和保密性要求极高的软件系统开发,它采用形式化的数学方法将系统描述转换成可执行的程序。
38、软件过程模型描述是对实际过程的抽象描述。
39、通常,设计活动划分成系统设计和详细设计等两个主要阶段。
40、耦合越低越好;内聚越高越好。
41、微软公司的软件开发过程模型由规划、设计、开发、稳定和发布5个主要阶段组成。
42、形式化方法特别适合于那些对安全性、可靠性和保密性要求极高的软件系统开发,它采用形式化的数学方法将系统描述转换成可执行的程序。
43、软件过程模型的螺旋模型,将瀑布模型