Kasus Penggunaan dalam UML: Cara Menulis Spesifikasi Kasus Penggunaan yang Efektif

Menampilkan diagram kasus penggunaan hanya menggunakanUMLnotasi tidak cukup. Setiap kasus penggunaan disertai teks yang menjelaskan tujuan dari kasus penggunaan dan fungsionalitas yang selesai ketika kasus penggunaan dieksekusi. Spesifikasi kasus penggunaan biasanya dibuat secara iteratif selama tahap analisis dan desain.

  • Pertama, deskripsi singkat ditulis hanya tentang langkah-langkah yang diperlukan untuk alur normal kasus penggunaan (yaitu, fungsionalitas apa yang disediakan oleh kasus penggunaan).
  • Seiring dengan kemajuan analisis, langkah-langkah ini diperjelas dengan lebih banyak detail.
  • Akhirnya, alur alternatif dan pengecualian ditambahkan ke dalam kasus penggunaan.
  • Setiap proyek dapat mengadopsi template kasus penggunaan standar untuk membuat spesifikasi kasus penggunaan.

Kasus Penggunaan vs. Spesifikasi Kasus Penggunaan

Kasus penggunaan menggambarkan tugas yang dilakukan oleh aktor yang memberikan nilai bisnis. Kasus penggunaan dapat divisualisasikan sebagai diagram kasus penggunaan dan/atau format spesifikasi teks terstruktur:

Use Case vs. Use Case Specification

Kasus penggunaan (tugas yang ingin dilakukan pelanggan) dapat berupa:

  • Interaksi — Kasus penggunaan sistem menggambarkan bagaimana aktor berinteraksi dengan sistem untuk mencapai tujuan bisnis yang ditentukan.
  • Manual — Sebuah urutan tindakan yang dilakukan oleh aktor.
  • Otomatis — Sebuah urutan langkah yang dieksekusi oleh program atau skrip.

Karakteristik Kasus Penggunaan

Kasus penggunaan memiliki:

  • Hanya satu tujuan
  • Satu titik awal
  • Satu titik akhir
  • Banyak jalur dari awal hingga akhir
    • Artinya, menentukan perilaku untuk berbagai kondisi yang mungkin
    • Setiap kondisi mungkin memerlukan tindakan tertentu

Characteristics of a Use Case

Sebagai contoh — Pelanggan Membayar Tagihan:

Customer Pays a Bill

Ada beberapa jalur untukmencapai tujuan:

  • Melalui telepon
  • Melalui surat
  • Secara langsung
  • Melalui cek
  • Melalui tunai, dll.

Jalur yang tidak mengarah ke tujuan:

  • Kartu kredit ditolak

Pendekatan Use Case Agile

Model use case dan use case individu yang terkandung di dalamnya berkembang secara bertahap seiring waktu. Tidak semua use case dalam model perlu ditentukan pada tingkat detail yang sama.

Saat Diperlukan dan Cukup Saja

Use case dapat ditulis pada tingkat detail dan cakupan yang berbeda, masing-masing memiliki tujuan tertentu:

  • Ringkasan: Deskripsi umum dan gambaran tingkat tinggi mengenai fungsi sistem atau proses bisnis.
  • Tingkat Tujuan Pengguna: Deskripsi terkait tugas tentang tujuan penggunatujuan dan bagaimana mereka berinteraksi dengan sistem; deskripsi mengenai proses bisnis tertentu. Use case tujuan pengguna biasanya dianggap berada pada tingkat tugas utama pengguna.

Contoh: Menarik uang dari ATM adalah tugas yang bermanfaat dan akan menjadi use case tingkat inti, tetapi memasukkan PIN Anda tidak berada pada tingkat ini karena mendukung tugas utama.

  • Subfungsi: Deskripsi aktivitas tingkat rendah yang menyelesaikan bagian-bagian dari use case inti.

Agile Use Case Approach

