SlideShare a Scribd company logo
DISIM
Dept. of Information Engineering, Computer Science and Mathematics
University of L’Aquila, Italy
Software Architecture Activities
Henry Muccini
henry.muccini@univaq.it
SEA Group
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.
Henry Muccini
SEA Group
SEA Group
There are four dominant software development
processes:
• Waterfall
• Iterative
• Agile
• Model-driven
development
SEA Group
• No matter the software development
process, there are activities…
role
Seen
abovespecification
manual
report
SEA Group
Requirements/User
stories
Software Design
Implementation
Testing
Maintenance
SEA Group
SEA Group
SA
Design
Decisions
Components and Connectors
SA Modeling
Subsystems
AS Requirements with Quality
attributes
SA Verification and Validation
SA-based coding
SEA Group
There is some smoke on the first apartment in the 4th floor, on Avenue de Fortune
26. A smoke sensor detects the smoke, potential source of a fire, and informs a local
server. The local server posts the information on-line, and this information is
accessible from the fire station. The fire station has a view on all the alarms and
warnings happening at the all time. The system monitors the status of alarms and
informs the fire fighters about the entity of the fire, the time it started, the area
covered by it, and other sensitive information. Based on such information, the
system decides where to send the fire trucks (in case only a limited set of fires can
be managed in parallel). The fire fighters jump into the fire truck, turn in their
onboard computing system, and get information about the fastest way to get to
destination. During the trip, they get all possible updates about the state of the fire.
Based on this information, they may decide that a second truck is needed, or one is
closer to Avenue de Fortune, or that their service is not needed anymore. When the
fire fighters arrive to Avenue de Fortune 26, the entire 4th floor is on fire. By using
other sensors, they may know how many people is trapped inside the building: this
information is displayed on their devices. Fortunately, nobody is inside the building
at this time. Before starting extinguishing the fire, the system discovers that there
are some gas cylinders on the 6th floor. They first start securing those devices, and in
parallel extinguishing the fire on the 4th floor.
SEA Group
Let us identify the system
requirements
Let us identify the
ARCHITECTURALLY SIGNIFICANT
requirements
SEA Group
Communications between sensors and server
Track system
Compatibility with other systems
Sw running on the firefighters
Extensibility
Data analytcs
Where to send fire fighters in case of multiple fires
Fault tolerance
SEA Group
Let us identify subsystems
SEA Group
Let us identify the main
components and connectors
SEA Group
SA box&line informal
Modeling
Incremental design
AND/OR SA Formal Modeling
SEA Group
SA-based functional and
non functional analysis
SA-conformance to
requirements
Predictive analysis
Code-to-SA conformance
analysis
Do you
remember
what V&V is?
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)
inputs
SEA Group
Coding based on the
defined SA
Systematic skeleton «code
generation»
SA as a reference artifact for
coding
inputs
C2SADL,
ArchJava, JavaA
SEA Group
SA
Design
Decisions
Components and Connectors
SA Modeling
Subsystems
AS Requirements with Quality
attributes
SA Verification and Validation
SA-based coding
SEA Group
– 1. Making a business case for the system
– 2. Understanding the architecturally significant
requirements
– 3. Creating or selecting the architecture
– 4. Documenting and communicating the architecture
– 5. Analyzing or evaluating the architecture
– 6. Implementing and testing the system based on the
architecture
– 7. Ensuring that the implementation conforms to the
architecture
SEA Group
SEA Group
Architects need more than just technical skills.
– Architects need to explain to one stakeholder or another
the chosen priorities of different properties, and why
particular stakeholders are not having all of their
expectations fulfilled.
– Architects need diplomatic, negotiation, and
communication skills.
– Architects need the ability to communicate ideas clearly
– You will need to manage a diverse workload and be able
to switch contexts frequently.
– You will need to be a leader in the eyes of developers and
management.
SEA Group
SEA Group
Technical. The technical context includes the
achievement of quality attribute requirements.
Project life cycle. Regardless of the software
development methodology you use, you must perform
specific activities.
Business. The system created from the architecture
must satisfy the business goals of a wide variety of
stakeholders.
Professional. You must have certain skills and
knowledge to be an architect, and there are certain
duties that you must perform as an architect.
SEA Group
SEA Group
«Software Architecture in Practice»,
Chapter 3
SEA Group
Decomposition
Designing to Architecturally Significant Requirements
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 or depth first
Step3:
Generate and test
Patterns, tactics, checklists
SEA Group
http://agilemanifesto.org/
SEA Group
While it may not work for complex systems:
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
SEA Group
Adding time for up-front
work reduces later rework
But, how much?
Sweet spots:
.10ksloc -> no up-front
. …
.1000ksloc -> ~40%
Risk reduction
Boehm and Turner
SEA Group
“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.”
“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.”
[SAinPractice]
YAGNI = You ain’t gonna need it
SEA Group
Web-based Video Conferencing
Process:
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

