Application Architecture: Th internal structure of an application (classes, components, design patters)
System Architecture: High-level structure of a software components/services)
Enterprise Architecture: Structure and strategy across people, process and technology
Simon Brown considers software architecture as both Application and System Architecture
Architecture represents the significant decisions, where significance is measured by cost of change.
The C4 model (static structure):
System Context: The system plus users and system dependencies
Containers: the overall shape of the architecture and technology choices
Components: Logical components and their interactions within a container
Classes: component or pattern implementation details
A common set of abstractions is more important than a common notation
Tips:
Keep audience in mind when developing diagrams: non-technical, semi-technical, technical
Checklist for an effective sketch (diagram):
- I can see the solution from multiple levels of abstraction
- I understand teh big picture (context)
- I understand the logical containers
- I understand the major cmponents used to satisfy the important user stories/features
- I understand the notation, colour coding, etc used on the diagrams
- I can see the traceability between diagrams
- I understand the major technology decisions
- I understand the implementations strategy (frameworks, libaries, API's, etc)
"Sketches are Maps"
Just enough up front design to create firm foundations for the software product and its delivery:
From: https://skillsmatter.com/skillscasts/5109-simple-sketches-for-diagramming-your-software-architecture
No comments:
Post a Comment