Beruflich Dokumente
Kultur Dokumente
Up2UML
Alpha-Release
2007
Copyright 2007 Fraunhofer IESE, Kaiserslautern
Fraunhofer
Institut
Experimentelles
[http://www.iese.fraunhofer.de]
Software
Engineering
(IESE)
SOFTWIN [http://www.intuitext.com/]
Up2UML
Abstract
The purpose of this course is to help you learn the Unified Modeling Language V2.
It is being developed by the Up2uml Consortium.
Responsible for the content in accordance with 6 TDG:
Up2UML Consortium
c/o Fraunhofer Institute Experimental Software Engineering Fraunhofer-Platz 1
67663 Kaiserslautern
E-Mail: sonja.trapp@iese.fraunhofer.de
Tel.: +49 (631) 6800-2182
Web: http://www.up2uml.org/
All published contents (layout, texts, images, graphics etc) are subject to copyright.
Up2UML
Table of Contents
1. Lesson: Theory of the UML Use Case Diagram ................................................... 4
1.1. Objectives: UML Use Case Diagram ......................................................... 5
1.2. Definition: UML Use Case Diagram ........................................................... 5
1.3. Range of use ............................................................................................. 6
1.4. Example: UML Use Case Diagram ............................................................ 6
1.5. Elements of the UML Use Case Diagram .................................................. 7
1.6. Definition: Actor ......................................................................................... 7
1.7. Definition: Use Case .................................................................................. 7
1.8. Relationship between Actor and Use Case ............................................... 8
1.9. The "system boundary" ............................................................................. 8
1.10. Dependencies between Use cases ......................................................... 9
1.11. The include dependency ...................................................................... 9
1.12. The extend dependency .................................................................... 10
1.13. Generalisation in the UML Use Case Diagram ...................................... 11
1.14. Further Dependencies in UML Use Case Diagrams ............................. 12
1.15. Overview of elements used in the UML Use Case Diagram ................. 12
1.16. Exercise: Define the term "use case" .................................................... 13
1.17. Exercise: List elements of a UML Use Case Diagram (Actors, Use
cases) ............................................................................................................... ?
1.18. Exercise: Identify relationships in a UML Use Case Diagram ............... 14
1.19. Exercise: Explain a UML Use Case Diagram ........................................ 15
1.20. Summary: UML Use Case Diagram ...................................................... 15
A. Case Studies ...................................................................................................... 17
A.1. Hospital Information System ................................................................... 17
A.1.1. Requirements of a Hospital Information System .......................... 17
Index ....................................................................................................................... 18
Glossary ................................................................................................................. 19
Up2UML
Use cases are a technique for capturing the functional requirements of a system. By
describing the typical interactions between the users of a system and the system itself,
they provide a narrative of how the system is used.
A use case describes usages and behaviours of a system from the viewpoint of a user
or connected (interacting) systems.
Up2UML
Use cases are usually written down in a document which describes the details of the
use case in a table (use case model). However, within the UML2, the structure of this
document is not defined. Hence, we do not present such a document in this unit.
1.3. Range of use
[id: o-20061127123102330 ]
Example 1, UML Use Case Diagram shows a simple UML Use Case Diagram. It
consists of an actor, two associated use cases and a system boundary.
Up2UML
A UML Use Case Diagram mainly consists of the elements "Actor" and "Use Case".
The use case diagram shows the actors, the use cases, and the relationships between
them. The relationships between the use cases can be specified more closely.
1.6. Definition: Actor
[id: o-20061127150710310 ]
Notation. An actor is represented by a "stick-man" icon with the name of the actor
in the vicinity (usually above or below). An actor may also be shown as a class rectangle with the keyword "actor", with the usual notation for all compartments. By defining
further stereotypes it is possible e.g., to use a computer icon as actor symbol.
1.7. Definition: Use Case
[id: o-20061128125656330 ]
Use cases describe typical scenarios of users interacting with a system. A scenario
is a sequence of steps describing an interaction between a user and a system. The
scenarios are defined depending on the goals the user wants to achieve by means of
the system. A single use case stands for a set of behaviours with observable results
performed by the system.
Up2UML
Notation.
A use case is shown as an horizontal ellipse, either containing the name
of the use case or with the name of the use case placed below the ellipse.
1.8. Relationship between Actor and Use Case
[id: o-20061129110610820 ]
Notation.
The system boundary indicates which actions and functions (use cases) of a system
belong to a specific system and which are outside the system (e.g., actors, other
systems).
Up2UML
The element "dependency" represents a directed relationship between two use cases.
The UML2 has many varieties of dependency, each with particular semantics and
keywords. Such dependencies are indicated by Stereotypes which are defined within
the UML2.
Notation.
The include-construct is used for use cases that can be subdivided into several
steps. It is also used for use cases that are included in several superior use cases.
Up2UML
This means that the execution of one use case always includes the execution of the
other use case.
10
Up2UML
Example 8. extend-dependency
A generalisation is used for use cases describing a scenario similar to that of another
use case, which is possibly extended or slightly changed. This behaviour corresponds
to inheritance in object orientation.
Notation.
11
Up2UML
Dependencies between use cases can also be denoted by other predefined stereotypes, for example use. The use-dependency indicates that a service from another
use case in the system or of another system is used without being included within an
include-dependency.
12
Up2UML
The actor is a role outside of the system to be modelled. The actor directly interacts
with the system by way of the use cases. The use case represents a typical activity
carried out by a user using the system. Associations between actors and use cases
assign different scenarios to the users of the system.
Select from the list those words that define best the concept of use cases:
13
Up2UML
(1)
Actors
(2)
Requirements
(3)
Classes
(4)
Dependency
(5)
Stereotype
(6)
Timing
(1) (2) (4) (5)
14
Up2UML
(1)
(2)
(3)
look
at
the
diagram
and
select
the
correct statement(s)!
A foreign customer wants to transfer money at an ATM. The account management system checks whether the user entered the right PIN and then
proceeds to the money transfer.
A customer wants to withdraw money from an ATM. First he has to identify
himself by entering a personal PIN. After successful authentication, the customer withdraws money from the ATM.
A bank customer wants to transfer money. He successfully enters the PIN
and the amount of money he wants to transfer. The account management
system checks the balance of his account and then transfers the money.
(2) (3)
Have
15
Up2UML
The UML Use Case Diagram describes services and functions of a system from the
user's point of view or from the perspective of further connected (interactive) systems.
The purpose of a UML Use Case Diagram is
to gather the requirements of a system;
to integrate and delimit a system in its environment;
to accompany the implementation of the system and to generate test cases, and
to validate the system architecture.
The main elements of the UML Use Case Diagram are
actor
use case
association
dependency and
system boundary.
16
Up2UML
A. Case Studies
17
Up2UML
This may involve a check of certain laboratory values or X-rays in order to see if the
patient has some fractures.
In this case, X-rays of the knee have to be made. The arrangement of the extra examination includes checking whether an X-ray machine and a radiologist are available.
The patient is then sent to the radiology ward for an X-ray. To transfer the patient, the
nurse enters the transfer into the system and then brings him to the radiology ward
where the radiologist conducts his examination. After the examination, the radiologist
enters his diagnosis into the system and the nurse transfers the patient back to the
emergency physician.
Depending on the results of the special examination, which are available in the system,
the emergency physician decides whether the patient must stay in hospital or if he
can go home. If the patient can go home, he is transferred to the reception where the
reception officer takes care of the hospital discharge. This includes the creation of an
invoice and the handing-out of a prescription.
18
Up2UML
Index
A
actor, 7
association, 8
D
dependency
extend, 10
include, 9
use, 12
G
generalisation, 11
U
UML Use Case Diagram, 5, 6, 13, 15, 16
association, 8
system boundary, 8
use case, 7
dependency, 9
generalisation, 11
use case diagram, 5
19
Up2UML
Glossary
activity diagram
actor
analysis
analysis class
analysis packages
API
architectural foundation
artifact
association
behaviour
black-box testing
20
Up2UML
A description of system behaviour, in terms of sequences of actions. A business activity should yield an
observable result of value to a business role.
class
class diagram
A class diagram shows a collection of static model elements, such as classes, types, and their contents and
relationships.
cohesion
Cohesion is a measure of how strongly-related and focused the responsibilities of a systems are.
communication diagram
component
component diagram
The component diagram depicts the software components that compose an application, system or enterprise.
Their components, their interrelationships, interactions,
and their public interfaces are depicted.
concurrency
construction phase
control flow
21
Up2UML
coupling
CRC
deployment diagram
design
In the software domain design is a process of problemsolving and planning for a solution.
design class
design model
design package
A collection of classes, relationships, use-case realisations, diagrams, and other packages. It is used to
structure the design model by dividing it into smaller
parts.
design subsystem
elaboration phase
extend relationship
functional requirement
generalization
inheritance
GUI
22
Up2UML
IBM
implementation
implementation model
inception phase
include relationship
inheritance
inheritance
integration test
interface
Defines the communication boundary between two entities, such as a piece of software, a hardware device,
or a user.
iterations
JDBC
lifecycle
lifeline
message flow
Order of messages
Multiplicities
non-functional requirement
23
Up2UML
object orientation
object-oriented analysis
object-oriented design
object-oriented modelling
object-oriented programming
quality attribute
Software quality attributes are the benchmarks that describe the system's intended behaviour within the environment for which it was built. They provide the means
for measuring the fitness and suitability of a product.
requirements
24
Up2UML
requirements workflow
role
RUP
scenario
A specific sequence of actions that illustrates behaviours. A scenario may be used to illustrate an interaction or the execution of one or more use-case instances.
sequence diagram
singleton pattern
SQL
stakeholder
stereotype
25
Up2UML
system architecture
system border
Marks the border between the use cases and the actors.
system test
transition phase
UML-AD
UML-CD
UML-CompD
UML-ComuD
UML-DD
UML-OD
UML-PD
UML-SD
UML-SMD
UML-UCD
UML2
Unified
guage
Modeling
Lan-
Unified Process
UP
Unified Process
26
Up2UML
use case
A description of system behaviour, in terms of sequences of actions. A use case should yield an observable result of value to an actor.
use-case realisation
validate
validation
The stage in the software lifecycle at the end of the development process where software is evaluated to ensure that it complies with the requirements.
white-box testing
27