Non-functional Properties in Software Product Lines: A Framework

Download Report

Transcript Non-functional Properties in Software Product Lines: A Framework

NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES:

A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS

1 Mahdi Noorian [email protected]

May 2014

Content

2

 Background  Motivation  Research Objectives  Approach Overviews  Conclusion Mercedes-Benz Product Line

Background

3

Software Product Line

 Systematic reuse based development approach.

 Commonalities and variabilities.

 Developing families of software systems.

 Consists of two main lifecycles:  Domain engineering  Application engineering

4

Background

Software product line based on FORM method.

Background

5

 

Feature Models

   The main artefact of domain analysis.

Variability model.

Features are organized through a set of constraints.

  Structural constraints (Mandatory, Optional, Alternative, OR) Integrity constraints (Include, Exclude)

Feature Model Configuration

  In application engineering, the process of selecting the desirable set of features from the feature model is called

configuration process

.

Configuration process depend on:   feature model constraints, and users’ requirements.

6

Background

Background

7

Goal Models

 Provide a framework for capturing and managing early stage system requirements.

 Intentional variability.

 It generally built over three important concepts:  Goals (a desired result for system under development that stakeholders plan to achieve),  Softgoals (refer to non-functional properties of system),  Tasks (tasks are the methods that can operationalize goals).

8

Background

Content

9

 Background 

Motivation

 Research Objectives  Approach Overviews  Conclusion Mercedes-Benz Product Line

Motivation

10

 Feature models are widely accepted as one of the important tools for domain modeling.

 Mostly capture functional and operational variability of a system.  Non-functional properties of the system alongside with functional properties need to be captured and managed from the early stage of development process.  There is a lack of systematic approaches to deal with non-functional properties within feature models.

Motivation

11

 Software product line configuration is an important step in application engineering.

  selection of desirable set of features is very difficult task for the users and product designers.

  Complexity of the variabilities represented by feature models.

Size of feature model configuration space.

The feature selection depends on the restrictions placed by users’ requirements (functional and non-functional), preferences and feature model constraints.

 There is a lack of methods or processes that can help to identify the set of desirable features to fulfill the users’ needs.

Content

12

 Background  Motivation 

Research Objectives

 Approach Overviews  Conclusion Mercedes-Benz Product Line

Research Objectives

13

 Quality-centric Feature Modeling  Addressing non-functional properties from the early stage of software product lines.

 Connecting intentional variability models such as goal models with feature variability models in a target domain.

 Quality-centric Feature Model Configuration  Developing optimized software products with respect to users’ objectives (functional and non-functional) and preferences.

Content

14

 Background  Motivation  Research Objectives 

Approach Overviews

 Conclusion Mercedes-Benz Product Line

15

Approach Overview

Integration Process

Domain Requirement Engineering (Goal Modeling) Domain Analysis (Feature Modeling)

Quality-centric Feature Modeling

User’s Objectives and Preferences

User Requirement Analysis Mapping Feature Selection   

Configuration Optimized Product

Quality-centric Feature Modeling

16

FM & GM Domain Textual Assets 1 Model Element Enrichment Extended FM & GM with Textual Snippets External Ontologies 2 Semantic Annotation Annotated FM & GM with Ontological Concepts 3 Mapping Recommendation Mapping Links Control flow Input Output 4 Building Quality-centric Feature Model QcFM

17

Quality-centric Feature Modeling

18

Quality-centric Feature Modeling

19

Quality-centric Feature Modeling

20

Quality-centric Feature Modeling

21

Quality-centric Feature Modeling

22

Quality-centric Feature Modeling

23

Quality-centric Feature Modeling

Content

24

 Background  Motivation  Research Objectives  Approach Overviews 

Conclusion

Mercedes-Benz Product Line

Conclusion

25

 A semi-automatic approach to systematically integrate feature models, which represent functional aspects of a domain, and goal models, which represent non functional properties.

 Through this integration, the quality aspects of the domain can be captured from the early stage of SPL development.

 An automated configuration process for developing optimized software product with respect to users’ functional properties, non-functional properties, and preferences.

26

Thank you

27