Simon Fraser University, 2 Athabasca University

Size: px
Start display at page:

Download "Simon Fraser University, 2 Athabasca University"

Transcription

1 Requirements Engineering In Feature Oriented Software Product Lines: An Initial Analytical Study Mohsen Asadi 1, Bardia Mohabbati 1, Ebrahim Bagheri 2, Dragan Gašević 1,2, 1 Simon Fraser University, 2 Athabasca University First International Workshop on Requirements Engineering Practices On Software Product Line Engineering

2 Research Objectives Requirements engineering in software engineering Challenges of RE specific to SPL development for reuse and development by reuse new notions,i.e., commonality and variability the range and number of involved stakeholders Several approaches for RE in SPL Analyze the approaches 2

3 Outline Introduction Software Product Lines Overview Of Approaches Evaluation Framework Findings Conclusion 3

4 Software Product Line Software Product Line Engineering (SPLE) SPLE has emerged as one of the promising software development paradigms for systematic reuse. SPL : a set of software-intensive systems, sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and are developed from a common set of core assets in a prescribed way " Configurability (High- Customization) Reducing development cost Product scoping SPLE principles Systematic Variability Management Commonality Analysis 4

5 Product Line Life Cycles Software Product Line Process Domain Engineering Life-Cycle Application Engineering Life-cycle Domain Engineering Application Engineering Product 2 Domain Requirements Reference Models Product 1 Product 3 Variability Model 5

6 Domain Engineering Feature Model Software Product Line Feature modeling has been well-established baseline for analysis, modeling and management of variability in SPL and requirement engineering. Graph Product Line feature model The feature model express the configuration space 6

7 Introduction Software Product Lines Research Objectives Overview Of Approaches Evaluation Framework Findings Conclusion 7

8 FODA, FORM, and CBFM FODA: The first approach based on the notion of features FODA consists of information analysis feature analysis operational analysis FORM extends FODA with activities for the design and implementation of a family and refines the requirements engineering activities. CBFM: Cardinality-based feature modeling proposes extending the original FODA notation with UML-like multiplicities (so-called cardinalities). 8

9 FeatuRSEB The integration of feature-oriented domain analysis (FODA) with Reuse-driven Software Engineering Business (RSEB) The FeatuRSEB process includes: constructing a use-case model for the product line developing a feature model. Commonality and variability analysis is performed for the use-case model and the feature model. 9

10 Product Line Use-case for Software and System engineering (PLUSS) Based on FeatuRSEB Managing natural-language requirements specifications The main artifacts developed in PLUSS are 1) a use-case model which shows the whole requirements of the family 2) a feature model that visualizes variability in the abstract product family use-case model. 10

11 AMPLE Based on model driven development and aspect oriented Provides a traceability model between requirement engineering products. Artifacts developed in the Approach Use-case models represent requirements in the family feature models represent variability commonality relations 11

12 Goal-Driven Product Line engineering Integrates goal-oriented requirements engineering into SPL. Goal models for intentional space Feature models for product line variability This approach defines activities : domain requirements engineering a pre-configuration algorithm based on the stakeholders objectives. 12

13 AoURN-based Software Product Line Aspect-oriented User Requirements Notation (AoURN) for the context of software product lines. 13

14 Introduction Software Product Lines Research Objectives Overview Of Approaches Evaluation Framework Findings Conclusion 14

15 Criteria Development Development Process Top-Down: investigating research literature on requirements engineering Bottom-Up: review of the proposed approaches Meta-Criteria Coverage of Requirements Engineering Coverage of Variability and commonality Coverage of tooling support 15

16 Coverage of Requirements Engineering Requirements Types Criteria Functional Requirements Non-functional Requirements Preferences Process Aspect Artifact Aspect Requirements Elicitation Requirements Modeling and analysis Requirements Validation and Verification Requirements Management Goal-Model Use-case model Scenario based model Non-functional model

17 Coverage of Variability and commonality Variability Types Process Product Adoption Strategy Criteria Optional Variability Alternative Variability Multi-parallel variability Domain Engineering Application engineering Variability Dimension Artifact Dimension Proactive Strategy Extractive Strategy Reactive Strategy Identification Analyzing Modeling Configuring Reusing Identify Deltas 17

18 Coverage of Tooling Support Criteria Automatic Validation Support for traceability Modeling support 18

19 Introduction Software Product Lines Research Objectives Overview Of Approaches Evaluation Criteria Findings Conclusion 19

20 Findings - Coverage of Requirements Engineering(1) Criteria Requirements Types Non-functional Functional Requirements Requirements Preferences FODA [4] FROM [18] CBFM [ 5] Goal-Driven SPLE [16] AoURN Based PLUSS [ 13] FeatuRSEB [ 11] AMPLE [14] 20

21 Findings - Coverage of Requirements Engineering(2) Criteria Requirements Elicitation Requirements Modeling and analysis Process Aspect Requirements Validation and Verification Requirements Management FODA [4] FROM [18] CBFM [5] Goal-Driven SPLE [16] AoURN PLUSS [ 13] FeatuRSEB [ 11] AMPLE [14] 21

22 Findings - Coverage of Requirements Engineering(3) Criteria Goal-Model Artifact Aspect Scenario based Use-case model models Non-functional representation FODA [4] FROM [18] CBFM [5] Goal-Driven SPLE [16] AoURN PLUSS [ 13] FeatuRSEB [ 11] AMPLE [14] 22

23 Findings-Coverage of Variability and commonality (1) Domain Engineering Process Application engineering Criteria Identification Analyzing Modeling Configuring Reusing Identify Deltas FODA [4] FROM [18] CBFM [ 5] Goal-Driven SPLE [16] AoURN Based PLUSS [ 13] FeatuRSEB [ 11] AMPLE [14] 23

24 Findings-Coverage of Variability and commonality (2) Product Adoption Strategy Criteria Variability Dimension Artifact Dimension Proactive Strategy Extractive Strategy Reactive Strategy FODA [4] FROM [18] CBFM [ 5] Goal-Driven SPLE [16] AoURN Based PLUSS [ 13] FeatuRSEB [ 11] AMPLE [14] 24

25 Findings-Coverage of Tooling Support Criteria Automatic Validation FODA [4] FROM [18] CBFM [ 5] Goal-Driven SPLE [16] AoURN Based PLUSS [ 13] FeatuRSEB [ 11] AMPLE [14] Tooling Support Support for Modeling support traceability 25

26 Summary Major shortcomings lack of techniques for validating and verifying requirements models; lack of mechanisms for capturing stakeholder preferences and applying them for the selection of features; Managing delta requirements Low emphasis on reactive and extractive strategies for developing requirements models 26

27 Conclusion We identified a set of criteria for evaluating existing requirements engineering approaches. we systematically applied the criteria set into the reviewed methods and showed the results in tabular format. The results revealed that several aspects of requirements engineering in product line requires improvement including non-functional requirements, validation and verification, preferences, and delta requirements 27

28 Thank you 28