SoftEng 版 (精华区)
发信人: lofe ()感激生活(), 信区: SoftEng
标 题: 基于构件的软件工程维护(2)
发信站: 哈工大紫丁香 (Sun Sep 3 17:43:38 2000), 转信
COTS构件的维护
维护包含COTS构件的系统会遇到许多困难,如:功能冻结,不
兼容升级,特洛伊木马,COTS构件有缺陷或不可靠,用来在COTS构件和用
户软件之间进行代理的中间件(如:包装纸)太复杂或有缺陷,等等。
o功能冻结 当一个构件的卖主退出商业或停止支持构件,就出现功能冻结
的问题。包含功能冻结了的构件的系统将是不可维护的。对其解决办法
有:
o试着自己实现功能;
o从其他地方获得功能;
o从当前卖主那里获得源代码,并自己维护它。
对第一种办法需要有领域专家,否则将是行不通的。第二种办法需要替代
的构件具有所需的功能。当前两种办法都行不通时,只能采用第三种办
法,应该在授权同意的情况下,获得源代码的版权,同时还需要领域专家
来协助维护不熟悉的代码。
o不兼容升级 构件的卖主是根据他们的最大和潜在的用户的需求来升级
和维护构件的。如果某个软件开发者的需求同其它大多数开发者的需求不
一致,那么有朝一日它所依赖的构件可能将同他的系统的其它部分不相兼
容。对这种问题的解决办法可以是:放弃这个构件,自己开发;从其它地
方获得替代构件;或者修改系统。在这些办法都不行的情况下,可以在构
件的外面包裹一层“包装纸(wrapper)”,来隐藏掉不兼容的行为。
o特洛伊木马 特洛伊木马是指隐藏在构件里的,人所不知的,执
行恶意行为的一些程序。即使在有源代码的情况下,监测并删除特洛伊木
马也是十分困难的,更别说在没有源代码的情况下。要监测一个构件的恶
意行为需要监测构件向操作系统发出的所有请求,并检查每一个请求的行
为。可以使用包装纸来执行这个过程,但包装纸并不总是可靠的,它可能
把本不应该的请求忽视了,或赞同了本应该反对的请求。
o包装纸 中间件(middleware)是用来联系、融合、增强两个隔离的软
件包的,它可以用来监测和修改构件的内部行为。当无法确定构件同系统
的其他部分如何进行交互时,就要写一个中间件来确保正确的行为,所以
许多基于构件的系统都含有中间件。包装纸就是用来限制构件功能的一种
中间件。包装纸存在的问题是如何知道哪些行为是应该阻止的。解决这个
问题的办法之一是向构件的卖主咨询,以获得一些信息。当然,更好的办
法是在系统环境中全面地测试构件,把测试信息同卖主提供的信息结合起
来,以建造完备的包装纸。包装纸的另一个问题就是它的实现可能是很复
杂的。
--
※ 修改:.haojs 于 Sep 3 17:41:13 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: bbs.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: haojs.bbs@bbs.whnet.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.253毫秒