"When you look at the architecture, you should be pleased by how natural and easayy the solution seems."
- The quality of the architecture determines the conceptual integrity of the system. This in turn determines the ultimate quality of the system.
- Without good software architecture, you may have the right problem but the wrong solution. It may be impossible to have successful construction.
- Good architecture specs are characterized by
- Discussions of the classes in the system
- Information hidden in each class
- Rationales for including and excluding all possible design alternatives
- Program Organization
- Major Classes
- Data Design
- User Interface Design
- Overengineering Decision
- Performance
- Resource Management
- Scalability
- Error Processing
- Fault Tolerance
- Security
- Architectural Feasability
- Business Rules and Constraints
- Buy-vs-Build Decisions
- Reuse Decisions
- Interoperability
- Change Strategy