Willkommen zu einem weiteren Masterclass-Tutorial vom technischen Team von Visual Paradigm! Beim Entwurf komplexer Unternehmensarchitekturen kann es eine Herausforderung sein, Diagramme sauber, organisiert und strukturell solide zu halten. Traditionelle Drag-and-Drop-Tools verlangsamen Sie oft, wenn sich Layouts ändern oder Anforderungen sich wandeln. Genau deshalb setzen viele Softwarearchitekten und Unternehmensdesigner auf Diagram-as-Code-Workflows.
In diesem Leitfaden führe ich Sie durch meinen genauen Denkprozess beim Aufbau eines umfassenden, mehrschichtigen ArchiMate-Architekturdiagramms für einBibliotheksverwaltungssystem. Unter Verwendung von PlantUML innerhalb deskostenlosen PlantUML-EditorsaufVisual Paradigm VPasCodewerden wir aufschlüsseln, wie man Unternehmensschichten strukturiert, Elemente sauber definiert und präzise schichtenübergreifende Beziehungen kartiert.

Die ArchiMate-Architekturschichten verstehen
Wenn ich mich daran mache, ein Unternehmenssystem zu modellieren, beginne ich immer damit, die strukturellen Grenzen zu definieren. ArchiMate trennt Anliegen in verschiedene architektonische Schichten und hilft den Beteiligten, Geschäftswert, funktionale Logik, Anwendungs-Komponenten und technische Infrastruktur auf einen Blick zu verstehen.
Für unser Bibliothekssystem organisieren wir das Diagramm in vier distincte vertikale und horizontale Gruppierungen:
- Motivationsschicht:Erfasst die übergeordneten Ziele und Treiber, die die Organisation steuern.
- Geschäftsschicht:Hebt Akteure, Dienste und Kern-Geschäftsprozesse wie Buchausleihe und Reservierungen hervor.
- Anwendungsschicht:Definiert die Software-Dienste und Anwendungs-Komponenten, die die Kernlogik verarbeiten.
- Technologieschicht:Stellt die physischen oder virtuellen Hardware-Knoten dar, die unseren Anwendung-Stack hosten.
Schritt 1: Einrichten der grundlegenden Struktur
Um mit dem Schreiben unseres Codes zu beginnen, konfiguriere ich zunächst die globalen Rendervorschriften und importiere die offizielle ArchiMate-Standardbibliothek für PlantUML. Das Festlegen eines orthogonalen Linientyps hält Verbindungslinien scharf und rechtwinklig ausgerichtet, was für saubere Unternehmensblaupausen von entscheidender Bedeutung ist.
skinparam linetype ortho
!include https://static.visual-paradigm.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml
remove @unlinked
top to bottom direction
title Einleitung - Bibliotheksverwaltungssystem
Durch die Durchsetzung vonRichtung von oben nach untenund dem Entfernen nicht verknüpfter Elemente stelle ich sicher, dass das Layout natürlich von den übergeordneten geschäftlichen Motivationen bis hin zur Technologieinfrastruktur fließt.
Schritt 2: Definieren der Kernschichten und Elemente
Als nächstes fülle ich jeden Gruppierungscontainer mit den entsprechenden Elementen. Ich bevorzuge es, verwandte Komponenten explizit mit PlantUML-Gruppierungsblöcken zu gruppieren, damit visuelle Grenzen mit Unternehmensdomänen übereinstimmen.
Grouping(motivation_layer, "Motivationsschicht") {
Motivation_Goal(g_ops, "Effiziente Bibliotheksoperationen")
Motivation_Goal(g_service, "Hochwertiger Leserservice")
}
Grouping(business_layer, "Geschäftsschicht") {
Business_Actor(ba_librarian, "Bibliothekar")
Business_Actor(ba_member, "Bibliotheksmitglied")
Business_Service(bs_circulation, "Ausleihdienst")
Business_Service(bs_catalog, "Katalogdienst")
Business_Process(bp_checkout, "Ausleihen / Zurückgeben")
Business_Process(bp_reserve, "Reservierungen verwalten")
}
Grouping(application_layer, "Anwendungsschicht") {
Application_Service(as_circulation, "Ausleihe-Anwendungsdienst")
Application_Service(as_catalog, "Katalog-Anwendungsdienst")
Application_Component(ac_lms, "Bibliotheksverwaltungssystem")
Application_Component(ac_catalog, "Katalog-Datenbank")
}
Grouping(technology_layer, "Technologieschicht") {
Technology_Node(tn_server, "Anwendungsserver")
Technology_Node(tn_db, "Datenbankserver")
}
Warum strukturieren wir es auf diese Weise? Explizites Voranstellen von Elementen (wie “ba_ für Business-Akteure, bp_ für Prozesse und tn_ für Technologie-Knoten) macht das Schreiben komplexer relationaler Zuordnungen später viel einfacher. Es verhindert Namenskonflikte und hält Ihr Skript selbstdokumentierend.
Schritt 3: Abbildung von Beziehungen über Schichten hinweg
Mit unseren Elementen an Ort und Stelle ist der letzte Schritt, sie miteinander zu verbinden. ArchiMate stützt sich auf präzise Beziehungstypen – wie Realisierung, Bedienung, Auslösung und Zuordnung –, um Abhängigkeiten genau zu modellieren.
' Business-Prozesse realisieren Business-Dienste
Rel_Realization_Up(bp_checkout, bs_circulation, "")
Rel_Realization_Up(bp_reserve, bs_circulation, "")
Rel_Triggering_Right(bp_checkout, bp_reserve, "")
' Business-Dienste realisieren Motivationsziele
Rel_Realization_Up(bs_circulation, g_ops, "")
Rel_Serving_Up(bs_catalog, g_service, "")
' Akteure werden von Business-Diensten bedient
Rel_Serving_Up(bs_circulation, ba_librarian, "")
Rel_Serving_Up(bs_catalog, ba_member, "")
' Anwendungsdienste realisieren Business-Dienste
Rel_Realization_Up(as_circulation, bs_circulation, "")
Rel_Realization_Up(as_catalog, bs_catalog, "")
' Anwendungskomponenten realisieren Anwendungsdienste
Rel_Realization_Up(ac_lms, as_circulation, "")
Rel_Realization_Up(ac_catalog, as_catalog, "")
' Technologie-Knoten weisen (deployen) Anwendungskomponenten zu
Rel_Assignment_Up(tn_server, ac_lms, "")
Rel_Assignment_Up(tn_db, ac_catalog, "")
Durch die Verwendung richtungsbezogener Beziehungstags wie Rel_Realization_Up und Rel_Triggering_Rightbehalte ich eine präzise Kontrolle darüber, wie Verbindungen durch die Zeichenfläche verlaufen, und vermeide so unordentliche überlappende Linien.
Vollständiger Quellcode
Hier ist der vollständige, produktionsbereite PlantUML-Skript für unser Architekturdiagramm des Bibliotheksverwaltungssystems:
@startuml
skinparam linetype ortho
!include https://static.visual-paradigm.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml
remove @unlinked
top to bottom direction
title Einleitung - Bibliotheksverwaltungssystem
Grouping(motivation_layer, "Motivationsschicht") {
Motivation_Goal(g_ops, "Effiziente Bibliotheksoperationen")
Motivation_Goal(g_service, "Hochwertiger Leserservice")
}
Grouping(business_layer, "Business-Schicht") {
Business_Actor(ba_librarian, "Bibliothekar")
Business_Actor(ba_member, "Bibliotheksmitglied")
Business_Service(bs_circulation, "Ausleihdienst")
Business_Service(bs_catalog, "Katalogdienst")
Business_Process(bp_checkout, "Ausleihen / Rückgabe")
Business_Process(bp_reserve, "Reservierungen verwalten")
}
Grouping(application_layer, "Anwendungsschicht") {
Application_Service(as_circulation, "Anwendungsdienst für Ausleihe")
Application_Service(as_catalog, "Anwendungsdienst für Katalog")
Application_Component(ac_lms, "Bibliotheksverwaltungssystem")
Application_Component(ac_catalog, "Katalogdatenbank")
}
Grouping(technology_layer, "Technologieschicht") {
Technology_Node(tn_server, "Anwendungsserver")
Technology_Node(tn_db, "Datenbankserver")
}
' Business-Prozesse realisieren Business-Dienste
Rel_Realization_Up(bp_checkout, bs_circulation, "")
Rel_Realization_Up(bp_reserve, bs_circulation, "")
Rel_Triggering_Right(bp_checkout, bp_reserve, "")
' Business-Dienste realisieren Motivationsziele
Rel_Realization_Up(bs_circulation, g_ops, "")
Rel_Serving_Up(bs_catalog, g_service, "")
' Akteure werden von Business-Diensten bedient
Rel_Serving_Up(bs_circulation, ba_librarian, "")
Rel_Serving_Up(bs_catalog, ba_member, "")
' Anwendungsdienste realisieren Business-Dienste
Rel_Realization_Up(as_circulation, bs_circulation, "")
Rel_Realization_Up(as_catalog, bs_catalog, "")
' Anwendungskomponenten realisieren Anwendungsdienste
Rel_Realization_Up(ac_lms, as_circulation, "")
Rel_Realization_Up(ac_catalog, as_catalog, "")
' Technologie-Knoten weisen (deployen) Anwendungskomponenten zu
Rel_Assignment_Up(tn_server, ac_lms, "")
Rel_Assignment_Up(tn_db, ac_catalog, "")
@enduml
Bringen Sie Ihre Architektur mit VPasCode zum Leben

Diagramming-as-Code befähigt Sie, Ihre Architektur versioniert zu verwalten, nahtlos zusammenzuarbeiten und in Sekunden fehlerfreie Diagramme zu generieren. Egal, ob Sie ArchiMate-Unternehmensmodelle, C4-Softwarearchitekturen oder Standard-UML-Sequenzdiagramme erstellen – die Umsetzung in einer robusten Umgebung macht einen entscheidenden Unterschied.
Bereit, Ihre eigenen Diagramme zu erstellen?
Testen Sie unsere Echtzeit-Rendering-Engine, experimentieren Sie mit KI-gestützter Diagrammerstellung und exportieren Sie sofort saubere Vektorgrafiken.
Probieren Sie jetzt das kostenlose Diagramming-as-Code-Tool aus


