Skip to content

Commit 32b5713

Browse files
committed
Add container diagrams GH-63
1 parent 77e838c commit 32b5713

3 files changed

Lines changed: 56 additions & 1 deletion

File tree

practicals/04_c4.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,51 @@ revealjs-url: "../assets/reveal.js-5.2.1/"
6565
:::::::::
6666
::::::::::::
6767

68-
# component diagram (C4) for statistics module
68+
# Level 2: Container diagram
69+
70+
- a container is an application or a data store
71+
- [e.g., a server-side web application, a desktop application, a mobile app]{.text-smaller}
72+
- shows the high-level shape of the software architecture and how responsibilities are distributed across it
73+
- also shows the major technology choices
74+
- and how the containers communicate with one another (interfaces)
75+
- simple, high-level technology focused diagram that is useful for software developers and support/operations staff alike
76+
77+
::: {.wide-quote .mt-2}
78+
> Zooms into the software system, and shows the containers (applications, data stores, microservices, etc.) that make up that software system. Technology decisions are also a key part of this diagram.
79+
>
80+
> Simon Brown - [The C4 Model for Software Architecture](https://www.infoq.com/articles/C4-architecture-model/)
81+
82+
:::
83+
84+
## container diagram of the flashcard application
85+
86+
:::::::::::: {.columns}
87+
::::::::: {.column width="35%"}
88+
![](c4/container.excalidraw.svg){height=375}
89+
90+
:::::::::
91+
::::::::: {.column width="65%" .fragment}
92+
![](c4/container_server_client.excalidraw.svg){height=425}
93+
:::::::::
94+
::::::::::::
95+
96+
# Level 3: Component diagram
97+
98+
- shows the major structural building blocks of the application (with interfaces)
99+
- roughly like the UML component diagram
100+
- but the concept of a component is more relaxed
101+
- as the implementation is not necessarily OO
102+
- basically the actual blueprint of the software
103+
- focus on this level in the project assigment
104+
105+
::: {.wide-quote .mt-2}
106+
> Zooms into an individual container to show the components inside it. These components should map to real abstractions (e.g., a grouping of code) in your codebase.
107+
>
108+
> Simon Brown - [The C4 Model for Software Architecture](https://www.infoq.com/articles/C4-architecture-model/)
109+
110+
:::
111+
112+
## component diagram for statistics module
69113

70114
:::::::::::: {.columns}
71115
::::::::: {.column width="60%"}

0 commit comments

Comments
 (0)