Engineering Bookshelf

Software Design Books
Book Cover: Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures

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

by Hassan Gomaa

Publisher: Cambridge University Press
ISBN: 0521764149

Check price @ amazon.com , amazon.ca , amazon.co.uk


Book Description

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.

Book Reviews

"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

About the Author

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.


Customer Reviews

masterpiece
By GorkemKSK

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.

Well written book that actually provides useful guidelines on applying the UML to construct software designs for real systems
By Software Designer (Virginia)

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.