Preface | Domain modeling | Use case modeling | Robustness Analysis | Interaction Modeling | Addressing Requirements

Use Case Driven Object Modeling with UML

This set of HTML pages is the summary of the software engineering methodology I have studied and applied to the projects I was following in the context of the Project Support team program. It is based essentially on the methodology proposed by D. Rosenberg on his book "Use Case Driven Object Modeling with UML" (Addison-Wesley), but it contains also some references to other approaches that I mention in this set of documents (like the Roesh Object 9000 approach). The main purpose of this work is to provide an useful starting point for chief software engineers on how to contact a software project in a down-to-earth way, but it does not intend to be exhaustive: for this one needs to study the full different methodologies and put them in practice a lot of times.

Dante Borillo - IT/Project Support Team - CERN

preface

The book is designed to help to get the reader from USE CASES to CODE => it explains a methodology based on a language which is UML.

"The difference between theory and practice is that, in theory, there is no difference between theory and practice".

This book is an approach down to earth using the concepts expressed by UML into a methodology proposed and tested by ICONIX.

The ICONIX Unified Object Modeling Approach

Click on the different models to go to the corresponding sections.

In order to answer to this five question the ICONIX people formulate this approach:

  1. Who are the users of the system (or actors), and what are they trying to do? Use Cases
  2. What are the "real world" (called problem domain) objects and the associations among them? Domain model static diagrams
  3. What objects are needed for each use case? Robustness analysis
  4. How objects are collaborating within each use case interact? Sequence and collaboration diagrams
  5. How are we really going to build this system on a nuts-and-bolts level? Detailed design static diagrams

The are 3 fundamental features in this approach:

  1. It is iterative and incremental
  2. Traceability (at each step reference to the requirements)
  3. Streamlined usage of UML

Fit the Project into the methodology is WRONG!!!

The approach in a Nutshell

Milestone 1: Requirements Review

Milestone 2: Preliminary Design Review

Milestone 3: Detailed Design Review

Milestone 4: Delivery