SlideShare une entreprise Scribd logo
1  sur  46
Systematic Architecture
Design

David Ameller
<dameller@essi.upc.edu>
Systematic Architecture Design

Outline
1.
2.
3.
4.
5.
6.

Introduction
Motivation example
NFR-aware MDD process
SAD contributions
Arteon
Conclusions and future work

2
Systematic Architecture Design

1. INTRODUCTION

3
Systematic Architecture Design

1.1 (Initial) Objective
Define a MDD
framework that
integrates NFRs
• Why?
– NFRs is one of our topics of interest
– It is problem with critical consequences
– Most existing MDD approaches do not consider
NFRs
4
Systematic Architecture Design

1.2 Main topics

Adaptable process

MDD

NFRs
Semi-automatic
treatment

5
Systematic Architecture Design

1.3 MDD definition
PIM

HelloWorld

M2M

Show()

PSM

Swing
HelloWorld

POJO
Show()

M2T

Code

JDBC

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

}
…

“Model-driven
development 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.
6
Systematic Architecture Design

1.4 State of practice
• NFRs are dealt outside of the MDD process
• Modify the PSM, the M2T transformation
and the generated code
E.g. Modify the code to obtain a service application

Longer production, lower reliability, and
worse maintenance
• Modify the M2M transformation in order to
support specific NFRs
E.g. Add SOA to the M2M transformation

Increases complexity, longer production if
new transformation is needed

This situation is even worse if we consider
the current tool limitations

7
Systematic Architecture Design

1.5 The role of NFRs
Many prominent researchers say that NFRs mainly
impact on the architecture, more concretely in the
decision making process.

Security
Req. "The system shall detect and
report unauthorised data accesses”

Architectural
decisions

Integrability
Req. "The system shall keep our
current Data Base Management
System (DBMS)”

Technological
decisions
8
Systematic Architecture Design

2. MOTIVATION EXAMPLE

9
Systematic Architecture Design

2. Motivation example (I)
• ACME travel agency web portal
• We consider two different scenarios:
A. ACME luxury offers vacation packages to exotic
destinations in 5-star hotels.

B. ACME world-wide offers hundreds of packages from
other transportation and accommodation sites.

10
Systematic Architecture Design

2. Motivation example (II)
• Both scenarios have common functionalities
 User management, payment facilities, searches

• But some NFRs are different:
ACME Luxury

ACME World-wide

Security

“The system shall detect and “The system shall detect and
report unauthorised data
report unauthorised data
accesses”
accesses”

Scalability

Not important, low expected
visitors

“The system should be
prepared to high connection
demands to ensure the
success of the portal”

11
Systematic Architecture Design

2. Motivation example (III)
• Starting the decision making
 The type of application
• It is a constraint of the system to be a web application

 The architecture of the system
• In this example, we focus on the deployment view

12
Systematic Architecture Design

2. Motivation example (IV)
• Architectural decisions

Performance
Security
Availability
Maintenance
Scalability
Complexity

Single-Server
Configuration
Poor
Poor
Poor
Good
Poor
Good

DBMS separated

Firewall

Replication

Average
Good
Poor
Average
Poor
Average

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.

13
Systematic Architecture Design

2. Motivation example (V)
Different NFR specifications lead to different
software systems
ACME Luxury

ACME World-wide

Our position is that it should be possible to
generate both systems with a MDD process
that considers NFRs
14
Systematic Architecture Design

3. NFR-AWARE MDD PROCESS

15
Systematic Architecture Design

3. Our proposal
A MDD process should be able to deal with NFRs
and should be able to certify that the result is
compliant with the initial NFRs
Drive

NFRs ADs
Compliance

• We explore two variants of the MDD process:
 Automatic and Interactive
16
Systematic Architecture Design

3.1 Automatic NFR-aware MDD
• 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
Systematic Architecture Design

3.2 Interactive NFR-aware MDD
• 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
Systematic Architecture Design

3.3 Firewall example
• Deciding the need of firewall components

19
Systematic Architecture Design

