did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321154958

Software Architecture in Practice

by ; ;
  • ISBN13:

    9780321154958

  • ISBN10:

    0321154959

  • Edition: 2nd
  • Format: Hardcover
  • Copyright: 2003-04-09
  • Publisher: Addison-Wesley Professional
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $79.99

Summary

bull; A thorough introduction to all aspects of software architecture bull; Shows how the knowledge and application of software architecture can help an organisation achieve the quality goals of its systems bull; The field of software architecture continues to grow, and this book is the leading introduction

Author Biography

Len Bass is a senior member of the technical staff at the Software Engineering Institute (SEI) Paul Clements is a senior member of the technical staff at the SEI, where he works on software architecture and product-line engineering Rick Kazman is a senior member of the technical staff at the SEI. He is also an associate professor at the University of Hawaii

Table of Contents

Preface.
Acknowledgments.
Reader's Guide.

I. ENVISIONING ARCHITECTURE.

1. The Architecture Business Cycle.
2. What Is Software Architecture?
3. A-7E Avionics System: A Case Study in Utilizing Architectural Structures.

II. CREATING AN ARCHITECTURE.

4. Understanding Quality Attributes.
5. Achieving Qualities.
6. Air Traffic Control: A Case Study in Designing for High Availability.
7. Creating the Architecture.
8. Flight Simulation: A Case Study in an Architecture for Integrability.
9. Documenting Software Architectures.
10. Reconstructing Software Architectures.

III. ANALYZING AN ARCHITECTURE.

11. The ATAM: A Comprehensive Method for Architecture Evaluation.
12. CBAM: A Quantitative Approach to Architecture Design Decision Making.
13. The World Wide Web: A Case Study in Interoperability.

IV. MOVING FROM ONE SYSTEM TO MANY.

14. Software Product Lines: Reusing Architectural Assets.
15. CelsiusTech: A Case Study in Product Line Development.
16. J2EE/EJB: A Case Study of an Industry Standard Computing Infrastructure.
17. The Luther Architecture: A Case Study in Mobile Applications Using J2EE.
18. Building Systems from Off-the-Shelf Components.
19. Software Architecture in the Future.
Glossary.
References.
Index. 0321154959T12162002

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

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 substa

Rewards Program