0% found this document useful (0 votes)
32 views4 pages

Use Case Diagram

The document discusses modeling interactions using UML use case diagrams. It explains that use case diagrams capture relationships between actors and use cases, and notation for use case diagrams include actors, use cases, and system boundaries. It provides examples of use cases, actors, and relationships between use cases like <<extends>> and <<uses>>.

Uploaded by

tanlejunior5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views4 pages

Use Case Diagram

The document discusses modeling interactions using UML use case diagrams. It explains that use case diagrams capture relationships between actors and use cases, and notation for use case diagrams include actors, use cases, and system boundaries. It provides examples of use cases, actors, and relationships between use cases like <<extends>> and <<uses>>.

Uploaded by

tanlejunior5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Moving Towards Specifications

• What functions will the new system


provide?
Lecture 9, Part 1:
– How will people interact with it?
Modelling Interactions – Describe functions from a user’s perspective

Jennifer Campbell • UML Use Cases


– Used to show:
CSC340 - Winter 2007 • the functions to be provided by the system
• which actors will use which functions

CSC340 University of Toronto 2

UML Use Case Diagrams Notation for Use Case Diagrams


Communication
Capture the relationships between actors association Use case

and use cases.


Change a
client contact Place book order
Add a Staff contact
Campaign
new client
Manager Customer
Actor
Record
client payment
Accountant System
boundary

CSC340 University of Toronto [BMF99] 3 CSC340 University of Toronto [BMF99] 4

Use cases and Actors Example: Staff Management


Add new Staff

• Use case: staff member Management


System
– a pattern of behavior that the new system is required Add new
to exhibit staff category
– a sequence of related actions performed by an actor
and the system via a dialogue. Change rate
for staff category
• Actor:
– anything that needs to interact with the system: Accountant
Change category
• a person for staff member

• a role that different people may play


• another (external) system. Calculate staff
bonuses

CSC340 University of Toronto 5 CSC340 University of Toronto 6


<<extends>> <<uses>>
When one use case adds behaviour to a base case One use case invokes another (like a procedure call);
– used to model a part of a use case that the user may see as – used to avoid describing the same flow of events several times
optional system behavior;
– puts the common behavior in a use case of its own.
– also models a separate sub-case which is executed conditionally.

Check out item


Distribute info
to students Cashier <<uses>>
Registrar <<extends>>

Swipe UPC
Distribute schedule code
info to students
CSC340 University of Toronto 7 CSC340 University of Toronto 8

Example: Car Example: Meeting Scheduler


Driver GasAttendant Mechanic
Initiator Participant

<<uses>> <<uses>>
Fill Up Check Oil Fix Car Edit <<extends>> Provide
Generate Withdraw constraints
Drive Schedule Constraints
Schedule
<<us
<<uses>>

>
<<uses>> meeing

s>
<<extends>>

se
es>>
<<

<<uses>>

u
Turn On

<<
us

Fix car on
Engine >>
es

the road ses


<<u
>>

Validate
User

CSC340 University of Toronto 9 CSC340 University of Toronto 10

Identifying Actors Finding Use Cases


• Look for: • For each actor, ask the following questions:
– the users who directly use the system – Which functions does the actor require from the system?
– also others who need services from the system – What does the actor need to do ?
• To find actors that are people/roles ask: – Does the actor need to read, create, destroy, modify, or store
some kinds of information in the system ?
– Who will be a primary user of the system? (primary actor)
– Does the actor have to be notified about events in the system?
– Who will need support from the system to do her daily tasks?
– Does the actor need to notify the system about something?
– Who will maintain, administrate, keep the system working?
(secondary actor) – What do those events require in terms of system functionality?
– Who or what has an interest in the results that the system – Could the actor’s daily work be simplified or made more efficient
produces ? through new functions provided by the system?
• To find actors that are external systems ask:
– Which hardware devices does the system need?
– With which other systems does the system need to interact with?

CSC340 University of Toronto 11 CSC340 University of Toronto 12


Generalizations Exercise: Online Order System
Generalization relations: “is a” • Actor classes
– It’s sometimes useful to identify
classes of actor Prepare a use case diagram for the online order
• E.g. where several actors belong
to a single class system:
• Some use cases are needed by
all members in the class
• Other use cases are only needed
by some members of the class • Using the online order system, the customer
– Actors inherit use cases from places his order (by adding items, possibly
the class
• Use Case classes removing items, and then submitting the order).
– Sometimes useful to identify a
generalization of several use • The order clerk retrieves the order from the
cases system and assigns it to a delivery person.
• The delivery person delivers the order to the
customer.
CSC340 University of Toronto 13 CSC340 University of Toronto 14

Example: Place
UML Sequence Diagrams book order
Place book order Customer
Customer Customer Invokes
• Describe a Use Case using Sequence Diagrams initiates the the search method
– Sequence diagrams show step-by-step what’s sequence in OnlineStore
involved in a use case
:OnlineStore :OrderDepartment :Bank
• Which objects are relevant to the use case :Customer

• How those objects participate in the function


search for book
– You may need several sequence diagrams to
describe a single use case.
• Each sequence diagram describes one possible scenario for Time [book exists] order book

the use case submit order request

– Sequence diagrams…
• …should remain easy to read and understand. debit account

• …do not include complex control logic

CSC340 University of Toronto 15 CSC340 University of Toronto 16

Example: Calculate staff bonuses Example: Add an advertisement


iteration

:Accountant :PayrollSystem :Staff :Bank

list payroll
[for each staff] *get account

Activation
[for each staff] *calculate bonus

update payroll

*[for each staff] update account

*[for each staff] schedule direct deposit

CSC340 University of Toronto 17 CSC340 University of Toronto 18


Modelling Sequences of Events Exercise: Online Order System
• Objects “own” information and behaviour • Prepare a sequence diagram for the Assign
– Objects don’t “know” about other objects’ Driver use case:
information, but can ask for it.
– To carry out business processes, objects The order clerk requests a list of drivers from the
have to collaborate. system. Using the system, he selects a driver
• …by sending messages to one another to invoke and the system checks the driver’s availability.
each others’ operations This is repeated until a driver has be selected
– Objects can only send messages to one (until an available driver is found). Then the
another if they “know” each other order clerk assigns the driver using the system,
• I.e. if there is an association between them. and the system notifies the delivery person.

CSC340 University of Toronto 19 CSC340 University of Toronto 20

References
[Amb03] Ambler, S. W. 2003. The Elements of UML
Style. Cambridge, UK: Cambridge University
Press.
[BMF99] Bennett S., McRobb S., and Farmer R. 1999.
Object-Oriented System Analysis and Design
using UML. Berkshire, UK: McGraw Hill.

CSC340 University of Toronto 21

You might also like