Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features
Product line engineering allows for the rapid development of variants of a domain specific application by using a common set of reusable assets often known as core assets. Variability modeling is a critical issue in product line engineering, where the use of feature modeling is one of most commonly used formalisms. To support an effective and automated derivation of concrete products for a product family, staged configuration has been proposed in the research literature. In this paper, we propose the integration of well-known requirements engineering principles into stage configuration. Being inspired by the well-established Preview requirements engineering framework, we initially propose an extension of feature models with capabilities for capturing business oriented requirements. This representation enables a more effective capturing of stakeholders’ preferences over the business requirements and objectives (e.g.,. implementation costs or security) in the form of fuzzy linguistic variables (e.g., high, medium, and low). On top of this extension, we propose a novel method, the Stratified Analytic Hierarchy process, which first helps to rank and select the most relevant high level business objectives for the target stakeholders (e.g., security over implementation costs), and then helps to rank and select the most relevant features from the feature model to be used as the starting point in the staged configuration process. Besides a complete formalization of the process, we define the place of our proposal in existing software product line lifecycles as well as demonstrate the use of our proposal on the widely-used e-Shop case study. Finally, we report on the results of our user study, which indicates a high appreciation of the proposed method by the participating industrial software developers. The tool support for S-AHP is also introduced.
KeywordsAnalytic Hierarchy Process Feature Model Product Family Software Product Line Implementation Cost
Unable to display preview. Download preview PDF.
- 1.Clements, P., Northrop, L.: Software product lines: practices and patterns. Addison-Wesley Longman Publishing, Amsterdam (2001)Google Scholar
- 4.White, J., Dougherty, B., Schmidt, D.C., Benavides, D.: Automated Reasoning for Multi-step Software Product-line Configuration Problems. In: SPLC 2009 (2009)Google Scholar
- 5.Boskovic, M., Bagheri, E., Gasevic, D., Mohabbati, B., Kavinai, N., Hatala, M.: Automated Staged Configuration with Semantic Web Technologies. International Journal of Software Engineering and Knowledge Engineering (in press)Google Scholar
- 6.Czarnecki, K., Helsen, S., Eisenecker, U.: Staged Configuration Through Specialization and Multi-Level, Dep. of Electrical and Computer Eng., University of Waterloo (2004)Google Scholar
- 9.Karlsson, J., Olsson, S., Ryan, K.: Improving Practical Support for Large-scale Requirement Prioritising. Requerments Engineering 2 (1997)Google Scholar
- 10.Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Heidelberg (2007)Google Scholar
- 13.Czarnecki, K., Kim, C.H.: Cardinality-based feature modeling and constraints: A progress report. In: International Workshop on Software Factories (2005)Google Scholar