System Context Diagram
When we want to start the architecture of a solution context diagram is a good starting place. C4 Model is a graphical notation which can be very useful in modeling of software systems. C4 Model was created by Simon Brown between 2006 and 2011 based on 4+1 Architectural view model.
4+1 View model is very handy for describing software intensive systems which could help in representing visually for different stakeholders. Example Deployment would requirement more of Physical View, Developers would look from development perspective which requires a development view, process view is required from communication and interactions between components and logical view to represent the functional aspects of the systems. These all the 4 views are integrated through the User Stories, Use cases or Scenarios which is glue between all the 4 views.
Going back to context diagram from the C4 model it represent the interaction between the users and the system. C4 Model is more of an abstraction-first approach. The below given code gives a quick understanding of generating such diagram via code using PlantUML.
@startuml
!include https://raw.githubusercontent.com/kirchsth/C4-PlantUML/extended/C4_Container.puml
Person(driver, “Driver”, “Training Driver”)
Person(owner, “Driving School Owner”, “Driving School Owner”)
Person(learner, “Driving Learner”, “Peron who is learnign driving”)
System(saasApp, “Driving School SaaS”, “Driving School online”)
Rel(driver, saasApp, “Executes learning appointment”, “Mobile App”)
Rel(owner, saasApp, “Schedules learning appointment”, “Web/Mobile App”)
Rel(learner, saasApp, “Seeks learning appointment”, “Mobile App”)
@enduml