Diagram use case merupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat,mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat,digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Yang ditekankan pada diagram ini adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.Sebuah use case merepresentasikan sebuah interaksi antara aktor (user atau sistem lainya) dengan sistem.Use case menjelaskan secara sederhana fungsi sistem dari sudut pandang user.
*Bagian-Bagian dari UseCase Diagram
1. System
Menyatakan batasan sistem dalam relasi dengan actor-actor yang menggunakannya (di luar sistem) dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
2. Actor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut
untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah dengan bertanya hal-hal berikut: SIAPA yang akan menggunakan sistem? APAKAH sistem tersebut akan memberikan NILAI bagi aktor?
3. Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai (misalnya,Pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada ).ada 2 triger pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa.
4. Assosiation
Mengidentifikasikan interaksi antara setiap actor tertentu dengan setiap use case tertentu. Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan demikian.
5 Dependency
Dependensi <<include>>
- o Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.
- o Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
- Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada garis.
- o Arah mata panah sesuai dengan arah pemanggilan.
- Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi <<extend>>.
-Note: konsep “extend” ini berbeda dengan “extend” dalam Java!
-Digambarkan serupa dengan dependensi <<include>> kecuali arah panah berlawanan.
6. Generalization
Mendefinisikan relasi antara dua actor atau dua use case yang mana salah satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.
Menyusun Diagram Use case
Langkah-langkah yang dibutuhkan untuk menyusun diagram use case adalah:
- Mengidentifikasi pelaku bisnis
- Mengidentifikasi use case persyaratan bisnis
- Membuat diagram model use case
- Mendokumentasikan naratif use case persyaratan bisnis
- Set konteks dari target sistem.
- Identifikasi semua actor.
- Identifikasi semua use case.
- Definisikan asosiasi antara setiap actor dan setiap use case.
- Evaluasi setiap actor dan setiap use case untuk mendapatkan kemungkinan perbaikan.
- Evaluasi setiap use case untuk dependensi <<include>>.
- Evaluasi setiap use case untuk dependensi <<extend>>.
- Evaluasi setiap actor dan setiap use case untuk generalisasi.
Setiap use case harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case description) atau scenario use case.
Deskripsi use case berisi:
- Nama use case yaitu penamaan use case yang menggunakan kata kerja
- Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan didapatkan oleh aktor
- Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan.
- Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan
- Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan adalah benar atau proses yang harusnya terjadi
- Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar.