- When analyzing requirements for a business problem, always gather additional information from the business stakeholders or project sponsor.
- While there’s no “checklist” for creating an architecture, the four dimensions of software architecture (introduced in Chapter?1) provide a good roadmap.
- Identifying driving architectural characteristics requires you to analyze the business requirements and technical constraints.
- Implicit architectural characteristics become driving characteristics if they are critical or important to the success of the system.
- Make sure you can tie each driving characteristic back to some sort of requirement or business need.
- When identifying logical components and creating a corresponding logical architecture, try to avoid adding physical details such as services, databases, queues, and user interfaces—those artifacts go into the physical architecture.
- When choosing an architectural style, make sure you take into account the characteristics of the architectural style, the problem domain, and the driving architectural characteristics you identified.
- Hybrid architectures (those combining two or more different architectural styles) are very common. Just be sure to verify that the hybrid architecture still addresses your critical architectural characteristics.
- Architectural decision records (ADRs) are a great way to document your choices. They communicate the reasons for your architectural decisions as well as your trade-off analyses.
- When diagramming your physical architecture, be sure to include all the components you identified in your logical architecture.
- Remember that there are no right or wrong answers in software architecture. As long as you can provide a reasonable justification for your architectural decisions, you are on the right track for success.
#headfirstsoftwarearchitecture #book #chapter #summary
Credit : Head First Software Architecture By Raju Gandhi, Mark Richards, Neal Ford