3.4 Benefits of our proposal

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

20
Systematic Architecture Design

3.5 Drawbacks of our proposal

New model (PIM/PSM) need to be maintained
New transformations are needed
We need to maintain the architectural
knowledge

21
Systematic Architecture Design

4. SAD CONTRIBUTIONS

22
PIMF+NF

M2MArch
PIM/PSM
F+NF

• What do we need to do?
 The main effort should be to
include architectural design as
part of the MDD.

M2MTech
PSMF+NF
M2T

He
lp t
Ar
c
od
rede hiitscc
aso e otv
cn
isa uer l
ion raan
bos
ut d

NFRs
c
ati s
tom ces
n
-au e pro t
mi altme
Se pttab
a re
Ad

Systematic Architecture Design

4.1 From MDD to Architecture

AK

MDD
Architectural design
Need of detailed
as part of the process
knowledge

CodeF+NF

23
4.2 SAD Overview
Systematic Architecture Design

PIMNF

Context

PIMNF
SRS NF

Human
support

PIMF

M2MArch

SAD

Architectural
decisions

Architectural
views

M2MTech

PSMF+NF

24
Systematic Architecture Design

4.2 SAD Overview
Context

SRSNF

Requirements
analysis

Human
support

Quality
Goals
And
Constraints

Architectural
decision-making

Architectural
decisions

25
Systematic Architecture Design

4.3 Quark method
Knowledge
acquisition

26
Systematic Architecture Design

4.4 Arteon
Arteon

Requirements

Stakeholder
needs

Rationale

Constraints
and goals
to fulfill

Structural
Elements

Architectural
elements
to use

MDD

Transformations
to apply

* One of the design principles recommended the separation of ontology concepts in modules

Architecture
design

27
Systematic Architecture Design

4.5 ArchiTech
• Implemented as Eclipse Plugin
 To be near the MDD community

• Knowledge management is already
implemented
• We are working now on the Decision-Making
part of the tool
 As a difference, the tool will use a question-answer
mechanism to obtain the non-functional aspects

• Implemented by Oriol Collell
28
Systematic Architecture Design

4.6 Empirical studies
• “How do Software Architects consider Non-Functional
Requirements: A Survey”
 Electronic survey, 60 software architects.
• “How do Software Architects consider Non-Functional
Requirements: An Exploratory Study”
 13 semi-structured interviews.
• “The role of quality attributes in service-based systems
design”
 Electronic survey, 31 SOA software architects.
• Everis collaboration
 9 semi-structured interviews.
29
Systematic Architecture Design

5. ARTEON

30
Systematic Architecture Design

5.1 Introduction
AK1 = Design + Decisions + Rationale

Ontologybased AK
Support
System

1Kruchten et

al. “Building up and reasoning about architecture knowledge”, 2006.

31
Systematic Architecture Design

5.2 Arteon overview
Arteon

Requirements

Stakeholder
needs

Rationale

Constraints
and goals
to fulfill

Structural
Elements

Architectural
elements
to use

MDD

Transformations
to apply

* One of the design principles recommended the separation of ontology concepts in modules

Architecture
design

32
Systematic Architecture Design

5.3 Structural Elements (I)
File

PHP

Apache
MySQL
33
Systematic Architecture Design

5.3 Structural Elements (II)
Logical
File

Development

PHP

Deployment

Platform

Apache
MySQL
34
Systematic Architecture Design

5.3 Structural Elements (III)

35
Systematic Architecture Design

5.3 Structural Elements (IV)
Architectural
Element

Style

belong_to

*

belong_to
Architectural
Architectural
View
1
* Framework
*
ViewModel

Style
Variation

Component

Implementation

36
Systematic Architecture Design

5.3 Structural Elements (V)
3-layer style
(Layered style)
Web development
(Package based)
Web deployment
(DBMS separated)
LAMP
(Stack solution)
Architectural views
have their own
styles
37
Systematic Architecture Design

