C4-PlantUML combina beneficiile PlantUML si modelul C4 pentru a oferi un mod simplu de descriere si comunicare a arhitecturilor software – in special in timpul sesiunilor de proiectare initiale – cu un limbaj intuitiv folosind instrumente open source si independente de platforma.

C4-PlantUML include macrocomenzi, stereotipuri si alte bunatati (cum ar fi fragmentele VSCode) pentru crearea diagramelor C4 cu PlantUML.

  • Notiuni de baza
  • Tipuri de diagrame acceptate
  • Fragmente pentru codul Visual Studio
  • Optiuni de aspect
  • Mostre
  • fundal
  • Licenta

Notiuni de baza

In partea de sus a fisierului C4 PlantUML .puml, trebuie sa includeti fisierul C4_Context.puml, C4_Container.puml sau C4_Component.puml gasit in radacina acestei repo.

Pentru a fi independent de orice conectivitate la internet, puteti descarca si fisierele gasite in radacina si le puteti face referire local

! include cale / catre / C4_Container.puml

Nu uitati sa modificati declaratiile! Include in partea de sus a fisierelor.

Daca doriti sa utilizati versiunea mereu actualizata in aceasta repo, utilizati urmatoarele:

! includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/release/1-0/C4_Container.puml

Acum sa cream o diagrama C4 Container:

Dupa ce ati inclus C4_Container.puml puteti utiliza definitiile macro definite pentru elementele C4: Person, Person_Ext, System, System_Ext, Container, Relationship, Boundary si System_Boundary

@startuml C4_Elements! includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/release/1-0/C4_Container.puml Persoana (personAlias, “Label”, “Optional Description”) Container (containerAlias, “Label” , „Tehnologie”, „Descriere optionala”) Sistem (sistemAlias, „Eticheta”, „Descriere optionala”) Rel (personAlias, containerAlias, „Label”, „Optional Technology”) @enduml

In plus, este posibila si definirea unui sistem sau a unei limite de componenta.

Aruncati o privire la urmatorul exemplu de diagrama a containerului C4:

@startuml Esantion de baza! includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/release/1-0/C4_Container.puml Persoana (administrator, „Administrator”) System_Boundary (c1, „Sistem esantion”) {Container (web_app, “Aplicatie web”, “C #, ASP.NET Core 2.1 MVC”, “Permite utilizatorilor sa compare mai multe cronologii Twitter”)} Sistem (twitter, “Twitter”) Rel (admin, web_app, “Utilizari”, “HTTPS “) Rel (web_app, twitter,” Obtine tweets de la “,” HTTPS “) @enduml

Tipuri de diagrame acceptate

Aruncati o privire la fiecare dintre exemplele de diagrama model C4.

Fragmente pentru codul Visual Studio

Deoarece suportul PlantUML din Visual Studio Code este excelent cu extensia PlantUML, puteti gasi si fragmente de cod VS pentru C4-PlantUML la .vscode / C4.code-snippets.

Fragmentele la nivel de proiect sunt acum acceptate in VSCode 1.28. Doar includeti fisierul C4.code-snippets in folderul .vscode al proiectului dumneavoastra.

Este posibil sa le salvati direct in VS Code: Crearea propriilor fragmente.

Optiuni de aspect

C4-PlantUML vine, de asemenea, cu cateva optiuni de aspect pentru a face mai usor si reutilizabil crearea de diagrame utile si utile:

  • LAYOUT_TOP_DOWN sau LAYOUT_LEFT_RIGHT
  • LAYOUT_WITH_LEGEND
  • LAYOUT_AS_SKETCH

Mostre avansate

Urmatoarele esantioane avansate sunt reproduceri cu C4-PlantUML din esantioane oficiale model C4 create de Simon Brown.

Mostrele de diagrama de baza de pe c4model.com sunt disponibile aici.

techtribes.js

Sursa: C4_Container Diagram Sample – techtribesjs.puml

Autobuz de mesaje si microservicii

Sursa: C4_Container Diagram Sample – mesaj bus.puml

fundal

PlantUML este un proiect open source care va permite sa creati diagrame UML. Diagramele sunt definite folosind un limbaj simplu si intuitiv. Imaginile pot fi generate in PNG, in SVG sau in format LaTeX.

PlantUML a fost creat pentru a permite desenarea diagramelor UML, folosind o descriere text simpla si lizibila de catre om. Deoarece nu va impiedica sa desenati diagrame incoerente, este un instrument de desen si nu un instrument de modelare. Este cel mai utilizat instrument de desenare a diagramelor bazate pe text, cu suport extins in wikis si forumuri, editori de text si IDE, utilizat de diferite limbaje de programare si generatoare de documentatie.

Modelul C4 pentru arhitectura software este o abordare a diagramarii „prima abstractie”, bazata pe abstractii care reflecta modul in care arhitectii si dezvoltatorii de software gandesc si construiesc software. Setul mic de abstractii si tipuri de diagrame face modelul C4 usor de invatat si de utilizat. C4 inseamna context, containere, componente si cod – un set de diagrame ierarhice pe care le puteti utiliza pentru a descrie arhitectura software-ului dvs. la diferite niveluri de zoom, fiecare util pentru diferite audiente.

Modelul C4 a fost creat ca o modalitate de a ajuta echipele de dezvoltare software sa descrie si sa comunice arhitectura software, atat in ​​timpul sesiunilor de proiectare initiale, cat si atunci cand documenteaza retroactiv o baza de cod existenta.

Mai multe informatii gasiti aici:

  • Modelul C4 pentru arhitectura software
  • REAL WORLD PlantUML – Galerie de probe
  • Vizualizarea si documentarea fiselor de trucuri ale arhitecturii software
  • PlantUML si Structurizr – Creati modele nu diagrame

Licenta

Acest proiect este licentiat sub licenta MIT – consultati fisierul LICENTA pentru detalii