!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
' uncomment the following line and comment the first to use locally
' !include C4_Context.puml
LAYOUT_WITH_LEGEND()
title System Context diagram for Internet Banking System
Person(customer, "Personal Banking Customer", "A customer of the bank, with personal bank accounts.")
System(banking_system, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")
System_Ext(mail_system, "E-mail system", "The internal Microsoft Exchange e-mail system.")
System_Ext(mainframe, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
Rel(customer, banking_system, "Uses")
Rel_Back(customer, mail_system, "Sends e-mails to")
Rel_Neighbor(banking_system, mail_system, "Sends e-mails", "SMTP")
Rel(banking_system, mainframe, "Uses")
@enduml
Теперь если коротко что тут произошло
- @startuml и @enduml - границы схемки
- !include и ссылка или файл - в первом случае обращение пойдет в интернет, а во втором вам нужен скачанный файл (чтобы достать из него поддержку и символы для c4)
- title - заголовок
- Person(техническое имя, "имя на диаграммке", "подпись на диаграммке") - объявление человека
- System() - объявление системы
- System_Ext() - объявление внешний системы (другим цветом)
- Rel(от кого, к кому, "подпись на стрелке", "Подпись внизу стрелки(обычно протокол взаимодействия)") - объявление связи (они разные бывают по направлению и характеру, велком ту документасион)
А под схемкой не забудьте табличку с детальным описанием систем, пользователей и их характеристик.
Все просто и лаконично. Пользуемся
#system_design@analyst_exe
