CodeFusion

C4 – diagramy architektury

30.06.2020

Znamy i lubimy UMLa, ale używamy go pragmatycznie. Świetnie w swojej dziedzinie (do wizualizacji przepływów w czasie) sprawdzają się diagramy sekwencji. Często używamy diagramów aktywności. Proste diagramy przypadków użycia przydają się na początkowym etapie ich identyfikacji. Praktycznie nie używamy diagramów klas. Często byliśmy zmuszeni używać diagramów komponentów do wizualizacji architektury naszych aplikacji. Jakoś nigdy nie działało to dobrze. Często mieliśmy wrażenie, że skomplikowane zasady UMLowej notacji diagramów komponentów i ich wysoki poziom szczegółowości są raczej przeszkodą w dobrej wizualizacji architektury. Na szczęście znaleźliśmy lepsze narzędzie do tego celu. Model C4. Model ten pozwala na wizualizację architektury oprogramowania na 4 poziomach: kontekstu (context), kontenera (container), komponentu (component) i kodu (code). Jest to bardzo prosta notacja pozwalająca na stopniowe wgłębianie się w architekturę systemu informatycznego. Zaczynamy na wysokim poziomie, od kontekstu naszego oprogramowania wraz z użytkownikiem i innymi systemami. Z tego poziomu możemy zoomować do kontenerów (czyli pojedynczych aplikacji). Z nich znów zejść niżej do komponentów (wizualizowanych zdecydowanie prościej niż w UMLowych diagramach komponentów). Jeśli trzeba to możemy wejść do poszczególnych komponentów, żeby zobaczyć strukturę kodu (model C4 nie definiuje żadnej notacji na tym poziomie – masochiści mogą zastosować diagramy klas UMLa ;-). Diagramy C4 sprawdzają się jak na razie świetnie do wizualizacji architektury tworzonego przez nas oprogramowania. To co cieszy nasze programistyczne dusze, to możliwość definiowania wszystkich 3 pierwszych poziomów diagramów C4 za pomocą zwykłego kodu źródłowego. Tak: my nie rysujemy naszej architektury. My ją piszemy!

«
»
strzałka do góry