Software Architecture: Trends
Software Architecture: TrendsSoftware Architecture: Trends
Software Architecture: Trends
Henry 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 Making
Henry Muccini
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
Henry Muccini
 
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 Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
Henry 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 modelling
CARLOS 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
 
Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...
Obeo
 
Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)
Marcello Thiry
 
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
EnergyTech2015
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A Survey
Obeo
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
Kellyton Brito
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
University of Pretoria
 
System of systems modeling with Capella
System of systems modeling with CapellaSystem of systems modeling with Capella
System of systems modeling with Capella
Obeo
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
James Towers
 
How to Perform 21st Century Systems Engineering
How to Perform 21st Century Systems EngineeringHow to Perform 21st Century Systems Engineering
How to Perform 21st Century Systems Engineering
Elizabeth Steiner
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks
Ivano Malavolta
 

What's hot (20)

Software Architecture: Trends
Software Architecture: TrendsSoftware Architecture: Trends
Software Architecture: Trends
 
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
 
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 Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Workshop8 18 12 09 Ingles
Workshop8   18 12 09 InglesWorkshop8   18 12 09 Ingles
Workshop8 18 12 09 Ingles
 
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)
 
Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...
 
Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)
 
01_Program
01_Program01_Program
01_Program
 
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A Survey
 
Adm Workshop Program
Adm Workshop ProgramAdm Workshop Program
Adm Workshop Program
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
System of systems modeling with Capella
System of systems modeling with CapellaSystem of systems modeling with Capella
System of systems modeling with Capella
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
 
How to Perform 21st Century Systems Engineering
How to Perform 21st Century Systems EngineeringHow to Perform 21st Century Systems Engineering
How to Perform 21st Century Systems Engineering
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks
 

Viewers also liked

Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey
Editor IJCATR
 
Risk Centric Architecture George Fairbanks
Risk Centric Architecture George FairbanksRisk Centric Architecture George Fairbanks
Risk Centric Architecture George Fairbanks
IASA
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Prabhat gangwar
 
I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
Frank Gielen
 
Software Design - Architectural Kata
Software Design - Architectural KataSoftware Design - Architectural Kata
Software Design - Architectural Kata
Deniz Yavaş
 
Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...
Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...
Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...
Jonathan Cutrell
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
Frank Gielen
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes WorkshopCS, NcState
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Software architecture quality attributes & Trade-offs
Software architecture quality attributes & Trade-offs Software architecture quality attributes & Trade-offs
Software architecture quality attributes & Trade-offs
Asanka Dilruk
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureHimanshu
 

Viewers also liked (12)

Sa 009 add
Sa 009 addSa 009 add
Sa 009 add
 
Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey Model-Driven Architecture for Cloud Applications Development, A survey
Model-Driven Architecture for Cloud Applications Development, A survey
 
Risk Centric Architecture George Fairbanks
Risk Centric Architecture George FairbanksRisk Centric Architecture George Fairbanks
Risk Centric Architecture George Fairbanks
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
 
