UML – Use Case Diagram
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
Contoh
Package Diagram
Class 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)
• 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
A m b il U a n g
T u t u p R e k e n in g N a s a b a h
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 ,
-B u k a R e k e n i n g S i m p a n U a n g
A m b i l U a n g T u t u p R e k e n i n g
• 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 <<system>> untuk sebuah actor yang merupakan sebuah system
• Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan)
• 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)
Actor - Use Case Diagram
• Actors menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan
•
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 - Use Case Diagram
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
Association antara use case
• <<include>>
– termasuk didalam use case lain (required) / (diharuskan)
– Pemanggilan use case oleh use case lain
– contohnya adalah Pemanggilan sebuah fungsi program
– Gambarkan association <<include>> secara horizontal
– Tanda panah terbuka harus terarah ke sub use case
– Tidak boleh actor dihubungkan pada use case <<include>>
Association - Use Case Diagram
B u k a R e k e n i n g
< < i n c l u d e > >
c a t a t d a t a p r i b a d i N a s a b a h
B u k a R e k e n in g
< < in c l u d e > > c a t a t d a t a p r ib a d i
N a s a b a h B u k a
R e k e n i n g
< < i n c l u d e > > c a t a t d a t a p r i b a d i
N a s a b a h
<<include>>
Association antara use case
• <<extend>>
– 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 <<extend>>
Association - Use Case Diagram
B u k a R e k e n i n g
N a s a b a h
< < e x t e n d > > B u k a D e p o s it o
B u k a R e k e n i n g
< < e x t e n d > >
B u k a D e p o s i t o
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
Generalization/inheritance Contoh :
• 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 <<uses>>,<<includes>> atau <<extends>> yang
digunakan pada versi UML sebelumnya, sudah tidak terpakai lagi.
•
<<uses>> dan <<includes>> keduanya digantikan <<include>>
•
<<extends>> dikembangkan ke <<include>> dan generalization
•
Avoid more than 2 level of use case association
B u k a R e k e n i n g
N a s a b a h
< < i n c l u d e > > c a t a t d a t a p r i b a d i
< < i n c l u d e > > c a t a t a l a m a t
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
High-Level Use Case
Narrative
• Use Case: Mosaic Builder
• Actors: Imager,
Draftsman, Designer
• Description:
1. 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. Designer flood-fills coloured regions onto a region image to distinguish tile sizes. Designer associates
coloured regions with tile sizes.
4. Designer specifies number of tiles, colour palette and tile spacing.
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.