ArchiMate est un
langage de modélisation d'architecture d'entreprise ouvert et indépendant qui prend en charge la description, l'analyse et la visualisation de l'architecture à l'intérieur et à l'extérieur des domaines d'activité. Un
diagramme ArchiMate fournit une représentation structurée des différents composants d'une entreprise, de leurs
relations et de leur intégration avec l'
infrastructure informatique.
ArchiMate et
UML sont tous deux des langages de modélisation, mais ils ont des objectifs différents. UML est principalement utilisé pour la conception de logiciels et la modélisation de systèmes, en se concentrant sur les aspects structurels et comportementaux des systèmes. En revanche,
ArchiMate est conçu pour l'
architecture d'entreprise, offrant une vision holistique des couches organisationnelles, informationnelles et techniques d'une entreprise.
Vous pouvez utiliser le mot-clé
archimate
pour définir un élément. De façon optionnelle, un stéréotype peut indiquer une icône à afficher. Certains noms de couleurs (
Business
,
Application
,
Motivation
,
Strategy
,
Technology
,
Physical
,
Implementation
) sont aussi disponibles.
🎉 Copied!
|
@startuml
archimate #Technology "Serveur VPN" as vpnServerA <<technology-device>>
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
@enduml
|
A l'aide du mot-clé
circle
et du
préprocesseur, vous pouvez déclarer des jonctions.
🎉 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
|
🎉 Copied!
|
@startuml
skinparam roundcorner 25
rectangle "Capture Information" as CI <<$archimate/business-process>> #Business
@enduml
|
Vous pouvez afficher tous les sprites disponibles pour Archimate à l'aide du diagramme suivant:
🎉 Copied!
|
@startuml
listsprite
@enduml
|
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:
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]