2017年景德镇陶瓷学院软件工程考研复试核心题库
● 摘要
一、名词解释
1. 抽象
【答案】把在现实世界中一定事物、状态或过程之间的共性集中和概括起来,暂时忽略它们之间的差异,这就是抽象。即抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
二、简答题
2. 根据瀑布模型为下列任务排序:验收测试、项目计划、单元测试、需求复审、成本估计、总体设计、设计复审、市场调研、详细设计、系统测试、实现、编制需求规格说明书。
【答案】根据题意可以把上述任务分为:
A. 市场调研
B. 项目计划、成本估计、编制需求规格说明书(同时进行)
C. 需求复审
D. 总体设计
E. 详细设计
F. 设计复审
G. 实现
H. 单元测试
I. 系统测试
J. 验收测试
根据瀑布模型的要求,上述任务正确的排序应为ABCDEFGHIJ 。
3. 维护技术的副作用有哪些?
【答案】因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。
(1)编码副作用
在使用程序设计语言修改源代码时可能引入下面错误。这些错误要到运行时才能被发现。例如:
①删除或修改一个子程序、一个标号、一个标识符。
②改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符。
③修改文件的打开和关闭。
④改进程序的执行效率。
⑤把设计上的改变翻译成代码的改变。
⑥为边界条件的逻辑测试做出改变。
(2)数据副作用
在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:
①重新定义局部或全局的常量,重新定义记录和文件格式。
②增加或减少一个数组或高层数据结构的大小。
③修改全局或公共数据。
④重新初始化控制标志或指针。
⑤重新排列输入/输出或子程序的参数。
(3)文档副作用
所有的维护活动都必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。例如:
①修改交互输入的顺序和格式,没有正确地记入文档中。
②过时的文档内容、索引和文本可能造成冲突等。
4. 什么是软件配置管理?主要任务是什么?
【答案】(1)软件配置管理的定义
软件配置管理是在软件的整个生命期内管理变化的一组活动。
(2)软件配置管理的主要任务
软件配置的主要任务是控制变化,同时也负责各个软件配置项(包括程序、文档和数据)、软件各种版本的标识、软件配置审计以及对软件配置发生的任何变化的报告。
5. 简述对象、类、类结构、消息、方法的基本概念。
【答案】(1)对象
①定义
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
②分类
对象类型包括有形实体、作用、事件、性能说明。
③特点
a. 对象具有状态,一个对象用数据来描述它的状态,对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
b. 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
c. 对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为。
d. 具有较强的独立性和自治性,其内部状态不受或很少受外界的影响。
e. 具有很好的模块化特点,为软件重用奠定了坚实的基础。
(2)类
类是具有相同属性和服务的一组对象的集合。因此,对象的抽象是类,类的具体化就是对象,即类的实例是对象。
(3)类结构
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般一具体结构关系,整体一部分结构关系。
①一般一具体结构关系
一般一具体结构关系称为分类关系,也可以说是“或”关系,或者是“is-a”关系。类的这种层次结构可用来描述现实世界中一般化的关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。
②整体一部分结构关系
整体一部分结构关系称为组装结构,它们之间的关系是一种“与”关系,或者是“has-a”关系。类的这种层次关系可用来描述现实世界中类的组成的抽象关系,上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层类称为父类或超类,下层类称为子类。
(4)消息
①定义
对象之间进行通信的构造叫做消息。
②信息传递
在对象的操作中,当一个消息发送到某个对象时,消息包含接收对象去执行某种操作的信息。接收信息的对象经过解释,然后给予响应,这种通信机制称为信息传递。
③信息的内容
发送一条信息至少要包含说明接收消息的对象名、发送给该对象的消息名(即对象名,方法名),一般还要对参数加以说明,参数可以是认识该消息对象所知道的变量名,或者是所有对象都知道的全局变量名。
(5)方法
类中操作的实现过程叫作方法,一个方法有方法名、参数、方法体。当一个对象接收一条消息后,它所包含的方法决定对象怎样动作。方法也可以发送消息给其他对象,请求执行某一动作或提供信息。由于对象的内部对用户是密封的,所以消息只是对象同外部世界连接的管道。对象内部的数据只能被自己的方法所操纵。
6. 好文档的作用和意义是什么?
【答案】(1)好文档的作用
①好的文档能提高程序的可阅读性,但坏的文档比没有文档更坏。
②好的文档意味着简明性,风格的一致性,容易修改。
③程序编码中应该有必要的注释以提高程序的可理解性。