5.3 Structural Elements (VI)
Variations:
• DAO
• Controllers
• Replication
• OSS
DAO and datamapper are not
combinable
Components:
• Class, Layer
• Package
• Server
• Script language
Layers are
composed by
classes
38
Systematic Architecture Design

5.3 Structural Elements (VII)
specializes

related_to

0..1 * * *
Architectural
Element

Architectural
View

Architectural
Framework

{ Disjoint }

< variation_for

1
Style
1..*

< apply_to

*
*
Style
Variation
*
incompatible_with

*

implementable_with

*

*

Component
* *

connectable_with

*

*
Implementation

* *
composable_with

< apply_to

39
5.4 Reasoning module (I)
Systematic Architecture Design

impose

*

*

Property
Decision

/set_action_over

*

Decisional
Element
*
*

Architectural
Element

*

{ disjoint,
complete}

Existence
Decision
*
1..*

/have_impact_on

Decision

/give_value

/set_condition

1..*

Element
Property

Quality
Attribute

*

{ disjoint,
complete}

Attribute
40
5.4 Reasoning module (II)
“use only OSS”

Systematic Architecture Design

impose

/have_impact_on

Decision

*

*

{ disjoint,
complete}

Property “License” equal “OSS”

Existence
Decision
*
1..*
*
Element “Apache”

Architectural
Element

Property
Decision

/set_action_over

*

Decisional Element “Apache” has the value
Element “OSS” for the property “License”
*
*

/give_value

/set_condition

1..*

Element
Property

Property “License”

Quality
Attribute

*

{ disjoint,
complete}

Attribute
41
Systematic Architecture Design

5.5 Benefits of Arteon

Share AK between architects

Ontologybased AK
Support
System

Reuse AK between projects
Community oriented solution
Decision-making guidance
More reliability to architecture design

42
Systematic Architecture Design

6. CONCLUSIONS AND FUTURE WORK

43
Systematic Architecture Design

6.1 Conclusions
• We have…
 Formulated an NFR-aware general process
• Explored variations of this process
• Compared all different alternatives

 Described the SAD role and its contributions
• ArchiTech, Arteon, Quark, …

 Went into the details of Arteon

44
Systematic Architecture Design

6.2 Future work
• Our research agenda includes:
 In relation to the presented work
•
•
•
•

Consider the bottom-up process
Include correctness and completeness
Implement the key-parts of the framework
Modeling NFRs as part of the MDD process

 Drive empirical studies to:
• Obtain Architectural Knowledge
• Understand the architectural design practice (NFRs)
• Validate the ontology in a case study
45
Comments and Questions
David Ameller
<dameller@essi.upc.edu>

Contenu connexe

Tendances

Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Seven systems engineering myths and the corresponding realities
Seven systems engineering myths and the corresponding realitiesSeven systems engineering myths and the corresponding realities
Seven systems engineering myths and the corresponding realitiesJoseph KAsser
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principlesDhruvin Nakrani
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringMeghaj Mallick
 
Chapter 12 information system development
Chapter 12   information system developmentChapter 12   information system development
Chapter 12 information system developmenthaider ali
 
Systems engineering for project managers - what you need to know
Systems engineering for project managers - what you need to knowSystems engineering for project managers - what you need to know
Systems engineering for project managers - what you need to knowAssociation for Project Management
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
24 dssa and_product_lines
24 dssa and_product_lines24 dssa and_product_lines
24 dssa and_product_linesMajong DevJfu
 
Information Systems Development and Acquisition
Information Systems Development and AcquisitionInformation Systems Development and Acquisition
Information Systems Development and AcquisitionYonathan Hadiputra
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Information system development & programming language
Information system development & programming languageInformation system development & programming language
Information system development & programming languageMuhammad Shahid
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Loyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd bakerLoyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd bakerEnergyTech2015
 

Tendances (20)

Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Seven systems engineering myths and the corresponding realities
Seven systems engineering myths and the corresponding realitiesSeven systems engineering myths and the corresponding realities
Seven systems engineering myths and the corresponding realities
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Transition to System Design
Transition to System DesignTransition to System Design
Transition to System Design
 
