当前位置:问答库>考研试题

2017年哈尔滨师范大学软件工程复试仿真模拟三套题

  摘要

一、名词解释

1. 软件再工程

【答案】软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性、可复用性。它指的是对既存对象系统进行调查,并将其重构为新 形式代码的开发过程,它的重要特点是能最大限度的重用既存系统的各种资源。

二、简答题

2. 简述事件如何触发操作。

【答案】(1)如果仅描述事件的模式,那状态图就会失去意义。一个对象的行为描述必须指出在事件的响应中该对象做些什么。在响应所对应的状态和事件过程中,完全依附于状态和变迁的操作。

(2)活动是需要花费时间来完成的操作

①活动与状态有关,一个活动可以是连续的操作,例如在电视机屏幕上显示一幅画面。

②一个活动也可以包括经过一段时间间隔之后的自动终结顺序操作,例如关闭阀门,或者执行一次计算。

③一个状态可以控制一个连续性活动,这种控制可以持续到一个事件使该状态发生变迁时才结束,例如电话铃响。在状态框中用 表示活动A 开始进入该状态并在退出该状态时结束。

表示时序活动A 开始进④一个状态也可以控制时序的活动,例如机器人移动一个零件,这种控制持续到完成该行动,或因另一个事件被中断而提前停止该活动时才结束。相同的记号

入该状态,当完成时停止。

(3)如果一个事件在行动完成之前发生状态的变迀,则该活动被提前终止。例如机器人遇到阻碍而停止移动。这两种使用没有本质的区别:连续性活动可以被看成延续时间不确定的时序活动。

3. 软件配置管理有哪些内容?

【答案】软件配置管理的内容有:

(1)基线

基线是软件生存期中各开发阶段的一个特点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。因此基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道处于的位置,返回到最近和最恰当的基线上。

(2)软件配置项

软件配置项(SCI )是软件工程中产生的信息项,它是配置管理的基本单位。

(3)版本控制管理

版本控制管理是对系统不同版本进行标识与跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。

(4)变更控制

变更控制包括建立控制点和建立报告与审查制度。对于一个大型软件来说,不加控制地变更很快就会引起混 乱。因此变更控制是一项最重要的软件配置任务。

4. 详细设计的基本任务包括哪些?

【答案】(1)数据结构设计

对需求分析、总体设计阶段确定的概念性的数据类型,要进行确切的定义。这一部分的设计内容一般比较多,所以大多数采用小型数据库辅助的方法。

(2)物理设计

对数据库进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。

(3)算法设计

在总体设计的结构完成后,结构各个环节的实现是多解的。这就需要用系统设计与分析的技术来描述。可以用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

(4)界面设计

用户界面的设计现在显得比较重要,可以采用字符用户界面设计,图形用户界面和多媒体人机界面设计。这就要结合具体的系统来处理。

(5)其他设计

根据软件系统的类型,还可能要进行以下设计:

①代码设计

为了提高数据的输入、分类、存储及检索等操作的效率以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。

②输入/输出格式设计

③人机对话设计

对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。

④网络设计

如果设计的软件是一个分布式系统,那么还要进行网络的拓扑结构设计。

(6)编写设计说明书

(7)评审

对处理过程的算法和数据库的物理结构都要评审。

5. 简要说明如何划分等价类。

【答案】(1)如果某个输入条件规定了取值范围的个数,则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值和个数小于这个范围的最小值或大于这个范围的最大值)。

(2)如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理的等价类,此外还有一个不合理等价类(任何一个不允许的输入值)。

(3)如果规定了输入数据必须遵循的原则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。

(4)如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。

6. 试述面向对象方法有哪些特征。

【答案】(1)对象唯一性

每个对象都有自身的唯一标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以唯一的对象标识符,它在历史版本管理中又起巨大作用。

(2)分类性

分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对 象的集合,而每个对象是相关类的实例。

(3)继承性

①定义

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

②分类

a. 单继承

子类只继承一个父类的数据结构和方法,则称为单重继承。

b. 多继承

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。

(4)多态性(多形性)

①定义

多态性是指允许不同类的对象对同一消息做出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为动态性。

②特点

多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。