2018年长沙理工大学计算机与通信工程学院851软件工程考研仿真模拟五套题
● 摘要
一、选择题
1. 为了解决软件危机,人们提出了用( )的原理来设计软件。
A. 运筹学
B. 工程学
C. 软件学
D. 数学
【答案】B
【解析】为了解决软件危机,通过采用软件工程来指导软件的设计。软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护。
2. 软件工程是采用( )的概念、原理、技术方法指导计算机程序设计的工程学科。
A 工程
B. 系统工程
C. 体系结构
D. 结构化设计
【答案】A
【解析】软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的 管理技术和当前能够得到的最好的技术方法结合起来,从而经济地开发出高质量的软件,并且进行有效地维护。
3. 软件可移植性是用来衡量软件的( )重要尺度之一。
A. 通用性
B. 效率
C. 质量
D. 人机界面
【答案】C
【解析】软件的可移植性是指把软件产品从一个硬件/软件环境转移到另一个硬件/软件环境的难易与繁简程度。为了提高软件的可移植性,应尽量使软件与具体硬件设备无关,即提高软件的硬件无关性(或称软件的设备独立性)。软件的可移植性可用来衡量软件的质量。
4. ( )是不需要接收消息就能主动执行的服务。
A. 内部服务
B. 外部服务
C. 内嵌服务
D. 上层服务
【答案】B
【解析】主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,而外部服务属于主动服务,所以答案选B 项。
5. 就软件产品的特点,以下说法错误的是( )。
A. 软件具有高度抽象性,软件及软件生产过程具有不可见性
B. 同一功能软件的多样性,软件生产过程中的易错性
C. 软件的开发和维护过程中的不变性
D. 不同开发者之间思维碰撞的易发性
【答案】C
【解析】软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序,不具有不变性。
6. 一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。
A. 维护
B. 设计
C. 软件再工程
D. 逆向工程
【答案】A
【解析】软件维护是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改,通常指的是软件交付使用后所做的变更。
7. 对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。
A. 结合
B. 隐藏
C. 封装
D. 抽象
【答案】C
【解析】对象具有状态,一个对象用数据值来描述它的状态;对象还有操作,用于改变对象的状态,对象及 其操作就是对象的行为;对象实现了数据和操作的结合,使数据和操作封装于对
象的统一体中。
8. 面向对象分析阶段建立的三个模型中,核心的模型是( )模型。
A. 功能
B. 动态
C. 对象
D. 分析
【答案】C
【解析】面向对象分析阶段建立的三个模型是功能模型、对象模型和动态模型,其中功能模型说明对象模型中操作的含义、动态模型中动作的意义以及对象模型中约束的意义,而对象模型是三种模型中的核心模型。
9. 在面向数据流的软件设计方法中,一般将信息流分为( )。
A. 变换流和事务流
B. 变换流和控制流
C. 事务流和控制流
D. 数据流和控制流
【答案】A
【解析】面向数据流的软件设计方法是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。它一般将信息流分为变换流和事务流。
①变换流:信息沿着输入通道进入系统,然后通过变换中心(也称主加工)处理,再沿着输出通道离开系统。
②事务流:信息沿着输入通道到达一个事务中心,事务中心根据输入信息(即事务)的类型在若干个动作序列(称为活动流)中选择一个来执行。
10.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )
A. 软件开发工程化
B. 消除软件危机
C. 实现软件可重用
D. 程序设计自动化
【答案】A
【解析】软件工程方法学是根据不同的软件类型,按不同的观点和原则,对软件开发中应遵循的策略、原则、步骤和必须产生的文档资料都做出规定,从而使软件的开发能够进入规范化和工程化的阶段,以克服早期的手工方式生产中的随意性和非规范性做法。