论文部分内容阅读
企业应用程序在其生命周期中需要不断演化以适应频繁变更的需求,企业应用程序不能顺利演化给企业带来极大成本,相关研究成果在一定程度上缓解了该问题,但仍存在诸如需求描述不精确、建模过程困难、演化缺乏灵活性或者后期难以维护等不足,因此在企业应用程序的演化过程中,如何精确地描述需求、进行建模和有效地进行需求变更传播等问题仍有待进一步研究解决。为克服现有方法的缺陷,本文从分析企业应用程序演化问题的本质出发,讨论了基于需求驱动演化的优势和必要性,提出了一种基于需求驱动的企业应用程序演化方法,对该方法进行了如下的相关研究工作:1)为捕捉和描述企业应用程序需求,提出了精化用例(refined usecase)的概念,给出了相关的形式化定义和一系列精化用例的修改操作,以精确地捕捉和描述企业应用程序的需求变更,研究了修改操作的修改过程及其一致性维护等问题,在精化用例形式化定义的基础上给出了一个精化用例描述语言,为后续演化提供了一个坚实的基础。2)针对传统程序模型不能很好地适应企业应用程序持续演化的缺陷,提出了一个可增量式修改的概念模型,给出了其形式化定义和一组建模规则,研究了模型演化过程中涉及的类型兼容等相关问题,给出了一系列增量式修改操作,以在保留模型内部一致性的前提下不断更新已有模型,从而帮助企业应用程序模型适应需求的频繁变更。3)为解决将需求变更向应用程序进行传播的问题,本文提出了一个修改操作映射框架,该框架可将精化用例修改操作映射成模型修改操作,研究了可把精化用例层变更传播至模型层的修改映射规则,结合实例分析了针对已有模型的持续重构或新增模型元素的过程,研究了基于模型驱动生成的企业应用程序代码演化方法。4)为便于在实践中进行具体的演化活动,本文还设计和实现了一个精化用例描述语言解析器和一个基于需求驱动的企业应用程序演化工具原型,分析了工具的架构设计和工作流程,并将本文提出的方法应用在一个石化过程通用建模优化平台软件的演化实例上,应用结果验证了方法可在需求驱动下,并在维护一致性的基础上进行需求更改的增量式传播,最终帮助企业应用程序顺利地实现演化。