SlideShare une entreprise Scribd logo
1  sur  50
Università degli Studi dell’Aquila
Henry Muccini
DISIM, University of L’Aquila
henry.muccini@univaq.it, @muccinihenry, www.henrymuccini.com
@University of SPLIT, Croatia – May 2014
2
W
E
L
C
O
M
E
The material in these slides may be freely reproduced
and distributed, partially or totally, as far as an explicit
reference or acknowledge to the authors is preserved.
Henry Muccini
Researcher at the University of L’Aquila, Italy
Teaching
4
Research
Services
5
 Closest airports: Rome
Fiumicino, Rome Ciampino,
Pescara
 1 hour driving from Rome
 45 mins driving to the cost
 15 minutes driving to the
mountains
L’Aquila: where is it?
Very close to…
Pescara,Teramo, Giulianova,
Alba Adriatica, Roseto,…
Campo Imperatore, Campo
Felice, Gran Sasso
SOFTWARE ARCHITECTURE: INTRODUCTION TO THE ABSTRACTION
11
Software Engineering
Engineered Software SystemSoftware System
Software
Architecture
Implementation
Low Level Design
Process: Architecture as an artefact
Requirements
Drives
Process: Architecture towards the process
• The architecture includes a collection of views
• The architecture is NOT a single fase in the software
development process
Views
Models
Use Case
Model
Design
Model
Depl.
Model
Impl.
Model
Test
Model
Analysis
Model
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 A set of components and connectors
communicating through interfaces
A set of architecture design decisions
Focus on set of views and viewpoints
Written according to architectural styles
Software Architecture definitions
Perry and Wolf, ’92 (aspects):
→“Architecture is concerned with the selection of architectural elements,
their interactions, and the constraints on those elements and their
interactions necessary to provide a framework in which to satisfy the
requirements and serve as a basis for the design.”
→Elements are divided into processing elements, data elements and
connection elements
Garlan and Shaw, ’93 (elements):
→ Architecture for a specific system may be captured as “a collection of
computational components - or simply components - together with a
description of the interactions between these components - the connectors
–”
18
Let us reason about the
Gaudi’s Sagrada Familia
The power of abstraction…
19
STM-4/16
ADM
ADM
STM-1/4
ADM
ADM ADM
SXC
4/1
Urban Level
SXA
STM-1/4
ADM
ADM ADM
ADM
STM-4/16
ADM
ADM
Regional level
STM-1/4
ADM
ADM
ADM ADM
SXA
TELECOM ITALIA NETWORK ARCHITECTURE
WDM
STM-4/16
ADM
ADM
SXA
WL
STM-16 Ring
National Level
ADM
ADM
ADM
ADM
ADM
ADM
ADM
ADM
ADM
WL
ADM
ADM
ADM
ADM
ADM
ADM
ADM
ADM
ADM
STM-16 Ring
Java
Development
Tools
Plugin
Development
Environment
JFace
SWT
Workbench
Workspace
Runtime
User Interface
Core
standard
standard
standard
standard
standard
p
r
o
c
e
s
s
laws
Privacy e confidentiality
Autenticity
Need of Standards
Shared Process Management
Scalability
Docs digitalization
Architectural constraints
and requirements
Ideas
Constraints
Req1:..
Req2:..
Req3:..
………
Architectural
requirements
C2
C3
C1
C4
Software
Architecture
Software
Architecture
synthesis
Evaluation and
Decisions making
But which Architecture?
Implications on privacy, confidentiality, performance,
scalability, maintainability, etc.
But which Architecture?
Implications on privacy, confidentiality, performance,
scalability, maintainability, etc.
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 A set of components and connectors communicating
through interfaces
A set of architecture design decisions
Focus on set of views and viewpoints
Written according to architectural styles
Architecture Design Decisions
Decisions about:
Selected components/interfaces/connectors
Distribution/Configuration of
components/connectors
Expected behavior
SA Styles, Patterns and Tactics
HW/SW/Deployment and other views
Components’ Nesting and sub-systems
NF attributes
Architecture as a set of design decisions
29
A set of architecture design decisions taken to generate
the architecture artifact
Design
problem
sub-
problem
(or issue)
sub-
problem
(or issue)
Design
option
Design
option
Design
option
Design
option
Problem
space
Solution
space
Alternative
solutions
Alternative
solutions
Decision =
best option
Decision =
best option
Best, with respect
to some criterion
Jansen, A.; Bosch, J., "Software Architecture as a Set of Architectural Design
Decisions," Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP
Conference on , vol., no., pp.109,120, 2005. doi: 10.1109/WICSA.2005.61
But, which is the right abstraction!?!
30
the right abstraction…
31
At which abstraction?
Implications on privacy, confidentiality, performance,
scalability, maintainability, etc.
and, which is the right architecture!?!
34
the right architecture…
35
Architectural constraints
and requirements
Ideas
Constraints
Req1:..
Req2:..
Req3:..
………
Architectural
requirements
C2
C3
C1
C4
Software
Architecture
Software
Architecture
synthesis
Evaluation and
Decisions making
The one that satisfies at best the
requirements and constraints
The “less” risky one
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 A set of components and connectors communicating
through interfaces
A set of architecture design decisions
Focus on set of views and viewpoints
Written according to architectural styles
38
Architectural Views
User1
Router Server
Timer
AlarmUR AlarmRS (c)
Check1
Nofunc
Clock
AckSR (c)
AckRU1
User2
AlarmUR1
AlarmUR2
Check2
Check
AckRU2
0 12
3
4
5
ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural
Description, 2011
Logical View
End-user
Functionality
Implementation (Development) View
Programmers
Software management
Process View
Performance
Scalability
Throughput
System integrators
Deployment View
Conceptual Physical
Use Case View
Object Model
of Design
Static Organization
of the Software
Concurrency and
Synchronization
Software Mapping
To HwSystem engineering
System topology
Delivery, installation
Communication
RUP 4+1 views
Using multiple views has become standard
practice in industry
• IEEE Std 1471 (2000) -> … -> ISO/IEC/IEEE 42010 (2011)
• Based on a survey we conducted with 48 practitioners
[Survey2012], and about the usage of ALs in industry
 85% uses multiple views
