Software Architecture in Practice

by ; ;
Edition: 2nd
Format: Hardcover
Pub. Date: 2003-04-09
Publisher(s): Addison-Wesley Professional
List Price: $79.99

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

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

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

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.