Home Books Software Projects Forums

Larman's UML Process

Use Cases
  • Define user interaction with the system.
  • Underline nouns to identify concepts in the problem domain.
Conceptual Model
  • Use the underlined nouns from the use cases to create the concepts in the conceptual model.
  • Some of the nouns, if they identify simple data types, are used to create attributes of these concepts.
  • Create associations between the concepts.
System Sequence Diagram
  • Create system sequence diagrams for each use case scenario.
  • Each sequence event in the diagram corresponds to a user interaction with the system specified by the expanded use case.
System Contracts
  • Specify post-conditions for each system event in the system sequence diagrams.
  • Use the conceptual model to identify objects created, associations formed, and attributes modified.
Collaboration Diagram
  • Create a collaboration (or sequence) diagram for each system event in the system sequence diagrams.
  • Assign responsibilities to classes in the conceptual model to fulfill the post-conditions in the contracts.
  • Use associations from the conceptual model in conjunction with patterns (Expert, Creator) to assign responsibilities.
Class Diagram
  • Add methods and additional attributes which were discovered in the collaboration diagrams to the classes in the conceptual model.
Code
  • Create classes with their names, attributes and method signatures taken from the class diagram.
  • For each method on a class, use the collaboration diagrams to find the sequence of messages generated when the method is called and create at least one line of code for each message.

Based on Craig Larman's Applying UML and Patterns.