Items related to Software Architecture in Practice

Software Architecture in Practice - Hardcover

  • 3.85 out of 5 stars
    709 ratings by Goodreads
 
Image Not Available

Synopsis

This award-winning book, substantially updated to reflect the latest developments in the field, introduces the concepts and best practices of software architecture--how a software system is structured and how that system's elements are meant to interact. Distinct from the details of implementation, algorithm, and data representation, an architecture holds the key to achieving system quality, is a reusable asset that can be applied to subsequent systems, and is crucial to a software organization's business strategy.

Drawing on their own extensive experience, the authors cover the essential technical topics for designing, specifying, and validating a system. They also emphasize the importance of the business context in which large systems are designed. Their aim is to present software architecture in a real-world setting, reflecting both the opportunities and constraints that companies encounter. To that end, case studies that describe successful architectures illustrate key points of both technical and organizational discussions.

Topics new to this edition include:

  • Architecture design and analysis, including the Architecture Tradeoff Analysis Method (ATAM)
  • Capturing quality requirements and achieving them through quality scenarios and tactics
  • Using architecture reconstruction to recover undocumented architectures
  • Documenting architectures using the Unified Modeling Language (UML)
  • New case studies, including Web-based examples and a wireless Enterprise JavaBeans™ (EJB) system designed to support wearable computers
  • The financial aspects of architectures, including use of the Cost Benefit Analysis Method (CBAM) to make decisions

If you design, develop, or manage the building of large software systems (or plan to do so), or if you are interested in acquiring such systems for your corporation or government agency, use Software Architecture in Practice, Second Edition, to get up to speed on the current state of software architecture.

"synopsis" may belong to another edition of this title.

About the Author

Len Bass is a senior member of the technical staff at the Software Engineering Institute (SEI). He has written or edited five books and numerous papers on software engineering and other topics. He has extensive experience in architecting real-world development projects.

Paul Clements is a senior member of the technical staff at the SEI, where he works on software architecture and product line engineering. He is the author of five books and more than three dozen papers on these and other topics.

Rick Kazman is a senior member of the technical staff at the SEI. He is also an Associate Professor at the University of Hawaii. He is the author of two books, editor of two more, and has written more than seventy papers on software engineering and related topics.



Excerpt. © Reprinted by permission. All rights reserved.

Software architecture is an important field of study that is becoming more important and more talked about with every passing day. Nevertheless, to our knowledge, there exists little practical guidance on managing software architecture in a real software development organization, from both technical and managerial perspectives. This book has emerged from our belief that the coupling of a system's software architecture and its business and organizational context has not been well explored.

Our experience with designing and analyzing large and complex software-intensive systems has led us to recognize the role of business and organization in the design of the system and in its ultimate success or failure. Systems are built to satisfy an organization's requirements (or assumed requirements in the case of shrink-wrapped products). These requirements dictate the system's performance, availability, security, compatibility with other systems, and the ability to accommodate change over its lifetime. The desire to satisfy these goals with software that has the requisite properties influences the design choices made by a software architect.

