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