background image

层次上,引进各种机制以支持软件动态演化,例如动态装载技术允许增加代码到已运行的程
序中,延迟绑定是在运行时而不是编译时决定类和对象的绑定。

Java hotswap 允许在运行

时改变方法:当一个方法终止时,这个方法的新版本可以有效地替换旧版本,在类层次上代
码的二进制兼容被支持。

Gilgul 语言也允许更换运行时对象。但程序语言层次上的动态演化

机制仅局限于函数、类方法和对象等小粒度的替换,只支持预设的有限变更,变更由事件触
发。

通过标准化运行级构件的规约,依靠构件运行平台(中间件平台)提供的基础设施,使

软件在构件层次上的动态演化成为可能。中间件中具有的如命名服务、反射技术和动态适配
等机制,为运行态的动态替换和升级提供支撑,从而推动了软件动态演化的发展。命名服务
就是给构件实例提供一个名称,以便客户通过这些名称来获取构件实例。对工业标准构件
EJB 和 CORBA 构件的引用都可以通过中间件平台的命名服务进行。同一构件标识可以被映
射到多个构件实例,从而根据具体情境对某一名字的构件引用导向到不同的构件实例。反射
技术是系统的一种自描述(

self-representation)和自推理的技术,它提供了关于自身行

为的表示,这种表示可以被检查和调整,且与他所描述的系统行为是因果相联(

causally 

connected)的。因果相联,意味着对自表示的改动将立即反映在系统的实际状态和行为
中,反之亦然。将反射性引入中间件能够以可控的方式开放平台内部的实现,从而提高中间
件的定制能力和运行使的适应能力。动态适配机制中比较著名的是

CORBA 提供的动态接口

服务:动态调用接口

DII 和动态骨架接口 DSI。前者支持动态客户请求调用,而后者支持将

请求动态指派(

Dispatch)给构件。因此,软件构件化技术使得软件具有良好的构造性,

软件演化的粒度更大。中间件技术则为基于构件的软件动态演化提供了坚实的基础设施和方
便的操作界面。

3、考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的软

件演化活动的特点、演化的类型,以及所采取的对应演化技术手段。要给出实施软件演化活
动的具体过程、方法以及对实际应用效果的分析。

试题二、论数据挖掘技术的应用
写作要点:

1、结合自己所参与的软件项目,概要介绍该项目的背景及主要内容,并明确指出在其

中所承担的主要任务和开展的主要工作。

2、数据挖掘的任务主要是关联分析、聚类分析、分类、预测、时序模式和偏差分析等。
(1)关联分析。两个或两个以上变量的取值之间存在某种规律性,就称为关联。数据关

联是数据库中存在的一类重要的、可被发现的知识。关联分析的目的是找出数据库中隐藏的
关联网。一般用支持度和可信度两个阈值来度量关联规则的相关性。

(2)聚类分析。聚类是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,

不同类中的数据相异。聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数
据属性之间的相互关系。

(3)分类。分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类

的内涵描述,并用这种描述类构造模型,一般用规则或决策树模式表示。分类是利用训练数
据集通过一定的算法而求得分类规则。分类可被用于规则描述和预测。

(4)预测。预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种

类及特征进行预测。预测的精度和不确定性被重点关注,通常用预测方差来度量。

(5)时序模式。时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归

一样,它也是用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。

(6)偏差分析。在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发

现数据库中存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照之
间的差别。