UML – Use Case Diagram

UML – Use Case Diagram
Kholid Fathoni, S.Kom., M.T.

Package Diagram

• Memperlihatkan bagaimana elemen model
diorganisasikan/dikelompokkan ke dalam packages
• Biasanya dipakai pada use case diagram atau class diagram
• Packages digambarkan sebagai sebuah direktori (file folders) yang
berisi model-model elemen
• Packages dapat diterapkan pada sembarang diagram UML
• Walaupun package secara resmi bukanlah diagram UML, namun
kegunaannya cukup signifikan
• Penjelasan package diagram pada masing-masing diagram UML
• Packages dibuat untuk :
– Menggambarkan high level overview kebutuhan system
– Menggambarkan high level overview design
– Memecah sebuah diagram yang mempunyai banyak bubbles
– Mengorganisasikan source code programming
• Setiap packages akan mempunyai diagram yang lengkap
• Packages digunakan untuk mengorganisasikan sebuah diagram yang

besar menjadi beberapa diagram kecil (sebuah diagram yang baik bila
mempunyai bubbles 7+/- 2 didalamnya, jika sebuah diagram
mempunyai bubbles yang banyak maka akan sulit untuk dipahami)
– When the diagram cannot be printed on a single page
– Reorganize large diagram into smaller ones
• Digambarkan dengan lambang

Package Diagram
Contoh
Class diagram Package

Use case diagram Package

Use Case Diagram





Menggambarkan kebutuhan system dari sudut pandang user

Mengfokuskan pada proses komputerisasi (automated processes)
Menggambarkan hubungan antara use case dan actor
Use case menggambarkan proses system
(kebutuhan system dari sudut pandang user)



Secara umum use case adalah:
– Pola perilaku system
– Urutan transaksi yang berhubungan yang dilakukan oleh satu
actor
Use case diagram terdiri dari
– Use case
– Actors
– Relationship
– System boundary boxes (optional)
– Packages (optional)
Every actor is involved with at least one use case, and every use
case is involved with at least one actor






Use Case - Use Case Diagram

• Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan
system, bukan “bagaimana” system mengerjakannya
• Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil
interaksinya dengan actor.
• Use case dinotasikan dengan gambar (horizontal ellipse)
• Use case biasanya menggunakan verb
• Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case
yang memiliki nama yang sama
• Sebuah use case bisa mempunyai dokumentasi
• Gunakan dengan lambang dibawah ini dan ditarik dengan garis putus tanpa
panah
• Untuk sebuah system yang besar (lihat konsep diagram 7 +/- 2 ) dibutuhkan use
case package (lihat package diagram)
• Letakkan use case utama anda pada pojok kiri atas dari diagram (in western culture

people read from left to right, top to bottom, starting in the top-left corner)
• Use case diagram tidak terpengaruh urutan waktu, meskipun demikian supaya
mudah dibaca perlu penyusunan use case
(increase the readability of your use case diagram by arranging use cases to imply
timing, one such way is to stack them. So that the use case that typically occur first
are shown above those that appear later)

Use Case - Use Case Diagram
B u k a R e k e n in g

S im p a n U a n g

N asabah

S im p a n u a n g
h a r u s d ia t a s R p .
2 0 0 .0 0 0 ,-

A m b il U a n g
T u tu p

R e k e n in g

T u tu p
R e k e n in g
S im p a n U a n g

N asabah

B u k a R e k e n in g

A m b il U a n g

Actor - Use Case Diagram
• Actor menggambarkan orang, system atau external entitas / stakeholder yang
menyediakan atau menerima informasi dari system
• Actor memberi input atau menerima informasi dari system
• Actor biasanya menggunakan Noun
• Actor digambarkan dengan gambar stick figure atau dengan gambar visual
atau


atau

dll

• Tidak boleh ada komunikasi langsung antar actor (Actors don’t interact with one another )

• Indikasi untuk sebuah actor yang merupakan sebuah system

• Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian
yang terjadi secara periodik/bulanan)

Actor - Use Case Diagram






Letakkan actor utama anda pada pojok kiri atas dari diagram (in western culture
people read from left to right, top to bottom)

(place your primary Use case in the top left corner of the diagram because your
primary actor is often directly involved with your primary/critical use case)
Actor jangan digambarkan ditengah-tengah use cases (actors are placed to the
outside of the diagram, and not the middle of it)

Actors menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan
(Actors model roles, not positions. A common mistake that people new to use case modeling will
make is to use the names of positions that people hold instead of the roles that the people fulfill
when they are naming their actors. A good indication that you are modeling positions instead of
roles is a use case diagram depicting several actors with similar names that have associations
to the same use case(s). you wouldn’t want to have to update your models simply because
your human resources department replace the term CSR with Support Engineer. In hindsight
the term “actor” wasn’t ideal, “role” would have been more appropriate . )

