Some Architecture Models
Some standard “guidelines” to get grip on
the communication, understanding & control to
design/build/verify/create complex
Modern Embedded Software Systems
11/10/2021
(C) ALbert Mietus | MESS | AR models & more
1
4+1 Architectural View Model [1/2]
Several concurrent views/designs are needed
• Multiple “stakeholders” (kind of users) 4+1 views
• Numerous aspects plenty of images/view
Same aspect, but different role? other needs
Architecture is about
communications to various stakeholders
Summary 4+1 Views:
1. Logical View
for end-uses (not SW-Engineers)
What should it do? In Business/Domain language
2. Process & Dynamics (runtime behavior)
for end-users & SW-Engineers
How should it behave? (What output on which input)
3. Development (or Implementation)
for SW-Engineers
Where are which (code) parts? (Unit/Classes/Components)
4. Physical (or Deployment)
To make it run
Location to install files/exe/DDLs, run process/threads
+Scenarios
User-stories, Use-cased
When/Given/Then “executable specs”
Assure it does what is intended and
connect the other (partial) views.
11/10/2021
(C) ALbert Mietus | MESS | AR models & more
2
4+1 Architectural View Model [2/2]
Designed by Philippe Kruchten (1995)
Still valid, but the “wording” is showing its age:
Originally ‘Booch’ based; but in UML terms explained
It’s ‘OO’, but Using the “early days” OO -concepts & - words
Nowadays we would describe it in “more modern” concepts
• Agile/Lean/Scrum
• BDD/TDD
• Agile/Scrum
• Domain-Modeling (more abstraction from code)
• Focus is mostly on ‘construction’
as described given in “the ARM” – next slides
• Other ARM-aspects are missing
History & Focus Some Remarks
A ‘perfect’ (sw-) architecture is:
Generic
Changed features should fit without change
Flexible
The AR welcomes new requirements
(agile architecting)
Adoptable
A changing landscape is picked-up easily
Understandable & Implementable
It’s a “praat-plaat” (for techies and others)
No need “nice picture only”
…
Etc. …
11/10/2021
(C) ALbert Mietus | MESS | AR models & more
3
Omgeving
Grens
Systeem
ArchitectuurRedeneerModel [1/2]
11/10/2021
(C) ALbert Mietus | MESS | AR models & more
4
Or: Architecture Reason Model |[EN]|
aka “the ARM”
Ontwerpers
Programmeurs , Testers
Andere ‘engineers’
Scrummasters
Projectleider/managers
Programmamanagers
Gebruikers
Requirementmanagers
Informatieanalisten
T
Klantbehoefte
Toepassing
Functie
ArchitectuurRedeneerModel [2/2]
11/10/2021
(C) ALbert Mietus | MESS | AR models & more
5
by Robert Deckers, in ‘DYA|Software’ (Sogeti), 2010
Although the book is “unmaintained” …
“the ARM” is still valid
It words focus on ‘IT SW-Development’, still
the concept is valid of “embedded/technical/…” SW
• Business [NL:klant] Domain/ System-Needs
• Software System (and SW as part)
• …
A complete other view on Architecture
as e.g 4+1
Focus is more on “Specs”
Less on “bits only”
WoW (project/process) is also
input for the Architecture
As is the “team”!
Read: its knowledge/expedience
History & Focus Typical Use
Is splits ‘all’ in 3 circles and 3 segments
One should consider all ‘9’ parts.
And have recruitments/specs/needs in each
Use it as a “praat-plaat” and a as a it a check-list
By example: Is the are ‘needs’ about
When it should be ready; Time-2-Marked
Relation cost vs quality/luxury (Mercedes or VW-polo)
Maintainability (Or is it just a one-short/PoC?)
Role of “the team” & “the WoW” on Architecture
(example)
Microservices can be great, but …
Does the team have experience NOW?
E.g in using the languages/tools/concepts
Or: Is there time/budget to learn, hire experts, etc?
When we need to ‘Commissioning in a day’ …
The architecture support that ‘speed’
Well known examples: Google, Spotify,
Questions
• Which of the 4+1 Views are used
• Which of the 9 “ARM” segment/circles are used?
• Which are missing
& Needed?
11/10/2021
(C) ALbert Mietus | MESS | AR models & more
6
It’s not about the answers …
Only an inspiration to think about it