Show Menu

TTM4115 UML Cheat Sheet (DRAFT) by


This is a draft cheat sheet. It is a work in progress and is not finished yet.

Use cases

Use cases specify only what your system is supposed to do, i.e., the system's functional requir­ements. They do not specify what the system shall not do, i.e., the system's nonfun­ctional requir­ements.

Use cases are a means to bring those gaps in the user's requir­ements to the forefront at the beginning of a project.

How to identify an actor

Actors is external to your system
Use cases is internal to your system

System Boundaries

To show your system's boundary on a use case diagram, draw a box around all of the use cases but keep the actors outside of the box

The Include Relati­onship

The include relati­onship declares that the use case at the tail of the dotted arrow completely reuses all of the steps from the use case being included.

The extend Relati­onship

A use case might completely reuse another use case's behavior, similar to the include relati­onshop, but that this reuse is optional and dependent either on a runtime or system implem­ent­ation decision.

Capturing a System Requir­ement

Look at the things that interact with your system. In use cases these external things are called actors.

A shall requir­ement must be fulfilled. A should requir­ement implies that the requir­ement is not critical to the system working but is still desirable.

Use Cases

From a user's perspe­ctive, a use case is a complete use of the system; there is some intera­ction with the system, as well as some output from that intera­ction .

What makes a good use case?
A use case is something that provides some measurable result to the user or an external system.

Commun­ication Lines

A commun­ication line connects an actor and a use case to show the actor partic­ipating in the use case.

Use Case Descri­ptions

A use case's descri­ption completes the use caes; without a descri­ption a use case is not very useful.

Use case inheri­tance

Use case inheri­tance is useful when you want to show that one use case is a special type of another use case. To show use case inheri­tance, use the genera­liz­ation arrow to connect the more general, or parent, use case to the more specific one.

Be careful using inheri­tance - you are then saying that every step in the general use case must occur in the specia­lized use cases.

Use Case Overview Diagrams

Use Case Overview diagram give you an opport­unity to paint a broad picture of your system's context or domain.

Use Case Overviews are a useful place to show any extra snippets of inform­ation. Those snippets often include relati­onships and commun­ication lines between actors