Scope |
System-wide, overall architecture and main components |
Detailed, component/module-level implementation |
Abstraction Level |
High (macro-level) |
Low (micro-level) |
Responsibility |
Solution architects, senior designers |
Designers, developers |
Focus |
"What" the system will do and "why" |
"How" each part will be implemented |
Documentation |
Architecture diagrams, flowcharts, major module descriptions |
Class diagrams, data flow diagrams, pseudocode, logic |
Output |
System architecture, database design, interface definitions |
Program specifications, detailed logic, unit test plans |
Audience |
Stakeholders, architects, design team, clients |
Developers, implementers, operations team |
Change Impact |
Changes are less costly, more flexible |
Changes may require significant rework, less flexible |
Testing |
Guides integration and system-level testing strategies |
Guides unit and integration testing of modules |
Examples |
System context diagram, technology stack choice |
Function signatures, algorithms, data structures |