There is a lot to say about when to use which diagram type when developing a design, and what the role of it should be. The different answers to this are referred to as the design process or design method. This document is not intended to describe a concrete design process. Poseidon for UML can be used for any such process. Instead, in this chapter we will look at the various diagram types and how the corresponding model elements are created or edited in Poseidon. For many of these diagrams, a short example has already been given in the default model Stattauto, which we looked at in Chapter 6.
The first diagram to look at is the Use Case diagram. The main
ingredients for this type of diagram are use
cases and actors, together they define
the roles that users can play within a system. They
are associated to the tasks, or use cases, they are
involved in. It is often used in early stages of the design process to
collect the intention requirements of a project.
If you are not well-acquainted with UML yet, remember that a use
case is not just a bubble noted in the diagram. Along with this bubble,
there should be a description of the use case, a typical scenario,
exceptional cases, preconditions etc. These can either be expressed in
external texts using regular text processing tools, requirements tools
or file cards. It can be and is often refined using other diagrams like
a sequence diagram
or an
activity
diagram that explain its main scenarios. The basic description of a use
case can also be inserted in the Documentation tab of the Details pane.
Actors - Also referred to as Roles. Name
and stereotype of an actor can be changed in its Properties tab.
Inheritance - Refinement
relations between actors. This relation can carry a name and a
stereotype.
Use cases - These can have Extension
Points.
Extension Points - This defines a location
where an extension can be added.
Associations - Between roles and use cases.
It is useful to give associations speaking names.
Dependencies - Between use cases.
Dependencies often have a stereotype to better define the role of
the dependency. To select a stereotype, select the dependency from
the diagram or the Navigation pane, then change the stereotype in
the Properties tab. There are two special kinds of dependencies:
<<extend>> and <<include>>, for
which Poseidon offers own buttons (see below).
Extend relationship - A uni-directional
relationship between two use cases. An extend relationship between
use case B and use case A means that the behavior of B can be included in A.
Include relationship - A
uni-directional relationship between two use cases. Such a
relationship between use cases A and B means, that the behavior of
B is always included in A.
System border - The system border is
actually not implemented as model element in Poseidon for UML. You
can simply draw a rectangle, send it to the background and use it
as system border by putting all corresponding use cases inside the
rectangle.