Summary
Although treated as two different areas, design and architecture are two stages of an application life cycle that work in tandem. As discussed, architecture comes first with a system’s high-level structure and relationships, so the necessary experience and overview are required to make the best decisions considering any risks or changes to the requirements.
After the clear architectural direction is established, we move to the next stage: the system design. The system design represents a set of specifications that will support developers in developing the architecture that we have already defined. Software design is concerned more with modules and components, their relationships, and their evolution. It is more about the system’s inner workings.
In the next chapter, we will discuss different types of architects and their focuses.