Chapter 7. Designing the Architecture

with Felix Bachmann

We have observed two traits common to virtually all of the successful object-oriented systems we have encountered, and noticeably absent from the ones that we count as failures: the existence of a strong architectural vision and the application of a well-managed iterative and incremental development cycle.

?Grady Booch [Stikeleather 96]

Up to this point, we have laid the foundations for creating an architecture by presenting a broad set of basic concepts and principles, principally the business aspects of architecture (Chapter 1), architectural views and structures (Chapter 2), quality attributes (Chapter 4), and architectural tactics and patterns for achieving them (Chapter 5). Chapters 3 and 6 presented case studies to cement the concepts presented so far.

We now turn our attention to the design of an architecture and what you can do as it starts to come into being. This chapter will cover four topics:

  • Architecture in the life cycle

  • Designing the architecture

  • Forming the team structure and its relationship to the architecture

  • Creating a skeletal system

    Part Two: Creating an Architecture
    Part Four: Moving From One System to Many