欢迎来到天天文库
浏览记录
ID:32632632
大小:59.32 KB
页数:9页
时间:2019-02-13
《一种面向服务软件产品线架构设计方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一种面向服务软件产品线架构设计方法摘要:软件产品线工程是一种有效的软件规模化生产方法,面向特定业务领域实现了软件资产的系统化复用,从而降低了软件生产成本,缩短了产品生产周期。然而面对市场快速变化,传统的软件产品线工程方法无法满足要求。针对行业领域应用,把SOA技术应用于软件产品线工程中,提出了能够适应业务敏捷变化的面向服务的软件产品线架构设计方法。关键词:软件产品线;面向服务架构;领域建模;可变性分析;系统化复用中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)31-7472-03随着整个社会信息化进程的加快,软件系统的规模和复杂度不断提高,以及快速的市场变化,企
2、业正面临着成本、质量和交付时间多方面压力。软件产品线工程是一种有效的软件规模化生产方法[1-5],它面向特定业务领域实现软件资产的系统化复用,从而降低了软件生产成本,缩短了软件产品生产周期,并能提高软件质量。但经典的软件产品线工程方法先决条件为产品结构相对稳定,否则会导致产品线核心资产结构的不稳定,而核心资产结构不稳定可能会引发产品线的崩溃,失去软件产品线规模化生产能力。当今企业面对快速变化的市场,为适应市场的变化,需要业务应能够敏捷变化,这就要求支撑业务的软件体系结构能柔性变化,满足业务敏捷性变化的要求。因此现有软件产品线工程无法满足要求。面对快速变化的市场,开发能适应市场变化的敏捷系统
3、是关键。SOA技术为实现业务敏捷性提供了有力支持,可以借助SOA建设一个灵活的IT来帮助企业快速应变市场并且引领业务创新。为使软件产品线工程方法能在行业领域得到有效应用,本文把SOA技术应用于软件产品线工程中,提出了面向服务的软件产品工程方法。该方法既可以利用SOA技术开发敏捷系统适应市场的快速变化,又能实现基于系统化复用的软件规模化生产,从而降低开发成本,缩短交付时间。1面向服务的产品线架构设计方法面向服务的软件产品线架构设计方法是一种自顶向下的系统识别方法,同时也是一种支持面向服务的核心资产复用的有效方式。该方法的架构风格如图1所示,满足SOA开发的通用分层结构,架构本身被分为4个层次
4、:分别是服务接口层,服务组合层,服务层,构件层。其中每个层次都代表不同的含义。接口层是由图形用户接口组件构成的,这一层服务于面向对象的产品线,为产品线提供虚拟接口,这些虚拟接口用来实现服务和服务组合的通信。服务组合层是由不同的服务集合组成的,这些服务集合可以用来执行一个完整的业务活动,或者一个完整的业务过程。服务层是由一些自制的、单一业务表示的服务构成,这些服务可以完成细粒度业务活动。构件层是由构件集合构成,构件本身为服务提供功能,确保并维护服务质量。在图1中,架构中的构件、服务、服务组合以及服务接口构件都在开发的过程中涉及到可变性,因此这些架构元素本身也具有必选依赖、可选依赖及可替换关系
5、。面向服务的产品线架构设计方法将软件产品线工程分为两个生命周期:核心资产开发和产品开发。核心资产开发的目的是为后续的识别过程提供指导和步骤规范,同时记录并执行包含可变性的通用架构元素。在产品开发过程中,这些架构元素通过专门定制来满足特殊用户需求或者市场阶段性需要。面向服务的产品线架构方法从识别阶段开始,该方法的输入包括特征模型和业务流程模型,输出包括可能构件列表、候选服务以及候选服务组合。并且这些架构元素可以复用在所有的产品中。上述处理过程分为构件识别和服务识别。在构件识别和服务识别过后,还要进行可变性分析。把构件和服务列表作为输入,定义并记录架构中相关的可变性,同时说明可变性如何影响服务
6、和构件执行的。软件产品线架构还要遵循一定的架构规范。架构规范包括使用不同的视角来记录架构,这是为了给不同的产品相关人员描述项目的关键点。在架构规范活动中,构件、服务、服务组合和它们之间的流将会逐一规范化。例如,架构将会被规范。在这个活动中,方法和规范在可变性的作用下由所有的核心资产开发工件产生出来,架构规范需要符号来支持可变性的表达。软件架构是一个复杂的实体,不能简单的通过一维形式表示出来。因为项目对应有许多不同的利益相关者,他们对系统的关注点不相同,因此从不同的角度来描述系统是很重要的。在架构规范过程中,第一步是定义构件和服务接口。接下来,不同的架构视角能被生产出来,包括:结构视角,分层
7、视角,交互视角,依赖视角,并发视角和物理视角。结构视角描述了架构的静态结构,这个视角展示额架构中的构件,服务和服务组合。分层视角描述了服务在每一层上的组织结构。交互视角展示了服务和构件之间如何通过交流来实现特殊功能。依赖视角描述了服务和构件之间的依赖信息。并发视角描述了服务和构件之间的并行交互,这种交互也同样可以在交互视角中进行描述。物理视角展示了服务和构件的分别以及交互协议。利用UML图的固有模式和可变性扩展可以创建这
此文档下载收益归作者所有