SlideShare une entreprise Scribd logo
1  sur  40
Non-Functional Requirements
as drivers of
Software Architecture Design

David Ameller
Barcelona, 23th January 2014

Thesis supervised by Xavier Franch
2

Outline
Introduction
PART I

NFRs in Model-Driven Development

PART II
PART
III

NFRs in Software Architecture
Arteon, Quark, and ArchiTech

Conclusions
Introduction
4

Non-Functional Requirements (NFRs)

The system shall support
real-time operations

The system shall keep
our current Data Base
Management System

“a description of a
property or
characteristic that a
software system must
exhibit or a constraint
that it must respect”
K. Wiegers. Software Requirements, 2003.
5

Model-Driven Development (MDD)

“is simply the notion
that we can construct
a model of a system
that we can then
transform into the real
thing”
S. Mellor et al., “Model-Driven Development”.
IEEE Software, 2003.

PIM

HelloWorld
Show()

M2M

PSM

GWT
HelloWorld

POJO

M2T

Code

Show()

JDBC

…
show() {
print(“Hello World”);
}
6

Software Architecture (SA)

Presentation

Business

“The software
architecture […] is the
structure or structures
of the system”

Persistence
L. Bass, P. Clements, and R. Kazman.
Software Architecture in Practice, 2003.
7

Relation of NFRs with MDD and SA
PART I

PART II & III

NFRs

MDD

NFRs make MDD
adaptable, while
MDD could be used
to systematize
NFRs

SA

NFRs are used to
make architectural
decisions, while
architectural
knowledge could be
used to reason
about NFRs
8

Objective of this thesis
Explore the role of
Non-Functional Requirements in
the Software Architecture Design
Propose novel ideas to integrate NFR in software development
Run empirical studies of the current architectural practices
Design new techniques, methods, and tools
9

Example (1/3)
ACME travel agency web portal
ACME luxury: travel packages to exotic destinations in 5-star hotels
ACME world-wide: hundreds of travel packages
Functional requirements are equal
User management
Payment facilities
Searches
Non-Functional Requirements have differences
Security: “The system shall detect and report unauthorised data accesses”
Scalability: “The system should be prepared to high connection demands
to ensure the success of the portal”
10

Example (2/3)
Architectural styles and components

Types of
NFR

Performance
Security
Availability
Maintenance
Scalability
Complexity

Single-Server
Configuration
Poor
Poor
Poor
Good
Poor
Good

DBMS
separated
Average
Good
Poor
Average
Poor
Average

Firewall

Replication

Neutral
Improve
Neutral
Damage
Neutral
Damage

Improve
Neutral
Improve
Damage
Improve
Damage

The table is based on S. Ceri et al., Designing Data-Intensive Web Applications, 2002.
11

Example (3/3)

ACME Luxury

ACME World-wide

Different NFR specifications
lead to different software
systems
12

Timeline
PART I
PART II
PART III
2007

2008
PART I

2009

2010

2011

2012

2013

NFRs in Model-Driven Development

PART II NFRs in Software Architecture
PART
Arteon, Quark, and ArchiTech
III
DSDM
Euromicro SEAA RE (31 cites)

2007

2008

2009

2010

PART I
NFRs in Model-Driven Development

2011

2012

2013
14

Objective of PART I
Define a MDD framework that
integrates NFRs

Most existing MDD approaches do not consider NFRs

It is problem with critical consequences
“A Comedy of Errors: the London Ambulance Service case study”
Anthony Finkelstein & John Dowell, 1993.
15

Current approach (in practice)

Modify the PSM, the M2T transformation
and the generated code
Longer production, lower reliability, and
worse maintenance

Modify the M2M transformation in order to
support specific NFRs
Increases complexity, longer production if
new transformation is needed
16

Our approach (automatic)
All requirements are specified at PIM level

We propose to use M2M transformations able to
deal with NFRs (M2March, M2Mtech)

We propose an intermediate model (PIM/PSM) to
reflect architectural decisions made from NFRs

The code (software product) is compliant with the
stated NFRs
17

Our approach (interactive)
The first approach is conceptually sound but may be
too complex

In this case PIM is unaware of NFRs

We propose to use human interaction to obtain NFRs
(with architectural and technological consequences)

