non-functional properties in software product lines: a framework for developing quality-centric...

27
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY- CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian [email protected]

Upload: catherine-shields

Post on 23-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES:

A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS

May 2014

1

Mahdi Noorian

[email protected]

Page 2: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

2

Content

Background Motivation Research Objectives Approach Overviews Conclusion

Mercedes-Benz Product Line

Page 3: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

3

Background

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

Page 4: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

4

Background

Software product line based on FORM method.

Page 5: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

5

Background

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.

Page 6: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

6

Background

Page 7: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

7

Background

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).

Page 8: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

8

Background

Page 9: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

9

Content

Background Motivation Research Objectives Approach Overviews Conclusion

Mercedes-Benz Product Line

Page 10: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

10

Motivation

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.

Page 11: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

11

Motivation

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.

Page 12: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

12

Content

Background Motivation Research Objectives Approach Overviews Conclusion

Mercedes-Benz Product Line

Page 13: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

13

Research Objectives

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.

Page 14: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

14

Content

Background Motivation Research Objectives Approach Overviews Conclusion

Mercedes-Benz Product Line

Page 15: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

15

Approach Overview

Optimized Product

User’sObjectives and

Preferences

Feature SelectionUser Requirement Analysis

Domain Requirement Engineering

(Goal Modeling)

Ap

plic

atio

n E

ng

inee

rin

g

û ü

Domain Analysis(Feature Modeling)

ü

Integration Process

Configuration

Mapping

Do

mai

n E

ng

inee

rin

g

Quality-centric Feature Modeling

Page 16: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

16

Quality-centric Feature Modeling

Model Element

Enrichment

FM & GM

Semantic Annotatio

n

Mapping Recommenda

tion

Building Quality-centric Feature Model

1

3

4

2Domain Textual Assets

Extended FM & GM with

Textual Snippets

Annotated FM & GM with

Ontological Concepts

External Ontologies

Mapping Links

QcFM

Control flowInput

Output

Page 17: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

17

Quality-centric Feature Modeling

Page 18: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

18

Quality-centric Feature Modeling

Page 19: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

19

Quality-centric Feature Modeling

Page 20: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

20

Quality-centric Feature Modeling

Page 21: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

21

Quality-centric Feature Modeling

Page 22: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

22

Quality-centric Feature Modeling

Page 23: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

23

Quality-centric Feature Modeling

Page 24: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

24

Content

Background Motivation Research Objectives Approach Overviews Conclusion

Mercedes-Benz Product Line

Page 25: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

25

Conclusion

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.

Page 26: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

26

Thank you

Page 27: NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May 2014 1 Mahdi Noorian m.noorian@unb.ca

27