辽师软件工程期末复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽师软件工程期末复习题
说明:
以下试题虽然经过多次整理,但由于时间有限,存在错误或不足之处在所难免。
同学们在阅读和使用过程中如发现问题,请你在课程评价的“建议”中指出,具体方法是:
写明大小题号:问题所在;正确内容。
在此谢谢你提供的方便和指正。
一、概念题
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
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、过程
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 。
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、软件过程模型的螺旋模型,将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的软件系统。
44、基于组件的开发模型充分体现了软件复用的思想,降低了开发风险和成本,能快速交付所开发的软件。
45、传统软件开发方法主要以功能分析和数据分析为基础的结构化方法。
46、软件需求规格说明是将需求分析活动中获得的信息以文档的
形式确定下来,明确地描述了软件的功能。
47、软件工程以关注软件质量为目标,由过程、方法和工具三要素组成。
48、验证强调对于过程的检验,而确认强调对于结果的检验
49、需求分析主要是对收集到的需求进行提炼分析和认真审查以确保所有的项目相关人员都明白其含义,并找出其中的错误,遗漏或其他不足的地方,形成完整的分析模型。
50、在计算机软件的开发和维护过程中遇到的一系列严重问题称为软件危机。
51、软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据。
52、软件项目规模是影响软件项目工作量和成本的重要因素,常用的估算方法包括代码行和功能点等。
53、软件工程使用最广泛两个方法是传统的面向过程方法
和当前流行的面向对象方法。