Przewodnik po składni diagramów ArchiMate w PlantUML

Co to jest diagram ArchiMate?

Diagram ArchiMate to wizualizacja modelowania architektury przedsiębiorstwa na wysokim poziomie, która śledzi strategie, procesy biznesowe, aplikacje oprogramowania oraz fizyczne infrastruktury danych w całej organizacji. W przeciwieństwie do tradycyjnych map UML, które analizują głęboko wykonywane procedury oprogramowania, ArchiMate pomaga analitykom biznesowym, architektom rozwiązań i CTO mapować zależność wysokopoziomowych celów korporacyjnych od podstawowych systemów IT.

Podczas gdy podstawowy PlantUML zawiera wbudowane elementy, projektowanie wersji produkcyjnych architektury przedsiębiorstwa wymaga oficjalnego rozszerzenia Archimate-PlantUML rozszerzenia biblioteki standardowej. Dzięki wykorzystaniu deklaratywnych makr i znormalizowanych pasów kolorystycznych umożliwia ono utrzymywanie spójnych modeli zgodnych z TOGAF. Dzięki VPasCode, możesz całkowicie definiować swoje bloki architektoniczne i relacyjne nici w tekście, pozwalając silnikowi dynamicznie zarządzać schematami kolorystycznymi pól i ich wyrównaniem.

Podstawowy przewodnik składniowy: elementy i konstrukcje

Aby bezpiecznie używać oficjalnego rozszerzenia ArchiMate w PlantUML, należy dołączyć plik biblioteki standardowej, poprawnie zaimplementować makra kategorii, obsłużyć zagnieżdżone bloki oraz zastosować jawne relacje strukturalne.

1. Inicjowanie biblioteki standardowej ArchiMate

Aby odblokować oficjalne makra, palety kolorów i stereotypy strukturalne, blok skryptu musi zaimportować plik biblioteki standardowej bezpośrednio pod znacznikiem uruchomienia. Możesz opcjonalnie zastosować jeden z oficjalnych motywów, aby zapewnić wysoką kontrastowość widoczności:

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

2. Deklarowanie elementów za pomocą makr kategorii

Biblioteka standardowa upraszcza tworzenie elementów, otaczając domyślne kształty makrami z prefiksem kategorii. Elementy podlegają ścisłemuKategoria_NazwaElementu(ID, "Etykieta")konwencji nazewnictwa. Prefiks określa warstwę strukturalną i automatycznie wstrzykuje odpowiedni token kolorystyczny:

  • Strategia i motywacja (fioletowy): Motywacja_Uczestnik(), Strategia_Capacysty()
  • Warstwa biznesowa (żółty): Biznes_Uczestnik(), Biznes_Proces(), Biznes_Serwis()
  • Warstwa aplikacji (niebieski): Komponenta_Aplikacji(), Usługa_Aplikacji()
  • Warstwa Technologiczna (zielona): Węzeł_Technologiczny(), Oprogramowanie_Systemowe_Technologiczne()
!include <archimate/Archimate>
Motywacja_Uczestnik(CEO, "Chief Executive Officer")
Komponenta_Aplikacji(CRM, "System CRM Salesforce")

3. Definiowanie granic grup i zagnieżdżania strukturalnego

Mapy przedsiębiorstwa bardzo mocno opierają się na zawieraniu wizualnym w celu przedstawienia własności lub izolacji środowiska uruchomieniowego. Możesz tworzyć foldery ograniczające za pomocą makrGrupa()lubGrupowanie()makr, lub zagnieżdżać elementy w sobie za pomocą klamer:

!include <archimate/Archimate>
Grupowanie(PodsystemAplikacji, "Zestaw zarządzania klientami") {
    Komponenta_Aplikacji(AuthMod, "Moduł tokenów OAuth")
    Usługa_Aplikacji(UserReg, "Interfejs API rejestracji użytkownika")
}

4. Mapowanie znormalizowanych relacji przedsiębiorstwa

ArchiMate wymusza ściśle określony słownictwo dla połączeń. Zamiast surowych strzałek, standardowa biblioteka oferuje dedykowane makra relacji sformatowane jakoRel_TypRelacji(From_ID, To_ID, "Etykieta"). Aby wymusić ręczne dostosowania orientacji, możesz dołączyć wskazówki przestrzenne (takie jak_DoGóry, _DoDolu, _DoLewa, lub _Prawo):

!include <archimate/Archimate>

Motywacja_Stakeholder(CEO, "Chief Executive Officer")
Komponent_Aplikacji(CRM, "System CRM Salesforce")

Grupowanie(AppSubsystem, "Zestaw zarządzania klientami") {
    Komponent_Aplikacji(AuthMod, "Moduł tokenów OAuth")
    Usługa_Aplikacji(UserReg, "Interfejs API rejestracji użytkownika")
}

