現在、このダイアグラムは提案段階です。将来的に変更されるかもしれません。
新しいシンタックス案の提案を歓迎します!よりよい形を模索するのに、あなたからの意見や提案が役に立ちます!!
各要素は archimate で定義します。
ステレオタイプとして、アイコンを使うことができます。 使用できるアイコンの一覧は、[#使用できるアイコン一覧|こちらを参照してください。]
HTMLのカラーネームを使って、色の変更ができます。 また、いくつかのキーワード(Business , Application , Motivation , Strategy , Technology , Physical , Implementation )を使うこともできます。
🎉 Copied!
|
@startuml
archimate #Technology "VPN サーバ" as vpnServerA <<technology-device>>
rectangle 実行 #lightgreen
rectangle 終了 #red
rectangle 待機 #orange
@enduml
|
プリプロセス機能を使って circle を定義し、使用してください。
🎉 Copied!
|
@startuml
!define Junction_Or circle #black
!define Junction_And circle #whitesmoke
Junction_And JunctionAnd
Junction_Or JunctionOr
archimate #Technology "VPN サーバ" as vpnServerA <<technology-device>>
rectangle 実行 #lightgreen
rectangle 終了 #red
rectangle 待機 #orange
実行 -up-> JunctionOr
終了 -up-> JunctionOr
終了 -down-> JunctionAnd
待機 -down-> JunctionAnd
@enduml
|
🎉 Copied!
|
@startuml
skinparam roundcorner 25
rectangle "Capture Information" as CI <<$archimate/business-process>> #Business
@enduml
|
アーキテクチャ図で使用できるアイコンの一覧は、次のコードで表示することができます。
🎉 Copied!
|
@startuml
listsprite
@enduml
|
Archimateマクロとライブラリ
Archimateマクロの一覧はArchimate-PlantUML で定義されています。このマクロはアーキテクチャ図の作成を簡単にしてくれます。ArchimateはPlantUMLの標準ライブラリにネイティブに存在します。
Archimate要素
マクロを使用したArchiMate要素の生成は次のように行います:
Category_ElementName(nameOfTheElement, "description")
例:
- Motivationカテゴリに含まれる「ステークホルダー」要素を定義する場合、次のように記述します:
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description") :
🎉 Copied!
|
@startuml
!include <archimate/Archimate>
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
@enduml
|
- 「ビジネスサービス」要素を定義する場合は、
Business_Service(BService, "Business Service") :
🎉 Copied!
|
@startuml
!include <archimate/Archimate>
Business_Service(BService, "Business Service")
@enduml
|
Archimateの関係(relationship)
Archimateの関係は、次のように定義します:
Rel_RelationType(fromElement, toElement, "description")
また、次のように、2つの要素の方向を定義します:
Rel_RelationType_Direction(fromElement, toElement, "description")
次のRelationTypes がサポートされています:
- Access
- Aggregation
- Assignment
- Association
- Composition
- Flow
- Influence
- Realization
- Serving
- Specialization
- Triggering
次のDirections がサポートされています:
例:
- 上で定義した「ステークホルダー」と「ビジネスサービス」に対して、コンポジション関係を定義する場合、次のように記述します
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
|
付録:すべてのArchimate RelationTypeの例
🎉 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]
|
|