Skip to main content

Unit 2: Working with Model Elements and Diagramming

🎯Overview

In this unit you will learn to work with model elements and create your first diagrams. We use the C4 framework to keep the architectural design process deliberately lightweight, encouraging creativity and collaboration. By keeping things simple and focused, IBM DevOps Solution Workbench helps teams work together to explore and refine ideas, ultimately arriving at the best possible solution.

Outline

Model elements represent parts of a software architecture and the relationships between them. Following the C4 methodology, these elements are categorized into actors, systems, containers, and components. Additionally, elements can be visually grouped using a group. Below is an overview of the different model elements:

Model ElementLevelDescription
Actor1Human or role that interacts with the system
System1Software system under consideration or external
Container2Deployable application/service/data store
Component3Logical grouping of related functionality
GroupAllVisual layout / grouping aid

Visually, the structure can be represented like this:

Developer Starting Project Screenshot

For more in-depth information about model elements and their relationships in C4 models, you can check out our Product Documentation.

Prerequisites

  • Have a system architecture design project ready in place.

Exercise

  • Estimated time: 15-20 Minutes
  • Exercise goal: You will be able to create model elements and work with diagrams after completing this unit.

Overview

In this exercise, we will use a scenario to guide us through the process of designing a system architecture. The scenario is based on the existing reference application, RoboFlow. Our goal is to create model elements relevant for the B2B webshop of the RoboFlow company, which aims to sell robots and parts online. Next, we will create an example Level 1 diagram, utilize the drill-down functionality, and develop a Level 2 diagram. Finally, we will demonstrate how to generate a service project directly from a diagram model element.

🎯context

Starting from scratch as for our RoboFlow example, shows how the Workbench supports your workflow with top-down refinement, a key pattern for greenfield scenarios.

Step 1: Create model elements

For this exercise we need actors, the internal system itself and elements that the system interacts with. You also need to create Containers, such as the Frontend or a Shipping Service of your system. You can get inspiration from the RoboFlow app or refer to the last slide for guidance.

💡tip

You can also create model elements directly on the diagram canvas. Try it out in the next steps.

Step 2: Create a level 1 diagram

As we have all our needed model elements now, we want to create our Level 1 diagram, the model for the system context. This diagram allows us to see the big picture, how the system interacts with people and other systems.

Step 3: Drill down and create a level 2 diagram

Once you understand how your system fits into the overall IT environment, you can focus on the internals of a software system. Therefore, we want to zoom into the system boundary with a Container diagram. This diagram shows the high-level shape of a software architecture and how responsibilities are distributed.

Optional Step: Create a service project out of a component

❗️info

For more details on how to create a service follow the Design Journey.

🌟Congratulations!

You have successfully created model elements and your first diagrams!

What's next?

In the upcoming units, you will explore each capability of the IBM DevOps Solution Workbench in greater detail. Alternatively, you can start exploring already created applications here.