USE CASE DIAGRAM
Diagram Use
Case adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan
bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem
secara fungsional yang terlihat user. Biasanya dibuat pada awal pengembangan.
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor
adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk
melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu
bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan
rancangan dengan klien, dan merancang test case untuk semua feature yang ada
pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain
sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use
case yang di-include akan dipanggil setiap kali use case yang meng-include
dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu
use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara
menarik keluar fungsionalitas yang common. Sebuah use case juga dapat
meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan
generalisasi antar use case menunjukkan bahwa use case yang satu merupakan
spesialisasi dari yang lain.
Use case
diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan
interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem
yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika
dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini
menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem
tersebut berinteraksi dengan dunia luar.
Use case
diagram dapat digunakan selama proses analisis untuk menangkap requirements
sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap
desain, use case diagram berperan untuk menetapkan perilaku (behavior) sistem
saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa
use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa
yang harus disediakan oleh sistem kemudian didokumentasikan pada model use case
yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang
mengelilinginya (actor), serta hubungan antara actor dengan use case (use case
diagram) itu sendiri.
Notasi Gambar Yang Diapakai Use Case
- Actor
Seorang / sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.
Gambar actor : Contoh actor :
- Case
Menggambarkan deskripsi yang melibatkan actor Gambar Use Case : Contoh Use Case :
- Extend
Relasi yang digunakan jika use case yang satu mirip dengan use case yang lain. - Include
Relasi jika terdapat perilaku yang mirip dengan beberapa use case.
Komponen Pembentuk Use Case
Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.
Contoh:
Ada beberapa kemungkinan yang menyebabkan actor tersebut terkait dengan sistem, antara lain:
Ada beberapa kemungkinan yang menyebabkan actor tersebut terkait dengan sistem, antara lain:
- Yang
berkepentingan terhadap sistem dimana adanya arus informasi, baik yang
diterimanya maupun yang dia inputkan ke sistem.
- Orang
ataupun pihak yang akan mengelola sistem tersebut.
- External
resource yang digunakan oleh sistem.
- Sistem
lain yang berinteraksi dengan sistem yang akan dibuat.
Use Case
Use case adalah gambaran
fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham
dan mengerti mengenai kegunaan sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari
sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case
lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan
berdasarkan alur atau urutan kejadian.
Cara menentukan Use Case dalam suatu sistem:
- Pola perilaku
peringkat lunak aplikasi
- Gambaran
tugas dari sebuah actor
- Sistem
atau “benda” yang memberikan
sesuatu yang bernilai kepada actor
- Apa
yang dikerjakan oleh suatu perangkat lunak (bukan bagaimana cara
mengerjakannya)
Relasi
dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram:
Ada beberapa relasi yang terdapat pada use case diagram:
- Association,
menghubungkan link antar element.
- Generalization,
disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan
spesialisasi dari elemen lainnya.
- Dependency,
sebuah element bergantung dalam beberapa cara ke element lainnya.
- Aggregation,
bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Tipe
relasi / stereotype yang mungkin terjadi pada Use Case diagram:
- <<include>>,
yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi,
dimana pada kondisi ini sebuah use case adalah bagian dari use case
lainnya.
- <<extends>>,
kelakuan yang hanya berjalan di bawah kondisi tertentu seperti
menggerakkan alarm.
- <<communicates>>,
mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah
communicates association . Ini merupakan pilihan selama asosiasi hanya
tipe relationship yang dibolehkan antara actor dan use case.
Kegunaan Use Case adalah untuk menspesifikasikan konteks sistem,
menggambarkan kebutuhan sistem, memvalidasikan arsitektur sistem, menjalankan
implementasi dan meng-generate test case.
Include
Keterhubungan secara include antar use case menunjukkan bahwa use case asal secara eksplisit memasukkan perilaku dari use case lain yang ditunjuk oleh use case tersebut. Included use case tidak pernah berdiri sendiri, tetapi hanya merupakan bagian dari beberapa use case yang lebih besar yang diikutinya. Keterhubungan use case secara include pada dasarnya merupakan sebuah contoh dari pendelegasian - sekumpulan dari tanggung jawab sebuah sistem diambil dan ditangkap di dalam satu tempat (included use case) - kemudian bagian lainnya dari sistem (use case yang lain) memasukkan kumpulan tanggung jawab yang baru setiap saat mereka memerlukan fungsi-fungsi use case tersebut.
Keterhubungan secara include antar use case menunjukkan bahwa use case asal secara eksplisit memasukkan perilaku dari use case lain yang ditunjuk oleh use case tersebut. Included use case tidak pernah berdiri sendiri, tetapi hanya merupakan bagian dari beberapa use case yang lebih besar yang diikutinya. Keterhubungan use case secara include pada dasarnya merupakan sebuah contoh dari pendelegasian - sekumpulan dari tanggung jawab sebuah sistem diambil dan ditangkap di dalam satu tempat (included use case) - kemudian bagian lainnya dari sistem (use case yang lain) memasukkan kumpulan tanggung jawab yang baru setiap saat mereka memerlukan fungsi-fungsi use case tersebut.
Extend
Keterhubungan use case secara extend menunjukkan bahwa use case yang ditunjuk merupakan perluasan perilaku dari use case asal. Use case asal dapat berdiri sendiri, tetapi untuk kondisi tertentu perilaku use case tersebut dapat diperluas oleh perilaku dari use case lain. Hubungan perluasan digunakan untuk memodelkan bagian dari use case yang dapat dilihat oleh user sebagai perilaku yang dapat dipilih dari sistem. Hubungan perluasan juga dapat digunakan untuk memodelkan sub aliran yang terpisah-pisah yang hanya dapat dijalankan dalam kondisi tertentu. Pada akhirnya, hubungan perluasan use case untuk memodelkan beberapa aliran yang dapat dimasukkan dalam titik tertentu.
Keterhubungan use case secara extend menunjukkan bahwa use case yang ditunjuk merupakan perluasan perilaku dari use case asal. Use case asal dapat berdiri sendiri, tetapi untuk kondisi tertentu perilaku use case tersebut dapat diperluas oleh perilaku dari use case lain. Hubungan perluasan digunakan untuk memodelkan bagian dari use case yang dapat dilihat oleh user sebagai perilaku yang dapat dipilih dari sistem. Hubungan perluasan juga dapat digunakan untuk memodelkan sub aliran yang terpisah-pisah yang hanya dapat dijalankan dalam kondisi tertentu. Pada akhirnya, hubungan perluasan use case untuk memodelkan beberapa aliran yang dapat dimasukkan dalam titik tertentu.
Manfaat Model Use Case
- Digunakan untuk berkomunikasi dengan end user dan domain expert
- Menyediakan buy-in pada tahap awal pengembangan sistem.
- Memastikan pemahaman yang tepat tentang requirement / kebutuhan sistem.
- Digunakan untuk mengidentifikasi
- Siapa yang berinteraksi dengan sistem dan apa
yang harus dilakukan sistem.
- Interface yang harus dimiliki sistem.
- Digunakan untuk ferifikasi
- Semua requirement yang telah dicapture.
- Tim pengembang memahami requirement.
Macam-macam Use Case
- Narative
Form
Bentuk teks bebas dalam format paragraph. - Scenerio
Form
Penjelasan penulisan use case dari sudut pandang actor. - Conversation
Form
Dialog antara actor dan sistem yang menunjukkan interaksi antar keduanya.
Format
Penulisan Use Case
Tiap Use Case memiliki:
- Precoditions, yang harus dipertemukan agar use
cases dapat bekerja dengan sukses.
- Postconditions, mendefinisikan kondisi-kondisi
dimana use cases berakhir.
- Postconditions mengidentifikasi hasil yang dapat
diobservasi dan status akhir dari sistem setelah use case telah komplit.
- Flow of events, yang mendefinisikan aksi pengguna
dan respon sistem terhadap aksi yang dilakukan. Flow of events merupakan
kompresi dari skenario normal, yang mendefinisikan tingkah laku umum dari
sistem untuk use case, dan cabang-cabang alternatif, dimana bagian lain
yang telah tersedia dapat digunakan oleh use case.
Use Case dan Test Cases akan bekerja dengan baik dalam dua cara,
yaitu:
- Jika use case dari sistem komplit, akurat dan
jelas, maka pembuatan test cases dapat dilakukan secara langsung.
- Jika use case tidak dalam kondisi yang baik, maka
pembuata test cases akan membantu dalam melakukan debug terhadap
test cases.
Modul Use Case
Mulai dengan kondisi atau kejadian normal biasa:
- Acuhkan pengecualian, alternatif, dll.
- Use case harus dinamai dan perspektif pengguna sebagai kata kerja aktif.
- Menunjukkan deskripsi tujuan dari use case dan defenisi fungsionalitas tingkat
tinggi.
CONTOH
KASUS USE CASE
1. Use Case Perpustakaan
Seorang siswa untuk menjadi
anggota harus mendaftar terlebih dahulu kepada petugas setelah mendaftar
mahasiswa tersebut boleh membaca buku. Jika sudah menjadi anggota, siswa
tersebut boleh meminjam buku kepada petugas perpustakaan dan mengembalikannya
sesuai dengan ketentuan tersebut apabila anggota tersebut telat mengembalikan
buku maka anggota dikenakan denda dan membayar denda tersebut kepada petugas.
2.
Use Case
Pertokoan
Seorang penjaga toko mencatat
permintaan setelah itu melihat berapa banyak permintaan yang masuk. Kemudian
penjaga toko harus membuat laporannya. Petugas stok menghitung stok barang apa
saja barang yang di stok kemudian membuat laporannya dan untuk petugas keuangan
yaitu menghitung barang yang sudah dijual dan pemasukannya kemudian membuat
laporan keuangan.
0 komentar:
Posting Komentar