控制/MCU
软件产品家族是具有共同特性的一系列软件系统,例如电信公司的各种计费系统、手机应用软件,像这样一些具有共同特性的一组软件系统的开发,如果没有系统重用的方法,采取传统的“一次开发一个系统”的方法,将使系统的成本和开发周期大大增加。
软件复用被认为是解决软件危机、实现软件产业工业化生产方式的有效途径。软件产品家族方法即应用软件复用的相关原理和技术,把整个产品家族作为同一问题空间来看待的软件开发方法。研究和实践表明,通过应用软件复用技术,软件产品家族方法极大地节省了软件产品的开发成本和时间[1],因此软件产品家族方法也被认为是一种提高软件开发效率和控制软件复杂性的有效措施。
本文采用面向特征的领域分析方法,选取高校设备预定管理产品家族作为研究实例,阐述了对软件产品家族领域分析的方法,实现了需求的复用。
1相关概念
1.1领域工程
领域是一组具有相似或相近软件需求的应用系统所覆盖的功能区域[2]。领域的概念规定了领域工程的研究范围,即在构造一个特定领域内的系统或者系统的某些部分时,以可重用方面的形式收集、组织并保存过去的经验的活动,以及在构造新系统时,提供一种充分的方法来重用这些资源。
领域工程过程实施与开发单个应用系统的软件工程过程(应用工程)不同,需依据一定的领域工程方法进行。较有影响的领域分析方法有:面向特征的领域分析方法FODA(Feature-Oriented Domain Analysis)、组织领域分析模型方法ODM(Organization Domain Modeling)及领域分析和设计过程(DADP)等[3]。面向特征的领域分析方法为领域分析定义了具体的过程和阶段,与其他方法相比具有较强的操作性。以下3个基本阶段刻画了FODA过程[3]:场景分析,定义进行分析的领域的区域(或边界);领域建模,提供一个对用软件表达的领域的问题空间的描述;构架建模,创造一个可以将解决方案实施到领域中具体问题的软件体系结构。
1.2 产品家族
产品家族是指一类共享体系结构属性、特征、代码、构件、中间件或者需求的软件产品。作为特殊的领域,产品家族主要强调产品所在家族的共性,并不限于特定的软件企业。共性是产品家族存在的基础,而家族内单个产品间的区别则属于变化性。因此,对软件产品家族进行领域分析,需要描述出家族内产品的共性和变化性。FODA方法用特征来对需求进行模块化组织,用特征和特征之间的关系来对整个产品领域进行建模。
1.3 特征和特征模型
特征的定义在领域工程中并不完全相同,一个比较完整的定义为:从需求规约的组织结构角度来看,特征提供了一种对需求的分割和组织方式,即以特征作为需求空间内的一阶实体,系统具有的特征及其相互关系构成了系统的需求空间[4]。
领域特征模型是面向特征的领域需求规约模型,通过记录领域具有的一组相对稳定的特征以及特征之间的关系反映整个领域的软件需求。它分为共性和变化性特征,其中共性特征表达领域内各成员系统的共有部分,变化性特征描述领域内部分成员系统的共有或特有部分。
2 面向特征的软件产品家族建模方法
本文在对高校设备预定管理产品家族进行领域建模时,以FODA为基础,把特征和特征模型的概念引入到领域分析模型中,用于表现领域需求,同时采用用例模型描述家族中的成员系统的变化性。
面向特征的产品家族领域分析的主要目标是获得领域分析模型以描述家族中产品的共性和变化性需求,包括场景模型、领域面向对象分析模型和特征模型3部分。其主要活动及过程如图1所示。
全部0条评论
快来发表一下你的评论吧 !