共通
技术架构图
およびを含むシステムアーキテクチャ図の設計业务架构图
。
技術アーキテクチャ図アーキテクチャ図は、初期段階でシステムを設計する場合だけでなく、後の段階でシステムを開発または保守する際のガイドとしても重要です。
1.C4モデルについて
公式サイト
の技術的なアーキテクチャ図、C4、それぞれに属する形式で上下文(Context)
、容器(Container)
、组件(Component)
と代码(Code)
。4つのレベルは異なる角度に対応します。
分割のC4モデルシステムアーキテクチャ図、そして実際には微服务拆分
、DDD领域拆分
非常によく似ていると思いました。合理的な分割のみがシステムを保証できます开发效率和维护效率
。
2.コンテキスト図
1.公式例
コード
@startuml system-context-diagram
!include https://unpkg.com/plantuml-style-c4@latest/c4_context.puml
LAYOUT_WITH_LEGEND()
'LAYOUT_AS_SKETCH()
title 网上银行系统context图
Actor(customer, "个人银行客户", "拥有个人银行账户的银行客户。")
System(banking_system, "网上银行系统", "允许客户查看有关其银行帐户的信息,并进行付款。")
System_Ext(mail_system, "E-mail 系统", "内部电子邮件系统。")
System_Ext(mainframe, "大型机银行系统", "存储有关客户、帐户、交易等的所有核心银行信息。")
Rel(customer, banking_system, "使用")
Rel_Back(customer, mail_system, "发送电子邮件到")
Rel_Neighbor(banking_system, mail_system, "发送电子邮件", "SMTP")
Rel(banking_system, mainframe, "使用")
@enduml
2.機能の説明
ページ関連
LAYOUT_WITH_LEGEND()
この関数は图例说明
、追加後、次のように表示されることを示します图例说明
。
LAYOUT_AS_SKETCH()
この機能を追加すると、以下のようにページがドラフトモードに変わります。
注:ドラフトモードでは、フォント上の理由により中国語を表示できません。
題名
伝説のタイトル。
LAYOUT_TOP_DOWN
この関数は、括弧なしで、グラフ全体の配置を示していることに注意してください上下为主
。
LAYOUT_LEFT_RIGHT
この関数は、括弧なしで、グラフ全体の配置を示していることに注意してください左右为主
。
モジュール関連
Actor(id、name、describe)
ユーザーとして表されるユーザー関数には、3つのパラメーターがあります。
id:一意の識別子として、後続の関係リンクに使用されます。
名前:名前。
説明:説明。
Actor_Ext(id、name、describe)
外部システムのユーザーとして表される外部ユーザー機能には、3つのパラメーターがあります。灰色の
ID:一意の識別子として。後続の関係リンクに使用されます。
名前:名前。
説明:説明。
System(id、name、describe)
システムとして表現されるシステム機能。
id:一意の識別子として、後続の関係リンクに使用されます。
名前:名前。
説明:説明。
System_Ext(id、name、describe)
外部システムは、外部システムとして表され、通常、接続する必要のある既存のシステムを指します。灰色の
ID:一意の識別子として。後続の関係リンクに使用されます。
名前:名前。
説明:説明。
関係関連
Rel(formId、toId、label1、label2)
依存関係。あるシステム(formId)の別のシステム(toId)への依存関係(ラベル)を表します。
注:label1とlabel2はどちらも不是必填参数
です。
Rel_Neighbor(formId、toId、label1、label2)
Relのようですが、強調されformId
てtoId
い水平关系
ます。
Rel_R(formId、toId、label1、label2)
Relなどですが、で強調さtoId
れformId
てい右边
ます。
Rel_L(formId、toId、label1、label2)
Relなどですが、で強調さtoId
れformId
てい左边
ます。
Rel_U(formId、toId、label1、label2)
Relなどですが、で強調さtoId
れformId
てい上边
ます。
Rel_D(formId、toId、label1、label2)
Relなどですが、で強調さtoId
れformId
てい下边
ます。
Rel_Back(formId、toId、label1、label2)
Relなどですが、関係はtoId
ポイントからポイントへですformId
。ただ反対。
Rel_Back_Neighbor(formId、toId、label1、label2)
Rel_Neighborなどですが、関係はtoId
ポイントからのものですformId
。ただ反対。
System_Boundary(id、label){system1、system2…}
システムグループ。これは、system1
合計system2
がシステムグループであることを意味します。仮想ボックスを使用して、複数のシステムを囲みます。
コード例
System_Boundary(item1, "银行系统"){
System(banking_system, "网上银行系统", "允许客户查看有关其银行帐户的信息,并进行付款。")
System_Ext(mainframe, "大型机银行系统", "存储有关客户、帐户、交易等的所有核心银行信息。")
}
3.実用的なツール
1.IDEAプラグイン
PlantUML