Catatan: Beberapa use case dapat sepenuhnya ditentukan hingga Tingkat II. Anda berhenti ketika Anda memiliki cukup detail, diperoleh secara tepat waktu dan cukup saja.

Spesifikasi Use Case Rinci

Use case rinci adalah representasi teks yang menggambarkan urutan kejadian bersama informasi use case lain yang relevan dalam format tertentu. Orang biasanya menggunakan template use case standar untuk mendokumentasikan informasi use case rinci.

Detailed Use Case Specification

Templat Use Case – Contoh Penarikan Tunai ATM

Seperti yang disebutkan sebelumnya, use case memiliki berbagai gaya notasi (misalnya, diagramatik, UML, format teks). Terlepas dari notasi yang digunakan, harus mudah dipahami. Anda dapat menggunakan templat seperti yang dibuat oleh Alistair Cockburn, atau pilih templat yang paling sesuai dengan tim Anda.

Spesifikasi Use Case
Nama Kasus Penggunaan: Tarik Tunai
Pemain: Pelanggan (utama), Sistem Bank (sekunder)
Deskripsi Singkat: Memungkinkan setiap pelanggan bank untuk menarik uang dari rekening bank mereka.
Prioritas: Harus ada
Status: Rincian sedang
Prasyarat: Pelanggan bank memiliki kartu untuk dimasukkan ke ATM
ATM sedang online dan berfungsi dengan normal
Pasca kondisi:
  • Pelanggan bank telah menerima uang tunai (dan kwitansi opsional)
  • Bank telah mengurangi rekening pelanggan dan mencatat rincian transaksi
Alur Dasar:
  1. Pelanggan memasukkan kartu mereka ke ATM
  2. ATM memvalidasi bahwa kartu tersebut adalah kartu bank yang sah
  3. ATM meminta masukan PIN
  4. Pelanggan memasukkan PIN mereka
  5. ATM memvalidasi kartu bank terhadap PIN
  6. ATM menampilkan pilihan layanan, termasuk “Penarikan”
  7. Pelanggan memilih “Penarikan”
  8. ATM menampilkan pilihan jumlah
  9. Pelanggan memilih jumlah atau memasukkan jumlah
  10. ATM memverifikasi bahwa uang tunai yang cukup tersedia di mesin
  11. ATM memverifikasi bahwa pelanggan berada di bawah batas penarikan
  12. ATM memverifikasi bahwa dana yang cukup tersedia di rekening bank pelanggan
  13. ATM mengurangi rekening bank pelanggan
  14. ATM mengembalikan kartu bank pelanggan
  15. Pelanggan mengambil kartu bank mereka
  16. ATM memberikan uang tunai kepada pelanggan
  17. Pelanggan mengambil uang tunainya
Alur Alternatif: 2a. Kartu tidak valid
2b. Kartu dimasukkan terbalik
5a. Kartu dicuri
5b. PIN tidak valid
10a. Uang tunai tidak mencukupi di mesin
10b. Nilai uang tunai salah di mesin
11a. Penarikan melebihi batas penarikan
12a. Dana tidak mencukupi di rekening bank pelanggan
14a. Kartu bank macet di mesin
15a. Pelanggan tidak mengambil kartu bank
16a. Uang tunai macet di mesin
17a. Pelanggan gagal mengambil uang tunai

  • ATM tidak dapat berkomunikasi dengan sistem bank
  • Pelanggan tidak merespons petunjuk ATM
Aturan Bisnis: B1: Format PIN
B2: Jumlah percobaan PIN
B3: Pilihan layanan
B4: Pilihan jumlah
B5: Batas penarikan
B6: Kartu harus diambil sebelum uang tunai dikeluarkan
Persyaratan Non-Fungsional: NF1: Waktu untuk menyelesaikan transaksi
NF2: Keamanan entry PIN
NF3: Waktu yang diizinkan untuk mengambil kartu dan uang tunai
NF4: Dukungan bahasa
NF5: Dukungan untuk pengguna tunanetra dan pengguna dengan penglihatan terbatas

Leave a Reply