Non-functional Properties in Software Product Lines: A Framework

advertisement
1
NON-FUNCTIONAL PROPERTIES IN SOFTWARE
PRODUCT LINES:
A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC
SOFTWARE PRODUCTS
Mahdi Noorian
m.noorian@unb.ca
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
Background
4
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.
Background
6
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).
Background
8
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
Approach Overview
Application Engineering
Domain Engineering
15
Integration Process
Domain Requirement
Engineering
(Goal Modeling)
Domain Analysis
(Feature Modeling)
Quality-centric Feature Modeling
Feature Selection
User Requirement Analysis
Mapping
User’s
Objectives and
Preferences

 
Optimized Product
Configuration
Quality-centric Feature Modeling
16
1
FM & GM
Domain
Textual Assets
Control flow
Input
Model
Element
Enrichment
Extended FM &
GM with Textual
Snippets
External
Ontologies
Output
2
Semantic
Annotation
Annotated FM & GM
with Ontological
Concepts
3
Mapping
Recommendation
4
Mapping Links
Building
Quality-centric
Feature Model
QcFM
Quality-centric Feature Modeling
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
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 nonfunctional 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
Download