Synopses & Reviews
Applied Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example
provides a practical, hands-on guide to putting use case methods to work in real-world situations. This companion workbook to Use Case Driven Object Modeling with UML
bridges the gap between the theory presented in the authors' first book, and the practical issues involved in the development of an internet/e-commerce application.
Uniquely conceived as a workbook, featuring an e-commerce system for an on-line bookstore as a running example, the book dissects its design in detail, demonstrates the most common design mistakes, and reveals the correct solutions. The hands-on exercises give you the opportunity to detect, identify, and correct critical errors on your own, before reviewing the solutions provided in the book.
The workbook is structured around the proven ICONIX Process, a streamlined approach to UML modeling designed to avoid analysis paralysis without skipping analysis and design. It presents the four key phases of this minimalist approach to use case driven design: domain modeling; use case modeling; robustness analysis; and sequence diagramming. For each of these topics, the book provides an overview, detailed discussion, top 10 mistakes, and a set of exercises for honing object modeling and design skills.
Another unique aspect of this book is the three chapters on reviews. The authors devote a chapter each to requirements review; preliminary design review; and critical design review. This focus on "designing quality in" by teaching how to review UML models fills a major gap in the published literature.
The book shows you, by example, how to avoid more than 70 specific design errors as shown in the "Top 10" error lists on the inside covers and within each chapter. With the information, examples, and exercises in this book, you will develop the knowledge and skills you need to apply use case modeling more effectively to your next application.
This compact book helps application developers bridge the gap between the theory of the newly created Unified Software Development Process and the practical realities necessary to design and build a software system. The authors present the key ingredients of the Unified Process and demonstrate how the process was conceived to work with UML, emphasizing the application of Use Cases as a primary design tool. The book incorporates a wealth of practical experience showcased by four case studies -- a hospital information system, a video on demand system, a portfolio management system, and a vehicle navigation (IVHS) system.
Aims to help developers bridge the gap between theory of Unified Software Development Process and the practical realities necessary to design and build a software system. The text incorporates practical experience and four case studies.
Includes bibliographical references (p. 157-158) and index.
About the Author
of ICONIX Software Engineering, Inc., has been providing system development tools and training for nearly two decades, with particular emphasis on object-oriented methods. He developed a Unified Booch/Rumbaugh/Jacobson design method in 1993 that preceded Rational's UML by several years. He has produced over a dozen multimedia training courses on object technology, including COMPREHENSIVE COM and COMPLETE CORBA, and is the author of several Addison-Wesley titles.
Kendall Scott is a UML trainer and consultant. With more than sixteen years of experience as a technical writer, he is skilled in converting complex, technical material into understandable and easy-to-use manuals.
Table of Contents
Figures Analysis Paralysis Alerts
Top 10 Lists
Chapter 1: The ICONIX Unified Object Modeling Approach
Introduction to the Approach
Thoughts on Methodology
The Approach in a Nutshell
Chapter 2: Domain Modeling
Build Generalization Relationships4
Build Associations Between Classes
Develop Association Classes
Mine Your Legacy Documentation for Domain Classes
Draw an Analysis-Level Class Diagram
Continue to Iterate and Refine
Chapter 3: Use Case Modeling
Use Cases, Actors, and Use Case Diagrams
Analysis-Level and Design-Level Use Cases
Writing Use Cases
Working Inwards From a GUI to Identify Use Cases
Mining Your Legacy User Manuals for Use Cases
Refining Use Cases
Basic and Alternate Courses of Action
Factoring Out Commonality in Usage
Constructs From the UML and OML
Back to Our Example
Use Case Packages
Use Cases and Requirements
Wrapping Up Use Case Modeling
Chapter 4: Robustness Analysis
Key Roles of Robustness Analysis
More About Robustness Analysis Object Types
Performing Robustness Analysis
Updating Your Domain (Static) Model
Wrapping Up Robustness Analysis
Chapter 5: Interaction Modeling
Goals of Interaction Modeling
Putting Methods on Classes
Updating Your Static Model
Finalizing Attributes and Methods
Patternizing Your Design
Back to the Example
Completing Interaction Modeling
Chapter 6: Collaboration and State Modeling
When Do We Need Collaboration Diagrams?
How Many State Diagrams Do We Need?
Extending Interaction Modeling
Chapter 7: Addressing Requirements
What Is a Requirement?
The Nature of Requirements, Use Cases, and Functions
Extending a Visual Modeling Tool to Support Requirements
Requirements and the ICONIX Approach
Getting Ready to Code
Chapter 8: Implementation
Project Staffing Issues
Revisiting the Static Model
Allocating Classes to Components
Tracking Use Case Driven Development
Appendix: "Uses" vs. "Extends"