Hybrid approaches are possible
18

Example

Knowledge

Models

PIM (nf)
R1: The system shall
detect and report
unauthorized data
access

PIM/PSM (nf)

App.
server

DBMS

Security

FW

+
Firewall
Requirements

Source
subsystem

Protected
subsystem

Architecture
19

Benefits of our approach

NFRs are fully integrated into MDD
No need to modify the code
Architectural decisions depend on NFRs
Knowledge reuse
20

Drawbacks of our approach

New model (PIM/PSM) need to be maintained
New transformations are needed

We need to maintain the architectural knowledge
21

Conclusions of PART I
We proposed a flexible framework
to deal with NFRs in MDD

The architecture should be part of
the MDD process to support NFRs
Need to gather knowledge that relates
NFRs and Architectural decisions
First
study

Second
study

RE IEEESoft. (IF 1.5) ECSA

EASA REFSQ

2007

2008

2009

PART II
NFRs in Software Architecture

2010

Third
study

2011

2012

2013
23

Empirical studies
Study the role of NFRs in Software Architecture

First study

Second study

Third study

Type

Electronic survey

Interviews

Electronic survey

Number of respondents

60

13

31

Number of RQs

5

6+7

3

Target population

Software industry

Software architects

Software architects

Target information

Practical experience

Single project

Single project/NFR

Population origin

World-wide (>50% Spain)

Spain

World-wide

Execution

2009

2010

2011

Publication

2010

2012/13

2013
24

First study
Non-Functional Requirements in
industrial practice
Half of respondents did not use NFRs to make architectural decisions
Respondents stated that:
“need tools for NFRs management”
Respondents stated that:
“want to have the last word on decision-making”
More empirical evidence for software architecture is needed
25

Second study
How do software architects deal with
Non-Functional Requirements?
Companies did not have the role of architect clearly defined
NFRs were mostly elicited by the architects
Architects considered Non-technical NFRs as relevant as technical NFRs
Most of the architectural decisions had the influence of a NFR
26

Third study
The role of Quality Attributes in
Service-Based Systems design
QAs are often considered as important as functionality

We could not identify QAs predominance in particular domains
We could not find a relation between QAs and decisions
Ad-hoc decisions are often used in SBS
27

Conclusions of PART II
Architects take into account all kinds of
requirements in architectural decisions

There is a wide space in the gap between
researchers and practitioners
Replication and new empirical studies are
required in this area
ArchiTech Quark

Arteon
DSDM

2007

2008

2009

PART III
Arteon, Quark, and ArchiTech

IWSSA TOPI RESPE CIbSE (among
best papers)

2010

2011

2012

2013
29

Arteon
Architectural knowledge ontology
Divided in two modules
Described in UML

Extendibility and Reuse
Minimal encoding bias
Minimal ontological commitment
30

Arteon: SE Module
Logical view
Architectural
Element

3-Layers style
Style

4+1 views framework

Architectural
View

3-Layers with
data-mapper

Persistence
layer

Style
Variation

Component

Architectural
Framework

Hibernate
Implementation
31

Arteon: R Module
Attribute

Constraint

Attribute “License”

Attribute “License” equal “OSS”
Restriction
Element “Apache”
Decisional Element

Condition

Quality Attribute

Decision
“Use Apache”
Decision

Element Attribute

“Reliability”
Effect
“Improved”
Value
“OSS”
Value
32

Quark

Architects shall
have a central
role

Architects shall
have the last
word

Quark
Requirements

Decisions
Architects shall
be able to reuse
decisions

Decisions shall
provide detailed
information
33

Quark
2
Decision
inference
Constraints
and QRs

Prioritization
Guidance
Decisions

1
Architectural
specification

Requirements

3
Decision
making
Incompatibilities
Evaluation

Constraints
QRs
Constraints
and QRs

4
Architectural
refinement
Dependencies
Restrictions

Decisions

Decisions
34

ArchiTech

Implemented as Eclipse Plugin
Knowledge management and decision-making
ArchiTech-CRUD

Implementation of Arteon

ArchiTech-DM

Implementation of Quark

Implemented by Oriol Collell
35

ArchiTech
36

Conclusions of PART III
Arteon provides a way to share and reuse
architectural knowledge