Software Design - Architectural Kata
Software Design - Architectural KataSoftware Design - Architectural Kata
Software Design - Architectural Kata
 
Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...
Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...
Attribute Driven Styles: The Good, the Bad, and the Unknown (SassConf 2015 Di...
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes Workshop
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Software architecture quality attributes & Trade-offs
Software architecture quality attributes & Trade-offs Software architecture quality attributes & Trade-offs
Software architecture quality attributes & Trade-offs
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 

Similar to L06 Architecting Activities

Software Architecture Lab
Software Architecture LabSoftware Architecture Lab
Software Architecture Lab
Henry Muccini
 
L06 The Architecting Process
L06 The Architecting ProcessL06 The Architecting Process
L06 The Architecting Process
Henry Muccini
 
DSAPA.pdf
DSAPA.pdfDSAPA.pdf
DSAPA.pdf
Luis Pena
 
Raise the bar! Reloaded
Raise the bar! ReloadedRaise the bar! Reloaded
Raise the bar! Reloaded
Alessandro Franceschi
 
Raise the Bar! Reloaded
Raise the Bar! ReloadedRaise the Bar! Reloaded
Raise the Bar! Reloaded
Codemotion
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
Obeo
 
Wicsa2011 cloud tutorial
Wicsa2011 cloud tutorialWicsa2011 cloud tutorial
Wicsa2011 cloud tutorialAnna Liu
 
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
Heiko Koziolek
 
Automated Formal Verification of SystemC/C++ High-Level Synthesis Models
Automated Formal Verification of SystemC/C++ High-Level Synthesis ModelsAutomated Formal Verification of SystemC/C++ High-Level Synthesis Models
Automated Formal Verification of SystemC/C++ High-Level Synthesis Models
Sergio Marchese
 
System models
System modelsSystem models
System models
Rene Guaman-Quinche
 
Digital Security by Design: ISCF Digital Security by Design Research Projects...
Digital Security by Design: ISCF Digital Security by Design Research Projects...Digital Security by Design: ISCF Digital Security by Design Research Projects...
Digital Security by Design: ISCF Digital Security by Design Research Projects...
KTN
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
LPK Any Komputer
 
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
 
UberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for BeginnersUberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for Beginners
hpcexperiment
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
Alessio Bucaioni
 
Sip@iPLM 2016
Sip@iPLM 2016 Sip@iPLM 2016
Sip@iPLM 2016
Dr Nicolas Figay
 
Real-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor SystemsReal-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor Systems
Luigi Vanfretti
 
IntroductionThe capstone project is a �structured walkthrough� pen.pdf
IntroductionThe capstone project is a �structured walkthrough� pen.pdfIntroductionThe capstone project is a �structured walkthrough� pen.pdf
IntroductionThe capstone project is a �structured walkthrough� pen.pdf
fantasiatheoutofthef
 
CAST for the Architect
CAST for the ArchitectCAST for the Architect
CAST for the Architect
CAST
 

Similar to L06 Architecting Activities (20)

Software Architecture Lab
Software Architecture LabSoftware Architecture Lab
Software Architecture Lab
 
L06 The Architecting Process
L06 The Architecting ProcessL06 The Architecting Process
L06 The Architecting Process
 
DSAPA.pdf
DSAPA.pdfDSAPA.pdf
DSAPA.pdf
 
Raise the bar! Reloaded
Raise the bar! ReloadedRaise the bar! Reloaded
Raise the bar! Reloaded
 
Raise the Bar! Reloaded
Raise the Bar! ReloadedRaise the Bar! Reloaded
Raise the Bar! Reloaded
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
Wicsa2011 cloud tutorial
Wicsa2011 cloud tutorialWicsa2011 cloud tutorial
Wicsa2011 cloud tutorial
 
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
 
Automated Formal Verification of SystemC/C++ High-Level Synthesis Models
Automated Formal Verification of SystemC/C++ High-Level Synthesis ModelsAutomated Formal Verification of SystemC/C++ High-Level Synthesis Models
Automated Formal Verification of SystemC/C++ High-Level Synthesis Models
 
System models
System modelsSystem models
System models
 
Digital Security by Design: ISCF Digital Security by Design Research Projects...
Digital Security by Design: ISCF Digital Security by Design Research Projects...Digital Security by Design: ISCF Digital Security by Design Research Projects...
Digital Security by Design: ISCF Digital Security by Design Research Projects...
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
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...
 
UberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for BeginnersUberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for Beginners
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
 
Sip@iPLM 2016
Sip@iPLM 2016 Sip@iPLM 2016
Sip@iPLM 2016
 
Real-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor SystemsReal-Time Simulation for MBSE of Synchrophasor Systems
Real-Time Simulation for MBSE of Synchrophasor Systems
 
IntroductionThe capstone project is a �structured walkthrough� pen.pdf
IntroductionThe capstone project is a �structured walkthrough� pen.pdfIntroductionThe capstone project is a �structured walkthrough� pen.pdf
IntroductionThe capstone project is a �structured walkthrough� pen.pdf
 
Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)
 
CAST for the Architect
CAST for the ArchitectCAST for the Architect
CAST for the Architect
 

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 Segreterie
Henry 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 sostenibile
Henry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
Henry 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 Things
Henry 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 Decisions
Henry 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 Architecture
Henry 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 Sustainability
Henry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
Henry 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  CUSPIS
Henry 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 Architecture
Henry 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

Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 

Recently uploaded (20)

Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 

