CDN$ 114.95
Only 2 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Software Modeling and Des... has been added to your 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
See all 3 images

Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures Hardcover – Feb 21 2011

See all 3 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 114.95
CDN$ 108.44 CDN$ 108.36

Save an Additional 10% on Textbooks When you Join Amazon Student

Special Offers and Product Promotions

  • Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your e-mail address or mobile phone number.

Product Details

  • Hardcover: 578 pages
  • Publisher: Cambridge University Press (Feb. 21 2011)
  • Language: English
  • ISBN-10: 0521764149
  • ISBN-13: 978-0521764148
  • Product Dimensions: 21.5 x 3.2 x 25.3 cm
  • Shipping Weight: 1.1 Kg
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #355,554 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description


"In Software Modeling and Design, Hassan Gomaa provides a clear, lucid presentation of a comprehensive software design method, based on industry-standard design notation, and battletested in the context of graduate-level software engineering courses taught at George Mason University. The book includes four, diverse case studies, showing readers how to apply the method to solve industrial-scale software design problems. These traits make this book unique within the field of software design and engineering."
Kevin Mills, NIST

"This book presents a general, complete, and precise engineering solution, illustrated by many thorough examples, for model-based architecture and design. I strongly recommend it to anybody who wants to teach, or get acquainted with, the practice of modeling software. Beyond notation, this book focuses on fundamental and practical modeling and architecting principles."
Lionel Briand, Simula Research Laboratory and University of Oslo

"This is a 'must have' book for any senior technologist actively involved in the software development life cycle. It provides not only principles of software architecture, design and development but also practical examples of how to apply these techniques to produce high-quality, maintainable and extensible software. Dr. Gomaa, a recognized thought leader in software engineering, hits another home run with this volume."
Mark Gianturco, Intelligent Discovery Solutions

"Software modeling and designing are complex activities. Developing high quality models, particularly by novice analysts, requires a thorough understanding of the fundamentals of modeling as well as its nuances. This book provides a comprehensive coverage of modeling the static and dynamic aspects of software systems and architectures. It presents a fresh perspective on software modeling and design through the application of the UML based COMET (Collaborative Object Modeling and Architectural Design Method) approach to real world examples. Dr Gomaa has done an excellent job of presenting the material in a simple and elegant manner. The fundamental concepts have been explained with lots of examples and further solidified through several case studies presented at the end of the book. Overall, this is an excellent book on software modeling and design that will be valuable for not only software engineering students but also practitioners."
Vijayan Sugumaran, Oakland University, Rochester, Michigan

"Software modeling continues to dominate as a method of choice for practitioners to gain an in-depth understanding of complex systems. Gomaa's book stands out from other titles on software modeling in both its breadth and depth of coverage. Its detailed case studies are second to none when it comes to really seeing how modeling can be applied in practice."
Jon Whittle, Lancaster University

"The COMET method is a unique UML-based approach covering theories and practices for modeling and design of software systems. This book is the core of author's experiences and philosophy on software development."
Michael Shin, Texas Tech University

"This is a large book with interesting, well-presented material; it is particularly strong in its wealth of examples, as well as its discussion of concurrency, which permeates the book. It is a strong contender for adoption as the textbook in advanced undergraduate and graduate courses in object-oriented analysis and design, particularly when architectural design is the focus. Practitioners will also find it to be a useful tutorial and reference."
Christopher Fox, Computing Reviews

"Software Modeling and Design is well written and concise, effectively describing a variety of software models and architectures. Gomaa has served in industry and academia; his research revolves around this book's topic, and he has made numerous contributions in the field. Possibly the best part of the book can be found toward the end, where the author presents a series of case studies."
D. Papamichail, Choice Magazine

Book Description

This book tells you all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method to real-world problems.

See all Product Description

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) HASH(0xa86a8aec) out of 5 stars 5 reviews
11 of 12 people found the following review helpful
HASH(0xa86ed42c) out of 5 stars Very high quality book packed with very valuable information April 9 2011
By T Anderson - Published on
Format: Hardcover Verified Purchase
If you want to learn to use UML as a communication tool on your software development projects, this is the book too own. It contains a ton of examples and covers every aspect of the UML you will need to know to successfully use it on your projects.

