论文部分内容阅读
随着信息技术在现代企业内的广泛应用,企业应用软件变得越来越复杂;同时,频繁变化的业务环境要求企业管理模式与业务过程具有良好的柔性,要求应用软件具有较高的敏捷性和适应变化的能力。如何高效率、低成本的构造复杂应用软件、如何保证系统快速响应变化的能力,成为企业应用软件研发的重要问题。 针对基于构件的企业应用软件(ESA)的构造、重构与复用问题,以ESA建模、构造与重构等活动的性能优化及业务构件的复用性能优化为目标,按“重构与复用体系→重构与复用性能度量→构件识别→构件复用→构件优化→应用案例验证”的研究主线,本文提出了若干模型与算法以解决上述问题。 本文以面向ESA全生命周期的重构性能优化为出发点,提出了基于扩展MDA的ESA的多层空间体系结构与全生命周期,将各种层次与粒度的构件作为ESA构造与重构的基本单元,并在标准MDA各层次之间加入性能度量的环节以改善系统重构与复用的性能。 为评价ESA中软件重构与复用的性能优劣问题,本文提出了ESA重构性能度量指标体系,从静态与动态两个角度对与ESA重构相关的各阶段与过程、各实体的性能进行全面度量,提出了复用度、复用/变化成本、复用效率、聚合度与耦合度、变化封闭度、稳定性等指标及其定量的度量手段。 针对ESA生命周期中的三个主要阶段(构件识别、基于构件复用的ESA重构、构件优化)中存在的若干问题,在上述性能度量指标体系的支持下,本文分别展开了如下研究: (1)针对目前业务构件识别中存在的问题,引入稳定性的概念,并提出了基于业务模型稳定性的动态粒度构件识别方法STCIM。该方法借鉴MDA的基本思想,从计算无关的业务模型出发获取平台无关的构件模型,将构件识别的重点放在对粒度、稳定性与聚合度-耦合度的综合优化上。重点探讨了基于最大稳定集的构件获取算法,依据动态粒度映射策略将各业务模型子空间映射为构件,并给出了实例验证及与其它方法的比较。 (2)提出了基于特征树匹配的构件选取算法 FTM,面向大粒度需求模型,在满足功能匹配的情况下,将具有最低匹配成本的构件逐次选取出来以降低构件复用与系统重构的总体代价。 (3)针对业务构件的实际复用与设计目标的不一致性,提出了两种构件优化方法,以降低构件复用成本:基于复用数据统计的构件优化方法BARACO,借助于概率统计论中的Bayesian分析方法,将构件实际复用数据作为样本数据来计算构件的后验属性,并据此进行基于分解/合并的构造优化;基于构件实例集分解的优化方法LACIS,考虑构件复用中的时间和空间局部性,对构件实例集合进行分解。针对两种算法给出算例并与其它方法进行了比较。 为支持上述研究内容,本文引入了特征建模作为工具并对其进行扩展,加入特征依赖的概念并扩展特征可变类型以表示可复用的业务语义,并在此基础上提出了基于特征的业务构件模型及基于可变点的构件复用机制,在企业业务空间与业务构件的语义空间之间建立映射。 为验证理论研究结果,本文以企业ERP系统采购领域作为典型应用案例,应用STCIM进行领域构件识别;使用FTM选取恰当构件以满足多家企业的不同重构需求;通过对应用实施所产生的实际复用数据的统计分析,应用BARACO与LACIS对这些业务构件进行改造。另外,还简要介绍了一种ERP系统构件生成工具,支持将业务构件模型转化为可运行软件构件,并对该工具的应用效果进行了分析。