Kasus penggunaan menggambarkan bagaimana seorang pengguna menggunakan sistem untuk mencapai tujuan tertentu. Diagram kasus penggunaan terdiri dari sistem, kasus penggunaan terkait, dan aktor serta menghubungkan ini satu sama lain untuk memvisualisasikan: apa yang sedang dijelaskan? (sistem), siapa yang menggunakan sistem? (aktor) dan apa yang ingin dicapai oleh para aktor? (kasus penggunaan), dengan demikian, kasus penggunaan membantu memastikan bahwa sistem yang benar dikembangkan dengan menangkap kebutuhan dari sudut pandang pengguna.

Asal Usul Kasus Penggunaan
Saat ini, pemodelan kasus penggunaan sering dikaitkan dengan UML, meskipun telah diperkenalkan sebelum UML ada. Sejarah singkatnya adalah sebagai berikut:
- Pada tahun 1986, Ivar Jacobson pertama kali merumuskan teknik pemodelan tekstual dan visual untuk menentukan kasus penggunaan.
- Pada tahun 1992, buku yang ditulisnya bersama Rekayasa Perangkat Lunak Berorientasi Objek — Pendekatan Berbasis Kasus Penggunaan membantu mempopulerkan teknik untuk menangkap kebutuhan fungsional, terutama dalam pengembangan perangkat lunak.
Tujuan Diagram Kasus Penggunaan
Diagram kasus penggunaan biasanya dikembangkan pada tahap awal pengembangan dan orang sering menerapkan pemodelan kasus penggunaan untuk tujuan berikut:
- Menentukan konteks suatu sistem
- Menangkap kebutuhan suatu sistem
- Memvalidasi arsitektur sistem
- Mendorong implementasi dan menghasilkan kasus uji
- Dikembangkan oleh analis bersama dengan ahli domain
Apa itu Diagram Kasus Penggunaan dalam UML?
Kasus penggunaan adalah daftar tindakan atau langkah-langkah peristiwa yang biasanya mendefinisikan interaksi antara peran seorang aktor dan sistem untuk mencapai tujuan. Kasus penggunaan adalah teknik yang berguna untuk mengidentifikasi, memperjelas, dan mengorganisir kebutuhan sistem. Kasus penggunaan terdiri dari serangkaian kemungkinan urutan interaksi antara sistem dan pengguna yang mendefinisikan fitur yang akan diimplementasikan dan penyelesaian kesalahan yang mungkin terjadi.
Sementara kasus penggunaan itu sendiri mungkin menggali banyak detail (seperti, alur peristiwa dan skenario) tentang setiap kemungkinan, diagram kasus penggunaan dapat membantu memberikan pandangan tingkat tinggi tentang sistem, memberikan representasi yang disederhanakan dan grafis tentang apa yang sebenarnya harus dilakukan oleh sistem.
Kasus penggunaan (atau serangkaian kasus penggunaan) memiliki karakteristik berikut:
- Mengorganisir kebutuhan fungsional
- Memodelkan tujuan interaksi sistem/aktor (pengguna)
- Menggambarkan satu alur utama peristiwa (skenario utama) dan kemungkinan alur luar biasa lainnya (alternatif), juga disebut jalur atau skenario pengguna
Notasi Diagram Kasus Penggunaan
Kasus penggunaan mendefinisikan interaksi antara aktor eksternal dan sistem untuk mencapai tujuan tertentu. Diagram kasus penggunaan terdiri dari empat komponen utama