Association - Use Case Diagram
• Ada 4 jenis relasi yang bisa timbul pada use case diagram
– Association antara actor dan use case
– Association antara use case
– Generalization/Inheritance antara use case
– Generalization/Inheritance antara actors

• Associations bukan menggambarkan aliran data/informasi
• Associations digunakan untuk menggambarkan bagaimana actor
terlibat dalam use case

Association antara actor dan use case

• Ujung panah pada association antara actor dan use case mengindikasikan
siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data
• Sebaiknya gunakan garis tanpa panah untuk association antara actor dan use
case

• association antara actor dan use case yang menggunakan panah terbuka untuk
mengindikasikan bila actor berinteraksi secara pasif dengan system anda.

Association - Use Case Diagram
Association antara use case


– termasuk didalam use case lain (required) / (diharuskan)
– Pemanggilan use case oleh use case lain

– contohnya adalah Pemanggilan sebuah fungsi program
– Gambarkan association secara horizontal
– Tanda panah terbuka harus terarah ke sub use case
– Tidak boleh actor dihubungkan pada use case
B u ka
R e k e n in g



< < in c lu d e > >
N a sabah
c a ta t
d a ta p r ib a d i

B uka
R e k e n in g

N asabah

< < in c lu d e > >


c a ta t
d a t a p r ib a d i

Buka
R e k e n in g

N asabah

< < in c lu d e > >

c a ta t
d a ta p r ib a d i

Association - Use Case Diagram
Association antara use case


– Perluasan dari use case lain jika kondisi atau syarat terpenuhi
– Kurangi penggunaan association Extend ini, terlalu banyak pemakaian

association ini membuat diagram sulit dipahami.
– Tanda panah terbuka harus terarah ke parent/base use case
– Gambarkan association extend secara vertical (picture extending use case
below than base/parent use case)
– Tidak boleh actor dihubungkan pada use case

B uka
R e k e n in g
< < e x te n d > >
N a sa bah


B uka
D e p o s it o

Buka
R e k e n in g

N asabah

< < e x te n d > >

B uka
D e p o s it o

Association - Use Case Diagram
Generalization/inheritance


Generalization/inheritance digambarkan dengan sebuah garis berpanah
tertutup pada salah satu ujungnya yang menunjukkan lebih umum



Harus digambarkan secara vertikal

Generalization/inheritance antara use case



Dibuat ketika ada sebuah keadaan yang lain/perlakuan khusus
Inheriting use case dibawah base/parent use case

Generalization/inheritance antara actor



Dibuat ketika ada sebuah actor baru terbentuk dan mempunyai atribut dan
methode yang sama dengan actor yang sudah ada
Inheriting actor dibawah base/parent actor

Association - Use Case Diagram
Generalization/inheritance
Contoh :

System Boundary Boxes - Use Case
Diagram

• Digambarkan dengan kotak disekitar use case, untuk menggambarkan
jangkauan system anda (scope of of your system).
• Biasanya digunakan apabila memberikan beberapa alternative system
yang dapat dijadikan pilihan
• System boundary boxes are optional
• Contoh:






Lain-lain Use Case
Diagram
Association
, atau yang
digunakan pada versi UML sebelumnya, sudah tidak terpakai lagi.
dan keduanya digantikan
dikembangkan ke dan generalization
Avoid more than 2 level of use case association
B u k a
R e k e n in g

< < in c lu d e > >

c a ta t
d a t a p r ib a d i

< < in c lu d e > >

N a s a b a h
use case
packages (see package diagram
)
oWhen the diagram cannot be printed on a
single page
oReorganize large diagram into smaller ones
oUse case package dinotasikan dengan
gambar

c a ta t
a la m a t




1.

High-Level Use Case
Narrative
Use Case:
Mosaic Builder
Actors:
Imager,
Draftsman, Designer
Description:
Imager selects a reference picture in
electronic image format.

2.
a) Draftsman draws edges onto a
transparent contour image aligned
with the reference picture OR
b) System automatically detects edges in
the reference picture, places these
edges into the contour image. The
Draftsman then cleans up the results
- strengthening or erasing edges.

3.

4.
5.

Designer flood-fills coloured regions
onto a region image to distinguish
tile sizes. Designer associates
coloured regions with tile sizes.
Designer specifies number of tiles,
colour palette and tile spacing.
System generates and displays the
mosaic.



Refined Use Case
Narrative
Refine each stage as necessary
producing separate Use-Cases:
Use Case:

2a - Draw Edges

Actors:

Draftsman

Description:
1.

A transparent overlay image is placed over the original reference
picture.

2.

The draftsman draws black edges of a consistent thickness onto the
overlay using the mouse.

3.

The draftsman is also able to erase edges that are incorrect.

4.

The draftsman can save the overlay as a black and white image with
the same resolution as the reference picture.