0% found this document useful (0 votes)
9 views28 pages

Views

Uploaded by

jnkphntm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views28 pages

Views

Uploaded by

jnkphntm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Architectural Views

Software Architecture

Richard Thomas

February 24, 2025


Interesting Software is Complex
Many aspects to the design of its architecture.
Architectural Design
Managing technical complexity.
Question

How do you describe a complex architecture,


without making it too difficult to understand?
Question

How do you describe a complex architecture,


without making it too difficult to understand?
Answer

Architectural Views
– Only consider one aspect at a time.
Architectural Views

• C4 Model [Brown, 2023]


− context, structure, behaviour, infrastructure
Architectural Views

• C4 Model [Brown, 2023]


− context, structure, behaviour, infrastructure
• 4+1 Views [Kruchten, 1995]
− logical, process, development, physical, scenario
Architectural Views

• C4 Model [Brown, 2023]


− context, structure, behaviour, infrastructure
• 4+1 Views [Kruchten, 1995]
− logical, process, development, physical, scenario
• Software Architecture in Practice [Bass et al., 2021]
− module, component-and-connector, allocation
Architectural Views

• C4 Model [Brown, 2023]


− context, structure, behaviour, infrastructure
• 4+1 Views [Kruchten, 1995]
− logical, process, development, physical, scenario
• Software Architecture in Practice [Bass et al., 2021]
− module, component-and-connector, allocation
• NATO Architecture Framework [Team, 2020]
− concepts, service, logical, physical resource, architecture foundation
Architectural Views

• C4 Model [Brown, 2023]


− context, structure, behaviour, infrastructure
• 4+1 Views [Kruchten, 1995]
− logical, process, development, physical, scenario
• Software Architecture in Practice [Bass et al., 2021]
− module, component-and-connector, allocation
• NATO Architecture Framework [Team, 2020]
− concepts, service, logical, physical resource, architecture foundation

• The Open Group Architecture Framework (TOGAF) [Forum, 2022]


• ISO/IEC/IEEE 42010:2011 [iso, 2022]
Diagrams & Notation

• A good diagram is worth a thousand words


• A thousand diagrams is just confusing
Diagrams & Notation

• A good diagram is worth a thousand words


• A thousand diagrams is just confusing

• C4 – informal, simple structure [Brown, 2023]


• UML – formal, well-defined language [uml, 2017]

• You probably don’t want to know about alternatives


C4 Model: Levels
C4 Model: Context

How software system fits into broader environment


C4 Model: Containers

Structure of the software system


C4 Model: Components

Elements that implement a container


C4 Model: Code

Structure of code implementing a component


C4 Model: Dynamic

How parts of the model collaborate to deliver behaviour


C4 Model: Deployment

Infrastructure on which system will be deployed


4+1 Views
Logical – Structure of how the software is implemented
• components/classes, relationships, interactions
4+1 Views
Logical – Structure of how the software is implemented
• components/classes, relationships, interactions
Process – Dynamic behaviour
• concurrency & distribution, fault tolerance, process control,
...
4+1 Views
Logical – Structure of how the software is implemented
• components/classes, relationships, interactions
Process – Dynamic behaviour
• concurrency & distribution, fault tolerance, process control,
...
Development – Organisation of the software in the development
environment
4+1 Views
Logical – Structure of how the software is implemented
• components/classes, relationships, interactions
Process – Dynamic behaviour
• concurrency & distribution, fault tolerance, process control,
...
Development – Organisation of the software in the development
environment
Physical – Map executable software containers to hardware
• address non-functional requirements
• availability, reliability, scalability, throughput, ...
4+1 Views
Logical – Structure of how the software is implemented
• components/classes, relationships, interactions
Process – Dynamic behaviour
• concurrency & distribution, fault tolerance, process control,
...
Development – Organisation of the software in the development
environment
Physical – Map executable software containers to hardware
• address non-functional requirements
• availability, reliability, scalability, throughput, ...
Scenario – Demonstrate functionality delivered by architecture
• use case details
• drive functional design of architecture
• validate design of architecture
• illustrate purpose of architecture
Reading...
“Architectural Views” Notes1 [Thomas and Webb, 2023]

1
Remember, I said you had to read the notes.
References
[uml, 2017] (2017).
Unified Modeling Language.
OMG, 2.5.1 edition.
https://www.uml.org/.
[iso, 2022] (2022).
Software, Systems and Enterprise – Architecture Description (ISO/IEC/IEEE
42010:2022).
International Organization for Standardization.
[Bass et al., 2021] Bass, L., Clements, P., and Kazman, R. (2021).
Software Architecture in Practice.
Addison-Wesley, 4th edition.
[Brown, 2023] Brown, S. (2023).
The C4 Model for Visualising Software Architecture.
Leanpub.
https://leanpub.com/visualising-software-architecture.
[Forum, 2022] Forum, T. O. G. A. (2022).
The Open Group Architecture Framework Standard – Architecture Development
Method.
The Open Group, 10 edition.
https://pubs.opengroup.org/togaf-standard/.
[Kruchten, 1995] Kruchten, P. (1995).
Architectural blueprints — the ‘4+1’ view model of software architecture.
IEEE Software, 12(6):42–50.
https:
//www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf.
[Team, 2020] Team, A. C. (2020).
NATO Architecture Framework.
NATO, 4th edition.
[Thomas and Webb, 2023] Thomas, R. and Webb, B. (2023).
Architectural views.
https://csse6400.uqcloud.net/handouts/views.pdf.

You might also like