Chapter 12 information system development
Chapter 12   information system developmentChapter 12   information system development
Chapter 12 information system development
 
Systems engineering for project managers - what you need to know
Systems engineering for project managers - what you need to knowSystems engineering for project managers - what you need to know
Systems engineering for project managers - what you need to know
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
24 dssa and_product_lines
24 dssa and_product_lines24 dssa and_product_lines
24 dssa and_product_lines
 
Information Systems Development and Acquisition
Information Systems Development and AcquisitionInformation Systems Development and Acquisition
Information Systems Development and Acquisition
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Information system development & programming language
Information system development & programming languageInformation system development & programming language
Information system development & programming language
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Loyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd bakerLoyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd baker
 
Chap05
Chap05Chap05
Chap05
 

Similaire à Systematic Architecture Design

META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMatt McLarty
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software constructionBanduChalise
 
OOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptxOOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptxBereketMuniye
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)stanbridge
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)stanbridge
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxHaifaMohd3
 

Similaire à Systematic Architecture Design (20)

Architectural design
Architectural designArchitectural design
Architectural design
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motion
 
Chapter1
Chapter1Chapter1
Chapter1
 
Developing Digital Twins
Developing Digital TwinsDeveloping Digital Twins
Developing Digital Twins
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Ict 213 lecture 1
Ict 213 lecture 1Ict 213 lecture 1
Ict 213 lecture 1
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Unit4
Unit4Unit4
Unit4
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Software design
Software designSoftware design
Software design
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 
OOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptxOOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptx
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 

Plus de GESSI UPC

iStarJSON: A Lightweight Data-Format for i* Models
iStarJSON: A Lightweight Data-Format for i* ModelsiStarJSON: A Lightweight Data-Format for i* Models
iStarJSON: A Lightweight Data-Format for i* ModelsGESSI UPC
 
Towards iStarML 2.0: Closing Gaps from Evolved Requirements
Towards iStarML 2.0: Closing Gaps from Evolved RequirementsTowards iStarML 2.0: Closing Gaps from Evolved Requirements
Towards iStarML 2.0: Closing Gaps from Evolved RequirementsGESSI UPC
 
Monitoring the service-based system lifecycle with SALMon
Monitoring the service-based system lifecycle with SALMonMonitoring the service-based system lifecycle with SALMon
Monitoring the service-based system lifecycle with SALMonGESSI UPC
 
Aligning Business Goals and Risks in OSS Adoption
Aligning Business Goals and Risks in OSS AdoptionAligning Business Goals and Risks in OSS Adoption
Aligning Business Goals and Risks in OSS AdoptionGESSI UPC
 
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC ConceptsJcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC ConceptsGESSI UPC
 
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)GESSI UPC
 
Open expo2015 riscoss
Open expo2015 riscossOpen expo2015 riscoss
Open expo2015 riscossGESSI UPC
 
Mobility4 all
Mobility4 allMobility4 all
Mobility4 allGESSI UPC
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsGESSI UPC
 
Expert mining compsac-2014
Expert mining compsac-2014Expert mining compsac-2014
Expert mining compsac-2014GESSI UPC
 
MoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
MoDRE 2014 @ RE keynote -- NFR-Aware MDD ProcessesMoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
MoDRE 2014 @ RE keynote -- NFR-Aware MDD ProcessesGESSI UPC
 
Quantifying the Impact of OSS Adoption Risks with the help of i* Models
Quantifying the Impact of OSS Adoption Risks with the help of i* ModelsQuantifying the Impact of OSS Adoption Risks with the help of i* Models
Quantifying the Impact of OSS Adoption Risks with the help of i* ModelsGESSI UPC
 
Applying Business Strategy Models in Organizations
Applying Business Strategy Models in OrganizationsApplying Business Strategy Models in Organizations
Applying Business Strategy Models in OrganizationsGESSI UPC
 
