Chapter 5

Design

At this point in the process, we have an accurate and comprehensive description of our system, we’re aligned with a guiding vision, we’ve proposed a few changes at a conceptual level, and selected one to move forward with. Now—finally—it is time to move on to detailed design. Note that here we use the term “design” to apply equally to design of architecture—sometimes called “architecting”—as well as design of the system according to the current architecture. Whether you’re doing one, the other, or both depends on the change being made, but the activity of design doesn’t differ.

Design is an intellectual problem-solving activity. It takes a statement of the problem as its input—in software development, these are requirements—and ...

Get Effective Software Architecture: Building Better Software Faster now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.