Quark provides a decision-making method
and improves the reliability of the process

ArchiTech implements both, and serves as
a proof of concept
Conclusions
38

Conclusions of this thesis
Theoretical approach that handles
NFRs in the MDD process

Empirical studies oriented to
understand software architects,
and in particular the role of NFRs
Created means to manage architectural
knowledge, and then use it to make
architectural decisions
39

Thank
you
40

Contenu connexe

Tendances

Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs DesignLuc Trudeau
 
Architectural Design
Architectural DesignArchitectural Design
Architectural DesignJay Thakkar
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineeringrishi ram khanal
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and ModularityDanyal Ahmad
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architectureHimanshu
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsdeep sharma
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 

Tendances (20)

Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Software design
Software designSoftware design
Software design
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Hld lld
Hld lldHld lld
Hld lld
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Ch 6
Ch 6Ch 6
Ch 6
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Hld and lld
Hld and lldHld and lld
Hld and lld
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Se lec5
Se lec5Se lec5
Se lec5
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architecture
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Sda 7
Sda   7Sda   7
Sda 7
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 

En vedette

Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Process
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - ProcessArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Process
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - ProcessGalala University
 
powerpoint.16
powerpoint.16powerpoint.16
powerpoint.16rebwball
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 
5 Quotes to Inspire Healthcare Design Innovation
5 Quotes to Inspire Healthcare Design Innovation5 Quotes to Inspire Healthcare Design Innovation
5 Quotes to Inspire Healthcare Design InnovationSara Marberry
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10koolkampus
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionGalala University
 
Architectural Professional Practice - Design
Architectural Professional Practice - DesignArchitectural Professional Practice - Design
Architectural Professional Practice - DesignGalala University
 
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...Galala University
 

En vedette (11)

Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Process
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - ProcessArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Process
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Process
 
powerpoint.16
powerpoint.16powerpoint.16
powerpoint.16
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
5 Quotes to Inspire Healthcare Design Innovation
5 Quotes to Inspire Healthcare Design Innovation5 Quotes to Inspire Healthcare Design Innovation
5 Quotes to Inspire Healthcare Design Innovation
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
 
Architectural Professional Practice - Design
Architectural Professional Practice - DesignArchitectural Professional Practice - Design
Architectural Professional Practice - Design
 
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
 
5 Type Of Architecture Design Process
5 Type Of Architecture Design Process 5 Type Of Architecture Design Process
5 Type Of Architecture Design Process
 

Similaire à PhD defense: David Ameller

Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A surveyModel-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A surveyEditor IJCATR
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey Editor IJCATR
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A surveyModel-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A surveyEditor IJCATR
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Henry Muccini
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture DesignGESSI UPC
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Henry Muccini
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12NASAPMC
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptationMajong DevJfu
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionHenry Muccini
 
General Methodology for developing UML models from UI
General Methodology for developing UML models from UI General Methodology for developing UML models from UI
General Methodology for developing UML models from UI ijwscjournal
 
General Methodology for developing UML models from UI
General Methodology for developing UML models from UIGeneral Methodology for developing UML models from UI
General Methodology for developing UML models from UIijwscjournal
 
General Methodology for developing UML models from UI
General Methodology for developing UML models from UIGeneral Methodology for developing UML models from UI
General Methodology for developing UML models from UIijwscjournal
 

Similaire à PhD defense: David Ameller (20)

Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A surveyModel-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A surveyModel-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture Design
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Chapter1
Chapter1Chapter1
Chapter1
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptation
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal Models
 
Rev2 HPPS Project 2007
Rev2 HPPS Project 2007Rev2 HPPS Project 2007
Rev2 HPPS Project 2007
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the Abstraction
 
General Methodology for developing UML models from UI
General Methodology for developing UML models from UI General Methodology for developing UML models from UI
General Methodology for developing UML models from UI
 
General Methodology for developing UML models from UI
General Methodology for developing UML models from UIGeneral Methodology for developing UML models from UI
General Methodology for developing UML models from UI
 
General Methodology for developing UML models from UI
General Methodology for developing UML models from UIGeneral Methodology for developing UML models from UI
General Methodology for developing UML models from UI
 