In this book we demonstrate this coupling of software architecture and corporate context through the use of case studies drawn from real systems. Our examples include the following situations:

  • The desire to share documents quickly and easily within an organization, with a minimum of centralized control, led to the software architecture of the World Wide Web.
  • The extreme safety requirements of air traffic control led one company to build a system around an architecture for achieving ultra-high availability.
  • The distribution of the subsystems of a flight simulator to remotely located developers led to an architecture geared to enable smooth integration of these subsystems.
  • The need to satisfy simultaneous product deliveries led (in fact, forced) one company to adopt an architecture that enabled the company to build a set of complex related software systems as a product line.
  • The need to standardize architectural approaches across organizations and in the community at large led to infrastructures such as J2EE and EJB.
  • These and other case studies show that software architectures flow from the requirements of organizations and their business models, from the experience of the organization's architects, as well as from the prevailing design climate.

    In addition, we show how architectures themselves can be powerful vehicles for influencing all of the preceding. A successful product or set of products can influence the way other products are built. Certainly the case study about the software underlying the World Wide Web is a good example of this. Before this system existed, there was far less network awareness, less thought was given to accessibility of data, and security was the concern of only a few organizations, typically financial institutions and government agencies.

    Our book is aimed at software professionals--the people who design and implement large software-intensive systems, the managers of software professionals, and the students who are hoping to become software professionals.

    We believe that a software architecture is the development product that gives the highest return on investment with respect to quality, schedule, and cost. Because its architecture appears early in a product's lifetime, getting it right sets the stage for everything to come--the system's development, integration, testing, and modification. Getting it wrong means that the fabric of the system is wrong, and it cannot be fixed by weaving in a few new threads or pulling out a few existing ones, which often causes the entire fabric to unravel. Also, compared to other development activities, analyzing architectures is inexpensive. Thus, architectures give a high return on investment because decisions made for the architecture have substantial downstream consequences and because checking and fixing an architecture is relatively inexpensive.

    We also believe that re-use is achieved best within an architectural context. But components are not the only artifacts that can be re-used. Re-use of an architecture leads to the creation of families of systems, which in turn leads to new organizational structures and new business opportunities.

    We devote a large percentage of this book to presenting real architectures that were designed to solve the real problems of real organizations. We chose the cases presented here to illuminate the types of choices that architects must make to achieve their quality goals and to illuminate how organizational goals affect the final systems.

    In addition to the case studies, this book offers a set of techniques for designing, building, and evaluating software architectures. We look at techniques for understanding quality requirements in the context of an architecture, and for building architectures that meet these quality requirements. We look at architecture representation and reconstruction techniques as a means of describing and validating software architectures. We look at techniques for analyzing and evaluating an architecture's fitness for its purpose. Each of these techniques is derived from our experience, and the experience of our colleagues at the Software Engineering Institute, with a variety of software systems. These systems range up to millions of lines of code and are large-team, multi-year development efforts.

    Although we discuss business issues throughout the book (for example, an architecture's effects on an organization's ability to compete in a market or a product family's time-to-market), we present this material without going into great depth on the business issues, and without business jargon. We are, after all, software engineers. We present the technical sections of our book in more depth. These sections represent current work in the field of software architecture--the point where research meets practice. The case studies illuminate these technical foundations, and show how they are realized in practice. To benefit from the lessons illuminated by the case studies, you will need a reasonable background in computer science, software engineering, or a related discipline. However, we have written them in such a way that you will not need expertise in the application domain from which the case study was drawn. For example, you do need not be a pilot to understand either the air traffic control system or the flight simulation case studies.

    What's New in the Second Edition

    Our goals for this second edition are the same as they were for the first, but the passage of time since the writing of the first edition has brought new developments in the field and new understanding of the important underpinnings of software architecture. We reflect the new developments with new case studies and our new understanding both through new chapters and through strengthening the existing chapters. Also, the writing of this second edition has been strongly influenced by several other books that we have collectively authored since the publication of the first edition--Documenting Software Architectures, Evaluating Software Architectures: Methods and Case Studies, and Software Product Lines: Principles and Practice. The creation of these books, along with other technical and research activities, has greatly influnced us in developing this book. This second edition reflects the fact that architecture analysis, design, reconstruction, and documentation have all had major developments since the first edition.

    Architecture analysis has developed into a mature field with industrial-strength methods--reflected here by a new chapter in Part Three about the Architecture Tradeoff Analysis Method (ATAMSM). Many industrial organizations have adopted the ATAM as a technique for evaluating software architectures.

    Architecture design has also had major developments since the first edition. The capturing of quality requirements, their achievement through small-scale and large-scale architectural approaches (tactics and patterns, respectively), and a design method that reflects knowledge of how to achieve them are all discussed in various chapters. Three new chapters treat understanding quality requirements, achieving qualities, and the Attribute Driven Design Method (ADD).

    Architecture reconstruction, or reverse engineering, is an essential activity for capturing undocumented architectures. It can be used as a portion of a design project or as an analysis project, or as input into a decision regarding what to use as a basis for reconstructing a system. In the first edition, we briefly mentioned a tool set (Dali) and its uses in the re-engineering context, but in this edition the topic merits its own chapter.

    Documenting software architectures is another topic that has matured considerably in the recent past. When the first edition was published, the Unified Modeling Language (UML) was just arriving on the scene. Now it is firmly entrenched, a reality reflected here with all-new diagrams. More important, an understanding of the kind of information to capture about an architecture, beyond which notation to use, has emerged. A new chapter covers architecture documentation.

    The application of software architecture to enable organizations to efficiently produce a variety of systems based on a single architecture is summarized in a totally rewritten chapter on software product lines. This chapter reinforces the link between architecture and an organization's business goals, in view of the fact that product lines (based around a software architecture) can enable order-of-magnitude improvements in cost, quality, and time-to-market.

    In addition to the architectural developments, the technology for constructing distributed and Web-based systems has become prominent in today's economy. We reflect this trend in our updated chapter on the World Wide Web by using Web-based examples in the chapter on the ATAM and the chapter on building systems from components, by replacing the case study on Common Object Request Broker Architecture (CORBA) with one on Enterprise JavaBeans (EJBs), and by introducing a case study on a wireless EJB system designed to support wearable computers for maintenance technicians.

    Finally, we have added a chapter that looks more closely at the financial aspects of architectures. In this chapter, we introduce a method--the Cost Benefit Analysis Method (CBAM)--for basing architectural decisions on economic criteria, in addition to the technical criteria that we discussed previously.

    As in the first edition, we use the Architecture Business Cycle (ABC) as a unifying motif. All of the case studies are described in terms of the quality goals that motivated the system's design and how the system's architecture achieves those goals.

    In writing the second edition, as with the first, we were very aware that our primary audience is practitioners, and so we have focused on material that has been found useful in many industrial applications as well as what we expect practice to be in the near future.

    We hope that you enjoy reading this second edition at least as much as we enjoyed writing it.



    0321154959P03252003

    "About this title" may belong to another edition of this title.

    • PublisherAddison-Wesley Professional
    • Publication date2003
    • ISBN 10 0321154959
    • ISBN 13 9780321154958
    • BindingHardcover
    • LanguageEnglish
    • Number of pages512
    • Rating
      • 3.85 out of 5 stars
        709 ratings by Goodreads

    Buy Used

    Condition: Very Good
    Item in very good condition! Textbooks... View this item

    Shipping: FREE
    Within U.S.A.

    Destination, rates & speeds

    Add to basket

    Other Popular Editions of the Same Title

    Image Not Available

    Featured Edition

    ISBN 10:  8177589962 ISBN 13:  9788177589962
    Publisher: Pearson India, 2006
    Softcover

    Search results for Software Architecture in Practice

    Stock Image

    Bass, Len
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: SecondSale, Montgomery, IL, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Condition: Very Good. Item in very good condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00078442193

    Contact seller

    Buy Used

    US$ 6.29
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 2 available

    Add to basket

    Stock Image

    Bass, Len,Clements, Paul,Kazman, Rick
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: Once Upon A Time Books, Siloam Springs, AR, U.S.A.

    Seller rating 4 out of 5 stars 4-star rating, Learn more about seller ratings

    Hardcover. Condition: Good. This is a used book in good condition and may show some signs of use or wear . This is a used book in good condition and may show some signs of use or wear . Seller Inventory # mon0001418026

    Contact seller

    Buy Used

    US$ 2.36
    Convert currency
    Shipping: US$ 3.95
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    Stock Image

    Bass, Len
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Hardcover. Condition: Very Good. No Jacket. Former library book; May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 2.16. Seller Inventory # G0321154959I4N10

    Contact seller

    Buy Used

    US$ 6.36
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    Stock Image

    Bass, Len
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Hardcover. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 2.16. Seller Inventory # G0321154959I4N00

    Contact seller

    Buy Used

    US$ 6.36
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    Stock Image

    Bass, Len
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: ThriftBooks-Reno, Reno, NV, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Hardcover. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 2.16. Seller Inventory # G0321154959I4N00

    Contact seller

    Buy Used

    US$ 6.36
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    Stock Image

    Kazman, Rick, Bass, Len, Clements, Paul
    Published by Addison Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: Better World Books, Mishawaka, IN, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Condition: Good. 2nd Edition. Used book that is in clean, average condition without any missing pages. Seller Inventory # GRP102669871

    Contact seller

    Buy Used

    US$ 6.55
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 3 available

    Add to basket

    Stock Image

    Bass, Len, Clements, Paul, Kazman, Rick
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: Wonder Book, Frederick, MD, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Condition: Very Good. Very Good condition. 2nd edition. A copy that may have a few cosmetic defects. May also contain light spine creasing or a few markings such as an owner's name, short gifter's inscription or light stamp. Seller Inventory # B03A-02225

    Contact seller

    Buy Used

    US$ 7.99
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    Stock Image

    Kazman, Rick
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: WorldofBooks, Goring-By-Sea, WS, United Kingdom

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Hardback. Condition: Good. The book has been read but remains in clean condition. All pages are intact and the cover is intact. Some minor wear to the spine. Seller Inventory # GOR004076493

    Contact seller

    Buy Used

    US$ 4.18
    Convert currency
    Shipping: US$ 7.43
    From United Kingdom to U.S.A.
    Destination, rates & speeds

    Quantity: 2 available

    Add to basket

    Stock Image

    Kazman, Rick
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    Used Hardcover

    Seller: WorldofBooks, Goring-By-Sea, WS, United Kingdom

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Hardback. Condition: Very Good. The book has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged. Seller Inventory # GOR002319737

    Contact seller

    Buy Used

    US$ 4.18
    Convert currency
    Shipping: US$ 7.43
    From United Kingdom to U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    Stock Image

    Bass, Len; Clements, Paul; Kazman, Rick
    Published by Addison-Wesley Professional, 2003
    ISBN 10: 0321154959 ISBN 13: 9780321154958
    New Hardcover

    Seller: Gulf Coast Books, Memphis, TN, U.S.A.

    Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

    Hardcover. Condition: New. Seller Inventory # 0321154959-11-23495965

    Contact seller

    Buy New

    US$ 12.91
    Convert currency
    Shipping: FREE
    Within U.S.A.
    Destination, rates & speeds

    Quantity: 1 available

    Add to basket

    There are 8 more copies of this book

    View all search results for this book