Slides refsq'14 ds v1
Slides refsq'14 ds v1Slides refsq'14 ds v1
Slides refsq'14 ds v1GESSI UPC
 
A Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and ConsumptionA Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and ConsumptionGESSI UPC
 
Practical Experiences in Designing and Conducting Empirical Studies in Indust...
Practical Experiences in Designing and Conducting Empirical Studies in Indust...Practical Experiences in Designing and Conducting Empirical Studies in Indust...
Practical Experiences in Designing and Conducting Empirical Studies in Indust...GESSI UPC
 

Plus de GESSI UPC (20)

iStarJSON: A Lightweight Data-Format for i* Models
iStarJSON: A Lightweight Data-Format for i* ModelsiStarJSON: A Lightweight Data-Format for i* Models
iStarJSON: A Lightweight Data-Format for i* Models
 
Towards iStarML 2.0: Closing Gaps from Evolved Requirements
Towards iStarML 2.0: Closing Gaps from Evolved RequirementsTowards iStarML 2.0: Closing Gaps from Evolved Requirements
Towards iStarML 2.0: Closing Gaps from Evolved Requirements
 
Monitoring the service-based system lifecycle with SALMon
Monitoring the service-based system lifecycle with SALMonMonitoring the service-based system lifecycle with SALMon
Monitoring the service-based system lifecycle with SALMon
 
Ossap final
Ossap finalOssap final
Ossap final
 
Aligning Business Goals and Risks in OSS Adoption
Aligning Business Goals and Risks in OSS AdoptionAligning Business Goals and Risks in OSS Adoption
Aligning Business Goals and Risks in OSS Adoption
 
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC ConceptsJcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
Jcis 2015-Towards Assessing Open Source Communities' Health using SOC Concepts
 
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
RISCOSS: Gestión del riesgo en proyectos open source (Open Expo Day2015)
 
Open expo2015 riscoss
Open expo2015 riscossOpen expo2015 riscoss
Open expo2015 riscoss
 
Oss2015
Oss2015Oss2015
Oss2015
 
Mobility4 all
Mobility4 allMobility4 all
Mobility4 all
 
Er14
Er14Er14
Er14
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software Ecosystems
 
Expert mining compsac-2014
Expert mining compsac-2014Expert mining compsac-2014
Expert mining compsac-2014
 
MoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
MoDRE 2014 @ RE keynote -- NFR-Aware MDD ProcessesMoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
MoDRE 2014 @ RE keynote -- NFR-Aware MDD Processes
 
Quantifying the Impact of OSS Adoption Risks with the help of i* Models
Quantifying the Impact of OSS Adoption Risks with the help of i* ModelsQuantifying the Impact of OSS Adoption Risks with the help of i* Models
Quantifying the Impact of OSS Adoption Risks with the help of i* Models
 
Applying Business Strategy Models in Organizations
Applying Business Strategy Models in OrganizationsApplying Business Strategy Models in Organizations
Applying Business Strategy Models in Organizations
 
Slides refsq'14 ds v1
Slides refsq'14 ds v1Slides refsq'14 ds v1
Slides refsq'14 ds v1
 
A Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and ConsumptionA Context Ontology for Service Provisioning and Consumption
A Context Ontology for Service Provisioning and Consumption
 
Practical Experiences in Designing and Conducting Empirical Studies in Indust...
Practical Experiences in Designing and Conducting Empirical Studies in Indust...Practical Experiences in Designing and Conducting Empirical Studies in Indust...
Practical Experiences in Designing and Conducting Empirical Studies in Indust...
 
Cesi2014
Cesi2014Cesi2014
Cesi2014
 

Dernier

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 

Dernier (20)

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 