Aktor
Aktor biasanya adalah individu yang terlibat dengan sistem yang didefinisikan sesuai dengan peran mereka. Aktor bisa berupa manusia atau sistem eksternal lainnya.
Kasus Penggunaan
Kasus penggunaan menggambarkan bagaimana aktor menggunakan sistem untuk mencapai tujuan tertentu. Kasus penggunaan biasanya dimulai oleh pengguna untuk memenuhi tujuan yang menggambarkan aktivitas dan variasi yang terlibat dalam mencapai tujuan.
Hubungan
Hubungan antara dan di antara aktor dan kasus penggunaan.
Batas Sistem
Batas sistem mendefinisikan sistem yang menjadi perhatian sehubungan dengan dunia di sekitarnya.
Manfaat Diagram Kasus Penggunaan
- Kasus penggunaan adalah teknik yang kuat untuk penggalian dan dokumentasi kebutuhan fungsional kotak hitam.
- Karena, kasus penggunaan mudah dipahami dan memberikan cara yang sangat baik untuk berkomunikasi dengan pelanggan dan pengguna karena ditulis dalam bahasa alami.
- Kasus penggunaan dapat membantu mengelola kompleksitas proyek besar dengan membagi masalah menjadi fitur pengguna utama (yaitu, kasus penggunaan) dan dengan menentukan aplikasi dari perspektif pengguna.
- Skenario kasus penggunaan, yang sering diwakili oleh diagram urutan, melibatkan kolaborasi beberapa objek dan kelas, kasus penggunaan membantu mengidentifikasi pesan (operasi dan informasi atau data yang diperlukan — parameter) yang menghubungkan objek dan kelas bersama-sama.
- Kasus penggunaan memberikan dasar yang baik untuk menghubungkan antara verifikasi model tingkat tinggi (yaitu interaksi antara aktor dan serangkaian objek kolaboratif), dan selanjutnya, untuk validasi kebutuhan fungsional (yaitu cetak biru dari pengujian kotak putih).
- Pendekatan berbasis kasus penggunaan menyediakan tautan yang dapat dilacak untuk pelacakan proyek di mana aktivitas pengembangan kunci seperti kasus penggunaan yang diimplementasikan, diuji, dan disampaikan memenuhi tujuan dan sasaran dari sudut pandang pengguna.
Bagaimana Cara Menggambar Diagram Kasus Penggunaan?
Model Use Case dapat dikembangkan dengan mengikuti langkah-langkah di bawah ini.
- Identifikasi Aktor (peran pengguna) dari sistem.
- Untuk setiap kategori pengguna, identifikasi semua peran yang dimainkan oleh pengguna yang relevan dengan sistem.
- Identifikasi apa yang dibutuhkan pengguna agar sistem dapat dijalankan untuk mencapai tujuan ini.
- Buat use case untuk setiap tujuan.
- Strukturkan use case.
- Prioritaskan, tinjau, perkirakan, dan validasi pengguna.
Perhatikan bahwa: untuk membuat pendekatan use case lebih “Agile”, jangan merinci semua use case, tetapi prioritaskan mereka dalam backlog produk Anda, Anda harus memperbaiki use case dalam berbagai tingkat detail sesuai dengan fase pengembangan dengan cara yang tepat waktu dan cukup.
Anda juga dapat:
- Gambarlah paket untuk kategorisasi logis use case ke dalam subsistem terkait.

Strukturisasi Use Cases
UML mendefinisikan tiga stereotip asosiasi antara Use Cases:
<<include>> Use Case
Waktu untuk menggunakan hubungan <<include>> adalah setelah Anda menyelesaikan deskripsi awal dari semua Use Case utama Anda. Anda sekarang dapat melihat Use Case dan mengidentifikasi urutan umum interaksi pengguna-sistem.

<<extend>> Use Case
Use case yang memperluas adalah, secara efektif, jalur alternatif dari use case dasar. Use case <<extend>> mencapai ini dengan secara konseptual menyisipkan urutan aksi tambahan ke dalam urutan use case dasar.

Use Case yang Abstrak dan Generalisasi
Use case umum adalah abstrak. Itu tidak dapat diinstansiasi, karena mengandung informasi yang tidak lengkap. Judul dari use case abstrak ditampilkan dalam huruf miring.

Contoh
Contoh ini menggambarkan model dari beberapa use case bisnis (tujuan) yang mewakili interaksi antara restoran (sistem bisnis) dan aktor utamanya.
Setelah use case dasar diidentifikasi dalam potongan pertama, mungkin kita bisa lebih lanjut menyusun use case tersebut dengan use case <<extend>> dan <<include>> dalam sentuhan putaran kedua seperti yang ditunjukkan pada Gambar di bawah ini:

Use Case Bisnis
Sebuah use case bisnis dijelaskan dalam terminologi bebas teknologi yang memperlakukan proses bisnis sebagai kotak hitam dan menggambarkan proses bisnis yang digunakan oleh aktor bisnisnya, sementara use case biasa biasanya dijelaskan pada tingkat fungsionalitas sistem dan menentukan fungsi atau layanan yang disediakan sistem untuk pengguna. Dengan kata lain, use case bisnis mewakili bagaimana pekerjaan dilakukan secara manual dalam situasi saat ini dan tidak selalu dilakukan oleh sistem atau dimaksudkan untuk diotomatisasi dalam lingkup sistem target.

