Elmélet: C4 modell
Szekció neve “Elmélet: C4 modell”Ha architektúráról, szoftvertervezésről beszélünk, akkor gyakran az első dolog, ami az eszünkbe jut, az a rajzolás: tábla, filc, dobozok és nyilak. Ezek a rajzok gyakran teljesen ad hoc szabályrendszer szerint készülnek, emiatt időtálló dokumentációként annyira nem is tekinthetünk rájuk, inkább csak pillanatnyi segítséget jelentenek a tervezőnek.
Természetesen rendelkezésre állnak strukturált megközelítések, mint például az UML, ezek gyakran túl nehézkesek: szövevényes szabályrendszerrel bírnak, dedikált eszközöket igényelnek, inkább felesleges ceremóniának tűnnek, semmint valódi segítségnek.
Kivételt képez azonban a C4 modell, melynek kifejezett célja, hogy könnyen elsajátítható, kifejezetten a fejlesztőkre szabott megoldást nyújtson.
Legegyszerűbb formájában a modell egy hierarchikus fogalomrendszert, valamint ezzel párhuzamosan egy hierarchikus diagramrendszert határoz meg:
- A fogalmak: software system, container, component, code.
- A diagramok: system context, container, component, code.
Ezekről bővebben itt olvashatunk:
Elmélet: C4 System Context
Szekció neve “Elmélet: C4 System Context”A C4 modell által meghatározott hierarchia legtetején a teljes rendszer áll, melyet a modell software systemnek nevez. A kapcsolódó diagram pedig a system context.
Egy system context diagram legfontosabb eleme maga a rendszer (a software system), amit fejlesztünk. Ezt egyetlen nagy doboz reprezentálja. Ezt egészítik ki a rendszer felhasználói (emberek, gépi felhasználók, felhasználó csoportok és perszónák), valamint a külső függőségek, melyek kívül esnek az általunk fejlesztett és kontrollált rendszer határain.
Elmélet: LikeC4 szintaxis
Szekció neve “Elmélet: LikeC4 szintaxis”Egyszerűsége mellett a C4 modell másik előnye, hogy eszköz- és jelölésfüggetlen.
Ez azt jelenti, hogy a modell által elméleti síkon leírt diagramok rajzolásához tetszőleges eszközt (azaz, szoftvert) használhatunk, szabadon választott jelölések (felhasználók jelölése, kapcsolatok jelölése, stb.) mellett.
Lehetséges eszközök például az alábbiak:
- Táblák
- Diagram-as-code
Mi a következőkben a LikeC4 szintaxist fogjuk használni a C4 modellek elkészítéséhez.
Közösen: ChocoMarket System Context
Szekció neve “Közösen: ChocoMarket System Context”Készítsünk C4 System Context diagramot a ChocoMarket esettanulmányhoz!
Csoportmunka: C4 System Context
Szekció neve “Csoportmunka: C4 System Context”Készítsünk C4 System Context diagramot az esettanulmányunkhoz!
Házi feladat
Szekció neve “Házi feladat”A csoportok C4 System Context diagramot készítenek az esettanulmányukhoz.
A diagramot a csoport GitHub tárolójában kell elhelyezni, az alábbi módon:
Könyvtáradr
- 01-architecture-style.md
- ac.md
- as.md
- asr.md
- diagram.likec4
- esettanulmany.md
- README.md
- srs.doc