Skip to content
Register Sign in Wishlist

Software Modeling and Design
UML, Use Cases, Patterns, and Software Architectures

$80.00 ( ) USD

  • Date Published: March 2011
  • availability: This ISBN is for an eBook version which is distributed on our behalf by a third party.
  • format: Adobe eBook Reader
  • isbn: 9781139036740
Average user rating
(1 review)

$ 80.00 USD ( )
Adobe eBook Reader

You will be taken to for this purchase
Buy eBook Add to wishlist

Other available formats:

Looking for an examination copy?

If you are interested in the title for your course we can consider offering an examination copy. To register your interest please contact providing details of the course you are teaching.

Product filter button
About the Authors
  • This book covers 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. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes including maintainability, modifiability, testability, traceability, scalability, reusability, performance, availability, and security. Complete case studies illustrate design issues for different software architectures: a banking system for client/server architecture, an online shopping system for service-oriented architecture, an emergency monitoring system for component-based software architecture, and an automated guided vehicle for real-time software architecture. Organized as an introduction followed by several short, self-contained chapters, the book is perfect for senior undergraduate or graduate courses in software engineering and design, and for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of large-scale software systems.

    • Provides a unified approach to designing software architectures, while describing the special considerations for each category of software architecture
    • Presents case studies to appeal to readers who wish to design software architectures using a systematic UML-based method
    Read more

    Reviews & endorsements

    "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

    See more reviews

    Customer reviews

    12th Oct 2017 by Senas

    this book will help me to solve my problem because author of this book is masterpiece.

    Review was not posted due to profanity


    , create a review

    (If you're not , sign out)

    Please enter the right captcha value
    Please enter a star rating.
    Your review must be a minimum of 12 words.

    How do you rate this item?


    Product details

    • Date Published: March 2011
    • format: Adobe eBook Reader
    • isbn: 9781139036740
    • contains: 344 b/w illus.
    • availability: This ISBN is for an eBook version which is distributed on our behalf by a third party.
  • Table of Contents

    Part I. Overview:
    1. Introduction
    2. Overview of UML notation
    3. Software life cycles and processes
    4. Software design and architecture concepts
    5. Overview of software modeling and design method
    Part II. Software Modeling:
    6. Use case modeling
    7. Static modeling
    8. Object and class structuring
    9. Dynamic interaction modeling
    10. Finite state machines and statecharts
    11. State-dependent dynamic interaction modeling
    Part III. Architectural Design:
    12. Overview of software architecture
    13. Software subsystem architectural design
    14. Designing object-oriented software architectures
    15. Designing client/server software architectures
    16. Designing service-oriented architectures
    17. Designing component-based software architectures
    18. Designing concurrent and real-time software architectures
    19. Designing software product line architectures
    20. Software quality attributes
    Part IV. Case Studies:
    21. Client/server software architecture case study: banking system
    22. Service-oriented architecture case study: online shopping system
    23. Component-based software architecture case study: emergency monitoring system
    24. Real-time software architecture case study: automated guided vehicle system
    Appendix A: catalog of software architectural patterns.

  • Resources for

    Software Modeling and Design

    Hassan Gomaa

    General Resources

    Instructor Resources

    Find resources associated with this title

    Type Name Unlocked * Format Size

    Showing of

    Back to top

    This title is supported by one or more locked resources. Access to locked resources is granted exclusively by Cambridge University Press to instructors whose faculty status has been verified. To gain access to locked resources, instructors should sign in to or register for a Cambridge user account.

    Please use locked resources responsibly and exercise your professional discretion when choosing how you share these materials with your students. Other instructors may wish to use locked resources for assessment purposes and their usefulness is undermined when the source files (for example, solution manuals or test banks) are shared online or via social networks.

    Supplementary resources are subject to copyright. Instructors are permitted to view, print or download these resources for use in their teaching, but may not change them or use them for commercial gain.

    If you are having problems accessing these resources please contact

  • Instructors have used or reviewed this title for the following courses

    • Advanced Software Engineering
    • Database Design
    • Developing Design Tools
    • Formal Methods for Software Engineering
    • Information Systems Analysis And Design
    • Information Systems Design and Implementation
    • Intermediate Software Development
    • Modern Software Development Methodologies
    • Object Oriented Design
    • Object-oriented analysis & design
    • Real-time signal processing
    • Software Design
    • Software Design and Development
    • Software Development
    • Software Engineering & Design
    • Software Modeling and Architectural Design
    • System Design
    • Systems Analysis and Design
  • Author

    Hassan Gomaa, George Mason University, Virginia
    Hassan Gomaa is Professor and Chair of the Department of Computer Science at George Mason University. Gomaa has more than thirty years experience in software engineering, both in industry and academia. He has published more than 150 technical papers and is the author of three previous books: Designing Software Product Lines with UML; Designing Concurrent, Distributed, and Real-Time Applications with UML; and Software Design Methods for Concurrent and Real-Time Systems.

Sign In

Please sign in to access your account


Not already registered? Create an account now. ×

Sorry, this resource is locked

Please register or sign in to request access. If you are having problems accessing these resources please email

Register Sign in
Please note that this file is password protected. You will be asked to input your password on the next screen.

» Proceed

You are now leaving the Cambridge University Press website. Your eBook purchase and download will be completed by our partner Please see the permission section of the catalogue page for details of the print & copy limits on our eBooks.

Continue ×

Continue ×

Continue ×

Find content that relates to you

Join us online

This site uses cookies to improve your experience. Read more Close

Are you sure you want to delete your account?

This cannot be undone.


Thank you for your feedback which will help us improve our service.

If you requested a response, we will make sure to get back to you shortly.

Please fill in the required fields in your feedback submission.