面向特征的软件产品线非功能性需求分析
Feature-Oriented Nonfunctional Requirement Analysis for Software Product Line
-
摘要: 软件产品线开发中的领域分析通过系统和全面的共性/可变性分析为产品线核心资产的设计与实现提供了基础。在面向特征的软件产品线开发方法中,领域分析得到的是领域特征模型以及相应的支持应用系统定制的特征决策模型。与单个软件系统一样,软件产品线也存在非功能性需求(NFR),并且各个应用产品在非功能性需求上也会存在差异和可变性。因此,软件产品线开发中的领域分析也应该同时考虑功能和非功能性领域需求。非功能性需求不像功能性需求那样明确,而非功能性可变性更是具有与功能性可变性具有不同的表现形式,例如非功能性目标实现程度上的差异或者不同的非功能性目标权衡考虑等。这些都为产品线非功能性需求分析带来了困难。
本文针对软件产品线开发,提出了一种基于上下文环境(context)的NFR分析方法。该方法通过将非功能性目标(goal)与相应的现实世界环境相联系使NFR的存在具体化。本文的方法首先在初始的功能性特征模型基础上进行特征上下文建模。然后,该方法在使用NFR图表示的非功能性目标模型以及NFR模板的基础上,通过上下文环境分析、非功能性目标冲突分析以及非功能性目标实现操作分析等多个层面上的分析工作实现NFR可变性分析。可变性分析之后,该方法将非功能性目标和相应的实现操作集成到初始的功能性特征模型中。与NFR相关的可变性约束也会进行分析,并被集成到特征模型中。最后,该方法将构造同时包含功能和非功能性观点的特征决策模型,以支持面向特定应用的特征模型定制。本文以计算机辅助阅卷系统产品线作为贯穿全文的产品线实例来说明方法的有效性。
本文系统分析了非功能性目标与功能性特征的关系以及非功能性可变性的根源,包括应用系统上下文环境的差异以及非功能性目标之间的不同权衡等。在此基础上,本文在NFR图以及特征上下文模型的支持下,通过目标精化、多个层面上的NFR可变性分析以及非功能性特征与功能性特征的集成分析,实现了面向特征的产品线非功能性需求分析和建模。该方法主要关注于NFR的分析和建模,没有涉及非功能性可变性对产品线设计以及应用产品定制的影响。后续的工作一方面将关注于更加系统的软件产品线NFR分析和设计方法,包括NFR获取、可变性分析以及面向NFR的可变性设计。另一方面将会把相关方法与课题组已有的软件产品线分析、设计和实现工具相集成,包括与已有的特征建模工具相集成以提供非功能性特征建模能力,以及与应用产品配置与组装工具集成以提供面向NFR的应用定制能力。
本文所提出的软件产品线非功能性特征分析方法为领域分析中的NFR获取、可变性分析和集成提供了支持。该方法建立在领域分析中得到广泛应用的特征分析方法基础上,能够较为方便地实现与现有的面向特征的产品线开发方法相集成,从而支持基于非功能性特征的产品线设计、实现以及应用产品定制和组装。Abstract: Domain analysis in software product line (SPL) development provides a basis for core assets design and implementation by a systematic and comprehensive commonality/variability analysis. In feature-oriented SPL methods, products of the domain analysis are domain feature models and corresponding feature decision models to facilitate application-oriented customization. As in requirement analysis for a single system, the domain analysis in the SPL development should consider both functional and nonfunctional domain requirements. However, the nonfunctional requirements (NFRs) are often neglected in the existing domain analysis methods. In this paper, we propose a context-based method of the NFR analysis for the SPL development. In the method, NFRs are materialized by connecting nonfunctional goals with real-world context, thus NFR elicitation and variability analysis can be performed by context analysis for the whole domain with the assistance of NFR templates and NFR graphs. After the variability analysis, our method integrates both functional and nonfunctional perspectives by incorporating the nonfunctional goals and operationalizations into an initial functional feature model. NFR-related constraints are also elicited and integrated. Finally, a decision model with both functional and nonfunctional perspectives is constructed to facilitate application-oriented feature model customization. A computer-aided grading system (CAGS) product line is employed to demonstrate the method throughout the paper.