02333软件工程真题精选.docx
《02333软件工程真题精选.docx》由会员分享,可在线阅读,更多相关《02333软件工程真题精选.docx(18页珍藏版)》请在冰点文库上搜索。
02333软件工程真题精选
[单项选择题]
1、能表达软件产品/系统的概念模型是()。
A.程序规约
B.需求规约
C.设计规约
D.测试规约
参考答案:
B
[单项选择题]
2、若一个模块A通过接口向两个模块B和C传递一个公共参数,那么模块B和c之间的关系称为()。
A.数据耦合
B.控制耦合
C.标记耦合
D.公共耦合
参考答案:
C
参考解析:
耦合性是对一个软件结构内部不同模块间联系紧密程度的度量指标。
可以分为以下几种,它们之间的耦合度由高到低排列如下:
1)内容耦合:
当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过正常入口而转入另一个模块时,这样的耦合被称为内容耦合。
内容耦合是最高程度的耦合,应该避免使用之。
2)公共耦合:
两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。
在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的。
3)外部耦合:
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
4)控制耦合:
一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为控制耦合。
5)标记耦合:
若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B和C之间存在一个标记耦合。
6)数据耦合:
模块之间通过参数来传递数据,那么被称为数据耦合。
数据耦合是最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据。
7)非直接耦合:
两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
[单项选择题]
3、下列选项,属于RUP突出特点的是()。
A.用况驱动
B.数据驱动
C.事件驱动
D.过程驱动
参考答案:
A
[填空题]4路径测试技术中几种主要覆盖的含义?
参考答案:
1.语句覆盖:
至少执行程序中所有语句一次。
2.判定覆盖:
使被测程序中的每一个分支至少执行一次。
故也称为分支覆盖。
3.条件覆盖:
执行所有可能的穿过程序的控制路流程。
4.条件组合测试:
设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。
[单项选择题]
5、在单元测试期间,通常首先考虑模块的()。
A.接口
B.定义
C.表达
D.原型
参考答案:
A
[填空题]6需求可分为功能需求和(),后者又可分为()、外部接口需求、设计约束和质量属性需求。
参考答案:
非功能需求;性能需求
[填空题]7决定软件可维护性的因素?
参考答案:
(1)软件的可理解性、可测试性、可修改性;
(2)文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。
[填空题]8在结构化分析方法中,可采用()、判定表和判定树描述加工。
参考答案:
结构化自然语言[填空题]9说明结构化程序设计的主要思想是什么?
参考答案:
(1)自顶向下、逐步求精的程序设计方法
(2)使用3种基本控制结构、单入口、单出口来构造程序。
[填空题]10由于软件错误的复杂性,在软件工程测试中,应综合运用测试技术,并且应实施合理的测试序列:
单元测试、()、有效性测试和系统测试。
参考答案:
集成设计
[填空题]11在CMMl模型中,达到预先定义的一组过程域所有目标的一种过程改善等级称为()。
参考答案:
成熟度等级
[填空题]12软件测试包括哪些步骤?
同时说明这些步骤的测试目的是什么?
参考答案:
(1)单元测试,目的是代码达到模块说明书的要求
(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序
(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求
(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。
[单项选择题]
13、以下属于形式化开发方法的是()
A.结构化开发方法
B.Jackson开发方法
C.维也纳开发方法
D.面向对象开发方法
参考答案:
C
[单项选择题]
14、把需要同时执行的动作组合在一起形成模块,该模块的内聚性是()
A.顺序内聚
B.逻辑内聚
C.时间内聚
D.通信内聚
参考答案:
C
[填空题]15软件测试的基本任务是什么?
测试与纠错有什么区别?
参考答案:
1.软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。
2.测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。
[单项选择题]
16、以下四种逻辑覆盖中,发现错误能力最强的是()
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖
参考答案:
D
[填空题]17软件危机产生的主要原因有哪些?
参考答案:
导致软件危机的主要原因有:
(1)软件日益复杂和庞大
(2)软件开发管理困难和复杂
(3)软件开发技术落后
(4)生产方式落后
(5)开发工具落后
(6)软件开发费用不断增加
[单项选择题]
18、软件维护的副作用不包括()
A.编码副作用
B.数据副作用
C.文档副作用
D.效率副作用
参考答案:
D
[单项选择题]
19、UML统一了三种面向对象方法的表示方法,这三种面向对象方法是()
A.Coad方法、OMT方法、OOSE方法
B.Booch方法、OMT方法、OOSE方法
C.Booch方法、Coad方法、OOSE方法
D.Booch方法、OMT方法、Coad方法
参考答案:
B
[填空题]20软件的维护一般分为哪几类?
参考答案:
1.完善性维护:
满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;
2.适应性维护:
是软件适应新的运行环境而进行的工作;
3.纠错性维护:
纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;
4.预防性维护:
为了改善未来的可维护性或可靠性而修改软件的工作。
[单项选择题]
21、与“项目开发计划”文档有关的人员是()
A.管理人员和开发人员
B.开发人员和维护人员
C.开发人员和用户
D.管理人员和用户
参考答案:
A更多内容请访问《睦霖题库》微信公众号
[单项选择题]
22、软件复杂性度量的参数中,由程序中出现的操作数数目所决定的量表示的参数是()
A.规模
B.难度
C.结构
D.智能度
参考答案:
A
[填空题]23什么是白盒测试?
白盒测试主要采用的技术有哪些?
参考答案:
1.白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。
2.白盒测试主要采用的技术有:
路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。
[填空题]24对面向对象软件的测试可分为四个层次进行,这四个层次是:
算法层、类层、()和系统层。
参考答案:
主题层
[单项选择题]
25、软件工程标准中,GIB属于()
A.国际标准
B.国家标准
C.行业标准
D.企业规范
参考答案:
C
[填空题]26简述选择程序设计语言时通常要考虑的因素。
参考答案:
因素:
项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。
[填空题]27详细设计的任务是什么?
参考答案:
(1)为每个模块确定采用的算法;
(2)确定每一模块使用的数据结构;
(3)确定模块接口的细节;
(4)编写过程设计说明书;
(5)设计每一模块的测试用例。
[单项选择题]
28、为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是()
A.容错技术
B.避开错误技术
C.检测技术
D.排错技术
参考答案:
A
[单项选择题]
29、在面向对象方法建立的对象模型中,类之间的关联具有多重性,其中小空心圆表示的重数是()
A.0或1B.1
C.0到多
D.1到多
参考答案:
A
[填空题]30数据字典包括哪些内容?
参考答案:
数据字典是描述数据流图中数据的信息的集合。
它对数据流图上每一个成分:
数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。
[单项选择题]
31、面向对象的要素包含()
A.对象的唯一性
B.抽象
C.继承性
D.分类性
参考答案:
B
[单项选择题]
32、为了使软件适应环境的变换而修改软件的维护活动称为()
A.校正性维护
B.适应性维护
C.完善性维护
D.预防性维护
参考答案:
B
[单项选择题]
33、诊断和消除程序在使用过程中发生错误的过程称为()
A.校正性维护
B.适应性维护
C.完善性维护
D.预防性维护
参考答案:
A
[填空题]34事务型数据流由哪几部分组成?
参考答案:
事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。
[单项选择题]
35、以下四种逻辑覆盖中,发现错误能力最弱的是()
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖
参考答案:
A
[单项选择题]
36、至今已有好几百种不同的高级语言,它们有的是用于数值计算,有的是用于商业管理,有的是用于编写系统软件。
以下语言中较适用于数值计算的语言是()
A.BASIC
B.SQL
C.LISP
D.FORTRAN
参考答案:
D
[单项选择题]
37、下列描述中,不属于程序流程图优点的是()
A.历史最悠久,使用最广泛
B.容易表示数据结构
C.支持程序的三种基本控制结构
D.直观清晰,易于使用
参考答案:
B
[单项选择题]
38、以下软件生存周期的活动中,要进行软件结构设计的是()
A.测试用例设计
B.概要设计
C.程序设计
D.详细设计
参考答案:
B
[填空题]39变换分析设计的步骤是什么?
参考答案:
(1)区分传入、传出和变换中心三部分,划分DFD图的分界线;
(2)完成第一级分解:
建立初始SC图的框架;
(3)完成第二级分解:
分解SC图的各个分支;
(4)对初始结构图按照设计准则进行精化与改进。
[单项选择题]
40、软件危机产生的时期是()
A.
“程序设计时代”初期
B.
“程序设计时代”末期
C.
“程序系统时代”初期
D.
“程序系统时代”末期
参考答案:
D
[单项选择题]
41、需求分析方法必须能够表达和理解问题的数据域和()
A.数据流
B.用户类型
C.功能域
D.应用领域
参考答案:
C
[填空题]42简述需求分析方法应遵循的基本原则。
参考答案:
[填空题]43软件工具通常由工具、工具接口和()三部分构成。
参考答案:
工具用户接口
[填空题]44什么是模块独立性?
用什么度量?
参考答案:
1.模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。
2.独立性可以从两个方面来度量:
即模块本身的内聚和模块之间的耦合。
[填空题]45错误推测法
参考答案:
在测试编程时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性的编写检查这些错误的测试用例方法。
[填空题]46软件开发的原型模型可以分为三类,它们是:
探索型原型、实验型原型和()。
参考答案:
演化型模型
[填空题]47在面向对象分析时类和对象的静态关系主要有哪几种?
参考答案:
类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。
[填空题]48有效的模块化是通过定义一组()的模块来实现信息隐蔽的,这些模块彼此之间仅交换哪些为了完成系统功能所必须的信息。
参考答案:
相互独立
[填空题]49在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是()。
参考答案:
PAD图
[填空题]50一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是()。
参考答案:
控制耦合
[填空题]51一般面向对象分析建模的工具(图形)有哪些?
参考答案:
用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等。
[填空题]52在软件生产中,()的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
参考答案:
软件过程过程。
[填空题]53软件复杂性主要表现在程序的复杂性。
程序的复杂性主要指()程序的复杂性。
参考答案:
模块内
[填空题]54增量构造模型有什么特点?
参考答案:
[填空题]55简述文档在软件工程中的作用。
参考答案:
(1)提高软件开发过程的能见度;
(2)提高开发效率;
(3)作为开发人员阶段工作成果和结束标志;
(4)记录开发过程的有关信息便于使用与维护;
(5)提供软件运行、维护和培训有关资料;
(6)便于用户了解软件功能、性能。
[填空题]56软件工程管理中的控制包括进度控制、人员控制、经费控制和()。
参考答案:
质量控制
[单项选择题]
57、把软件生产的全过程人为地划分为若干阶段使得软件人员能根据每一阶段的不同特点更好地组织和管理软件项目的开发,这种概念就是()
A.软件项目管理
B.软件工程
C.软件项目计划
D.软件生存期
参考答案:
D
参考解析:
软件的生存周期即生命周期[填空题]58泛化关系
参考答案:
表示类或对象之间的一般与特殊的关系。
[填空题]59软件再工程
参考答案:
运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。
[单项选择题]
60、能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是()
A.结构化语言
B.PAD图
C.判定表
D.程序流程图
参考答案:
C