Thanks! Yes, the C4 model is inspired by 4+1, but combines the logical and development views (with multiple levels of abstraction), reducing the "model-code gap", and making it more developer-friendly.
1
3
For most software systems (including cloud native), a good minimum starting point is:
- System Context view
- Container view
- Deployment view (a simplified UML deployment inspired diagram, showing the mapping of C4 model "containers" to deployment nodes)
2
1
3
Usually start with the System Context view.
For so long now, can't even recall exactly when - maybe mid-1980's via Jackson, Yourdon or de Marco.
All first rate software engineering gurus.
(Not forgetting @Grady_Booch of course).
1
1
2
It’s interesting you mention this - last night I was trying to think how DDD maps to C4. I generally prefer starting with the the domain and really understanding the problem space.
1
2
The thing to note about the C4 model is that it's just a diagramming technique, and from that perspective it complements DDD (and other analysis/design/exploration techniques too).
2
5
The same is true of UML ... it's a diagramming/communication tool rather than a software design process. Unfortunately, UML became tightly coupled with "big design up front" and was thrown away by many teams in their haste to become "agile".
2
1
9
I believe some of the criticism is valid. TBH I’d take a video recording of a walk through of a messy hand written diagram over a detailed and technically correct UML diagram in many contexts (for eg where speed of iteration matters). I also never bought into the MDA approach.
2
Agreed; some of the criticism levelled at UML is justified, and I don't buy into MDA either. Much of the criticism is just folklore though, and a misunderstanding that UML == "big design up front".
2
1
Almost heresy to disagree with you on that, but I would claim OMG is what ruined the UML.
Aug 18, 2021 · 5:58 PM UTC
1
1




