ArchiMate Diagram

ArchiMate ist eine offene und unabhängige Sprache zur Modellierung von Unternehmensarchitekturen, die die Beschreibung, Analyse und Visualisierung von Architekturen innerhalb und zwischen verschiedenen Geschäftsbereichen unterstützt. Ein ArchiMate-Diagramm bietet eine strukturierte Darstellung der verschiedenen Komponenten eines Unternehmens, ihrer Beziehungen untereinander und ihrer Integration in die IT-Infrastruktur.

Obwohl sowohl ArchiMate als auch UML Modellierungssprachen sind, dienen sie unterschiedlichen Zwecken. UML wird in erster Linie für den Softwareentwurf und die Systemmodellierung verwendet und konzentriert sich auf die strukturellen und verhaltensbezogenen Aspekte von Systemen. Im Gegensatz dazu ist ArchiMate auf die Unternehmensarchitektur zugeschnitten und bietet eine ganzheitliche Sicht auf die organisatorischen, informatorischen und technischen Ebenen eines Unternehmens.

Archimate-Schlüsselwort

Sie können das Schlüsselwort archimate verwenden, um ein Element zu definieren. Stereotype kann optional ein zusätzliches Symbol angeben. Einige Farben (Business, Application, Motivation, Strategy, Technology, Physical, Implementation) sind ebenfalls verfügbar.

🎉 Copied!

@startuml
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>

rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
@enduml

Definieren von Abzweigungen

Mit dem Schlüsselwort circle und dem Präprozessor können Sie auch Abzweigungen erstellen.

🎉 Copied!

@startuml
!define Junction_Or circle #black
!define Junction_And circle #whitesmoke

Junction_And JunctionAnd
Junction_Or JunctionOr

archimate #Technology "VPN Server" as vpnServerA <<technology-device>>

rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
GO -up-> JunctionOr
STOP -up-> JunctionOr
STOP -down-> JunctionAnd
WAIT -down-> JunctionAnd
@enduml

Beispiel 1

🎉 Copied!

@startuml
skinparam rectangle<<behavior>> {
	roundCorner 25
}
sprite $bProcess jar:archimate/business-process
sprite $aService jar:archimate/application-service
sprite $aComponent jar:archimate/application-component

rectangle "Handle claim"  as HC <<$bProcess>><<behavior>> #Business
rectangle "Capture Information"  as CI <<$bProcess>><<behavior>> #Business
rectangle "Notify\nAdditional Stakeholders" as NAS <<$bProcess>><<behavior>> #Business
rectangle "Validate" as V <<$bProcess>><<behavior>> #Business
rectangle "Investigate" as I <<$bProcess>><<behavior>> #Business
rectangle "Pay" as P <<$bProcess>><<behavior>> #Business

HC *-down- CI
HC *-down- NAS
HC *-down- V
HC *-down- I
HC *-down- P

CI -right->> NAS
NAS -right->> V
V -right->> I
I -right->> P

rectangle "Scanning" as scanning <<$aService>><<behavior>> #Application
rectangle "Customer admnistration" as customerAdministration <<$aService>><<behavior>> #Application
rectangle "Claims admnistration" as claimsAdministration <<$aService>><<behavior>> #Application
rectangle Printing <<$aService>><<behavior>> #Application
rectangle Payment <<$aService>><<behavior>> #Application

scanning -up-> CI
customerAdministration  -up-> CI
claimsAdministration -up-> NAS
claimsAdministration -up-> V
claimsAdministration -up-> I
Payment -up-> P

Printing -up-> V
Printing -up-> P

rectangle "Document\nManagement\nSystem" as DMS <<$aComponent>> #Application
rectangle "General\nCRM\nSystem" as CRM <<$aComponent>>  #Application
rectangle "Home & Away\nPolicy\nAdministration" as HAPA <<$aComponent>> #Application
rectangle "Home & Away\nFinancial\nAdministration" as HFPA <<$aComponent>>  #Application

DMS .up.|> scanning
DMS .up.|> Printing
CRM .up.|> customerAdministration
HAPA .up.|> claimsAdministration
HFPA .up.|> Payment

legend left
Example from the "Archisurance case study" (OpenGroup).
See
====
<$bProcess> :business process
====
<$aService> : application service
====
<$aComponent> : application component
endlegend
@enduml

Beispiel 2

🎉 Copied!

@startuml
skinparam roundcorner 25
rectangle "Capture Information"  as CI <<$archimate/business-process>> #Business
@enduml

Mögliche Sprites auflisten

