Feature Assembly Presentation.ppt Assembly... · Software Feature: A prominent or distinctive...

16
Feature Assembly Defining Software Products by Assembling Features Vrije Universiteit Brussel Computer Science Departement WISE Research Group

Transcript of Feature Assembly Presentation.ppt Assembly... · Software Feature: A prominent or distinctive...

Feature AssemblyDefining Software Products by Assembling Features

Vrije Universiteit Brussel

Computer Science Departement

WISE Research Group

Contents

� Why Feature Assembly?

� What Does Feature Assembly Provide?

� The Feature Assembly Framework

� Example

Why

Variability modelling and management can:

� Increase your business opportunities

� Increase your productivity

� Increase your software reliability

�Decrease your time to market

Why?

Quiz Product Line

Different variants of the same product

New opportunities

What

Feature Assembly allows you to efficiently

model, and continuously reuse and manage

your software features.your software features.

Software Feature:

A prominent or distinctive user-visible aspect, quality

or characteristic of a software system or systems

What

Feature Assembly allows you to efficiently

model, and continuously reuse and manage

your software features.

� Feature Assembly allows for:

�Feature Modelling

�Feature Reuse

�Feature Management

your software features.

Feature Modelling

Feature Modelling is the process of formally

defining software is term of its software

features.

It offers It offers

� Identification of the relevant software features

� Definition of the relations between features

� Definition of the dependencies between features

� Definition of variability opportunities

Feature Modelling

What does the Feature Assembly Modelling

technique offer?

� It supports to “separation of concerns” during

modelling.modelling.

� A simple set of modelling concepts

� Allows to enrich features with metadata about

their usage, description, owner, collaborators,

binding time, priority, definition date … etc.

Feature Reuse

� Assembling Approach: Combining both variability

and reusability to increase productivity and

decrease the time to market

� Many different products, yet many common features

� new variants of a feature could be added

� a product can evolve.

Over time

Feature Management

With adequate feature management you can:

� Unlock important information about the software

products

Provide different levels of abstractions to different � Provide different levels of abstractions to different

stakeholders

� Expand current business opportunities

� Help understanding the impact of new products

� Help understanding the impact of change in existing

products

Feature Management

We need to develop a new product

What features do we already have and can

be reused ?

What features are effected by adding a

new feature ?

What are the different features supported? By whom were they defined?

Domain Experts and Developers

Sales Persons

Product Managers

I want to make a nice offer to this customer

Feature Pool

What features will be changed/affected?

We need to add some new features

What are the key features of our product?

Decision Makers

Marketing Managers

We need to invade new markets

What features could be suitable?

What features can we extend?

We need to increase our market share

What features are already available or

planned?

what is the impact of this?

We need to customize oursoftware for our new customer

Feature Assembly Framework

Find features that interact with a specific

feature

Domain Experts and Developers

Query Query ResponseCreate Feature Assembly

Find a feature to represent a

specific concept?

Domain & Application Modelers

What are the existing variants of this specific

feature

Should I introduce a new feature with new variants or extend the current variants of an existing

feature?

F E A T U R E P OO L

Query Query Response

F E A T U R E A S S E M B L E R

Extract features

to current model

Create Feature Assembly

Product Model

Add new features

to Feature Pool

Extract Features

Find Features

F E A T U R E E X P L O R E R

F E A T U R E S P O T T E R

F E A T U R E C O M B I N E R

Add New FeaturesQuery Interface

Extract Existing Features

Assemble Features

Feature Assembly

Modelling Method

F E A T U R E A S S EM B L Y F R AM EWORK

F E A T U R E P OO L M ANAG E R

Feature Assembly Framework

Find features that interact with a specific

feature

Domain Experts and Developers

Query Query ResponseCreate Feature Assembly

Find a feature to represent a

specific concept?

Domain & Application Modelers

What are the existing variants of this specific

feature

Should I introduce a new feature with new variants or extend the current variants of an existing

feature?

F E A T U R E P OO L

Query Query Response

F E A T U R E A S S E M B L E R

Extract features

to current model

Create Feature Assembly

Product Model

Add new features

to Feature Pool

Extract Features

Find Features

F E A T U R E E X P L O R E R

F E A T U R E S P O T T E R

F E A T U R E C O M B I N E R

Add New FeaturesQuery Interface

Extract Existing Features

Assemble Features

Feature Assembly

Modelling Method

F E A T U R E A S S EM B L Y F R AM EWORK

F E A T U R E P OO L M ANAG E R

Feature Reuse

Feature

Management

Feature

Modelling Feature Modelling

with Reuse Support

Example

Variable Product1 Variable Product 2

13

6

Feature Assembly Model 2Feature Assembly Model 1

F E A T U R E A S S EM B L Y F R AM EWORK

24

5

� What: A modelling technique that allows specifying

new products by combining and reusing (existing)

software features.

� How: Store the features of your products in a

Feature Assembly - Summery

How: Store the features of your products in a

continuously growing feature pool. New products are

made by inspecting the feature pool for existing

features and combining them with new ones.

� Benefit: Reuse is promoted and supported from the

initial software conception phase. The Feature Pool also

collects and allows sharing information about the

product features.

Prof. dr. Olga De Troyer

[email protected]

Lamia Abo Zaid

[email protected]