专业:移动通信 科目:软件工程
一、单项选择题
1.好的软件结构应该是( )
A.低耦合、低内聚
B.高耦合、高内聚
C.高耦合、低内聚
D.低耦合、高内聚
答案:D
2.需求分析中开发人员要从用户那里了解( )
A.软件的规模
B.软件做什么
C.用户使用界面
D.输入的信息
答案:B
3.软件调试技术包括( )
A.演绎法
B.循环覆盖
C.边界值分析
D.集成测试
答案:A
4.软件需求规格说明书的内容不应包括对( )的描述。
A.用户界面及运行环境
B.主要功能
C.算法的详细过程
D.软件的性能
答案:C
5.常用动词或动词词组来表示( )
A.属性
B.关联
C.类
D.对象
答案:B
6.软件可行性研究实质上是要进行一次( )需求分析、设计过程。
A.详细的
B.深入的
C.彻底的
D.简化、压缩的
答案:D
7.软件部分的内部实现与外部可访问性分离,这是指软件的( )
A.继承性
B.共享性
C.抽象性
D.封装性
答案:D
8.软件部分的内部实现与外部可访问性分离,这是指软件的( )
A.共享性
B.继承性
C.抽象性
D.封装性
答案:D
9.在详细设计阶段,经常采用的工具有( )
A.PDL
B. DFD
C.SC
D.SA
答案:A
10.数据字典是对数据定义信息的集合,它所定义的对象都包含于( )
A.软件结构
B.程序框图
C.方框图
D.数据流图
答案:D
11.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开发和运行三个时期,下述( )工作应属于软件开发期的内容。
A.问题定义
B.可行性研究
C.都不是
D.总体设计
答案:D
12.应用执行对象的操作可以改变该对象的( )
A.功能
B.数据
C.属性
D.行为
答案:C
13.软件质量因素不包括( )
A.可理解性
B.可测试性
C.正确性
D.高性能
答案:D
14.软件可行性研究实质上是要进行一次( )需求分析、设计过程。
A.详细的
B.彻底的
C.深入的
D.简化、压缩的
答案:D
15.结构化设计是一种面向( )的设计方法。
A.数据结构
B.数据流
C..程序
D.数据库
答案:B
16.结构分析法就是面向( )自顶向下逐步求精进行需求分析的方法。
A.对象
B.目标
C.功能
D.数据流
答案:D
17.进行需求分析可使用多种工具,但( )是不适用的
A.PAD图
B.数据字典
C.判定表
D.数据流图
答案:A
18.面向对象的主要特征除唯一性、继承性、多态性外,还具有( )
A.兼容性
B.完整性
C.移植性
D.封装性
答案:D
19.数据存储和数据流都是( ),仅仅所处的状态不同。
A.动作
B.数据
C.分析结果
D.事件
答案:B
20.模块( )定义为受该模块内一个判定影响的所有模块集合。
A.作用域
B.宽度
C.控制域
D.接口
答案:A
21. 详细设计的任务是确定每个模块的( )
A.内部特性
B.外部特性
C.算法和使用的数据
D.功能和输入输出数据
答案:C
22. 结构化程序设计,主要强调的是( )
A.程序的可理解性
B.模块大小
C.程序的执行效率
D.模块关系
答案:A
23.在软件结构设计完成后,对于下列说法,正确的是( )
A.非单一功能模块的扇入数大比较好,说明本模块重用率高
B.一个模块的扇出太多,说明该模块过分复杂,缺少中间层
C.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况
D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层
答案:B
24.软件危机产生的主要原因是( )
A.开发人员编写程序能力差
B.软件日益庞大
C.不能与用户良好地沟通
D.没有适应的开发模型
答案:B
25.下述四个能力成熟度等级,级别最高的是( )
A.已定义级
B.已管理级
C.可重复级
D.优化级
答案:D
26.以下说法正确的是( )
A.功能模型不包括对象模型中值的约束条件
B.功能模型说明对象模型中动作的含义
C.功能模型说明对象模型中操作的含义
D.功能模型说明对象模型中约束的含义
答案:C
27.关于软件维护的说法错误的是( )
A.软件维护不只是修改软件中的错误
B.软件维护对于开发商来说是无利可图的
C.在编码过程中添加适当的注释,可以降低软件维护的难度
D.软件维护是软件生命周期中占用时间最长的一个阶段
答案:B
28.可行性分析中,系统流程图用于描述( )
A.新系统
B.当前逻辑模型
C.目标系统
D.当前运行系统
答案:D
29.结构化分析建立功能模型的工具是( )
A.DFD
B.判定树/判定表
C.结构化语言
D.SC
答案:A
30.快速原型模型的主要特点之一是( )
A.及早提供全部完整软件
B.及早提供工作软件
C.开发完毕才见到工作软件
D.开发完毕才见到产品
答案:B
31.下述四个能力成熟度等级,级别最高的是( )
A.已定义级
B.初始级
C.已管理级
D.可重复级
答案:C
32.检查软件产品是否符合需求定义的过程称为( )
A.单元测试
B.系统测试
C.确认测试
D.集成测试
答案:C
33.软件工程学的一个重要目标是( )
A.定义各种软件开发过程模型
B.降低程序对存储空间的要求
C.提高程序的执行效率
D.提高软件的可维护性
答案:D
34.软件质量因素不包括( )
A.正确性
B.可测试性
C.高性能
D.可理解性
答案:C
35.以下哪个软件生存周期模型是一种风险驱动的模型( )
A.增量模型
B.喷泉模型
C.瀑布模型
D.螺旋模型
答案:D
36.结构化分析方法使用的描述工具( )定义了数据流图中每一个图形元素。
A.判定树
B.数据字典
C.判定表
D.数据流图
答案:B
37.关于软件维护的说法错误的是( )
A.软件维护是软件生命周期中占用时间最长的一个阶段
B.软件维护对于开发商来说是无利可图的
C.在编码过程中添加适当的注释,可以降低软件维护的难度
D.软件维护不只是修改软件中的错误
答案:B
38.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( )
A.校正性维护
B.完善性维护
C.适应性维护
D.预防性维护
答案:B
39.以下不属于序言性注释的有( )
A.程序的整体说明
B.语句功能
C.模块设计者
D.修改日期
答案:B
40.集成测试是为了发现( )
A.性能、质量不合要求
B.编码错误
C.功能错误
D.接口错误
答案:D
41.应用执行对象的操作可以改变该对象的( )
A.数据
B.行为
C.功能
D.属性
答案:D
42.需求分析最终结果是产生( )
A.设计说明书
B.项目开发计划
C.需求规格说明书
D.可行性分析报告
答案:C
43.一个只有顺序结构的程序,其环形复杂度是( )
A.1
B.3
C.5
D.0
答案:A
44. 通信内聚是指( )
A.各处理使用相同的输入数据或者产生相同的输出数据
B.把需要同时执行的动作组合在一起形成的模块
C.模块内所有元素共同完成一个功能,缺一不可
D.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行
答案:A
45.常用动词或动词词组来表示( )
A.属性
B.类
C.对象
D.关联
答案:D
二、填空题
1.结构化设计是一种面向(________________)的设计方法。
答案:数据流
2.软件质量因素不包括(________________)。
答案:高性能
3.选择(________________)命令,可以看到Rose中对应图形的分类。
答案:Browse
4.快速原型模型的主要特点之一是(________________)
答案:及早提供工作软件
5.应用执行对象的操作可以改变对象的(________________)。
答案:属性
6.UML中的(________________)关系就是通常所说的继承关系。
答案:泛化
7.目前在集成测试时普遍采用(________________)测试方法
答案:渐增式
8.在前期需求明确、资料完整的情况下尽量采用(________________)模型。
答案:瀑布模型
9.UML中用一端为空心三角形的连接表示(________________)关系。
答案:泛化
10.通常使用(________________)模型简洁地描述软件过程。
答案:生命周期
11.从软件工程观点看,(________________)是软件最重要的质量标准之一。
答案:可理解性
12.软件工程的三要素包括方法、(________________)和过程。
答案:工具
13.一个模块直接使用另一个模块的内部数据是(________________)耦合。
答案:内容
14.逆向工程是(________________)过程
答案:代码到模型
15.目前在集成测试时普遍采用(________________)测试方法
答案:渐增式
16.需求分析最终结果是产生(________________)。
答案:需求规格说明书
17.HIPO图是由一组IPO图和一张(________________)图组成。
答案:层次
18.部署图用(________________)关系表示各节点之间的通信路径。
答案:关联
19.检查软件产品是否符合需求定义的过程称为(________________)测认。
答案:确认
20.度量软件规模的常用技术主要有(________________)和功能点技术。
答案:代码行技术
21.软件工程的三要素包括方法、(________________)和过程。
答案:工具
22.度量软件规模的常用技术主要有代码行技术和(________________)。
答案:功能点技术
23.面向对象方法用(________________)分解取代了传统方法的功能分解。
答案:对象
24.技术是能从根本上提高软件可维护性的重要技术(________________)。
答案:软件重用
25.复杂问题的对象模型通常由主题层、类与对象层、(________________)、属性层和服务层5个层次组成。
答案:对象模型
26.黑盒测试着着重测试(________________)。
答案:软件功能
27.数据存储和数据流都是处于不同状态的(________________)
答案:数据
28.类是类图的主要的主要部件,由类名、(________________)、操作3部分组成。
答案:属性
29.面向对象方法用(________________)分解取代了传统方法的功能分解。
答案:对象
30.软件总体设计时应该遵循模块化、抽象、逐步求精、(________________)、局部化和模块独立等6条基本原理。
答案:信息隐藏
31.面向对象方法用(________________)分解取代了传统方法的功能分解。
答案:对象
32.Rose模型文件的扩展名为(________________)。
答案:mdl
33.软件部分的内部实现与外部可访问性分离,这是指软件的(________________)。
答案:封装性
34.复杂问题的对象模型通常由(________________)、类与对象层、结构层、属性层和服务层5个层次组成。
答案:主题层
35.选择(________________)命令,可以看到Rose中对应图形的分类
答案:Browse
36.度量软件规模的常用技术主要有代码行技术和(________________)。
答案:功能点技术
37.通常把编码和测试统称为(________________)。
答案:实现
38.好的软件结构应该(________________)
答案:低耦合、高内聚
39.详细设计的任务是确定每个模块的(________________)。
答案:算法和使用的数据
40.面向对象方法用(________________)分解取代了传统方法的功能分解。
答案:对象
41.(________________)是软件生命周期的最后一个阶段,也是持续时间最长、代价最大的一个阶段。
答案:维护
42.数据字典是对数据定义信息的集合,它所定义的对象都包含于(________________)图中。
答案:数据流图
43.UML中的泛化关系就是通常所说的(________________)关系。
答案:继承
44.软件工程学的一个重要目标是(________________)。
答案:提高软件的可维护性
45.用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用(________________)关系来表示。
答案:扩展
三、判断题
1.( )测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。
答案:N
2.( )CMM 是指导软件开发的一种面向对象的新技术。
答案:N
3.( )基本路径测试是基本路径测试是黑盒技术设计测试用例的方法之一。测试用例的方法之一。
答案:N
4.( )SA方法的基本思想是自顶向下逐步分解。
答案:Y
5.( )类是对具有共同特征的对象的进一步抽象。
答案:Y
6.( )一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。
答案:Y
7.( )完成测试后,为缩短源程序长度而删去程序中的注解,对软件的维护不会产生影响。
答案:N
8.( )类是对具有共同特征的对象的进一步抽象。
答案:Y
9.( )软件项目管理始于项目计划,而第一项计划活动就是估算。
答案:Y
10.( )尽可能在软件开发过程中保证各阶段文档的正确性。
答案:Y
11.( )随着软件技术的发展,人们逐渐认识到阅读程序的重要性,编码不仅要强调效率还要强调清晰。
答案:Y
12.( )重用是提高软件生产率和目标系统质量的重要途径,它基本上始于设计。
答案:Y
13.( )软件也会磨损和老化。
答案:N
14.( )如果测试过程没有发现任何错误,则说明软件没有错误。
答案:N
15.( )设计阶段的输出是编码阶段的输入。
答案:Y
16.( )类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。
答案:N
17.( )在可行性研究中最难决断和最关键的问题是经济可行性。
答案:N
18.( )基于情景的测试是面向对象系统确认测试的主要方法。
答案:N
19.( )耦合是指一个模块内各个元素彼此结合的紧密程度。
答案:N
20.( )白盒法是一种静态测试方法,主要用于模块测试。
答案:N
21.( )软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。
答案:N
22.( )在进行需求分析时同时考虑维护问题。
答案:Y
23.( )Jackson方法是面向数据结构的设计方法。
答案:Y
24.( )软件工程过程应该以软件设计为中心,关键是编写程序。
答案:N
25.( )项目应用领域是选择语言的关键因素。
答案:Y
26.( )模块耦合越强,则说明模块的独立性越强。
答案:N
27.( )在面向对象的需求分析方法中,建立动态模型是最主要的任务。
答案:N
28.( )软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。
答案:N
29.( )如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。
答案:Y
30.( )软件即程序。
答案:N
四、简答题
1.提高软件可重要性的主要准则有哪些?
答案:(1)提高方法的内聚(2)减小方法的规模(3)保持方法的一致性
(4)把策略与实现分开(5)全面覆盖(6)尽量不使用全局信息
(7)利用继承机制
2.面向对象的集成测试主要有哪几种不同的测试策略?
答案:传统的集成测试策略没有意义。面向对象软件的集成测试主要有下述两种不同的测试策略:基于线程的测试基于的测试使用
3.模块独立性与信息隐蔽有何关系?
答案:“模块独立性”是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。
所谓的“信息隐蔽”是指每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。
衡量模块独立性的一个准则就是模块内聚,达到信息隐蔽的模块是信息内聚模块,它是高内聚的情形,因此模块独立性当然就很强了
4.为什么说现代牌汽车是小汽车类的特化,而车轮不是小汽车的特化?
答案:现代牌汽车是具有小汽车的全部属性和行为,它只不过是一种特定品牌的小汽车,因此现代牌汽车可以从基类派生出来,也就是说,现代牌汽车是小汽车类的特化。
车轮是组成小汽车的一种零件。小汽车还有车身,发动机等许多种其他的零件,小汽车所具有的许多属性和行为车轮都不具有,因此车轮不能从小汽车类派生出来,它不是小汽车类的特化!
5.软件生存周期都包括哪些活动?
答案:软件生命期的活动包括:可行性研究与计划;需求分析;概要设计、详细设计;编码、测试;维护等活动。
(这些活动将以适当的方式分配到不同阶段去完成)
6.目前常用的面向过程的方法,面向对象的方法,面向结构的方法,形式化方法等软件开发方法各有什么特点?
答案:(1)面向过程的程序=算法+数据结构;
(2)面向对象的程序=对象+类+继承+消息通信;
(3)面向构件的程序=构件+架构;
(4)形式化方法是建立在严格的数学基础上,以逻辑推理为出发点;
(5)它们有各自的方法、工具和过程;
7.面向对象方法的启发规则有哪些?
答案:(1)设计结构应该清晰易懂 (2)一般-特殊结构的深度应适当
(3)设计结构的类(4)使用简单的协议(5)使用简单的服务
(6)把设计变动减至最小
8.在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用?
答案:1)在面向对象的系统开发过程中,每个阶段要建造不同的模型。
(2)需求分析阶段建造的模型用来捕获系统需求分析
(3)设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案
(4)实现阶段的模型是真正的源代码及编译后的组件。
(5)发布阶段是描述系统物理上的架构。
9.快速原型技术的基本思想是什么?
答案:在软件开发的早期,快速开发一个目标软件系统的原型;
让用户对其进行评价并提出修改意见;
然后开发人员根据用户的意见对原型进行改进。
¥29.8
¥9.9
¥59.8