SlideShare a Scribd company logo
1 of 21
The Architecting Process (and the link with Agibility) 
Henry Muccini 
henry.muccini@univaq.it 
DISIM 
Dep.nt of Information Engineering, Computer Science and Mathematics 
University of L’Aquila, Italy
The material in these slides may be freely reproduced 
and distributed, partially or totally, as far as an explicit 
reference or acknowledge to the material author is 
preserved. 
SEA Group 
Henry Muccini
Intro to SA 
SA Case study 
SA style 
ADLs 
Design Decisions 
Views/Viewpoints 
SEA Group 
Non Functional S.E. 
Performance modeling 
Performance analysis 
UML 
UML Profiling 
Lab
SEA Group
SEA Group 
Architectural constraints 
and requirements 
Ideas 
Constraints 
Req1:.. 
Req2:.. 
Req3:.. 
……… 
Architectural 
requirements 
C2 
C3 
C1 
C4 
Software 
Architecture 
Software 
Architecture 
synthesis 
Evaluation and 
Decisions making
SEA Group
SEA Group 
Let us identify the system 
requirements 
Let us identify the 
ARCHITECTURALLY RELEVANT 
requirements
SEA Group 
Let us identify subsystems
SEA Group 
Let us identify the main 
components and connectors
SEA Group 
SA box&line informal 
Modeling 
AND/OR SA Formal Modeling 
Incremental design
SEA Group 
SA-based functional and 
non functional analysis 
SA-conformance to 
requirements 
Predictive analysis 
Code-to-SA conformance 
analysis
Patrizio Pelliccione, Paola Inverardi, Henry Muccini: CHARMY: A Framework for 
Designing and Verifying Architectural Specifications. IEEE Trans. Software Eng. 
35(3): 325-346 (2009) 
Vittorio Cortellessa, Antinisca Di Marco, Paola Inverardi 
Model-Based Software Performance Analysis. 
First Edition, Springer, 2011. 
Henry Muccini, Antonia Bertolino, Paola Inverardi: Using Software Architecture for 
Code Testing. IEEE Trans. Software Eng. 30(3): 160-171 (2004) 
SEA Group 
SA-based functional and 
non functional analysis 
SA-conformance to 
requirements 
Predictive analysis 
Code-to-SA conformance 
analysis 
inputs
SEA Group 
Coding based on the 
defined SA 
Systematic skeleton «code 
generation» 
SA as a reference artifact for 
coding 
inputs 
C2SADL, 
ArchJava, JavaA
SA 
Design 
Decisions 
SEA Group 
AS Requirements with Quality 
attributes 
Subsystems 
Components and Connectors 
SA Modeling 
SA Verification and Validation 
SA-based coding
Decomposition 
Designing to Architecturally Significant Requirements 
SEA Group 
What happens to the other requirements? 
Do I design for one ASR at a time or all at once? 
Generate and Test 
Hypothesis 
Existing systems 
Frameworks 
Patterns and tactics 
Domain decomposition 
Design checklists
SEA Group 
Attribute-Driven Design 
Iterative method 
«workable» 
architecture 
early and quickly 
boundaries 
Inputs: 
correct set of ASRs 
External systems, devices, users 
Output: 
Sketches of Architectural views 
Agile 
Step1: 
Decomposition tree 
you want or won’t pick «whole» 
system as the starting point 
breadth depth first 
Step3: 
Generate and test 
Patterns, tactics, checklists
http://agilemanifesto.org/ 
SEA Group
While it may not work for complex systems: 
SEA Group 
 The principles reflect a process employed for small-to 
medium-sized project 
 Co-location or high level of communication 
 Little attention to cross-cutting concerns 
