In the previous chapter, you learned that a software's architecture is made up of a team's shared knowledge when building a product or service, as well as other important aspects surrounding this concept. An architect's job is to share this knowledge with the entire team. Even when a team doesn't have somebody assigned to the specific role of the architect, individuals often end up becoming responsible for the system's architecture.
In this chapter, we will review software architecture dimensions and how they influence our applications. We will also introduce a model for documenting software architectures and making the process of sharing and understanding an architecture less difficult for teams. Ultimately, this will allow them to understand the bigger picture of software architecture.
This chapter will cover...