The book starts out with an introduction to software architecture and object oriented analysis and design with UML.

There is then a short chapter on UML notation, a chapter on software development processes, and one on software design and architectural concepts. The last chapter in part one introduces COMET (Collaborative Object Modeling and Architectural Design Method), which is the author's software modeling and design method.

To me COMET is not really that much different than the Unified Process, which is a great process. COMET just breaks out the testing activities a little differently. COMET is a very usable process and if used correctly should lead to successful software development projects.

Part two of the book is all about modeling. There is a chapter on Use Case Modeling, Static Modeling, Object and Class Structuring, Dynamic Interaction Modeling, Finite State Machines, and State-Dependent Dynamic Interaction Modeling.

By the time you are done with part two of this book you will know all you need to know to produce high quality diagrams that can be used between the different stakeholders on your projects as very effective communication tools.

Part three of the book covers software architecture. There is a chapter on the Overview of Software Architecture, Software Subsystem Architectural Design, Designing Object-Oriented Software Architectures, Designing Client/Server Software Architectures, Designing Service-Oriented Architectures, Designing Component-Based Software Architectures, Designing Concurrent and Real-Time Software Architectures, Designing Software Product Line Architectures, and a chapter on Software Quality Attributes.

If the chapter on Software Product Lines interests you, I would highly recommend buying the author's book tilted Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures.

I really the like the way part two introduces the different perspectives you need to have when considering the type of architecture you are building. The way the author accomplishes this is unique to this book. I have not seen it broken down this way before, and it really provides some great insight.

Part three contains several case studies. Each one provides a detailed design of the system being discussed. These are great for seeing how well the design techniques in this book work. You get a complete understanding of each of the systems in the case studies by the time you are done reading the chapter.

This book is really well written and organized. You can read it from front to back or use it as a reference. Each chapter ends with exercise questions. I usually just ignore these, but since the author has decided to include the answers I enjoyed trying to answer them.

The book has an appendix which contains a nice catalog of software architectural patterns. It is a summary of architectural structure patterns, communication patterns, and transaction patterns. It contains a summary of the pattern and the location it is used in the book.

All in all this is a very high quality book packed with very valuable information any architect at an level of experience will benefit from. Hi highly recommend this book!!!!
8 of 8 people found the following review helpful
HASH(0xa86ef09c) out of 5 stars Well written book that actually provides useful guidelines on applying the UML to construct software designs for real systems May 2 2011
By Software Designer - Published on
Format: Hardcover
This book provides more than just the ordinary overview of the Unified Modeling Language (UML). Rather, this book is the rare exception that not only provides the novice with an introduction to UML (2), but also provides a comprehensive software design method aimed at modeling large scale, industrial software systems. Furthermore, the COMET method described in this book is augmented with several detailed case studies to aid comprehension and demonstrate the application of the software design method in real situations. This book is an excellent text for software design courses as well as an excellent reference for practicing software architects / designers.
5 of 5 people found the following review helpful
HASH(0xa8fc76f0) out of 5 stars masterpiece Jan. 16 2012
By GorkemKSK - Published on
Format: Hardcover Verified Purchase
i m new as software developer but i can say that you can find the logic of software architect in this book. Every think you need. :) Strongly recommended. Use cases and software modelling are main object that took my attention. This was the best among 10s books i red about soft arc.
HASH(0xa867d534) out of 5 stars It worth just 1/3 of its prize. May 11 2015
By Mauricio - Published on
Format: Hardcover Verified Purchase
One or two examples carry on along the book would had helped more than several disconnected examples. Too much repetition of same ideas, therefore a waste of time. Of the 100% I was expecting to learn from this book guess only 30% was provided by it. It worth just 1/3 of its prize.
1 of 8 people found the following review helpful
HASH(0xa86bc048) out of 5 stars Fair well book Oct. 29 2012
By Howard - Published on
Format: Kindle Edition Verified Purchase
I think is a good book and it is useful for my course studying UML. I can't tell more as I haven't finished reading.