Software Engineering Institute Carnegie Mellon

Software Architecture in Practice, 2nd Edition

Challenges:
How can you obtain a concise, all-in-one, easily accessible overview of software architecture?

  • How can you come to understand the many ways that software architecture is critical to a development project and to an organization as a whole?
  • How can you learn what technical and organizational factors influence an architecture, and what factors it in turn influences?
  • How can you learn how an architecture is almost completely responsible for delivering a software system's quality attributes such as performance or reliability?
  • How can you get a concise primer on architectural tactics and their uses?
  • Where can you learn about the Architecture Tradeoff Analysis Method (ATAM), a low-cost scenario-based method for evaluating an architecture?
  • Where can you see case studies of actual software architectures for large systems, each of which was crafted to deliver particular quality attributes?

Overview:
Software Architecture in Practice, 2nd edition (by Len Bass, Paul Clements, and Rick Kazman, published in 2003 by Addison-Wesley as part of the SEI Series in Software Engineering) is the best-selling book about the principles, concepts, and uses of software architecture. It is a one-stop source for a comprehensive overview of the entire field. It covers origins of the concept, its importance in system-building as well as organizational strategy, and related concepts such as architectural styles.

One of the book's major contributions is its rich examples. It contains no fewer than six detailed case studies of real architectures built to solve real problems: air traffic control, avionics, the World Wide Web, simulation, mobile applications, and more. Each architecture was crafted with one or more quality attributes in mind: ease of change, reliability, growth and extensibility, use in a product line, performance, etc. These case studies serve to emphasize the book's major theme: architecture permits or precludes most of a system's quality attributes.

Documenting the architecture is the crowning step to crafting it. The most perfect architecture is useless if no one understands it. If you can go to the trouble of creating a strong architecture, you must go through the trouble of describing it in enough detail, without ambiguity, and organized so that others can quickly find needed information.

Another major contribution is the book's attention to evaluating a software architecture while it's still a paper design, before it's been solidified into code. Defects are spotted early, when they are still inexpensive enough to do something about. New methods have emerged that make architecture evaluation a cost-effective step that should be a part of every development process.

Finally, the book explores the role of architecture as the basis for a software product line, which is a set of systems that are built sharing a common set of core assets, of which architecture is the most important.

Benefits:
Software Architecture in Practice, 2nd edition, provides a comprehensive overview of the field of software architecture in a single, easy-to-digest package. It can let key people in your organization start achieving the benefits of architecture by letting them speak the same language and proceed from the same starting point.

Who Would Benefit:
Anyone requiring a comprehensive overview of the field of software architecture will benefit from this book.

Description:
The book consists of 19 chapters.

Availability:
Software Architecture in Practice, 2nd edition, is available through the publisher, as well as all major bookstores.

Additional Information:
Contact us for additional details on Software Architecture in Practice, 2nd edition.