Andrew McDonough

Please note: This page is imported from my wiki, which hasn't been updated in over 10 years. Some of the formatting was lost during the import. I'll try to get around to fixing it someday.



Models for object oriented design started to emerge in the 1970s. I the 1980s there was much debate on the best modelling technique. The leading people were Grady Booch (design oriented), James Rumbaugh (data oriented), and Ivar Jacobson (use case oriented). All wored at Rational software and developed a Software Development Life Cycle (SDLC) known as the Rational Unified Process (RUP)

Use Cases

A use case is a set of goal oriented interactions between external actors and a system. A primary actor is one who has a goal that may be acheived using the system. A secondary actor is one who may assist in acheiving this goal.


Use case diagrams

Define high level sets of activities \ Use cases are represented by an oval with a label inside. \ Actors are represented by stick men. If an actor is not actually a person, it is often better to represent it by a box with the tag <> to note it is an actor.

Generalised relationships are ones where a general use case represents a generalisation of more specific use cases. A generised relationship is represented by an open headed arrow pointing from the specific case to the general case

Class diagrams

The relationship of objects within the system and the operations they can perform.

Interaction Diagrams

Activity Diagrams

Deployment Diagrams

Andrew McDonough

Andrew McDonough is a consultant CTO and software developer, currently based between Berlin and London.

Follow Andrew on Twitter or Connect on LinkedIn