Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $74.99
  • Save: $23.55 (31%)
Only 1 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Add to Cart
Want it tomorrow, April 24? Order within and choose One-Day Shipping at checkout. Details
FREE Shipping on orders over $35.
Condition: Used: Good
Comment: Eligible for FREE Super Saving Shipping! Fast Amazon shipping plus a hassle free return policy mean your satisfaction is guaranteed! Good readable copy. Worn edges and covers and may have small creases. Otherwise item is in good condition.
Add to Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

Documenting Software Architectures: Views and Beyond Hardcover

ISBN-13: 978-0201703726 ISBN-10: 0201703726 Edition: 1st

Amazon Price New from Used from Collectible from
"Please retry"
$3.64 $0.13 $20.00

There is a newer edition of this item:


Frequently Bought Together

Documenting Software Architectures: Views and Beyond + Evaluating Software Architectures: Methods and Case Studies
Price for both: $103.24

Buy the selected items together


Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 560 pages
  • Publisher: Addison-Wesley Professional; 1 edition (October 6, 2002)
  • Language: English
  • ISBN-10: 0201703726
  • ISBN-13: 978-0201703726
  • Product Dimensions: 9.5 x 6.5 x 1.3 inches
  • Shipping Weight: 1.8 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (8 customer reviews)
  • Amazon Best Sellers Rank: #1,175,917 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

"This book is of immense value. It should save you months of trials and errors, lots of undeserved hassle, and many costly mistakes that could potentially jeopardize the whole endeavor. It will become an important reference on the shelf of the software architect."
—From the Foreword by Philippe Kruchten, Rational Software Canada

"There is probably no better set of authors to write this book. The material is readable. It uses humor effectively. It is nicely introspective when appropriate, and yet in the end it is forthright and decisive....This is a tour de force on the subject of architectural documentation."
—Robert Glass, Editor-in-Chief, Journal of Systems and Software and Editor/Publisher, The Software Practitioner

For all but the most trivial software systems, you must pay close attention to the architecture—the conceptual glue that holds every phase of a project together for its many stakeholders. Without an architecture that is appropriate for the problem being solved, the project will stumble along or, most likely, fail. Even with a superb architecture, if that architecture is not well understood or well communicated—in other words, well documented—the project cannot be considered a complete success.

Although architecture is now widely recognized as a critical element in software development, there has been little guidance independent of language or notation on how to capture it. Based on the authors' extensive experience, Documenting Software Architectures helps you decide what information to document, and then, with guidelines and examples (in various notations, including UML), shows you how to express an architecture in a form that everyone can understand. If you go to the trouble of creating a strong architecture, you must also be prepared to describe it thoroughly and clearly, and to organize it so that others can quickly find the information they need.

Essential topics for practitioners include:

  • Seven rules for sound documentation
  • The uses of software architecture documentation, including goals and strategies
  • Architectural views and styles, with general introductions and specific examples
  • Documenting software interfaces and software behavior
  • Templates for capturing and organizing information to generate a coherent package


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.

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.

Robert L. Nord, a member of the software architecture program at SCR, designs and evaluates software architectures for large-scale industrial systems. Dr. Nord, currently the Siemens industrial resident affiliate at the Software Engineering Institute (SEI) in Pittsburgh, is working on methods for architecture trade-off analysis and product-line practices. His other interests include transitioning software design practices, improving architecture practices using software architecture improvement groups, and architecture-based development.


More About the Author

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

Customer Reviews

4.5 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

42 of 44 people found the following review helpful By wiredweird HALL OF FAMETOP 500 REVIEWER on June 22, 2004
Format: Hardcover
Software architecture really is unlike any other aspect of its design. The architecture has deeper meaning and larger scale than any other aspect, and can't be discussed in the same ways.
This book opens that discussion. Among the "architecture" books I've read lately, this is the only one to offer concrete advice on describing, presenting, and analyzing archtiectural features of a system. It identifies a number of documentation types and variations. It also identifies a number of different readers - developers, future architects, users, etc. - and addresses their different documentation needs.
The authors use a little UML, but not a lot. For one thing, standard UML works at too low a level for architectural discussion. Classes, and even hierarchies of class inheritance are such fine-grained entities that architecture gernerally won't address them. Instead, the authors offer a number of diagramming styles of their own. For once, I agree with the need for non-standard notation.
Even so, I think they under-utilize the existing standards in favor of their own terminology and notation. They could have used a UML profile for lots of the discussion. It would have had to be a new profile, however, not just a force-fit of the real-time profile. They also under-used the existing architecture standards (IEEE/ANSI, DoD, NASA, and more) in favor of their own discussion. Maybe their approach can be used in any of those frameworks, but that should have been more explicit.
I see only one major flaw in this book, the assumption that a software system's architecture describes the program delivered to a customer. That's way too narrow. A large system includes things like test harnesses, debug instrumentation, application-specific QA tools, and user documentation of many kinds.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
40 of 43 people found the following review helpful By Mike Tarrani HALL OF FAMETOP 50 REVIEWER on October 6, 2002
Format: Hardcover Verified Purchase
Since reading a fascinating document titled "CMU/SEI-2001-TN-010 - Documenting Software Architectures: Organization of Documentation Package" a year ago and discovering that the approximately 20-page document was the basis for a book I have patiently waited, and am delighted with how the book turned out.
First, this book stands out as one of the clearest descriptions of how to not only document architectures, but how to manage the documentation project. Second, this is not a dogmatic prescription for how to document, but instead gives a set of techniques and views that can be used singularly or in combination to produce documentation that meets the needs of all technical and business stakeholders.
When I read the brief predecessor to this book I liked the way different view types and styles were introduced, but was left to my own imagination and creativity to employ them based on scant descriptions. This book rectifies those gaps by providing comprehensive guidance on how to create each view type and when it's most appropriate for inclusion into the documentation project. I was also intrigued by the earlier document because it discussed 'information chunking', which is the basis for a technique in which I'm trained and certified called Information Mapping©. The book expands on the earlier work, and it turns out that the material is not only consistent with Information Mapping© at a high level, but also shares many core principles. To me this is another plus because it will introduce readers who have not benefited from formal Information Mapping© training to powerful and effective document design and development techniques.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By Juan Gomez on July 26, 2010
Format: Hardcover Verified Purchase
Documentation is one of the main duties of a Software Architect. A master design, poorly documented, will most probably be poorly implemented. This book is an excellent guide to create long lasting documentation that effectively conveys your design and helps guides your project from conception all the way to maintenance.

It gives great insight on how to successfully target your different audiences and explains in a clear and concise way a lot of the terminology used in the most widely adopted architectural styles.. The way the documentation packages are explained and organized creates a convenient and easy to follow catalog, allowing your stakeholders to employ your documentation as a reference that they keep visiting over and over again throughout the entire life-cycle of your project.

The book is also organized in a way that it can be used as a reference book by the Architect or as a documentation companion for developers and business users; there are different "paths" through the book, targeted to different audiences and conveniently outlined on the preface.

I can't wait for the second edition to come out! (already pre-ordered)
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 4 people found the following review helpful By geekwisdom on January 22, 2007
Format: Hardcover
Simply put, I think this book represents the best thinking about documenting software architectures. You can find other books that include different aspects covered in this book (documenting views, 4+1, ANSI/IEEE-1471-2000, etc). However, you will have a hard time finding a book that pulls it all together, provides the rationale and includes the "beyond" part which discusses other approaches to documenting software architectures and how they relate to the "Views and Beyond" (V&B) approach. For instance, the book discusses how to use V&B to comply with ANSI/IEEE-1471-2000.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Product Images from Customers