' Przykłady relacji strukturalnych i zachowaniowych
Rel_Realizacja(UserReg, AuthMod, "Implementuje zabezpieczenia")
Rel_Serwowanie_Prawo(CRM, CEO, "Dostarcza pulpity monitoringu")

Najlepsze praktyki dla diagramów architektury warstwowej

  • Wyodrębnij wyraźne warstwy: Ułóż skrypty sekwencyjnie od góry do dołu (Motywacja > Biznes > Aplikacja > Technologia), aby Twoje układy architektury były intuicyjne dla stakeholderów.
  • Wykorzystaj krótkie identyfikatory komponentów: Zachowaj krótkie ciągi śledzenia makr wewnętrznych (np. użyj AP_01 lub Srv_Auth), jednocześnie rezerwując opisowy, widoczny dla klienta tekst dla parametru etykiety w podwójnych cudzysłowach.
  • Wymuszaj jasne kierunki na przekroczonych warstwach: Trasy układu mogą nieoczekiwanie się przesuwać przy przekraczaniu granic strukturalnych. Używanie makr kierunkowych takich jak Rel_Access_Down() zapewnia płynne przepływy danych w dół przez podziały warstw.

Przykłady PlantUML ArchiMate z rzeczywistego świata

Przykład 1: Klasyczne mapowanie możliwości strategicznych (poziomy motywacji i strategii)

Ten szkic funkcjonalny dokumentuje warstwę strategiczną organizacji, pokazując, jak stakeholderzy korporacyjni są dopasowani do możliwości biznesowych i zrealizowanych wyników technicznych.

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

tytuł Mapa strategicznego dopasowania przedsiębiorstwa

Motywacja_Stakeholder(CFO, "Chief Financial Officer")
Motywacja_Driver(CostEfficiency, "Zmniejszenie kosztów operacyjnych")
Strategiczna_Potęga(AutomatedBilling, "Automatyzacja rozliczeń firmowych")
Proces_Biznesowy(InvoiceRun, "Zamknięcie księgowości na koniec miesiąca")

' Połączenie zależności strategicznych
Rel_Assocjacja(CFO, CostEfficiency, "Chce poprawić")
Rel_Influenca(AutomatedBilling, CostEfficiency, "Pozytywnie wpływa")
Rel_Realizacja(InvoiceRun, AutomatedBilling, "Realizuje potęgę")
@enduml

Analiza składni: Wykonując fioletowe makra strategiczne, silnik precyzyjnie mapuje elementy. Jasne makra relacyjne łączą stakeholdera ludzkiego z motywacjami organizacyjnymi, precyzyjnie dopasowując strategię korporacyjną do podstawowych zachowań wykonawczych.

Przykład 2: System przedsiębiorstwa trzywarstwowy od końca do końca (siatka przekroczona przez warstwy)

Ten zaawansowany szablon demonstruje kompleksną, wielowarstwowa architekturę topologii. Mapuje proces operacyjny biznesowy w dół przez wspierające usługi mikroserwisów aplikacji do podstawowego hosta infrastruktury chmurowej.

@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>

tytuł Wyrównanie architektury aplikacji wielowarstwowej

Grouping(BizLayer, "Działalność biznesowa") {
    Business_Actor(Agent, "Agent obsługi klienta")
    Business_Process(Ticketing, "Proces obsługi zgłoszenia firmowego")
}

Grouping(AppLayer, "Ekosystem aplikacji") {
    Application_Service(TicketSvc, "Interfejs API integracji z Zendesk")
    Application_Component(DataRouter, "Silnik przetwarzania zdarzeń")
}

Grouping(TechLayer, "Warstwa infrastruktury") {
    Technology_SystemSoftware(K8sCluster, "Klastrowa platforma zarządzania Kubernetes")
    Technology_Node(CloudVM, "Docelowy obliczeniowy serwer AWS EC2 m6i.xlarge")
}

' Ustanów płynne mapowania między warstwami używając wskazówek kierunkowych
Rel_Assignment(Agent, Ticketing, "Wykonywany codziennie")
Rel_Serving_Down(TicketSvc, Ticketing, "Zasilanie interfejsu użytkownika webowego")

Rel_Composition(DataRouter, TicketSvc, "Przyjmuje webhooki z")
Rel_Realization_Down(K8sCluster, DataRouter, "Hostuje kontener aplikacji")

Rel_Composition_Down(CloudVM, K8sCluster, "Dostarcza podstawowy hipervisor z pełnym dostępem do sprzętu")
@enduml

Rozkład składni: Ta mapa podkreśla siłę strukturalną Grouping komponentów. Elementy automatycznie otrzymują charakterystyczne, warstwowe odcienie kolorów (żółty, niebieski, zielony) w zależności od ich rodzajów makro. Nadpisywanie relacji kierunkowych takie jak Rel_Serving_Down oraz Rel_Realization_Down powodują, że zależności płynnie rozchodzą się w dół siatki przedsiębiorstwa.

Przewijanie do góry