3.5. Answering Our Questions
Earlier, this chapter posed the following questions after introducing the three definitions of software architecture. Through explanation, we answered each question. But to be clear, let’s offer concise answers:
- What makes a decision architecturally significant? A decision is architecturally significant if the impact and cost of change is significant.
- What are the elements of composition? The elements of composition include classes, modules, and services.
- How do we accommodate evolution of architecture? Evolution is realized by designing flexible solutions that can adapt to change. But flexibility breeds complexity, and we must be careful to build flexibility in the right areas of the system.