Modelling
Last updated
Was this helpful?
Last updated
Was this helpful?
IcePanel uses a modern, lightweight, and agile way to model system architecture using the - created by Simon Brown. This helps create simple, easily digestible, and maintainable diagrams targeted at each of your audiences.
Using modelling instead of diagramming tells the full story, not just a single diagram view.
Using the C4 model, you can create different hierarchical diagrams that explain how your solution works, from the high-level business of your systems to the low-level technical details.
IcePanel makes it easy for anyone (technical or non-technical) to use this powerful way to visualize software.
Modelling (in software architecture) is a way to see the full picture of how your system(s) work. It is view-agnostic and provides more detail than a single diagram.
There are a few core benefits of a model-based approach, as opposed to just diagramming (i.e. with just shapes and lines):
You can reuse the same objects, including all existing connections and previously assigned metadata.
When you change the reusable object, it updates in all other places it was referenced, massively reducing maintenance.
Because your objects live in a source of truth, you can analyze how they're being used, what objects have specific traits or technologies, and more!
You can visualize your solutions consistently when paired with a standard modelling language, such as the C4 model. This means you don't have to relearn how others think a diagram should look, making conversations flow better.
Simon Brown created the C4 model to resolve the pains of explaining and communicating software architecture in the agile world. It acts as a map of your system, starting at the high-level detail (imagine looking at the whole world on Google Earth) down to the low-level technical details needed to develop your product (zooming into your street).
It is a way to communicate design decisions to multiple audiences at the level of detail they need. From business logic to technical decisions, the C4 model makes it easy to maintain in the long run when changes inevitably occur to your design.
The 4 C's relate to the different levels of detail in the diagrams created from the model.
The big picture—high-level overviews of how your system(s) work in the overall ecosystem with other external systems and the people who use them (users, customers, etc.).
Scope - Systems (internal and external) and actors.
Intended audience - Anyone! Business, Product, Architects, Developers and Operations.
High-level responsibilities of a system—These diagrams show how the separately deployable components interact to make a system work.
Scope - Apps and stores (inside the system you're zoomed into), other systems (internal and external) and actors.
Intended audience - Architects, Developers, Product, and Operations.
The building blocks and interactions of an app—Zoom in on each app to show the components that make each app work and the interactions within. These are more technical diagrams for a technical audience.
Scope - Components (inside the app you're zoomed into), other apps and stores in the same system, other systems (internal and external) and actors.
Intended audience - Architects, Developers and Operations.
This level is rarely diagrammed in practice. As Simon says, "...most IDEs can generate this level of detail on demand."
IcePanel is a visual C4 modelling, diagramming, and documentation tool that maintains the C4 hierarchical structure.
Organization
Landscape
Domain
Actor
Group
System
App or store
Component
When you select a model object (Actor, Group, System, App, Store or Component), you can view and edit the details in the right-hand panel. These details include:
Icon (linked to technology choices)
Name of object
Connections
History
Team edit access (Growth plan only)
Internal or external object type
Abstraction (Actor, System, Group, App, Store, Component)
Status (Live, future, deprecated or removed)
Diagrams list
Display description
Technology choices
Detailed description
Here, you can quickly add and view your model objects in your domain. You can also search for and sort by tags, diagram count, description added, etc.
Visible by default:
Actors, Systems and Groups
Expand systems to view:
Apps and Stores
Expand apps and stores to view:
Components
You can add, edit, and delete objects from here. You can also view and edit the details of each object, just like in a diagram.
You can filter your model objects based on:
Technology choices
Status
Live
Future
Deprecated
Removed
Team ownership (Growth plan only)
Tags (custom)
Type
Internal
External
System
Actor
Group
App
Store
Component
Diagram
In a diagram
In a flow
Details
Has a display description
Has a detailed description
You can add, edit or remove objects from your model in a diagram.
To add new objects in a diagram:
Click the +
button on the left toolbar.
Drag and drop the object button in the canvas (you can also click and drop).
Name the object and add a displayed description.
Drag a new connection from an existing object to a blank space in the canvas to create a new object.
Adding objects this way adds them to your model for reuse. This is the best and quickest way to build up your model while keeping it in the context of the diagram you're creating.
Make sure to name your objects in a way anyone can understand.
In IcePanel, changing an object will update it everywhere it exists. This includes all diagrams, flows, and the model. Make a change anywhere, and it will auto-sync everywhere.
You can remove model objects from just a diagram but keep them in the model for later or another diagram. To do this:
Select the object in the diagram.
Press the Backspace
or Del
key.
OR click the 3 dot ...
menu and select Remove from the diagram.
This action cannot be undone.
Select the object or objects you wish to delete.
Click the 3 dot menu at the top right.
Click Delete object
.
You will see a list of all things that will be permanently deleted.
This will delete the object from the model, all diagrams it was in, all connections in and out, diagrams that the object owns, and any details about it.
These show how an app or store works and functions inside—currently, you can't diagram the fourth level in IcePanel. We believe you should refrain from diagramming this manually and to the code itself (reality).
(Growth plan only)
(Growth plan only)
list
Reality or generic links (see )