UML - unders/mywiki GitHub Wiki

UML Modeling

The techniques shown in are completely interconnected, in general the definition of use cases and prototypes generally come before a CRC model, which in turn generally comes before a class diagram, etc. The reason for this is simple: Use cases and user interface prototypes are less detailed than CRC models, which in turn are less detailed than class diagrams. Yes, while you are CRC modeling you will draw sketches, or prototypes of screens. Yes, while you are CRC modeling you will identify new use cases and/or update existing ones. In general, however, you will find that it is better to start out “simple” with use cases and prototypes, get a little more complicated with CRC cards, and then get even more complicated with class diagrams.

------------------
|                |   
| Use Case       |
| Model          |----------------
|                |               |
------------------          -------------
                            |           |
                            | CRC Model | ----->
------------------          |           |
|                |          -------------
| User Interface |               |
| Prototype      |----------------
|                |
------------------

Use Case Modeling


User Interface Prototype


CRC Modeling

CRC stands for Class, Responsibilities, and Collaborators

------------------------------------
| Class Name                       |
------------------------------------
|                  |               |
| Responsibilities | Collaborators |
|                  |               |
------------------------------------

Glossary of Terms

  • Class – A class represents a collection of similar objects. An object is a person, place, thing, event, or concept that is relevant to the system at hand.
  • Collaborator – A class will often have a responsibility to fulfill, but will not have enough information to do it. Therefore it needs to work with, collaborate with, other classes that do have the information that it needs. Collaboration will take on one of two forms: A request for information or a request to do something.
  • CRC card – A standard index card representing one of the classes that make up an application. CRC cards are divided into three sections: The name of the class, the responsibilities of the class, and the collaborators (if any) of the class.
  • CRC model – A collection of CRC cards which represent whole or part of an application.
  • Responsibility – Anything that a class knows or does, or in other words its attributes and its behaviors.

References

use_case_story_map