C4-model
Het C4-model is een grafische notatietechniek voor het modelleren van de architectuur van softwaresystemen. Het is gebaseerd op een structurele decompositie van een systeem in containers en componenten en bouwt op bestaande modelleringstechnieken zoals de Unified Modeling Language (UML) of Entity Relation Diagrams (ERD) voor de gedetailleerde uitwerkingen en decompositie van de architecturale bouwstenen.
Geschiedenis
Het C4-model is tussen 2006 en 2011 bedacht door de softwarearchitect Simon Brown op basis van Unified Modeling Language (UML) en het 4+1 architectonische weergavemodel. De lancering van een officiële website onder een Creative Commons-licentie en een artikel gepubliceerd in 2018 maakten de opkomende techniek populair.
Overzicht
Het C4-model documenteert de architectuur van een softwaresysteem door meerdere overzichtsniveaus te tonen die de decompositie van een systeem in containers en componenten, de relatie tussen deze elementen en, waar van toepassing, de relatie met zijn gebruikers verklaren.
De overzichtsniveaus zijn gerangschikt volgens een hiërarchische niveau:
- Contextdiagrammen (niveau 1): tonen het geheel van een systeem en de relatie met gebruikers en andere systemen;
- Containerdiagrammen (niveau 2): ontbinden een systeem in onderling gerelateerde containers. Een container vertegenwoordigt een applicatie of een datastore die vaak als onafhankelijk proces uitgevoerd kan worden;
- Componentdiagrammen (niveau 3): ontbinden containers in onderling gerelateerde componenten en relateren de componenten aan andere containers of andere systemen. Componenten kunnen niet individueel uitgevoerd worden;
- Codediagrammen (niveau 4): ontbinden componenten en bieden aanvullende details over het ontwerp van de architecturale elementen die kunnen worden toegewezen aan code. Het C4-model vertrouwt op dit niveau op bestaande notaties zoals Unified Modeling Language (UML), Entity Relation Diagrams (ERD) of diagrammen die zijn gegenereerd door Integrated Development Environments (IDE) .
Voor niveau 1 tot 3 gebruikt het C4-model 5 elementaire diagramelementen: personen, softwaresystemen, containers, componenten en relaties. De techniek is niet voorschrijvend voor de lay-out, vorm, kleur en stijl van deze elementen. In plaats daarvan raadt het C4-model aan om eenvoudige diagrammen te gebruiken op basis van geneste vakken om zo in teamverband het ontwerpen eenvoudig mogelijk te maken. De techniek raadt het gebruik goede modelleringspraktijken aan, zoals het voorzien van een titel en legende op elk diagram, en duidelijke, ondubbelzinnige labels om het begrip door het beoogde publiek te vergemakkelijken.
Het C4-model faciliteert gezamenlijke visuele architectuur en evolutionaire architectuur in de context van agile teams waar meer formele documentatiemethoden en architectonisch ontwerp vooraf niet gewenst zijn.
Externe links
- Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel C4 model op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.