[Survey2012] “What Industry needs from Architectural Languages: A Survey”, I. Malavolta, P. Lago, H.
Muccini, P. Pelliccione, A. Tang (under review)
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 A set of components and connectors communicating
through interfaces
A set of architecture design decisions
Focus on set of views and viewpoints
Written according to architectural styles
Prescriptive vs descriptive use of an architectural
language
“A set of design rules that identify the kinds of components
and connectors that may be used to compose a system
or subsystem, together with local or global constraints on
the way the composition is done” (Shaw & Clements, 1996)
A set of constraints you put on your development to elicit desirable
properties from your software architecture.
Topological
Behavioral
Communication-oriented
etc. etc.
IMP
The Classical Style
The Californian Style
“A set of design rules that identify the kinds of components
and connectors that may be used to compose a system
or subsystem, together with local or global constraints on
the way the composition is done” (Shaw & Clements, 1996)
A set of constraints you put on your development to elicit desirable
properties from your software architecture.
Topological
Behavioral
Communication-oriented
etc. etc.
IMP
Some Architectural Styles
47
Application
Presentation
Session
Transport
Network
Data Link
Physical
Application
Presentation
Session
Transport
Network
Data Link
Physical
Network
Data Link
Physical
Network
Data Link
Physical
but... why to care?
48
Why to care?
All the software systems have an architecture
 All the critical/complex systems must have it carefully and
explicitly specified
Architecture-level decisions impact the scalability,
performance, testability, functioning of the produced
system
Even if the code is perfectly written, a wrong
architecture produces a wrong system
Why to care?
A wrong architecture produces a wrong system
 Electronic Voting Systems
 Bad architecting of FT software:
 Tens of thousands of people around the large cities weren’t able to travel by
train Thursday morning. No trains from and to Amsterdam and Airport
Schiphol from early morning until after the morning rush hour. A failure in
the back-up system was the cause. The system therefore didn’t start. And
then the signals and switches could not be operated. Both primary and
backup failed, hence no operations. (april 2012)
 the Interim Report on Causes of the August 14th 2003 Blackout in the US
and Canada clearly shows that the problem was mostly caused by badly
designed fault tolerance, including various architectural issues: poor
diagnostics of component failures, longer-than-estimated time for
component recovery, failure to involve all necessary components in
recovery, inconsistent system state after recovery, failures of alarm
systems. (2003)
 Denver Airport
