Chapter 2. What Is Software Architecture?

with Linda Northrop

Note: Linda Northrop is a program director at Carnegie Mellon University's Software Engineering Institute.

If a project has not achieved a system architecture, including its rationale, the project should not proceed to full-scale system development. Specifying the architecture as a deliverable enables its use throughout the development and maintenance process.

?Barry Boehm [Boehm 95]

In Chapter 1, we explained that architecture plays a pivotal role in allowing an organization to meet its business goals. Architecture commands a price (the cost of its careful development), but it pays for itself handsomely by enabling the organization to achieve its system goals and expand its software capabilities. Architecture is an asset that holds tangible value to the developing organization beyond the project for which it was created.

In this chapter we will focus on architecture strictly from a software engineering point of view. That is, we will explore the value that a software architecture brings to a development project in addition to the value returned to the enterprise in the ways described in Chapter 1.

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