Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type

Topics

Publication Date

Book

Software Architecture in Practice (2nd Edition)

Software Architecture in Practice (2nd Edition)
  • April 2003
  • By Len Bass , Paul C. Clements , Rick Kazman
  • This book provides an easily accessible overview of software architecture. Anyone requiring a comprehensive overview of the software architecture field will benefit from this book.
  • Publisher: Addison-Wesley Professional | ISBN: 0321154959
  • Abstract

    This book provides a concise, all-in-one, easily accessible overview of software architecture. Anyone requiring a comprehensive  overview of the field of software architecture will benefit from this book. Software Architecture in Practice, 2nd edition, provides a comprehensive overview of the field of software architecture in a single, easy-to-digest package.

    • 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?           

    Software Architecture in Practice 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.

    Related Course

    Software Architecture: Principles and Practices

    Format: Hardback