L06 Architecting Activities

  • 1. DISIM Dept. of Information Engineering, Computer Science and Mathematics University of L’Aquila, Italy Software Architecture Activities Henry Muccini henry.muccini@univaq.it
  • 2. SEA Group 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. Henry Muccini
  • 4. SEA Group There are four dominant software development processes: • Waterfall • Iterative • Agile • Model-driven development
  • 5. SEA Group • No matter the software development process, there are activities… role Seen abovespecification manual report
  • 8. SEA Group SA Design Decisions Components and Connectors SA Modeling Subsystems AS Requirements with Quality attributes SA Verification and Validation SA-based coding
  • 9. SEA Group There is some smoke on the first apartment in the 4th floor, on Avenue de Fortune 26. A smoke sensor detects the smoke, potential source of a fire, and informs a local server. The local server posts the information on-line, and this information is accessible from the fire station. The fire station has a view on all the alarms and warnings happening at the all time. The system monitors the status of alarms and informs the fire fighters about the entity of the fire, the time it started, the area covered by it, and other sensitive information. Based on such information, the system decides where to send the fire trucks (in case only a limited set of fires can be managed in parallel). The fire fighters jump into the fire truck, turn in their onboard computing system, and get information about the fastest way to get to destination. During the trip, they get all possible updates about the state of the fire. Based on this information, they may decide that a second truck is needed, or one is closer to Avenue de Fortune, or that their service is not needed anymore. When the fire fighters arrive to Avenue de Fortune 26, the entire 4th floor is on fire. By using other sensors, they may know how many people is trapped inside the building: this information is displayed on their devices. Fortunately, nobody is inside the building at this time. Before starting extinguishing the fire, the system discovers that there are some gas cylinders on the 6th floor. They first start securing those devices, and in parallel extinguishing the fire on the 4th floor.
  • 10. SEA Group Let us identify the system requirements Let us identify the ARCHITECTURALLY SIGNIFICANT requirements
  • 11. SEA Group Communications between sensors and server Track system Compatibility with other systems Sw running on the firefighters Extensibility Data analytcs Where to send fire fighters in case of multiple fires Fault tolerance
  • 12. SEA Group Let us identify subsystems
  • 13. SEA Group Let us identify the main components and connectors
  • 14. SEA Group SA box&line informal Modeling Incremental design AND/OR SA Formal Modeling
  • 15. SEA Group SA-based functional and non functional analysis SA-conformance to requirements Predictive analysis Code-to-SA conformance analysis Do you remember what V&V is?
  • 16. 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) inputs
  • 17. SEA Group Coding based on the defined SA Systematic skeleton «code generation» SA as a reference artifact for coding inputs C2SADL, ArchJava, JavaA
  • 18. SEA Group SA Design Decisions Components and Connectors SA Modeling Subsystems AS Requirements with Quality attributes SA Verification and Validation SA-based coding
  • 19. SEA Group – 1. Making a business case for the system – 2. Understanding the architecturally significant requirements – 3. Creating or selecting the architecture – 4. Documenting and communicating the architecture – 5. Analyzing or evaluating the architecture – 6. Implementing and testing the system based on the architecture – 7. Ensuring that the implementation conforms to the architecture
  • 21. SEA Group Architects need more than just technical skills. – Architects need to explain to one stakeholder or another the chosen priorities of different properties, and why particular stakeholders are not having all of their expectations fulfilled. – Architects need diplomatic, negotiation, and communication skills. – Architects need the ability to communicate ideas clearly – You will need to manage a diverse workload and be able to switch contexts frequently. – You will need to be a leader in the eyes of developers and management.
  • 23. SEA Group Technical. The technical context includes the achievement of quality attribute requirements. Project life cycle. Regardless of the software development methodology you use, you must perform specific activities. Business. The system created from the architecture must satisfy the business goals of a wide variety of stakeholders. Professional. You must have certain skills and knowledge to be an architect, and there are certain duties that you must perform as an architect.
  • 25. SEA Group «Software Architecture in Practice», Chapter 3
  • 26. SEA Group Decomposition Designing to Architecturally Significant Requirements 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
  • 27. 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 or depth first Step3: Generate and test Patterns, tactics, checklists
  • 29. SEA Group While it may not work for complex systems: 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
  • 30. SEA Group Adding time for up-front work reduces later rework But, how much? Sweet spots: .10ksloc -> no up-front . … .1000ksloc -> ~40% Risk reduction Boehm and Turner
  • 31. SEA Group “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.” “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.” [SAinPractice] YAGNI = You ain’t gonna need it
  • 32. SEA Group Web-based Video Conferencing Process: Initial software and system architecture Incremental implementation Starting with critical functionalities Architecture refactoring based on new requirements Continuous experimentation, empirical evaluation, architectural analysis