Systematic Architecture Design

  • 2. Systematic Architecture Design Outline 1. 2. 3. 4. 5. 6. Introduction Motivation example NFR-aware MDD process SAD contributions Arteon Conclusions and future work 2
  • 4. Systematic Architecture Design 1.1 (Initial) Objective Define a MDD framework that integrates NFRs • Why? – NFRs is one of our topics of interest – It is problem with critical consequences – Most existing MDD approaches do not consider NFRs 4
  • 5. Systematic Architecture Design 1.2 Main topics Adaptable process MDD NFRs Semi-automatic treatment 5
  • 6. Systematic Architecture Design 1.3 MDD definition PIM HelloWorld M2M Show() PSM Swing HelloWorld POJO Show() M2T Code JDBC … show() { print(“Hello World”); } … “Model-driven development 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. 6
  • 7. Systematic Architecture Design 1.4 State of practice • NFRs are dealt outside of the MDD process • Modify the PSM, the M2T transformation and the generated code E.g. Modify the code to obtain a service application Longer production, lower reliability, and worse maintenance • Modify the M2M transformation in order to support specific NFRs E.g. Add SOA to the M2M transformation Increases complexity, longer production if new transformation is needed This situation is even worse if we consider the current tool limitations 7
  • 8. Systematic Architecture Design 1.5 The role of NFRs Many prominent researchers say that NFRs mainly impact on the architecture, more concretely in the decision making process. Security Req. "The system shall detect and report unauthorised data accesses” Architectural decisions Integrability Req. "The system shall keep our current Data Base Management System (DBMS)” Technological decisions 8
  • 9. Systematic Architecture Design 2. MOTIVATION EXAMPLE 9
  • 10. Systematic Architecture Design 2. Motivation example (I) • ACME travel agency web portal • We consider two different scenarios: A. ACME luxury offers vacation packages to exotic destinations in 5-star hotels. B. ACME world-wide offers hundreds of packages from other transportation and accommodation sites. 10
  • 11. Systematic Architecture Design 2. Motivation example (II) • Both scenarios have common functionalities  User management, payment facilities, searches • But some NFRs are different: ACME Luxury ACME World-wide Security “The system shall detect and “The system shall detect and report unauthorised data report unauthorised data accesses” accesses” Scalability Not important, low expected visitors “The system should be prepared to high connection demands to ensure the success of the portal” 11
  • 12. Systematic Architecture Design 2. Motivation example (III) • Starting the decision making  The type of application • It is a constraint of the system to be a web application  The architecture of the system • In this example, we focus on the deployment view 12
  • 13. Systematic Architecture Design 2. Motivation example (IV) • Architectural decisions Performance Security Availability Maintenance Scalability Complexity Single-Server Configuration Poor Poor Poor Good Poor Good DBMS separated Firewall Replication Average Good Poor Average Poor Average 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. 13
  • 14. Systematic Architecture Design 2. Motivation example (V) Different NFR specifications lead to different software systems ACME Luxury ACME World-wide Our position is that it should be possible to generate both systems with a MDD process that considers NFRs 14
  • 15. Systematic Architecture Design 3. NFR-AWARE MDD PROCESS 15
  • 16. Systematic Architecture Design 3. Our proposal A MDD process should be able to deal with NFRs and should be able to certify that the result is compliant with the initial NFRs Drive NFRs ADs Compliance • We explore two variants of the MDD process:  Automatic and Interactive 16
  • 17. Systematic Architecture Design 3.1 Automatic NFR-aware MDD • 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
  • 18. Systematic Architecture Design 3.2 Interactive NFR-aware MDD • 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
  • 19. Systematic Architecture Design 3.3 Firewall example • Deciding the need of firewall components 19
  • 20. Systematic Architecture Design 3.4 Benefits of our proposal  NFRs are fully integrated into MDD  No need to modify the code  Architectural decisions depend on NFRs  Knowledge reuse 20
  • 21. Systematic Architecture Design 3.5 Drawbacks of our proposal New model (PIM/PSM) need to be maintained New transformations are needed We need to maintain the architectural knowledge 21
  • 22. Systematic Architecture Design 4. SAD CONTRIBUTIONS 22
  • 23. PIMF+NF M2MArch PIM/PSM F+NF • What do we need to do?  The main effort should be to include architectural design as part of the MDD. M2MTech PSMF+NF M2T He lp t Ar c od rede hiitscc aso e otv cn isa uer l ion raan bos ut d NFRs c ati s tom ces n -au e pro t mi altme Se pttab a re Ad Systematic Architecture Design 4.1 From MDD to Architecture AK MDD Architectural design Need of detailed as part of the process knowledge CodeF+NF 23
  • 24. 4.2 SAD Overview Systematic Architecture Design PIMNF Context PIMNF SRS NF Human support PIMF M2MArch SAD Architectural decisions Architectural views M2MTech PSMF+NF 24
  • 25. Systematic Architecture Design 4.2 SAD Overview Context SRSNF Requirements analysis Human support Quality Goals And Constraints Architectural decision-making Architectural decisions 25
  • 26. Systematic Architecture Design 4.3 Quark method Knowledge acquisition 26
  • 27. Systematic Architecture Design 4.4 Arteon Arteon Requirements Stakeholder needs Rationale Constraints and goals to fulfill Structural Elements Architectural elements to use MDD Transformations to apply * One of the design principles recommended the separation of ontology concepts in modules Architecture design 27
  • 28. Systematic Architecture Design 4.5 ArchiTech • Implemented as Eclipse Plugin  To be near the MDD community • Knowledge management is already implemented • We are working now on the Decision-Making part of the tool  As a difference, the tool will use a question-answer mechanism to obtain the non-functional aspects • Implemented by Oriol Collell 28
  • 29. Systematic Architecture Design 4.6 Empirical studies • “How do Software Architects consider Non-Functional Requirements: A Survey”  Electronic survey, 60 software architects. • “How do Software Architects consider Non-Functional Requirements: An Exploratory Study”  13 semi-structured interviews. • “The role of quality attributes in service-based systems design”  Electronic survey, 31 SOA software architects. • Everis collaboration  9 semi-structured interviews. 29
  • 31. Systematic Architecture Design 5.1 Introduction AK1 = Design + Decisions + Rationale Ontologybased AK Support System 1Kruchten et al. “Building up and reasoning about architecture knowledge”, 2006. 31
  • 32. Systematic Architecture Design 5.2 Arteon overview Arteon Requirements Stakeholder needs Rationale Constraints and goals to fulfill Structural Elements Architectural elements to use MDD Transformations to apply * One of the design principles recommended the separation of ontology concepts in modules Architecture design 32
  • 33. Systematic Architecture Design 5.3 Structural Elements (I) File PHP Apache MySQL 33
  • 34. Systematic Architecture Design 5.3 Structural Elements (II) Logical File Development PHP Deployment Platform Apache MySQL 34
  • 35. Systematic Architecture Design 5.3 Structural Elements (III) 35
  • 36. Systematic Architecture Design 5.3 Structural Elements (IV) Architectural Element Style belong_to * belong_to Architectural Architectural View 1 * Framework * ViewModel Style Variation Component Implementation 36
  • 37. Systematic Architecture Design 5.3 Structural Elements (V) 3-layer style (Layered style) Web development (Package based) Web deployment (DBMS separated) LAMP (Stack solution) Architectural views have their own styles 37
  • 38. Systematic Architecture Design 5.3 Structural Elements (VI) Variations: • DAO • Controllers • Replication • OSS DAO and datamapper are not combinable Components: • Class, Layer • Package • Server • Script language Layers are composed by classes 38
  • 39. Systematic Architecture Design 5.3 Structural Elements (VII) specializes related_to 0..1 * * * Architectural Element Architectural View Architectural Framework { Disjoint } < variation_for 1 Style 1..* < apply_to * * Style Variation * incompatible_with * implementable_with * * Component * * connectable_with * * Implementation * * composable_with < apply_to 39
  • 40. 5.4 Reasoning module (I) Systematic Architecture Design impose * * Property Decision /set_action_over * Decisional Element * * Architectural Element * { disjoint, complete} Existence Decision * 1..* /have_impact_on Decision /give_value /set_condition 1..* Element Property Quality Attribute * { disjoint, complete} Attribute 40
  • 41. 5.4 Reasoning module (II) “use only OSS” Systematic Architecture Design impose /have_impact_on Decision * * { disjoint, complete} Property “License” equal “OSS” Existence Decision * 1..* * Element “Apache” Architectural Element Property Decision /set_action_over * Decisional Element “Apache” has the value Element “OSS” for the property “License” * * /give_value /set_condition 1..* Element Property Property “License” Quality Attribute * { disjoint, complete} Attribute 41
  • 42. Systematic Architecture Design 5.5 Benefits of Arteon Share AK between architects Ontologybased AK Support System Reuse AK between projects Community oriented solution Decision-making guidance More reliability to architecture design 42
  • 43. Systematic Architecture Design 6. CONCLUSIONS AND FUTURE WORK 43
  • 44. Systematic Architecture Design 6.1 Conclusions • We have…  Formulated an NFR-aware general process • Explored variations of this process • Compared all different alternatives  Described the SAD role and its contributions • ArchiTech, Arteon, Quark, …  Went into the details of Arteon 44
  • 45. Systematic Architecture Design 6.2 Future work • Our research agenda includes:  In relation to the presented work • • • • Consider the bottom-up process Include correctness and completeness Implement the key-parts of the framework Modeling NFRs as part of the MDD process  Drive empirical studies to: • Obtain Architectural Knowledge • Understand the architectural design practice (NFRs) • Validate the ontology in a case study 45
  • 46. Comments and Questions David Ameller <dameller@essi.upc.edu>

