This chapter defined software architecture and also introduced the related concepts of reference model, reference architecture, and architectural pattern. We have explained why architecture is a fundamentally useful concept in software engineering, in terms of the early insights it provides into the system, the communication it enables among stakeholders, and the value it provides as a re-usable asset. All of these themes will be expanded in subsequent chapters.
Our definition of architecture makes clear that systems comprise many structures. We showed several of the most commonly used structures and explained how each serves as an engineering leverage point into the design process.
The next chapter is the first case study of the book. Its purpose is to show the utility of different architectural structures in the design of a complex system.