agility code-first 
architecting 
Up-front 
design
Adding time for up-front 
work reduces later rework 
SEA Group 
But, how much? 
Sweet spots: 
.10ksloc -> no up-front 
. … 
.1000ksloc -> ~40% 
Risk reduction
“If information isn’t needed, don’t spend the resources 
to document it. All documentation should have an 
intended use and audience in mind, and be produced in 
a way that serves both.” 
YAGNI = You ain’t gonna need it 
“We document the portions of the architecture that we 
need to teach to newcomers, that embody significant 
potential risks if not properly managed, and that we 
need to change frequently. We document what we 
need to convey to readers so they can do their job.” 
SEA Group 
[SAinPractice]
Web-based Video Conferencing 
Process: 
SEA Group 
 Initial software and system architecture 
 Incremental implementation 
 Starting with critical functionalities 
 Architecture refactoring based on new requirements 
 Continuous experimentation, empirical evaluation, 
architectural analysis

More Related Content

What's hot

[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system design[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system designObeo
 
The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...
The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...
The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...IncQuery Labs
 
The Genesis of Holistic Systems Design
The Genesis of Holistic Systems DesignThe Genesis of Holistic Systems Design
The Genesis of Holistic Systems DesignIncQuery Labs
 
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...Obeo
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementElizabeth Steiner
 
Innoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering ToolInnoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering ToolElizabeth Steiner
 
Introduction to Capella and Arcadia with a Simple System
Introduction to Capella and Arcadia with a Simple SystemIntroduction to Capella and Arcadia with a Simple System
Introduction to Capella and Arcadia with a Simple SystemObeo
 
Requirements Analysis and Management using Innoslate
Requirements Analysis and Management using InnoslateRequirements Analysis and Management using Innoslate
Requirements Analysis and Management using InnoslateElizabeth Steiner
 
Experiences with Collaborative System Architecture Development within a Joint...
Experiences with Collaborative System Architecture Development within a Joint...Experiences with Collaborative System Architecture Development within a Joint...
Experiences with Collaborative System Architecture Development within a Joint...Obeo
 

What's hot (11)

[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system design[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system design
 
Srivalli Siddavatam
Srivalli Siddavatam Srivalli Siddavatam
Srivalli Siddavatam
 
The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...
The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...
The Genesis of Holistic Systems Engineering: Completeness and Consistency Man...
 
The Genesis of Holistic Systems Design
The Genesis of Holistic Systems DesignThe Genesis of Holistic Systems Design
The Genesis of Holistic Systems Design
 
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
Capella Days 2021 | Using MBSE to Integrate Engineering Undergraduate Courses...
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio Management
 
Debugging AI
Debugging AIDebugging AI
Debugging AI
 
Innoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering ToolInnoslate, A Model-Based Systems Engineering Tool
Innoslate, A Model-Based Systems Engineering Tool
 
Introduction to Capella and Arcadia with a Simple System
Introduction to Capella and Arcadia with a Simple SystemIntroduction to Capella and Arcadia with a Simple System
Introduction to Capella and Arcadia with a Simple System
 
Requirements Analysis and Management using Innoslate
Requirements Analysis and Management using InnoslateRequirements Analysis and Management using Innoslate
Requirements Analysis and Management using Innoslate
 
Experiences with Collaborative System Architecture Development within a Joint...
Experiences with Collaborative System Architecture Development within a Joint...Experiences with Collaborative System Architecture Development within a Joint...
Experiences with Collaborative System Architecture Development within a Joint...
 

Similar to L06 The Architecting Process

Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting ActivitiesHenry Muccini
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise ArchitectureWSO2
 
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
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
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
 
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and MethodologyWSO2
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12NASAPMC
 
SyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture RecoverySyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture RecoveryUniversity of Pretoria
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Henry Muccini
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionHenry Muccini
 
[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
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 

Similar to L06 The Architecting Process (20)

Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise Architecture
 
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)
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
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
 
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
 
SyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture RecoverySyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture Recovery
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
DSAPA.pdf
DSAPA.pdfDSAPA.pdf
DSAPA.pdf
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the Abstraction
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 

More from 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
 

More from 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
 

Recently uploaded

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 

Recently uploaded (20)

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

L06 The Architecting Process

  • 1. The Architecting Process (and the link with Agibility) Henry Muccini henry.muccini@univaq.it DISIM Dep.nt of Information Engineering, Computer Science and Mathematics University of L’Aquila, Italy
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. SEA Group Henry Muccini
  • 3. Intro to SA SA Case study SA style ADLs Design Decisions Views/Viewpoints SEA Group Non Functional S.E. Performance modeling Performance analysis UML UML Profiling Lab
  • 5. SEA Group Architectural constraints and requirements Ideas Constraints Req1:.. Req2:.. Req3:.. ……… Architectural requirements C2 C3 C1 C4 Software Architecture Software Architecture synthesis Evaluation and Decisions making
  • 7. SEA Group Let us identify the system requirements Let us identify the ARCHITECTURALLY RELEVANT requirements
  • 8. SEA Group Let us identify subsystems
  • 9. SEA Group Let us identify the main components and connectors
  • 10. SEA Group SA box&line informal Modeling AND/OR SA Formal Modeling Incremental design
  • 11. SEA Group SA-based functional and non functional analysis SA-conformance to requirements Predictive analysis Code-to-SA conformance analysis
  • 12. Patrizio Pelliccione, Paola Inverardi, Henry Muccini: CHARMY: A Framework for Designing and Verifying Architectural Specifications. IEEE Trans. Software Eng. 35(3): 325-346 (2009) Vittorio Cortellessa, Antinisca Di Marco, Paola Inverardi Model-Based Software Performance Analysis. First Edition, Springer, 2011. Henry Muccini, Antonia Bertolino, Paola Inverardi: Using Software Architecture for Code Testing. IEEE Trans. Software Eng. 30(3): 160-171 (2004) SEA Group SA-based functional and non functional analysis SA-conformance to requirements Predictive analysis Code-to-SA conformance analysis inputs
  • 13. SEA Group Coding based on the defined SA Systematic skeleton «code generation» SA as a reference artifact for coding inputs C2SADL, ArchJava, JavaA
  • 14. SA Design Decisions SEA Group AS Requirements with Quality attributes Subsystems Components and Connectors SA Modeling SA Verification and Validation SA-based coding
  • 15. Decomposition Designing to Architecturally Significant Requirements SEA Group What happens to the other requirements? Do I design for one ASR at a time or all at once? Generate and Test Hypothesis Existing systems Frameworks Patterns and tactics Domain decomposition Design checklists
  • 16. SEA Group Attribute-Driven Design Iterative method «workable» architecture early and quickly boundaries Inputs: correct set of ASRs External systems, devices, users Output: Sketches of Architectural views Agile Step1: Decomposition tree you want or won’t pick «whole» system as the starting point breadth depth first Step3: Generate and test Patterns, tactics, checklists
  • 18. While it may not work for complex systems: SEA Group  The principles reflect a process employed for small-to medium-sized project  Co-location or high level of communication  Little attention to cross-cutting concerns agility code-first architecting Up-front design
  • 19. Adding time for up-front work reduces later rework SEA Group But, how much? Sweet spots: .10ksloc -> no up-front . … .1000ksloc -> ~40% Risk reduction
  • 20. “If information isn’t needed, don’t spend the resources to document it. All documentation should have an intended use and audience in mind, and be produced in a way that serves both.” YAGNI = You ain’t gonna need it “We document the portions of the architecture that we need to teach to newcomers, that embody significant potential risks if not properly managed, and that we need to change frequently. We document what we need to convey to readers so they can do their job.” SEA Group [SAinPractice]
  • 21. Web-based Video Conferencing Process: SEA Group  Initial software and system architecture  Incremental implementation  Starting with critical functionalities  Architecture refactoring based on new requirements  Continuous experimentation, empirical evaluation, architectural analysis