Sie können alle möglichen Sprites für Archimate anhand des folgenden Diagramms auflisten:

🎉 Copied!

@startuml
listsprite
@enduml

ArchiMate Macros

Archimate Macros and Library

A list of Archimate macros are defined Archimate-PlantUML here which simplifies the creation of ArchiMate diagrams, and Archimate is natively on the Standard Library of PlantUML.

Archimate elements

Using the macros, creation of ArchiMate elements are done using the following format: Category_ElementName(nameOfTheElement, "description")

For example:
  • To define a Stakeholder element, which is part of Motivation category, the syntax will be Motivation_Stakeholder(StakeholderElement, "Stakeholder Description"):

🎉 Copied!

@startuml
!include <archimate/Archimate>
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
@enduml

  • To define a Business Service element, Business_Service(BService, "Business Service"):

🎉 Copied!

@startuml
!include <archimate/Archimate>
Business_Service(BService, "Business Service")
@enduml

Archimate relationships

The ArchiMate relationships are defined with the following pattern: Rel_RelationType(fromElement, toElement, "description") and to define the direction/orientation of the two elements: Rel_RelationType_Direction(fromElement, toElement, "description")

The RelationTypes supported are:
  • Access
  • Aggregation
  • Assignment
  • Association
  • Composition
  • Flow
  • Influence
  • Realization
  • Serving
  • Specialization
  • Triggering

The Directions supported are:
  • Up
  • Down
  • Left
  • Right

For example:
  • To denote a composition relationship between the Stakeholder and Business Service defined above, the syntax will be
Rel_Composition(StakeholderElement, BService, "Description for the relationship")

🎉 Copied!

@startuml
!include <archimate/Archimate>
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
Business_Service(BService, "Business Service")
Rel_Composition(StakeholderElement, BService, "Description for the relationship")
@enduml

  • Unordered List ItemTo orient the two elements in top - down position, the syntax will be
Rel_Composition_Down(StakeholderElement, BService, "Description for the relationship")

🎉 Copied!

@startuml
!include <archimate/Archimate>
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
Business_Service(BService, "Business Service")
Rel_Composition_Down(StakeholderElement, BService, "Description for the relationship")
@enduml

Appendice: Examples of all Archimate RelationTypes

🎉 Copied!

@startuml
left to right direction
skinparam nodesep 4
!include <archimate/Archimate>
Rel_Triggering(i15, j15, Triggering)
Rel_Specialization(i14, j14, Specialization)
Rel_Serving(i13, j13, Serving)
Rel_Realization(i12, j12, Realization)
Rel_Influence(i11, j11, Influence)
Rel_Flow(i10, j10, Flow)
Rel_Composition(i9, j9, Composition)
Rel_Association_dir(i8, j8, Association_dir)
Rel_Association(i7, j7, Association)
Rel_Assignment(i6, j6, Assignment)
Rel_Aggregation(i5, j5, Aggregation)
Rel_Access_w(i4, j4, Access_w)
Rel_Access_rw(i3, j3, Access_rw)
Rel_Access_r(i2, j2, Access_r)
Rel_Access(i1, j1, Access)
@enduml

🎉 Copied!

@startuml
title ArchiMate Relationships Overview
skinparam nodesep 5
<style>
interface {
    shadowing 0
    backgroundcolor transparent
    linecolor transparent
    FontColor transparent
}
</style>
!include <archimate/Archimate>
left to right direction

rectangle Other {
() i14
() j14
}


rectangle Dynamic {
() i10
() j10
() i15
() j15
}

rectangle Dependency {
() i13
() j13
() i4
() j4
() i11
() j11
() i7
() j7
}

rectangle Structural {
() i9
() j9
() i5
() j5
() i6
() j6
() i12
() j12
}

Rel_Triggering(i15, j15, Triggering)
Rel_Specialization(i14, j14, Specialization)
Rel_Serving(i13, j13, Serving)
Rel_Realization(i12, j12, Realization)
Rel_Influence(i11, j11, Influence)
Rel_Flow(i10, j10, Flow)
Rel_Composition(i9, j9, Composition)
Rel_Association_dir(i7, j7, \nAssociation_dir)
Rel_Association(i7, j7, Association)
Rel_Assignment(i6, j6, Assignment)
Rel_Aggregation(i5, j5, Aggregation)
Rel_Access_w(i4, j4, Access_w)
Rel_Access_rw(i4, j4, Access_rw)
Rel_Access_r(i4, j4, Access_r)
Rel_Access(i4, j4, Access)
@enduml

[Adapted from Archimate PR#25]


Privacy Policy      Advertise