l6 Use Case
l6 Use Case
LAB # 06
Objectives
Introduction to UML.
Use case diagrams: discovering actors and use cases.
The Unified Modeling Language (UML) is a standard visual modeling language intended to be used for
UML is a common language for business analysts, software architects and developers used to describe,
specify, design, and document existing or new business processes, structure and behavior of artifacts of
software systems.
UML defines nine types of diagrams: class (package), object, use case, sequence, collaboration, state chart, activity,
component, and deployment.
Use case analysis is a major technique used to find out the functional requirements of a software system.
Use case, an important concept in use case analysis, represents an objective user wants to achieve with a
system. It can be in text form, or be visualized in a use case diagram.
The beauty of use case is that it aims at describing a system from external usage view point, rather than
from developer's perspective. Therefore, writing use case can be the deciding factor for building a system
that meets users' needs.
System
Draw your system's boundaries using a rectangle that contains use cases. Place actors outside the system's
boundaries.
Software Engineering Lab # 06
Use Case
Draw use cases using ovals. Label with ovals with verbs that represent the system's functions.
Actors
Actors are the users of a system. When one system is the actor of another system, label the actor
system with the actor stereotype.
Relationships
Illustrate relationships between an actor and a use case with a simple line. For relationships among use
cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates that one
use case is needed by another in order to perform a task. An "extends" relationship indicates
alternative options under a certain use case.
A standard form of use case diagram is defined in the Unified Modeling Language.
Software Engineering Lab # 06
Example-1
Bank ATM
An automated teller machine (ATM) or the automatic banking machine (ABM) is a banking subsystem
(subject) that provides bank customers with access to financial transactions in a public space without the need
for a cashier, clerk or bank teller.
Customer (actor) uses bank ATM to check balances of his/her bank accounts, deposit funds, withdraw
cash and/or transfer funds (use cases).ATM Technician provides maintenance and repairs. All these use
cases also involve Bank actor whether it is related to customer transactions or to the ATM servicing.
An example of use case diagram for Bank ATM subsystem - top level use cases.
Example -2
An example of UML use case diagram for Point of Sale (POS) Terminal or Checkout. A retail POS
system typically includes a computer, monitor, keyboard, barcode scanners, weight scale, receipt printer,
credit card processing system, etc. and POS terminal software.
Checkout use case is an example of a large and complex use case split into several use cases each
describing some logical unit of behavior. Note, that including use case becomes incomplete by itself and
requires the included use cases to be complete.
Checkout use case includes Scan Item, Calculate Total and Tax, and Payment use cases.
Payment use case is represented using generalization relationship. It means that only one specific type of
payment is accepted - either by cash, or by credit, debit, or with check. An alternative to such
representation could be to use include relationship so that not just single but several forms of payment
could be accepted from the same client during checkout.
Exercise
1. Design a UML diagram for a centralized hotel reservation system which is working
online, hotel desktop application and a customized application for travel agents.
Software Engineering Lab # 06