System tactics and patterns
Software tactics and patterns drive overall software architecture toward a cohesive design. A tactic is a general principle, while a pattern is a specific realization of that principle. Together, they provide design guidance that helps architects achieve desired quality attributes. The concepts described here are elaborated on and come from the excellent reference book by Bass et al. [1].
Key attributes
Two particularly important high-level attributes are maintainability and availability, which address the system’s evolution over time and its resilience to failures, respectively.
Maintainability tactics and patterns
Maintainability encompasses the system’s capacity to accommodate changes, undergo testing, adapt to new requirements, and support configuration management. This quality attribute breaks down into several tactical areas:
- Modifiability focuses on minimizing the cost of change through tactics such as component...