Content area

Abstract

The strong benefits of applying a well suited RE process on a project have been presented in the literature: it increases the productivity of the development teams, reduces products’ time-to-market and development costs, and improves customer satisfaction. Research on RE processes has been conducted in different, independent research areas, including the agile and product line communities. The former is to provide lighter weight, faster, and nimbler software development processes that allow developers to quickly create high quality software in rapidly changing business environments, while the latter is to efficiently build a set of family projects by assembling pre-developed assets based on planning. Although numerous process models and techniques have been proposed and developed to provide support for requirements development, a huge gap still exists between theory and practices. One of the challenging research problems is how to define or select a requirements engineering (RE) process and a set of RE techniques that is well suited for a project in terms of the degree of agility for product line projects.

The objectives of this research are, therefore, to improve the state of the art in this new research area, which focuses on collecting RE knowledge from experts, and identifying the applicability of RE process models and techniques for specific software projects. The outcome of this research is Agile Product Line Requirements Engineering Framework (APLE-RE). The APLE-RE framework recommends a set of RE techniques based on project characteristics and provides a set of process patterns for requirements engineers. It contains two components: Knowledge Acquisition and Process Repository. Knowledge Acquisition is developed to collect expertise of researchers and practitioners who are actively involved in software development using agile, product line RE techniques. A scenario-driven, online-based questionnaire is designed to accomplish this. Based on the knowledge collecting by the questionnaire, the data analysis work uses some machine learning methods to analyze RE techniques in detail and select a set of RE techniques for each project characteristics. The selected RE techniques will be recommended in Process Repository. Process Repository is to provide a collection of process patterns which can help requirements engineers to choose or tailor one pattern for their own purposes, especially for agile product line products. These process patterns are tailored versions of UP and presented in UML, which range from very agile to plan driven approaches for single product and product line RE. In addition, these patterns provides a disciplined approach to assigning tasks and responsibilities within a development organization to ensure that software development process follows a set of pre-defined workflow and produce the high quality software within a predictable schedule and budget. 171 patterns are identified, including 9 single product patterns and 162 product line patterns. Six patterns have been defined and 2 patterns have been validated. The validation approach is based on existing case studies reported in the literature. Case studies are reverse engineered with respect to the RE process used. The closest matching pattern is manually identified in the repository. The difference from the pattern and the actual process used are identified and classified; the difference can be used to indicate the usefulness of the pattern.

Details

Title
Towards an Agile Product Line Requirements Engineering Framework: Knowledge acquisition and process definition
Author
Feng, Kunwu
Year
2009
Publisher
ProQuest Dissertations Publishing
ISBN
978-1-109-40801-0
Source type
Dissertation or Thesis
Language of publication
English
ProQuest document ID
305065946
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.