Why to care?
The Best Jobs of
2014
“For the first time, our
No. 1 job overall isn’t
from the health care
industry, it’s a tech
job.”
[http://goo.gl/WdxMjh]
A bad architecture can imply a spaghetti code
system
53
Perry, D. E.; Wolf, A. L. (1992). "Foundations for the study of software
architecture". ACM SIGSOFT Software Engineering Notes 17 (4):
40.doi:10.1145/141874.141884.
Garlan & Shaw (1994). "An Introduction to Software Architecture".
Retrieved 2012-09-13.
ISO/IEC/IEEE (2011). "ISO/IEC/IEEE 42010:2011 Systems and software
engineering -- Architecture description". Retrieved 2012-09-12.
Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1”
View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50.
Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice,
Third Edition. Addison Wesley, 2012, ISBN 0-321-81573-4 (This book, now in
third edition, eloquently covers the fundamental concepts of the discipline.
The theme is centered around achieving quality attributes of a system.)
54

Contenu connexe

Tendances

01 (software) design an analogy with my closet
01 (software) design an analogy with my closet01 (software) design an analogy with my closet
01 (software) design an analogy with my closetHenry Muccini
 
Architecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision MakingArchitecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision MakingHenry Muccini
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Systems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modellingSystems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modellingCARLOS III UNIVERSITY OF MADRID
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
CV of Minfeng Hu
CV of Minfeng HuCV of Minfeng Hu
CV of Minfeng HuMinfeng Hu
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design DecisionsHenry Muccini
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringGregory Herrera
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patentIAEME Publication
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patentiaemedu
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptationMajong DevJfu
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafiosPET Computação
 
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)

01 (software) design an analogy with my closet
01 (software) design an analogy with my closet01 (software) design an analogy with my closet
01 (software) design an analogy with my closet
 
Architecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision MakingArchitecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision Making
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Systems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modellingSystems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modelling
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
CV of Minfeng Hu
CV of Minfeng HuCV of Minfeng Hu
CV of Minfeng Hu
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Adm Workshop Program
Adm Workshop ProgramAdm Workshop Program
Adm Workshop Program
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Se handbookv3
Se handbookv3Se handbookv3
Se handbookv3
 
01_Program
01_Program01_Program
01_Program
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
System Engineering Unit-1
System Engineering Unit-1System Engineering Unit-1
System Engineering Unit-1
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patent
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patent
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptation
 
Workshop8 18 12 09 Ingles
Workshop8   18 12 09 InglesWorkshop8   18 12 09 Ingles
Workshop8 18 12 09 Ingles
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 
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
 

Similaire à Software Architecture: Introduction to the abstraction (May 2014_Split)

An Introduction To Software Engineering
An Introduction To Software EngineeringAn Introduction To Software Engineering
An Introduction To Software Engineeringsritikumar
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisiMarco Lisi
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Soma_Mishra_Resume
Soma_Mishra_ResumeSoma_Mishra_Resume
Soma_Mishra_Resumesoma mishra
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptitadmin33
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringHeiko Koziolek
 
Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...
Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...
Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...Deltares
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Philipp Leitner
 
SDA 01.pptx
SDA 01.pptxSDA 01.pptx
SDA 01.pptxJuttG6
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...Alessandra Bagnato
 
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Henry Muccini
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesPhilipp Leitner
 
Reverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesReverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesDharmalingam Ganesan
 
Applying Linux to the Civil Infrastructure
Applying Linux to the Civil InfrastructureApplying Linux to the Civil Infrastructure
Applying Linux to the Civil InfrastructureYoshitake Kobayashi
 

Similaire à Software Architecture: Introduction to the abstraction (May 2014_Split) (20)

An Introduction To Software Engineering
An Introduction To Software EngineeringAn Introduction To Software Engineering
An Introduction To Software Engineering
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisi
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Soma_Mishra_Resume
Soma_Mishra_ResumeSoma_Mishra_Resume
Soma_Mishra_Resume
 
AlekyaNyalakonda_Resume
AlekyaNyalakonda_ResumeAlekyaNyalakonda_Resume
AlekyaNyalakonda_Resume
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...
Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...
Dsd int 2014 - open mi symposium - federated modelling of critical infrastruc...
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
SDA 01.pptx
SDA 01.pptxSDA 01.pptx
SDA 01.pptx
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
 
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and Challenges
 
Reverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesReverse Engineering of Module Dependencies
Reverse Engineering of Module Dependencies
 
Crime security.
Crime security.Crime security.
Crime security.
 
