2017年兰州大学软件工程(同等学力加试)考研复试核心题库
● 摘要
一、名词解释
1. 耦合性
【答案】耦合性也称块间联系,是软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
二、简答题
2. 说明McCall 软件质量度量模型。
【答案】McCall 质量度量模型是McCall 等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下。
(1)面向软件产品操作
①正确性:软件满足设计规格说明及用户预期目标的程度。
②可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。 ③效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量。 ④完整性:对非授权人访问软件或数据行为的控制程度。
⑤可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。 (2)面向软件产品修改
①可维护性:找到并改正程序中的一个错误所需代价。 ②可测试性:测试软件以确保其能够执行预定功能所需工作量。 ③灵活性:修改可运行程序所需要付出的努力。 (3)面向软件产品适应
①可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行所需的工作量。
②可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。 ③连接性:将一个系统耦合到另一个系统所需的工作量。
3. 说明对象模型的特征。
【答案】(1)对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系。
(2)模型主要关心系统中对象的结构、属性和操作使用对象图来描述。
4. 程序流程图的特点有哪些?
【答案】(1)程序流程图的优点
流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具。
(2)程序流程图的缺点
①可以随心所欲地控制流程线的流向,容易造成非结构化的程序结构。编码时势必不加限制地使用GOTO 语言,导致基本控制块多入口多出口,这样会使软件质量受到影响,与程序设计的原则相违背。
②流程图不易反映逐步求精的过程,往往反映的是最后的结果。 ③不易表示数据结构。
5. 测试面向对象软件时,主要有哪些设计确认测试用例的方法?
【答案】设计确认测试用例的方法主要有传统的黑盒方法、基于情景的方法。
(1)黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地就收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
(2)基于情景的方法:场景,是一种有假设条件的故事,可以辅助测试人员把一个复杂的问题或系统通过电影那样地过一遍。测试人员通过把整个场景都设想出来,在设想中的场景中进行的测试就是基于场景的测试。
6. 面向对象建模的三种模型是什么,各自的主要功能有哪些,分别可用UML 的哪些图来描述?
【答案】(1)面向对象建模的三种模型是对象模型、动态模型、功能模型。 (2)三种模型的主要功能 ①对象模型
表示静态的、结构化的系统的数据性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。.
②动态模型
表示瞬时的、行为化的系统的控制性质,它规定了对象模型中对象的合法变化序列。 ③功能模型
表示软件系统的功能性质,它指明了系统应该“做什么”,更直接地反映了用户对目标系统的需求。
(3)UML 图描述
①在UML 中,使用类图来建立对象模型。
②在UML 中,使用状态图和事件追踪图来建立动态模型。 ③在UML 中,使用用例图来建立功能模型。
7. 什么是软件工程过程?它包含哪些过程?
【答案】(1)软件工程过程的定义
软件工程过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。 (2)软件工程过程包含的过程 ①获取过程
定义需求方按合同获取一个系统、软件产品或服务的活动。 ②供应过程
定义供方向需求方提供合同中的系统、软件产品或服务所需的活动。 ③开发过程
定义开发者和机构为了定义和开发软件或提供服务所需的活动。此过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。
④操作过程
定义操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。 ⑤维护过程
定义维护者和机构为了修改和管理软件,使它处于良好运行状态所需要的活动。 ⑥管理过程
定义软件工程过程中各项管理活动,包括:项目开始和范围定义、项目管理计划、实施和控制、评审和评价、项目完成等。
⑦支持过程
支持过程对项目的生存周期过程给予支持。它有助于项目的成功并能提高项目的质量。
三、综合应用题
8. 研究下面的伪码程序:
要求:
(1)画出程序流程图。
(2)程序是结构化的吗?说明理由。
(3)若程序是非结构化的,设计一个等价的结构化程序并且画出程序流程图。 (4)此程序的功能是什么?它完成预定功能有什么隐含的前提条件吗? 【答案】(1)该程序流程图如图1所示。