Go to: How can we use visual modeling? · What level of detail? · Static models · Dynamic models · Embedded system modeling · Resources
The computing world is already so complex, that we interact with it through a great number of abstractions.
All models are wrong, some are useful. - George E.P. Box
Mainstream programming languages operate with a textual content format.
Text is an ideal medium for abstract logic. - Maggie Appleton
This level of abstraction removes the physical, spatial, and embodied qualities that humans rely upon to understand the world around us. - Maggie Appleton
The benefits of text format still outweighs the cons. There is a gap between code and pictures, because visuals are also abstractions.
There is a reason why digital circuit design has shifted to use of HDLs - HN
What can visuals give us?
Visuals reveal metaphors, spatial meaning, and change over time in ways that linear text can’t - Maggie Appleton
Communication
Besides text, pictures can help us explaining ideas. We use models to visualise thoughts and improve communication.
Specification
Use modeling as a specification language:
Design
Modeling can be part of the design process: design without implementation.
but keep in mind (e.g. vhdl):
At the end of the day plain text (code) is the universal truth
Decorate
or use modeling to impress stakeholders.
And create colorful all in one models.
as decoration.
Explaining diagrams in text?
What’s the purpose of a diagram if need to add extensive textual explanation to it? Can we define what ideas are we trying to represent as an image?
Three types of relationships:
Stateless vs stateful dynamic models
Context block diagram
Define system and external environment boundaries.
TODO: Association examples, entity examples.
Software context block diagram
Define software and hardware boundaries, peripherals, IOs, etc.
Model software as one aggregate object first.
Map Component and Deployment diagrams