Applying Linux to the Civil Infrastructure
Applying Linux to the Civil InfrastructureApplying Linux to the Civil Infrastructure
Applying Linux to the Civil Infrastructure
 

Plus de Henry Muccini

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieHenry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementHenry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsHenry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureHenry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical SpacesHenry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISHenry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
 

Plus de Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Dernier

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 

Dernier (20)

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 

Software Architecture: Introduction to the abstraction (May 2014_Split)

  • 1. Università degli Studi dell’Aquila Henry Muccini DISIM, University of L’Aquila henry.muccini@univaq.it, @muccinihenry, www.henrymuccini.com @University of SPLIT, Croatia – May 2014
  • 3. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the authors is preserved. Henry Muccini
  • 4. Researcher at the University of L’Aquila, Italy Teaching 4
  • 6.  Closest airports: Rome Fiumicino, Rome Ciampino, Pescara  1 hour driving from Rome  45 mins driving to the cost  15 minutes driving to the mountains L’Aquila: where is it?
  • 7. Very close to… Pescara,Teramo, Giulianova, Alba Adriatica, Roseto,… Campo Imperatore, Campo Felice, Gran Sasso
  • 8. SOFTWARE ARCHITECTURE: INTRODUCTION TO THE ABSTRACTION 11
  • 10. Software Architecture Implementation Low Level Design Process: Architecture as an artefact Requirements Drives
  • 11. Process: Architecture towards the process • The architecture includes a collection of views • The architecture is NOT a single fase in the software development process Views Models Use Case Model Design Model Depl. Model Impl. Model Test Model Analysis Model
  • 12.
  • 13. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  A set of components and connectors communicating through interfaces A set of architecture design decisions Focus on set of views and viewpoints Written according to architectural styles
  • 14. Software Architecture definitions Perry and Wolf, ’92 (aspects): →“Architecture is concerned with the selection of architectural elements, their interactions, and the constraints on those elements and their interactions necessary to provide a framework in which to satisfy the requirements and serve as a basis for the design.” →Elements are divided into processing elements, data elements and connection elements Garlan and Shaw, ’93 (elements): → Architecture for a specific system may be captured as “a collection of computational components - or simply components - together with a description of the interactions between these components - the connectors –”
  • 15. 18 Let us reason about the Gaudi’s Sagrada Familia
  • 16. The power of abstraction… 19
  • 17. STM-4/16 ADM ADM STM-1/4 ADM ADM ADM SXC 4/1 Urban Level SXA STM-1/4 ADM ADM ADM ADM STM-4/16 ADM ADM Regional level STM-1/4 ADM ADM ADM ADM SXA TELECOM ITALIA NETWORK ARCHITECTURE WDM STM-4/16 ADM ADM SXA WL STM-16 Ring National Level ADM ADM ADM ADM ADM ADM ADM ADM ADM WL ADM ADM ADM ADM ADM ADM ADM ADM ADM STM-16 Ring
  • 20. Privacy e confidentiality Autenticity Need of Standards Shared Process Management Scalability Docs digitalization
  • 22. But which Architecture? Implications on privacy, confidentiality, performance, scalability, maintainability, etc.
  • 23. But which Architecture? Implications on privacy, confidentiality, performance, scalability, maintainability, etc.
  • 24. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  A set of components and connectors communicating through interfaces A set of architecture design decisions Focus on set of views and viewpoints Written according to architectural styles
  • 25. Architecture Design Decisions Decisions about: Selected components/interfaces/connectors Distribution/Configuration of components/connectors Expected behavior SA Styles, Patterns and Tactics HW/SW/Deployment and other views Components’ Nesting and sub-systems NF attributes
  • 26. Architecture as a set of design decisions 29 A set of architecture design decisions taken to generate the architecture artifact Design problem sub- problem (or issue) sub- problem (or issue) Design option Design option Design option Design option Problem space Solution space Alternative solutions Alternative solutions Decision = best option Decision = best option Best, with respect to some criterion Jansen, A.; Bosch, J., "Software Architecture as a Set of Architectural Design Decisions," Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on , vol., no., pp.109,120, 2005. doi: 10.1109/WICSA.2005.61
  • 27. But, which is the right abstraction!?! 30
  • 29. At which abstraction? Implications on privacy, confidentiality, performance, scalability, maintainability, etc.
  • 30. and, which is the right architecture!?! 34
  • 31. the right architecture… 35 Architectural constraints and requirements Ideas Constraints Req1:.. Req2:.. Req3:.. ……… Architectural requirements C2 C3 C1 C4 Software Architecture Software Architecture synthesis Evaluation and Decisions making The one that satisfies at best the requirements and constraints The “less” risky one
  • 32. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  A set of components and connectors communicating through interfaces A set of architecture design decisions Focus on set of views and viewpoints Written according to architectural styles
  • 33.
  • 34. 38 Architectural Views User1 Router Server Timer AlarmUR AlarmRS (c) Check1 Nofunc Clock AckSR (c) AckRU1 User2 AlarmUR1 AlarmUR2 Check2 Check AckRU2 0 12 3 4 5
  • 35. ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural Description, 2011
  • 36. Logical View End-user Functionality Implementation (Development) View Programmers Software management Process View Performance Scalability Throughput System integrators Deployment View Conceptual Physical Use Case View Object Model of Design Static Organization of the Software Concurrency and Synchronization Software Mapping To HwSystem engineering System topology Delivery, installation Communication RUP 4+1 views
  • 37. Using multiple views has become standard practice in industry • IEEE Std 1471 (2000) -> … -> ISO/IEC/IEEE 42010 (2011) • Based on a survey we conducted with 48 practitioners [Survey2012], and about the usage of ALs in industry  85% uses multiple views [Survey2012] “What Industry needs from Architectural Languages: A Survey”, I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, A. Tang (under review)
  • 38. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  A set of components and connectors communicating through interfaces A set of architecture design decisions Focus on set of views and viewpoints Written according to architectural styles
  • 39. Prescriptive vs descriptive use of an architectural language
  • 40. “A set of design rules that identify the kinds of components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done” (Shaw & Clements, 1996) A set of constraints you put on your development to elicit desirable properties from your software architecture. Topological Behavioral Communication-oriented etc. etc. IMP
  • 41. The Classical Style The Californian Style
  • 42. “A set of design rules that identify the kinds of components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done” (Shaw & Clements, 1996) A set of constraints you put on your development to elicit desirable properties from your software architecture. Topological Behavioral Communication-oriented etc. etc. IMP
  • 43. Some Architectural Styles 47 Application Presentation Session Transport Network Data Link Physical Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Network Data Link Physical
  • 44. but... why to care? 48
  • 45. Why to care? All the software systems have an architecture  All the critical/complex systems must have it carefully and explicitly specified Architecture-level decisions impact the scalability, performance, testability, functioning of the produced system Even if the code is perfectly written, a wrong architecture produces a wrong system
  • 46. Why to care? A wrong architecture produces a wrong system  Electronic Voting Systems  Bad architecting of FT software:  Tens of thousands of people around the large cities weren’t able to travel by train Thursday morning. No trains from and to Amsterdam and Airport Schiphol from early morning until after the morning rush hour. A failure in the back-up system was the cause. The system therefore didn’t start. And then the signals and switches could not be operated. Both primary and backup failed, hence no operations. (april 2012)  the Interim Report on Causes of the August 14th 2003 Blackout in the US and Canada clearly shows that the problem was mostly caused by badly designed fault tolerance, including various architectural issues: poor diagnostics of component failures, longer-than-estimated time for component recovery, failure to involve all necessary components in recovery, inconsistent system state after recovery, failures of alarm systems. (2003)  Denver Airport
  • 47. Why to care? The Best Jobs of 2014 “For the first time, our No. 1 job overall isn’t from the health care industry, it’s a tech job.” [http://goo.gl/WdxMjh]
  • 48. A bad architecture can imply a spaghetti code system
  • 49. 53
  • 50. Perry, D. E.; Wolf, A. L. (1992). "Foundations for the study of software architecture". ACM SIGSOFT Software Engineering Notes 17 (4): 40.doi:10.1145/141874.141884. Garlan & Shaw (1994). "An Introduction to Software Architecture". Retrieved 2012-09-13. ISO/IEC/IEEE (2011). "ISO/IEC/IEEE 42010:2011 Systems and software engineering -- Architecture description". Retrieved 2012-09-12. Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50. Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Third Edition. Addison Wesley, 2012, ISBN 0-321-81573-4 (This book, now in third edition, eloquently covers the fundamental concepts of the discipline. The theme is centered around achieving quality attributes of a system.) 54