or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Sell Back Your Copy
For a $6.50 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Evaluating Software Architectures: Methods and Case Studies
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Evaluating Software Architectures: Methods and Case Studies [Hardcover]

Paul Clements (Author), Rick Kazman (Author), Mark Klein (Author)
4.0 out of 5 stars  See all reviews (4 customer reviews)

List Price: $69.99
Price: $47.75 & this item ships for FREE with Super Saver Shipping. Details
You Save: $22.24 (32%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 9 left in stock--order soon (more on the way).
Want it delivered Wednesday, February 1? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Sell Back Your Copy for $6.50
Whether you buy it used on Amazon for $17.00 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $6.50.
Used Price$17.00
Trade-in Price$6.50
Price after
Trade-in
$10.50

Book Description

020170482X 978-0201704822 November 1, 2001 1
The foundation of any software system is its architecture. Using this book, you can evaluate every aspect of architecture in advance, at remarkably low cost -- identifying improvements that can dramatically improve any system's performance, security, reliability, and maintainability. As the practice of software architecture has matured, it has become possible to identify causal connections between architectural design decisions and the qualities and properties that result downstream in the systems that follow from them. This book shows how, offering step-by-step guidance, as well as detailed practical examples -- complete with sample artifacts reflective of those that evaluators will encounter. The techniques presented here are applicable not only to software architectures, but also to system architectures encompassing computing hardware, networking equipment, and other elements. For all software architects, software engineers, developers, IT managers, and others responsible for creating, evaluating, or implementing software architectures.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Evaluating Software Architectures: Methods and Case Studies + Documenting Software Architectures: Views and Beyond (2nd Edition) + Software Architecture in Practice (2nd Edition)
Price For All Three: $149.04

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Documenting Software Architectures: Views and Beyond (2nd Edition) $46.52

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Software Architecture in Practice (2nd Edition) $54.77

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



Editorial Reviews

From the Back Cover

Praise for Evaluating Software Architectures

“The architecture of complex software or systems is a collection of hard decisions that are very expensive to change. Successful product development and evolution depend on making the right architectural choices. Can you afford not to identify and not to evaluate these choices? The authors of this book are experts in software architecture and its evaluation. They collected a wealth of ideas and experience in a well-organized and accessible form. If you are involved in the development of complex systems or software, you will find this book an invaluable guide for establishing and improving architecture evaluation practice in your organization.”

         —Alexander Ran, Principal Scientist of Software Architecture, Nokia

“Software engineers must own this book. It is a well-written guide to the steps for evaluating software architecture. It argues for the inclusion of architecture evaluation and review as a standard part of the software development lifecycle. It introduces some new and innovative methods for analyzing important architecture characteristics, like extensibility, portability, and reliability. I believe these methods will become new engineering cornerstones for creating good software systems.”

         —Joe Maranzano, AT&T Bell Labs Fellow in Software Architecture (1990), and former head of the Bell Labs Software Technology Center

“Experience and teamwork are the only approaches I know of to deliver products faster, cheaper, and yet to delight your customers. In their first book, Software Architecture in Practice, Paul and Rick (and Len Bass) helped me match my experience with theory. Their invaluable approaches and case studies changed my practice and the way I proceed to design systems and software architectures. This second book, with Mark, covers what I will look at before I feel good about an architecture. It is about how I can tap other people's experience to produce an improved outcome, using other people's feedback. I have used many of the concepts explained in this book for my customers' benefit. Using this book, you—architects, developers, and managers—will develop a common language and practice to team up and deliver more successful products.”

         —Bertrand Salle, lead architect with a major telecommunications company

“If architecture is the foundation of system construction, architectural evaluation is part of the foundation of getting to a ‘good’ architecture. In this book, the authors put their considerable expertise to one of the most pressing issues in systems development today: how to evaluate an architecture prior to system construction to ascertain its feasibility and suitability to the system of interest. The book provides a practical guide to architecture evaluation using three contemporary evaluation methods. It should prove valuable to practitioners and as a basis for the evolution of architectural evaluation as an engineering practice.”


         —Rich Hilliard, Chief Technical Officer, ConsentCache, Inc., and technical editor, IEEE Recommended Practice for Architectural Description of Software-Intensive Systems

“Too many systems have performance and other problems caused by an inappropriate architecture. Thus problems are introduced early, but are usually detected too late—when the deadline is near or, even worse, after the problem makes the headlines. Remedies lead to missed schedules, cost overruns, missed market windows, damaged customer relations, and many other difficulties. It is easy to prevent these problems by evaluating the architecture choices early, and selecting an appropriate one.”

         —Connie U. Smith, Ph.D., principal consultant, Performance Engineering Services Division, L&S Computer Technology, Inc., and coauthor of the new book, Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software

“The ATAM an evaluation method described in this book is the natural quality-gate through which a high-level design should pass before a detail design project is initiated. Why use the ATAM to evaluate an architecture? Mitigation of design risk is a major reason, but more importantly, the ATAM provides an interactive vehicle that can give key development and user stakeholders architectural visibility—visibility that can lead to an important ‘early buy-in.’”

         —Rich Zebrowski, Software Technology Manager, Motorola, Inc.

“Caterpillar's experience with architecture reviews includes SAAM, ATAM, ARID, and ADR evaluation methods described in this book, the first three in detail. These reviews ensured that the needs of the user community were being met, and they exposed the architecture to others in the organization helping with understanding and organizational buy-in. The SAAM- and ATAM-based evaluations worked well to expose the architecture early in the development cycle to a broad range of people. The ARID- and ADR-based evaluations facilitated the exposure of technical details of the architecture later in the development cycle. As the architect of the pilot project for ARID, I observed that this review even served as an architecture training session before the architecture was fully documented.”

         —Lee R. DenBraber, former Lead Software Architect, Caterpillar, Inc.

“We’ve heard all the management hype about harnessing the innovative creativity of our teams, establishing integrated customer-developer-product teams, and better targeting our systems to meet end user needs. The ATAM techniques described in this book give technical managers, system architects, and engineers proven tools for breaking down the communications barriers that impede our ability to realize these goals. We have successfully integrated the ATAM techniques throughout our lifecycle, including development and maintenance, and have found that they provide the strong technical basis we need to evaluate the many difficult trades required by a system as large as EOSDIS.”

         —Mike Moore, Deputy Manager, Science Systems Development Office, Earth Observing System Data Information System (EOSDIS) Project, NASA Goddard Space Flight Center

“If you know how difficult architecture reviews are, you will be amazed how effective ATAM evaluations can be. For example, an ATAM evaluation we conducted on an important software product line identified a major architectural risk, which we subsequently were able to avoid-a benefit we expect to continue seeing. Moreover, ATAM techniques have enabled us to explain such risks to stakeholders far more clearly than by any other review method.”

         —Stefan Ferber, Corporate Research, Robert Bosch GmbH

Drawing on clearly identified connections between architecture design decisions and resulting software properties, this book describes systematic methods for evaluating software architectures and applies them to real-life cases. It shows you how such evaluation can substantially reduce risk while adding remarkably little expense and time to the development effort (in most cases, no more than a few days). Evaluating Software Architectures introduces the conceptual background for architecture evaluation and provides a step-by-step guide to the process based on numerous evaluations performed in government and industry.

In particular, the book presents three important evaluation methods:

  • Architecture Tradeoff Analysis Method (ATAM)
  • Software Architecture Analysis Method (SAAM)
  • Active Reviews for Intermediate Designs (ARID)

Detailed case studies demonstrate the value and practical application of these methods to real-world systems, and sidebars throughout the book provide interesting background and hands-on tips from the trenches.

All software engineers should know how to carry out software architecture evaluations. Evaluating Software Architectures is the chance to get up to speed quickly by learning from the experience of others.



About the Author

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.

Mark Klein is a senior member of the technical staff at the SEI. He is an adjunct professor in the Masters of Software Engineering program at Carnegie Mellon and a coauthor of A Practitioner's Handbook for Real-time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems (Kluwer Academic Publishers, 1993).



020170482XAB01162003

Product Details

  • Hardcover: 368 pages
  • Publisher: Addison-Wesley Professional; 1 edition (November 1, 2001)
  • Language: English
  • ISBN-10: 020170482X
  • ISBN-13: 978-0201704822
  • Product Dimensions: 9.6 x 6.6 x 0.9 inches
  • Shipping Weight: 1.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Best Sellers Rank: #434,894 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

4 Reviews
5 star:
 (1)
4 star:
 (2)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (4 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

53 of 56 people found the following review helpful:
5.0 out of 5 stars Essential reading for practicing SW architects, April 12, 2002
This review is from: Evaluating Software Architectures: Methods and Case Studies (Hardcover)
The authors provide an in-depth treatment of three methods for
evaluating software architectures, all of which were developed at the
Software Engineering Institute with involvement by the authors. The
methods examined are:
(1) ATAM (Architecture Tradeoff Analysis
Method)
(2) SAAM (Software Architecture Analysis Method)
(3)
ARID (Active Reviews for Intermediate Designs)

Each of the above
address software evaluations in increasing levels of detail, with the
book's main emphasis on ATAM.

What makes this book so valuable is
the fact that you can learn much about developing software
architectures from the criteria with which they are evaluated. For
example, the discussion on quality attributes is eye-opening because
what architects consider to be well formed quality attributes are
usually too vague to properly evaluate, resulting in ill defined
architectures in the first place. Knowing how to evaluate the
architecture will provide the keys for defining a solid architecture.
More important is the way the authors define the outputs of the
architecture evaluation, which gives the practicing architect a
framework for design that fully meets the evaluation criteria. The
net result is that a defined architecture will unambiguously
communicate the design to the development team, as well as to the QA
team.

I especially like the business oriented approach that
addresses the costs and benefits of evaluation, the three approaches
from which to choose that best meets technical and business goals, and
the case studies that support each of the approaches. Another strong
point about this book is architecture is also evaluated with
production in mind. Too many books only consider architecture from
the development point of view, or in rare cases, from development and
QA points of view. The evaluation techniques in this book extend to
support and maintenance. The authors make selection of the best
technique easy by comparing them in Chapter 9, and provide an approach
to implement evaluations in Chapter 10.


If you're an architect I also recommend augmenting the excellent
material in this book with Design and Use of Software Architectures by
Jan Bosch , which gives an alternate method to ATAM that is more
complete in many respects. Even if you espouse Bosch's approach,
however, the approach and techniques given in Evaluating Software
Architectures: Methods and Case Studies are complementary. I personally
recommend both books and assign equal value to them.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


14 of 14 people found the following review helpful:
4.0 out of 5 stars Depends on what you want., July 1, 2004
Amazon Verified Purchase(What's this?)
This review is from: Evaluating Software Architectures: Methods and Case Studies (Hardcover)
What this book does, it does very well. It presents three techniques for reviewing the suitability of a software architecture. The presentation style is clear, complete, and reasonably frank about the problems an architecture evaluator is likely to encounter.

The oldest of the three techniques presented is SAAM, the Software Architecture Analysis Model. It's primary goal is to determine how well a system's structure addresses the technical requirements of the application, and its probable success at addressing future changes of requirements.

ATAM, the Architecture Tradeoff Analysis Method, descends from SAAM but is far more complete. It starts upstream of the requirements, at the business model behind the application, then moves forward methodically through the top-level design. At each step, reviewers update the list of technical risks and non-risks (relatively safe items). ATAM is open-ended, in the sense that the project's own goals define the specific measures of quality that apply - it doesn't force-fit every project onto one Procrustean axis of measure.

If ATAM is SAAM grown large, then ARID (Active Reviews for Intermediate Design) is SAAM scaled down. Where ATAM and SAAM address strategic issues about complete systems, ARID incorporates tactical information about specific design issues. It's not as narrow as standard design review techniques, but not as broad as an architecture review.

ATAM is the main focus of the book, with more pages than SAAM and ARID combined. All three are described in full detail, however. The authors identify the specific skill sets, roles, and responsibilities that must be involved at each step. They present checklists for eliciting the kinds of information needed, even specifics of meeting agendas and meeting room equipment.

That creates my second impression of this book: I was very disappointed. This book is for meeting organizers, and deals very little with technical specifics. That is not at all what I hoped for. It is not the fault of the book that it fails to meet my expectations. In my present work, however, the authors present just about nothing to enhance my project's technical content.

This is a process book. It seems to be a good one. It takes what works in other design review methodologies, then expands that to the highest level of the software project. It gives enough detail that you can tune specifics of the process to specifics of your project. Still, it's just a process book.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 6 people found the following review helpful:
4.0 out of 5 stars Great on meeting details, but short on substantive examples, May 4, 2005
This review is from: Evaluating Software Architectures: Methods and Case Studies (Hardcover)
This book does a great job of diving into specific details on how to run meetings and the checklists of steps to follow for three different architecture review models that go into different depth (ATAM, SAAM, and ARID). I really liked the breadth of issues that the reviews covered as well as the concrete guidelines on how deep to go with the reviews.

I didn't particularly enjoy the checklist feel of the book. I felt like they had a series of meetings to have and attendees, but they didn't do a good job of explaining why which meetings had to happen in which order and what lengths were appropriate. It was hard to understand what was a critical constraint and not to be violated and what was guideline that would vary by project and is open to interpretation.

Additionally, the examples in the book were comprehensive in terms of what happened in the meetings, but weren't quite complete enough in terms of the documents generated. There were excerpts, but I almost would've liked to see larger pieces of them in the appendices. It was hard to get past the details of who was in what room when to what documents were actually generated, what the final results presentation looked like, and what the flavor of follow-up actions was.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews


Only search this product's reviews




Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject