论文部分内容阅读
当前,网络正在成为软件工程发展必须面对的不可抗拒的大环境。软件从服务于系统发展为服务于网络,软件应用从“为我所有”发展到“为我所用”,软件的发展表现出网络化的趋势,我们正在走向面向服务的软件工程时代。以资源聚合为基础的语义Web服务技术正在迅猛发展,在这样的背景下,一种能够为用户提供随需而变的在线服务的软件——网络式软件,应运而生。网络式软件的本质特征之一表现为:在网络环境下,软件行为和拓扑结构是可动态演化的。一个大规模、复杂的软件的形成,在开始的时候仅是一个初具规模的、并不十分复杂的软件。随着网络资源聚合规模的不断扩大,依照用户个性化、多样化需求的偏好生长机制,通过用户需求与网络服务资源之间的交互作用、不断地吸收用户个性化、多样化的偏好需求,使得软件规模和复杂性逐步增长,用户需求和用户体验也逐步增长,从而导致网络式软件朝着大众用户需求的方向演化。面对网络式软件的需求工程带来的新特点,传统的需求建模方法无法支持在面向服务的计算环境下对网络式软件进行演化建模。网络式软件需求建模方法也无法支持网络式软件演化建模时超出领域知识支持范围的情形。导致当现有领域需求资产不能满足用户特别需求的时候,生产出来的网络式软件难以让用户满意。针对上述问题,本文拟解决的关键科学问题是“抽象出网络式软件演化需求的元描述,提炼出系统需求演化建模方法,用以指导用户需求演化建模”。围绕这个科学问题,本文所做的贡献主要有以下几个方面:(1)建立了针对RGPS需求元建模框架的的演化需求元建模框架,用来指导网络式软件的需求演化建模,包括目标——过程——服务三个层次,分别构造了这三个层次的元模型。在这三个元模型的指导下,用户可以从不同层次不同粒度提出自己的变更的需求,同时有助于建立规范的演化需求的表达。(2)基于需求演化元建模框架,提出一种面向服务、基于方面的个性化需求演化分析方法。该方法的特色是将演化目标、演化活动以及演化的服务接口和与用户的交互封装在方面(Aspect)里,从而提高了演化的可管理性。借鉴了面向方面的软件开发的方法,对演化目标——演化原子活动——演化服务接口进行方面的封装和跟踪,是个性化需求演化的核心思想。通过使用该方法,用户可以对共性需求模型进行个性化的增加、修改,满足自己特别的需求。(3)提出了个性化需求目标模型的整合方法。本文针对RGPS目标层需求模型,提出了一种将N个个性化目标模型整合生成1个系统目标模型的方法。通过该方法,可以把若十个经过聚类得到的具有相似性的目标模型整合起来,完成从个性化需求模型到系统需求模型的转变,从满足单个用户需求的需求模型到满足某个用户群体的需求模型的转变。通过整合的目标模型可以推荐给领域专家,用来对领域需求模型进行演化。(4)提出了基于情境的系统需求模型服务资源动态配置的方法。网络式软件的运行形态主要表现为Web服务组合,系统需求模型最终依靠Web服务组合来实现。提出一种基于情境的Web服务组合服务资源配置框架,通过动态配置原子Web服务,实现系统运行时随所处情境变化而动态演化。动态配置框架的核心是使用一种基于情境推理的服务资源发现方法,使用该方法,可以得到适应于用户情境的Web服务。最后,实现了系统需求演化工具原型,该工具能够帮助用户进行需求演化建模,最终生产出可满足用户独特需求的网络式软件。