Cara Mengidentifikasi Aktor
Seringkali, orang menemukan bahwa yang paling mudah untuk memulai proses penggalian kebutuhan adalah dengan mengidentifikasi aktor. Pertanyaan berikut dapat membantu Anda mengidentifikasi aktor dari sistem Anda (Schneider dan Winters — 1998):
- Siapa yang menggunakan sistem?
- Siapa yang menginstal sistem?
- Siapa yang menyalakan sistem?
- Siapa yang memelihara sistem?
- Siapa yang mematikan sistem?
- Sistem lain apa yang menggunakan sistem ini?
- Siapa yang mendapatkan informasi dari sistem ini?
- Siapa yang memberikan informasi kepada sistem?
- Apakah ada sesuatu yang terjadi secara otomatis pada saat ini?
Bagaimana Cara Mengidentifikasi Use Cases?
Mengidentifikasi Use Cases, dan kemudian proses penggalian berbasis skenario dilanjutkan dengan menanyakan nilai yang terlihat secara eksternal dan dapat diamati yang diinginkan oleh setiap aktor. Pertanyaan berikut dapat diajukan untuk mengidentifikasi use case, setelah aktor Anda diidentifikasi (Schneider dan Winters — 1998):
- Fungsi apa yang diinginkan aktor dari sistem?
- Apakah sistem menyimpan informasi? Aktor mana yang akan membuat, membaca, memperbarui, atau menghapus informasi ini?
- Apakah sistem perlu memberi tahu aktor tentang perubahan dalam keadaan internal?
- Apakah ada peristiwa eksternal yang harus diketahui sistem? Aktor mana yang memberi tahu sistem tentang peristiwa tersebut?
Tips Diagram Use Case
Sekarang, periksa tips di bawah ini untuk melihat bagaimana menerapkan use case secara efektif dalam proyek perangkat lunak Anda.
- Selalu strukturkan dan atur diagram use case dari perspektif aktor.
- Use case harus dimulai dengan sederhana dan pada pandangan tertinggi yang mungkin. Hanya kemudian mereka dapat diperbaiki dan dirinci lebih lanjut.
- Diagram use case didasarkan pada fungsionalitas dan dengan demikian harus fokus pada “apa” dan bukan “bagaimana”.
Tingkat Detail Use Case
Granularitas use case mengacu pada cara informasi diorganisir dalam spesifikasi use case, dan sampai batas tertentu, tingkat detail di mana mereka ditulis. Mencapai tingkat granularitas use case yang tepat memudahkan komunikasi antara pemangku kepentingan dan pengembang serta meningkatkan perencanaan proyek.
Alastair Cockburn dalam Menulis Use Case yang Efektif memberi kita cara yang mudah untuk memvisualisasikan berbagai tingkat level tujuan dengan berpikir dalam istilah laut:

Perhatikan bahwa:
- Sementara use case itu sendiri mungkin menggali banyak detail tentang setiap kemungkinan, diagram use case sering digunakan untuk pandangan tingkat lebih tinggi dari sistem sebagai cetak biru.
- Adalah bermanfaat untuk menulis use case pada tingkat granularitas yang lebih kasar dengan detail yang lebih sedikit ketika tidak diperlukan.
Saya harap Anda dapat menjawab “apa itu diagram use case” sekarang dan dapat menerapkan use case dalam proyek Anda. Jika Anda ingin belajar lebih banyak tentang jenis diagram UML lainnya, silakan periksa panduan UML: Ikhtisar dari 14 Jenis Diagram UML.
Hanya menunjukkan diagram use case dalam UML notasi tidak cukup. Setiap use case disertai dengan teks yang menjelaskan tujuan dari use case serta fungsi apa yang dicapai ketika use case dieksekusi.
Spesifikasi use case biasanya dibuat dalam fase analisis dan desain secara iteratif.
- Pada awalnya, hanya deskripsi singkat tentang langkah-langkah yang diperlukan untuk melaksanakan alur normal dari use case (yaitu, fungsi apa yang disediakan oleh use case) yang ditulis.
- Seiring dengan kemajuan analisis, langkah-langkah tersebut diperluas untuk menambahkan lebih banyak detail.
- Akhirnya, alur pengecualian ditambahkan ke use case
- Setiap proyek dapat mengadopsi template use case standar untuk pembuatan spesifikasi use case.
Use Case vs Spesifikasi Use Case
Sebuah Use Case menggambarkan tugas yang dilakukan oleh seorang aktor yang menghasilkan hasil nilai bisnis untuk sebuah bisnis. Sebuah use case dapat divisualisasikan sebagai diagram use case atau/yang dalam format spesifikasi teks terstruktur:

