commit
e8bbdef736
@ -1,21 +1,31 @@
|
||||
# C4 Model Core Diagrams
|
||||
# C4 Model Diagrams
|
||||
|
||||
The following samples are reproductions with C4-PlantUML from [C4 model core diagrams](http://c4model.com/#coreDiagrams) created by [Simon Brown](http://simonbrown.je/).
|
||||
|
||||
## System Context Diagram
|
||||
## Core Diagrams
|
||||
|
||||
### System Context Diagram
|
||||
|
||||
Source: [C4_Context Diagram Sample - bigbankplc.puml](C4_Context%20Diagram%20Sample%20-%20bigbankplc.puml)
|
||||
|
||||

|
||||
|
||||
## Container Diagram
|
||||
### Container Diagram
|
||||
|
||||
Source: [C4_Container Diagram Sample - bigbankplc.puml](C4_Container%20Diagram%20Sample%20-%20bigbankplc.puml)
|
||||
|
||||

|
||||
|
||||
## Component Diagram
|
||||
### Component Diagram
|
||||
|
||||
Source: [C4_Component Diagram Sample - bigbankplc.puml](C4_Component%20Diagram%20Sample%20-%20bigbankplc.puml)
|
||||
|
||||

|
||||

|
||||
|
||||
## Supplementary Diagrams
|
||||
|
||||
### System Landscape Diagram
|
||||
|
||||
Source: [C4_Context Diagram Sample - bigbankplc-landscape.puml](C4_Context%20Diagram%Sample%20-%20bigbankplc-landscape.puml)
|
||||
|
||||

|
||||
@ -0,0 +1,42 @@
|
||||
@startuml
|
||||
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
|
||||
' uncomment the following line and comment the first to use locally
|
||||
' !include C4_Context.puml
|
||||
|
||||
'LAYOUT_TOP_DOWN
|
||||
'LAYOUT_AS_SKETCH
|
||||
LAYOUT_WITH_LEGEND
|
||||
|
||||
title System Landscape diagram for Big Bank plc
|
||||
|
||||
Person(customer, "Personal Banking Customer", "A customer of the bank, with personal bank accounts.")
|
||||
|
||||
Enterprise_Boundary(c0, "Big Bank plc") {
|
||||
System(banking_system, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")
|
||||
|
||||
System_Ext(atm, "ATM", "Allows customers to withdraw cash.")
|
||||
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.")
|
||||
|
||||
Person_Ext(customer_service, "Customer Service Staff", "Customer service staff within the bank.")
|
||||
Person_Ext(back_office, "Back Office Staff", "Administration and support staff within the bank.")
|
||||
}
|
||||
|
||||
Rel_Neighbor(customer, banking_system, "Uses")
|
||||
Rel_R(customer, atm, "Withdraws cash using")
|
||||
Rel_Back(customer, mail_system, "Sends e-mails to")
|
||||
|
||||
Rel_R(customer, customer_service, "Asks questions to", "Telephone")
|
||||
|
||||
Rel_D(banking_system, mail_system, "Sends e-mail using")
|
||||
Rel_R(atm, mainframe, "Uses")
|
||||
Rel_R(banking_system, mainframe, "Uses")
|
||||
Rel_D(customer_service, mainframe, "Uses")
|
||||
Rel_U(back_office, mainframe, "Uses")
|
||||
|
||||
Lay_D(atm, banking_system)
|
||||
|
||||
Lay_D(atm, customer)
|
||||
Lay_U(mail_system, customer)
|
||||
@enduml
|
||||
@ -0,0 +1,42 @@
|
||||
@startuml "enterprise"
|
||||
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
|
||||
' uncomment the following line and comment the first to use locally
|
||||
' !include C4_Context.puml
|
||||
|
||||
LAYOUT_TOP_DOWN
|
||||
'LAYOUT_AS_SKETCH
|
||||
LAYOUT_WITH_LEGEND
|
||||
|
||||
Person(customer, "Customer", "A customer of Widgets Limited.")
|
||||
|
||||
Enterprise_Boundary(c0, "Widgets Limited") {
|
||||
Person(csa, "Customer Service Agent", "Deals with customer enquiries.")
|
||||
|
||||
System(ecommerce, "E-commerce System", "Allows customers to buy widgts online via the widgets.com website.")
|
||||
|
||||
System(fulfilment, "Fulfilment System", "Responsible for processing and shipping of customer orders.")
|
||||
}
|
||||
|
||||
System(taxamo, "Taxamo", "Calculates local tax (for EU B2B customers) and acts as a front-end for Braintree Payments.")
|
||||
|
||||
System(braintree, "Braintree Payments", "Processes credit card payments on behalf of Widgets Limited.")
|
||||
|
||||
System(post, "Jersey Post", "Calculates worldwide shipping costs for packages.")
|
||||
|
||||
Rel_R(customer, csa, "Asks questions to", "Telephone")
|
||||
|
||||
Rel_R(customer, ecommerce, "Places orders for widgets using")
|
||||
|
||||
Rel(csa, ecommerce, "Looks up order information using")
|
||||
|
||||
Rel_R(ecommerce, fulfilment, "Sends order information to")
|
||||
|
||||
Rel_D(fulfilment, post, "Gets shipping charges from")
|
||||
|
||||
Rel_D(ecommerce, taxamo, "Delegates credit card processing to")
|
||||
|
||||
Rel_L(taxamo, braintree, "Uses for credit card processing")
|
||||
|
||||
Lay_D(customer, braintree)
|
||||
|
||||
@enduml
|
||||
Loading…
Reference in New Issue