Brain Dump

Use Case Diagram

Tags
modelling

Is a UML process-view diagram modelling the use cases of a software system.

\begin{figure}
  \centering
  \begin{tikzpicture}
    \umlactor[scale=0.5, y=-4]{Customer};
    \begin{umlsystem}[x=4]{ATM System}
      \umlusecase[x=3]{Validate Customer};
      \umlusecase[x=0, y=-2]{Inspect Balance};
      \umlusecase[x=4, y=-3]{Withdraw Cash};
      \umlusecase[x=2, y=-4]{Request Statement};
    \end{umlsystem}
    \umlactor[scale=0.5, x=11, y=-1]{Bank};

    \umlassoc{Customer}{usecase-2};
    \umlassoc{Customer}{usecase-3};
    \umlassoc{Customer}{usecase-4};
    \umlassoc{Bank}{usecase-2};
    \umlassoc{Bank}{usecase-3};
    \umlassoc{Bank}{usecase-4};
    \umlinclude{usecase-2}{usecase-1};
    \umlinclude{usecase-3}{usecase-1};
    \umlinclude{usecase-4}{usecase-1};
  \end{tikzpicture}
  \caption{Example use case diagram.}
\end{figure}

Constructs

The use case diagram makes use of actors, generalisation (see [see page 19, example]) and use cases. Use cases are drawn as an ellipse with the role in the center. \tikz \umlusecase[x=0, y=0]{Send offer};

Include

In some cases a use-case may need to include the functionality of another use-case. For example a ATM extraction system would first need authentication which may be in another use case.

You can indicate this sort of a relationship using a dashed line with the <<include>> label (represented in tikz as the \umlinclude macro).

Links to this note