Notes de l'éditeur

  1. The outline of the presentation will begin with an introduction, then the motivation, the SOTA, then our proposal, an NFR #en efar# aware MDD process. And finally the research agenda and the conclusions.
  2. To end with the introduction I want to clarify which is the objective of this work.#read blue box#We need to identify these challenges #read answer 1#.#haw# To do so, #read answer 2#.
  3. The approaches that not support NFRs can deal with NFRs outside of the process.One way is to Modify the PSM… #read##click# Other way is to modify the M2M… #read##click# the situation is worse if… #read#
  4. Many authors said that NFRs and the architecture of the system are very related topics, in fact this conference have a whole dedicated session to architecture. Concretely we think that NFRs are used to make architectural decisions.#click# also we consider as a type of these decisions, the technological decisions. For example a requirement such as #read NFR# will impact on a technological decision.
  5. To motivate this work I will use an example about a travel agency with two scenarios. On the one hand ACME luxury that offers vacation packages…In the other hand ACME WW offers…Both scenarios share common functionalities. For example user management…
  6. To exemplify the impact of the NFRs in the architecture we will use as example the deployment view. For this view of the architecture we have several configurations e.g. SSC and DBMS separated. And we have several components that can be used with these configurations.
  7. #click# In this table we see the relationship between quality attributes and NFRs. Observe that the configurations have concrete values while the components can improve or damage the initial values.#click# in the concrete case of the ACME travel agency. Scalability will determine the use of replication #click# and the Security will determine the use of BDMS separated and Firewall.
  8. Here we can see again that different NFRs lead to different software systems.So, Our position.. #read#
  9. As I said before, a MDD process should be able to deal with NFRs and also should be able to certify the result is compliant with the specified NFRs.To do this we propose two variants of a process that can deal with NFRs.One is fully automatic and the second one is interactive.
  10. The problem of the previous variant is that it is too complex. For this variant we use a standard “pi Ai Em” #click#, a PIM unaware of NFRs.And we use #click# interaction with the user to obtain the NFRs necessary to: first, generate the architecture, and second, generate the PSM.From this point we will have all necessary NFRs to generate the software product.#click# it is important to notice that these are extreme variants, it is more than possible that the best solution is between the two variants.
  11. #read##click&amp;read##click&amp;read#
  12. In the paper you will find a more exhaustive list of topics that require further research. This is a selection of the most relevant ones.#click&amp;read##click&amp;read##click&amp;read##click&amp;read##click&amp;read##click&amp;read##click&amp;read#