Tovább a tartalomhoz

08: 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:

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.

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:

Mi a következőkben a LikeC4 szintaxist fogjuk használni a C4 modellek elkészítéséhez.

Készítsünk C4 System Context diagramot a ChocoMarket esettanulmányhoz!

Készítsünk C4 System Context diagramot az esettanulmányunkhoz!

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