Skip to content

Commit 2139064

Browse files
committed
Add C4 in practise slides GH-63
1 parent f4b7927 commit 2139064

2 files changed

Lines changed: 91 additions & 0 deletions

File tree

practicals/04_c4.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: software design with C4
3+
author: Gergő Pintér, PhD
4+
date: gergo.pinter@uni-corvinus.hu
5+
lang: en-US
6+
title-slide-attributes:
7+
data-background-color: "#181d37"
8+
data-background-image: ../assets/by-sa.svg
9+
data-background-size: 125px
10+
data-background-position: 1.25rem calc(100% - 1.25rem)
11+
slideNumber: "true"
12+
showSlideNumber: "print"
13+
revealjs-url: "../assets/reveal.js-5.2.1/"
14+
---
15+
16+
# flashcard application requirements
17+
18+
- Android and iOS (tablets should be supported)
19+
- at least 5 years old devices should be supported
20+
- offline app, no subscription plans, one-time payment via the store
21+
- how the words are groupped
22+
- by chapters of the textbook
23+
- the customer provides a wordlist (with meaning) for each chapter
24+
- in Excel format (xlsx)
25+
- user will not be able to add new words
26+
- there is only one interface language
27+
- the majority language of the country
28+
29+
## requirements part 2
30+
31+
- logo of the language association should appear on the main screen
32+
- GUI customization: light/dark theme, font size settings
33+
- a learning mode is required, which just goes through the words of a chapter
34+
- and a practicing mode, which selects words randomly from every group
35+
- words with more left-swipe should appear more frequent
36+
- if a word was swiped left, three right swipes needed to consider it learnt
37+
- users should be able to check the statistics
38+
- progress bar (learnt words / total)
39+
- which days they learned in the last month, how many cards they've learnt
40+
41+
## simple, offline architecture
42+
43+
![](../lectures/figures/simple_case.drawio.svg)
44+
45+
# Level 1: System Context diagram
46+
47+
:::::::::::: {.columns}
48+
::::::::: {.column width="70%"}
49+
50+
- high level relation with other systems or users
51+
- similar to use case diagram
52+
- technologies, protocols and other low-level details are not important
53+
- understandable for non-technical people
54+
55+
::: {.wide-quote .mt-2}
56+
> Shows the software system you are building and how it fits into the world in terms of the people who use it and the other software systems it interacts with.
57+
>
58+
> Simon Brown - [The C4 Model for Software Architecture](https://www.infoq.com/articles/C4-architecture-model/)
59+
60+
:::
61+
:::::::::
62+
::::::::: {.column width="30%"}
63+
![[open in Excalidraw](https://excalidraw.com/#json=kH-voL6DzLoegPm8Xbo1B,u7q5iblpWLBuf_jyvkn-Dg)](c4/system_context.excalidraw.svg)
64+
65+
:::::::::
66+
::::::::::::
67+
68+
# component diagram (C4) for statistics module
69+
70+
:::::::::::: {.columns}
71+
::::::::: {.column width="60%"}
72+
![](../lectures/figures/user_statistics/c4_component.excalidraw.svg){width=400 preview-image="../lectures/figures/user_statistics/c4_component.excalidraw.svg" preview-fit="contain"}
73+
74+
[open in Excalidraw](https://excalidraw.com/#json=R0T17732fAGdyAXSdkQO9,vF377cD9ucud_0AoSlF0ag)
75+
76+
:::::::::
77+
::::::::: {.column width="40%"}
78+
![](../lectures/figures/user_stats.drawio.svg){width=300}
79+
80+
:::::::::
81+
::::::::::::
82+
83+
# customer wants to add telemetry {visibility="hidden"}
84+
85+
![](../lectures/figures/telemetry_v2.drawio.svg)
86+

0 commit comments

Comments
 (0)