Use Case (tugas — yang ingin dilakukan pelanggan) dapat berupa:
- Interaktif — Sebuah use case sistem menggambarkan interaksi seorang aktor dengan sistem dalam mengejar tujuan bisnis yang ditentukan
- Manual — Sebuah urutan tindakan yang dilakukan oleh seorang aktor
- Otomatis — Sebuah urutan langkah yang dilakukan oleh program atau skrip
Karakteristik dari Use Cases
Sebuah use case memiliki:
- Hanya satu tujuan
- Satu titik awal
- Satu titik akhir
- Beberapa jalur untuk mencapai dari awal hingga akhir
- yaitu. Menentukan perilaku untuk berbagai kemungkinan kondisi
- Setiap kondisi mungkin memerlukan tindakan tertentu

Sebagai Contoh — Pelanggan membayar tagihan:

Ada beberapa jalur untuk mencapai tujuan:
- Pembayaran melalui telepon
- Melalui pos
- Secara langsung
- dengan cek
- dengan uang tunai, dll.
Sebuah jalur yang tidak mengarah ke tujuan:
- Kartu kredit ditolak
Pendekatan Use Case Agile
Model use case dan use case individu berkembang tingkat demi tingkat seiring waktu. Tidak semua use case dari sebuah model perlu ditentukan pada tingkat detail yang sama.
Just-in-Time dan Just-Enough
Use case dapat ditulis pada tingkat data dan cakupan yang berbeda, masing-masing memiliki tujuan:
- Ringkasan: Deskripsi umum dan gambaran luas tentang fungsionalitas sistem atau proses bisnis.
- Tingkat Pengguna: Deskripsi terkait tugas pengguna dan bagaimana mereka berinteraksi dengan sistem; deskripsi dari proses bisnis tertentu. Use case Tingkat Pengguna biasanya dianggap berada pada tingkat tugas yang merupakan pekerjaan utama pengguna.
- Sub-fungsi: Deskripsi aktivitas tingkat lebih rendah yang digunakan untuk menyelesaikan bagian-bagian dari use case inti.

Catatan: Beberapa use case mungkin cukup ditentukan hingga tingkat II. Anda berhenti ketika detail yang cukup dicapai dengan cara just-in-time dan just-enough.
Spesifikasi Use Case yang Detail
Use case yang terperinci adalah representasi tekstual yang menggambarkan urutan peristiwa bersama dengan informasi use case terkait lainnya dalam format tertentu. Orang biasanya mengadopsi template use case standar untuk mencatat informasi terperinci untuk use case.

Template Use Case — contoh kasus penarikan ATM
Seperti yang disebutkan sebelumnya, ada beberapa gaya notasi untuk use case (misalnya gaya diagram, bahasa pemodelan terpadu, format tekstual). Notasi apa pun yang digunakan harus mudah dipahami. Anda dapat menggunakan template, seperti yang berasal dari Alistair Cockburn, tetapi juga merupakan pilihan untuk menggunakan apa yang paling cocok untuk tim Anda.





Buat Diagram Use Case Sederhana
Jika Anda ingin menggambar diagram kasus santai, Visual Paradigm Online akan menjadi pilihan terbaik Anda. Karena sepenuhnya gratis selamanya, tanpa batasan, tanpa pengaturan dan konfigurasi.
Anda juga dapat menggunakan Visual Paradigm Edisi Komunitas, ini juga gratis untuk membuat use case untuk berbagai platform.
Lakukan Pemodelan dan Analisis Use Case Formal
Jika Anda ingin melakukan dan mengembangkan pemodelan use case, Anda disarankan untuk menggunakan versi berbayar Visual Paradigm yang memungkinkan Anda untuk mengembangkan spesifikasi use case yang tepat dan lengkap seperti yang disebutkan di atas.
Lakukan sendiri sekarang dengan Visual Paradigm Online
Coba sekarang dan bersenang-senanglah dengan semua contoh dan template yang siap diedit yang terdaftar sebagai berikut:



Menstrukturkan Use Case dengan Stereotip

Mengekspresikan Beberapa Proyek Menggunakan Batas Sistem



Manajemen Pengembangan Perangkat Lunak





Situs Web (Menstrukturkan use case dengan memperluas dan menyertakan use case)


Sistem Eksternal sebagai Aktor


This post is also available in Deutsch, English, Español, فارسی, Français, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.