høyre|miniatyr|Abstraksjoner i C4-modellen: Et programvaresystem består av en eller flere konteinere (webapplikasjoner, databaser, osv.), som hver inneholder en eller flere komponenter, som igjen er implementert av ett eller flere kodeelementer (klasser, grensesnitt, objekter, funksjoner osv.)
C4-modellen er en strømlinjeformet grafisk notasjonsteknikk for modellering av arkitektur til programvaresystemer. Den er basert på strukturell dekomposisjon (en hierarkisk trestruktur) av et system til konteinere og komponenter, og bygger på eksisterende modelleringsteknikker som Unified Modeling Language (UML) eller entitet–relasjonsmodell-diagrammer (ERD-er) for mer detaljert dekomponering av arkitekturblokkene.
Historie C4-modellen ble skapt av programvarearkitekten Simon Brown mellom 2006 og 2011 basert på Unified Modeling Language og 4+1 visningsmodellen. Teknikken ble popularisert gjennom lanseringen av en offisiell nettside med Creative Commons-lisens
Oversikt C4-modellen dokumenterer arkitekturen til et programvaresystem gjennom å ha flere visninger som forklarer dekomponeringen av et system i konteinere og komponenter, relasjonene mellom disse elementene, og (der det er relevant) relasjonen til brukerne.
Visningene er organisert i henhold til deres hierarkiske nivå:
Kontekstdiagrammer (nivå 1): Viser systemet som skal studeres og dets relasjon til brukere og andre systemer Konteinerdiagrammer (nivå 2): Dekomponerer et system til innbyrdes relaterte konteinere. En container representerer en applikasjon eller et datalager. Komponentsdiagrammer (nivå 3): Dekomponerer konteinere til innbyrdes relaterte komponenter, og knytter komponentene til andre konteinere eller andre systemer. Kodediagrammer (nivå 4): Gir ytterligere detaljer om utformingen av arkitekturelementer som kan avbildes til kode. På dette nivået er C4-modellen basert på eksisterende notasjoner som Unified Modeling Language (UML), entitet–relasjonsmodell-diagrammer (ERD-er) eller diagrammer generert det integrerte utviklingsmiljøet (IDE).
For nivå 1 til 3 bruker C4-modellen 5 grunnleggende diagramelementer: Personer, programvaresystemer, konteinere, komponenter og relasjoner. Teknikken angir ikke utforming, form, farge og stil for disse elementene. I stedet anbefaler C4-modellen å bruke enkle diagrammer basert på nøstede bokser for å lette interaktiv tegning. Teknikken fremmer også gode modelleringspraksis som å angi tittel og forklaring på hvert diagram, og klar og utvetydig merking for å lette forståelsen hos tiltenkt publikum.
C4-modellen legger til rette for visuelt arkitektursamarbeid og evolusjonær arkitektur i kontekst av smidige lag der mer formelle dokumentasjonsmetoder og forhåndsplanlagt («up-front») arkitekturdesign ikke er ønsket.
Referanser
Kategori:Notasjon Kategori:Diagram