Dernier

Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Guide to a Winning Interview May 2024 for MCWN
Guide to a Winning Interview May 2024 for MCWNGuide to a Winning Interview May 2024 for MCWN
Guide to a Winning Interview May 2024 for MCWNBruce Bennett
 
Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 
Call Girls In Chandapura ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Chandapura ☎ 7737669865 🥵 Book Your One night StandCall Girls In Chandapura ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Chandapura ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men 🔝Satara🔝 Escorts S...
➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men  🔝Satara🔝   Escorts S...➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men  🔝Satara🔝   Escorts S...
➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men 🔝Satara🔝 Escorts S...amitlee9823
 
Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...
Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...
Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...only4webmaster01
 
Call Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Brand Analysis for reggaeton artist Jahzel.
Brand Analysis for reggaeton artist Jahzel.Brand Analysis for reggaeton artist Jahzel.
Brand Analysis for reggaeton artist Jahzel.GabrielaMiletti
 
➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men 🔝Bulandshahr🔝 ...
➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men  🔝Bulandshahr🔝  ...➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men  🔝Bulandshahr🔝  ...
➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men 🔝Bulandshahr🔝 ...amitlee9823
 
Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........deejay178
 
Call Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)Delhi Call girls
 
Dubai Call Girls Kiki O525547819 Call Girls Dubai Koko
Dubai Call Girls Kiki O525547819 Call Girls Dubai KokoDubai Call Girls Kiki O525547819 Call Girls Dubai Koko
Dubai Call Girls Kiki O525547819 Call Girls Dubai Kokokojalkojal131
 
Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men 🔝Nandyal🔝 Escorts...
➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men  🔝Nandyal🔝   Escorts...➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men  🔝Nandyal🔝   Escorts...
➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men 🔝Nandyal🔝 Escorts...amitlee9823
 
TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...
TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...
TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...robinsonayot
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...Pooja Nehwal
 
➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men 🔝Mirzapur🔝 Escor...
➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men  🔝Mirzapur🔝   Escor...➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men  🔝Mirzapur🔝   Escor...
➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men 🔝Mirzapur🔝 Escor...amitlee9823
 

Dernier (20)

Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Devanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Guide to a Winning Interview May 2024 for MCWN
Guide to a Winning Interview May 2024 for MCWNGuide to a Winning Interview May 2024 for MCWN
Guide to a Winning Interview May 2024 for MCWN
 
Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Bommanahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Call Girls In Chandapura ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Chandapura ☎ 7737669865 🥵 Book Your One night StandCall Girls In Chandapura ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Chandapura ☎ 7737669865 🥵 Book Your One night Stand
 
➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men 🔝Satara🔝 Escorts S...
➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men  🔝Satara🔝   Escorts S...➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men  🔝Satara🔝   Escorts S...
➥🔝 7737669865 🔝▻ Satara Call-girls in Women Seeking Men 🔝Satara🔝 Escorts S...
 
Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Btm Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...
Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...
Call Girls Jayanagar Just Call 👗 9155563397 👗 Top Class Call Girl Service Ban...
 
Call Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hosur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Brand Analysis for reggaeton artist Jahzel.
Brand Analysis for reggaeton artist Jahzel.Brand Analysis for reggaeton artist Jahzel.
Brand Analysis for reggaeton artist Jahzel.
 
➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men 🔝Bulandshahr🔝 ...
➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men  🔝Bulandshahr🔝  ...➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men  🔝Bulandshahr🔝  ...
➥🔝 7737669865 🔝▻ Bulandshahr Call-girls in Women Seeking Men 🔝Bulandshahr🔝 ...
 
Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........
 
Call Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Road Call Me 7737669865 Budget Friendly No Advance Booking
 
WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Salarpur Sector 81 ( Noida)
 
Dubai Call Girls Kiki O525547819 Call Girls Dubai Koko
Dubai Call Girls Kiki O525547819 Call Girls Dubai KokoDubai Call Girls Kiki O525547819 Call Girls Dubai Koko
Dubai Call Girls Kiki O525547819 Call Girls Dubai Koko
 
Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hosur Road Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men 🔝Nandyal🔝 Escorts...
➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men  🔝Nandyal🔝   Escorts...➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men  🔝Nandyal🔝   Escorts...
➥🔝 7737669865 🔝▻ Nandyal Call-girls in Women Seeking Men 🔝Nandyal🔝 Escorts...
 
TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...
TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...
TEST BANK For Evidence-Based Practice for Nurses Appraisal and Application of...
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Sa...
 
➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men 🔝Mirzapur🔝 Escor...
➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men  🔝Mirzapur🔝   Escor...➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men  🔝Mirzapur🔝   Escor...
➥🔝 7737669865 🔝▻ Mirzapur Call-girls in Women Seeking Men 🔝Mirzapur🔝 Escor...
 

PhD defense: David Ameller

  • 1. Non-Functional Requirements as drivers of Software Architecture Design David Ameller Barcelona, 23th January 2014 Thesis supervised by Xavier Franch
  • 2. 2 Outline Introduction PART I NFRs in Model-Driven Development PART II PART III NFRs in Software Architecture Arteon, Quark, and ArchiTech Conclusions
  • 4. 4 Non-Functional Requirements (NFRs) The system shall support real-time operations The system shall keep our current Data Base Management System “a description of a property or characteristic that a software system must exhibit or a constraint that it must respect” K. Wiegers. Software Requirements, 2003.
  • 5. 5 Model-Driven Development (MDD) “is simply the notion that we can construct a model of a system that we can then transform into the real thing” S. Mellor et al., “Model-Driven Development”. IEEE Software, 2003. PIM HelloWorld Show() M2M PSM GWT HelloWorld POJO M2T Code Show() JDBC … show() { print(“Hello World”); }
  • 6. 6 Software Architecture (SA) Presentation Business “The software architecture […] is the structure or structures of the system” Persistence L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice, 2003.
  • 7. 7 Relation of NFRs with MDD and SA PART I PART II & III NFRs MDD NFRs make MDD adaptable, while MDD could be used to systematize NFRs SA NFRs are used to make architectural decisions, while architectural knowledge could be used to reason about NFRs
  • 8. 8 Objective of this thesis Explore the role of Non-Functional Requirements in the Software Architecture Design Propose novel ideas to integrate NFR in software development Run empirical studies of the current architectural practices Design new techniques, methods, and tools
  • 9. 9 Example (1/3) ACME travel agency web portal ACME luxury: travel packages to exotic destinations in 5-star hotels ACME world-wide: hundreds of travel packages Functional requirements are equal User management Payment facilities Searches Non-Functional Requirements have differences Security: “The system shall detect and report unauthorised data accesses” Scalability: “The system should be prepared to high connection demands to ensure the success of the portal”
  • 10. 10 Example (2/3) Architectural styles and components Types of NFR Performance Security Availability Maintenance Scalability Complexity Single-Server Configuration Poor Poor Poor Good Poor Good DBMS separated Average Good Poor Average Poor Average Firewall Replication Neutral Improve Neutral Damage Neutral Damage Improve Neutral Improve Damage Improve Damage The table is based on S. Ceri et al., Designing Data-Intensive Web Applications, 2002.
  • 11. 11 Example (3/3) ACME Luxury ACME World-wide Different NFR specifications lead to different software systems
  • 12. 12 Timeline PART I PART II PART III 2007 2008 PART I 2009 2010 2011 2012 2013 NFRs in Model-Driven Development PART II NFRs in Software Architecture PART Arteon, Quark, and ArchiTech III
  • 13. DSDM Euromicro SEAA RE (31 cites) 2007 2008 2009 2010 PART I NFRs in Model-Driven Development 2011 2012 2013
  • 14. 14 Objective of PART I Define a MDD framework that integrates NFRs Most existing MDD approaches do not consider NFRs It is problem with critical consequences “A Comedy of Errors: the London Ambulance Service case study” Anthony Finkelstein & John Dowell, 1993.
  • 15. 15 Current approach (in practice) Modify the PSM, the M2T transformation and the generated code Longer production, lower reliability, and worse maintenance Modify the M2M transformation in order to support specific NFRs Increases complexity, longer production if new transformation is needed
  • 16. 16 Our approach (automatic) All requirements are specified at PIM level We propose to use M2M transformations able to deal with NFRs (M2March, M2Mtech) We propose an intermediate model (PIM/PSM) to reflect architectural decisions made from NFRs The code (software product) is compliant with the stated NFRs
  • 17. 17 Our approach (interactive) The first approach is conceptually sound but may be too complex In this case PIM is unaware of NFRs We propose to use human interaction to obtain NFRs (with architectural and technological consequences) Hybrid approaches are possible
  • 18. 18 Example Knowledge Models PIM (nf) R1: The system shall detect and report unauthorized data access PIM/PSM (nf) App. server DBMS Security FW + Firewall Requirements Source subsystem Protected subsystem Architecture
  • 19. 19 Benefits of our approach NFRs are fully integrated into MDD No need to modify the code Architectural decisions depend on NFRs Knowledge reuse
  • 20. 20 Drawbacks of our approach New model (PIM/PSM) need to be maintained New transformations are needed We need to maintain the architectural knowledge
  • 21. 21 Conclusions of PART I We proposed a flexible framework to deal with NFRs in MDD The architecture should be part of the MDD process to support NFRs Need to gather knowledge that relates NFRs and Architectural decisions
  • 22. First study Second study RE IEEESoft. (IF 1.5) ECSA EASA REFSQ 2007 2008 2009 PART II NFRs in Software Architecture 2010 Third study 2011 2012 2013
  • 23. 23 Empirical studies Study the role of NFRs in Software Architecture First study Second study Third study Type Electronic survey Interviews Electronic survey Number of respondents 60 13 31 Number of RQs 5 6+7 3 Target population Software industry Software architects Software architects Target information Practical experience Single project Single project/NFR Population origin World-wide (>50% Spain) Spain World-wide Execution 2009 2010 2011 Publication 2010 2012/13 2013
  • 24. 24 First study Non-Functional Requirements in industrial practice Half of respondents did not use NFRs to make architectural decisions Respondents stated that: “need tools for NFRs management” Respondents stated that: “want to have the last word on decision-making” More empirical evidence for software architecture is needed
  • 25. 25 Second study How do software architects deal with Non-Functional Requirements? Companies did not have the role of architect clearly defined NFRs were mostly elicited by the architects Architects considered Non-technical NFRs as relevant as technical NFRs Most of the architectural decisions had the influence of a NFR
  • 26. 26 Third study The role of Quality Attributes in Service-Based Systems design QAs are often considered as important as functionality We could not identify QAs predominance in particular domains We could not find a relation between QAs and decisions Ad-hoc decisions are often used in SBS
  • 27. 27 Conclusions of PART II Architects take into account all kinds of requirements in architectural decisions There is a wide space in the gap between researchers and practitioners Replication and new empirical studies are required in this area
  • 28. ArchiTech Quark Arteon DSDM 2007 2008 2009 PART III Arteon, Quark, and ArchiTech IWSSA TOPI RESPE CIbSE (among best papers) 2010 2011 2012 2013
  • 29. 29 Arteon Architectural knowledge ontology Divided in two modules Described in UML Extendibility and Reuse Minimal encoding bias Minimal ontological commitment
  • 30. 30 Arteon: SE Module Logical view Architectural Element 3-Layers style Style 4+1 views framework Architectural View 3-Layers with data-mapper Persistence layer Style Variation Component Architectural Framework Hibernate Implementation
  • 31. 31 Arteon: R Module Attribute Constraint Attribute “License” Attribute “License” equal “OSS” Restriction Element “Apache” Decisional Element Condition Quality Attribute Decision “Use Apache” Decision Element Attribute “Reliability” Effect “Improved” Value “OSS” Value
  • 32. 32 Quark Architects shall have a central role Architects shall have the last word Quark Requirements Decisions Architects shall be able to reuse decisions Decisions shall provide detailed information
  • 34. 34 ArchiTech Implemented as Eclipse Plugin Knowledge management and decision-making ArchiTech-CRUD Implementation of Arteon ArchiTech-DM Implementation of Quark Implemented by Oriol Collell
  • 36. 36 Conclusions of PART III Arteon provides a way to share and reuse architectural knowledge Quark provides a decision-making method and improves the reliability of the process ArchiTech implements both, and serves as a proof of concept
  • 38. 38 Conclusions of this thesis Theoretical approach that handles NFRs in the MDD process Empirical studies oriented to understand software architects, and in particular the role of NFRs Created means to manage architectural knowledge, and then use it to make architectural decisions
  • 40. 40