论文部分内容阅读
随着全球化竞争的加速,企业级应用作为当前信息技术应用的一个主战场,在软件规模的不断增长、交付周期的不断缩短的情况下对软件开发与交付带来了巨大挑战,如何基于可复用资产进行高效的开发成为当前企业级应用软件开发面临的关键问题。虽然四十多年的软件复用研究与实践在软件开发方法、过程与工具方面对提升软件生产水平有了质的飞跃,但由于软件本身的内在特质还未被人们充分了解,其典型表现就是“软件危机”一直存在。本文以企业级应用开发为研究对象,利用软件产品线开发的思想,将模型驱动的开发与基于构件的开发方法以集成化框架的方式融入企业级应用的复用开发过程,完成了如下实用且有新意的工作:(1)针对企业级Web应用开发(尤其是UI)工具支持不足、代码混乱、不易复用等问题,提出了基于架构模式的Web应用层次化模型及其描述语言,将企业级应用进行以架构模式为基础的模型化开发,从而a)易于结构分析与复用:b)易于工具支持的实现;c)有助于提升可读性。进一步的,从Web应用开发的实践出发,以UI建模为主导,通过构件化、面向对象的精化、参数化形成可复用领域模型制品,形成UI驱动的模型化复用开发方法,通过人工与自动化的UI建模相结合最大限度的发挥两者的优势,克服单纯的自动化建模对定制支持不足的问题,提升了开发效率。实践证明该方法可以显著的提升应用的开发效率。(2)针对Frame技术(XVCL)强调通过预处理器指令来标识程序中的共性模式和可变性,以消除冗余代码,但却导致frames构件边界不清、新需求的融入导致重构维护困难的问题,提出了一种Frame和逐步精化相结合的构件演化开发方法。其基本思想是将“特征”作为关注点分离需要考量的维度融入Frame构件的设计之中,使得frames融入了逐步精化的语义;进一步的,揭示了Frame与逐步精化深入融合的相关问题,为构建统一的以frames为基础、面向特征的软件开发方法奠定了基础。将Frame与逐步精化相结合,有助于精化中细粒度的可变性特征标识,提升frames设计中的关注点分离,促进基于Frame的软件开发。(3)针对特征模型在表达能力、可扩展性、模糊语义等方面的不足,提出了一种文本式特征建模语言—TEFL。TEFL具有严格的形式化语义,支持高级特征表达,提供了特征片段的模块化组织与复用,消除了既有语言表达法的不足。进一步的,以TEFL为基础,提出了基于特征的构件适配组装方法,实现了特征在代码层的映射,提供了对构件进行面向特征的适配与组装,使得特征模型不仅用于模型分析,还可以用于开发与代码生成,形成以构件技术为基础的软件产品线方法,有利于特征模型在工业界的导入。(4)针对企业级应用开发中模块化支持不足,既有应用难以形成基于业务粒度的构件的问题,提出基于OSGi的企业级应用构件化开发、运行、部署方法。该方法提供了用于实现企业级应用构件化的阶段性技术方案。开发期构件化借助Eclipse环境采用企业级应用特定的构件模型来进行开发,通过部署期架构转化实现构件化开发系统向传统Java EE系统的转换;运行期构件化采用了OSGi构件与传统JARs“混搭”的技术框架,其基本思想在于不同类加载器的融合,实现了业务构件的运行时动态化管理,简化了企业级应用向运行时构件化过渡的成本。