Use Case and Flow of event What Is A Use Case? Pada pertengahan tahun 1980, Ivar Jacobson mengajukan ide kasus penggunaan dan skenario penggunaan. Baru-baru ini telah dikenal sebagai use case dan scenario use case. Tidak ada ilmu tentang roket pada waktu itu : use case adalah alasan untuk menggunakan system, sebagai contoh : pemegang kartu Bank perlu menggunakan ATM untuk menarik uang tunai dari rekening mereka.
Actor System Goal Use case menggambarkan bagaimana tipe pengguna (actor). Gunakan sistem untuk mencapai tujuan. Ada 3 kunci yang harus kita tahu tentang bagaimana caranya menggambarkan use case. 1. Aktor yang terlibat, aktor ialah tipe pengguna (cth : pemegang kartu) yang berinteraksi dengan sistem. 2. System yang digunakan 3. Tujuan yang ingin dicapai oleh actor dengan menggunakan system (tujuan menggunakan system). Percaya atau tidak, jika kamu mengingat ini, kamu telah mengetahui tentang 3 use case. Ada beberapa hal yang harus diingat : Aktor menggambarkan perang pengguna di dalam relasi dalam suatu sistm, seperti pemegang kartu sebagai periklanan eksekutif, tapi tidak menarik perhatian kita, kita hanya peduli terhadap apa hubunganya terhadap sistem. Aktor ialah bagian luar dari sistem itu sendiri. Aktor tidak harus manusia, mereka bisa menjadi sistem lain, sebagai contoh ATM yang harus di hubungkan dengan pemegang kartu bank, sistem luar yang berhubungan dengan use case juga termasuk aktor. Tujuan harus menjadi nilai untuk aktor, kita tidak akan memiliki use case yang disebut pemegang kartu yang memasukan PIN, karena itu dengan sendirinya tidak mempunyai nilai apa-apa terhadap pemegang kartu. Kita tidak membangun ATM hanya karena orang dapat memasukan PIN ketika kita menganalisa kebutuhan fungsi suatu sistem, kunci pertanyaan yang harus kita tanyakan ialah siapa yang akan menggunakan sistem, dan untuk apa mereka menggunakanya?
1
Skenario Use Case Pada saat pemegang kartu ingin mengambil uang tunai dari ATM, hal ini tidak selalu menghasilkan hasil yang sama, terkadang ia mendapatkan uangnya, terkadang ia bisa tidak mempunyai cukup uang, atau tidak ada uang dalam ATM. Ini adalah beberapa contoh skenario Use Case, hasil yang diberikan berbeda, bergantung pada situasinya, akan tetapi mereka semua berhubungan dengan tujuan yang sama dan mereka memiliki awal mulai yang sama.
Please take your cash
Sorry. You have insufficient funds. Please specify a smaller amount.
Sorry. We are unable to process your request at the moment.
Your card has been retained. Please contact your card issuer.
Dalam latihan, kita menggambarkan bagaimana Use Case dengan menggambarkan kunci Skenario nya, Skenario Use Case membentuk dasar dari desain interaksi , tapi juga memetakan langsung terhadap skrip pengujian sistem dan dokumentasi lainya Cara menggunakan Skenario Use Case dengan Esensi Deskripsi Use Case Ketika kita telah mengerti aktor dan tujuan dalam Use Case, dan telah mengetahui kunci Skenario Use Case, kita bisa mulai dengan desain interaksi level tinggi, aktor berinteraksi dengan sistem dengan memencet tombol, mengetik kedalam kotak tulisan, meng-klik icon dan lain sebagainya untuk mencapai tujuan dari Use Case. Kesalahan biasa yang dibuat pada tahap awal desain ialah menuju perincian teknis dan berkomitmen pada desain tampilan yang spesifik atau penggunaan teknologi. 99% tim, tidak menyadari bahwa deskripsi sistem seperti yang diatas bukanlah kebutuhan dokumen dari sistem, ini adalah tingkat tinggi desain interaksi. Bahayanya jika kita menggabungkanya dengan kebutuhan yang asli, memisahkan sistem harus dilakukan setelah itu kita dapat melanjutkan keputusan desain yang kita buat pada tahap awal, mengganti desain Use Case harus selalu di lihat sebagai pilihan, jika hasilnya lebih bagus dan lebih murah dalam mencapai tujuan yang sama, jadilah 1% yang selalu mengingat bahwa desain Use Case tidak sama dengan kebutuhan. Esensi Membuat Model Skenario Use Case menggunakan Diagram Sequence Jika anda tidak asing dengan UML (Unified Modelling Language) sequence diagram maka anda dapat dengan mudah membuat model skenario use case seperti contoh di atas dengan menggunakan sequence diagram yang sederhana, ini juga menunjukan urutan kejadian, interaksi dan jelas menunjukan siapa mengerjakan apa..
2
Ini telah menambahkan keuntungan atau kerugian, tergantung bagaimana anda melihatnya, anda dapat mengambil dengan alat yang mendukun UML dan anda dapat melanjutkan untuk menyempurnakan penerapan desain dibalik user-sistem interaksi yang menggunakan model yang sama. Visualisasi Skenario dengan menggunakan jalan cerita Jika kita nyaman dengan meggunakan alur logika dari skenario Use Case, maka kita bisa menggunakan teknik sederhana yang disebut jalan cerita ??? untuk menunjukan bagaimana dapat terlihat dengan penggunaaan tampilan yang asli, pada tiap tahap dari skenario, kita bisa menggambarkan bagaimana tampilan terlihat. Dan urutan dari gambar, untuk setiap interaksi, illustrasi dari alur skenario tidak terlihat dan dapat dibaca dengan mudah Please select a service: • Withdrawal • Withdrawal With Receipt • Display Balance • Order Cheque Book
select withdrawal option
specify amount
Please select an amount to withdraw: • £10 • £20 • £50
• £100 • £200 • Other
take card Please remove your card
Please take your cash
take cash
Thank you for using Natleys Bank
Welcome to Natleys Bank. Please insert your card.
Use Cases & Rework Ada 2 hal yang harus di hindari: 1. Membuat sesuatu yang di harapkan user, akan tetapi salah
3
2. Membuat sesuatu yang tidak sesuai dengan harapan user Use Cases & UML Unified Modeling Language memiliki notasi yang spesifik untuk model Use Case communicates ATM
withdraw cash cardholder
actor
system boundary
use case
Dalam UML Use Case Diagram, Aktor di gambar sebagai manusia kayu dengan nama di tulis di bawah, sebuah Use Case di gambar dengan bentuk oval mengandung nama dari use case. Untuk melihat bahwa aktor berpartisipasi dalam pembuatan use case, kita menggambar garis antara aktor dengan use case untuk memperlihatkan bahwa aktor memiliki komunikasi dengan use case. Dengan pilihan kita bisa menggambar kotak di sekitar use case untuk menunjukan dimana sistem. Aktor selalu berada di luar batas sistem. ATM
order cheque book cancel transaction
view balance deactivate ATM
withdraw cash cardholder
print audit log
start session
4
bank employee
Hubungan Antar Use Case student
music school
select book appointment option •Prompt user to enter the time and date they would prefer •enter time and date •Retrieve list of available tutors for that date and time •[tutor available] Ask student to confirm assessment
book lesson student
music school
select book lesson option •Prompt user to enter the time and date they would prefer •enter time and date •Retrieve list of available tutors for that date and time •Select tutor
music school
book assessment
<
>
check availability of tutors
customer
book lesson
<>
Perluasan Use Case Terkadang dua atau lebih use case akan berisi alur dari use case lain, tapi hanya dalam kondisi tertentu saja, sebagai contoh, saat membuat kopi atau teh, kita bisa memanaskan ceret jika belum di panaskan <> relasi berarti bahwa alur dari use case selalu terisi, akan tetapi <<extend>> hubungan berarti bahwa alur dari perluasan use case akan terisi dalam situasi tertentu saja.
5
customer
web store
select checkout option •[not logged in] prompt customer for user name & password •enter user name & password •authenticate user •display contents of shopping basket
review a product customer
web store
select review item option •[not logged in] prompt customer for user name & password •enter user name & password •authenticate user •prompt user for review text
web store checkout extension points not logged in
<<extend >> ( not logged)in
log in
customer
review a product extension points not logged in
<<extend >> ( not logged)in
Menggunakan Use Case Ada beberapa tahap sederhana yang dapat di ikuti : 1. Mengenal Aktor: siapa yang akan menggunakan sistem? 2. Mengetahui tujuan: apa yang di lakukan dengan sistem tersebut ? 3. Mengetahui kunci skenario: dalam mencapai tujuan spesifik, alur kerja apa yang perlu kita pertimbangkan. 4. Mendeskripsikan bisnis dalam hal interaksi antar aktor dan sistem untuk skenario yang spesifik 5. Membuat prototype UI yang berhubungan dengan jelas dengan skenario ke teknik dan non teknik. 6. Menerapkan design dalam coding 7. Mendapatkan masukan dari pengguna kita melalui tiap pengujian 8. Pindah ke skenario selanjutnya 9. Jangan mencoba membuat sistem tanpa code
Reusing Use Cases 1. Planning & Estimating 2. System Testing 6
3. 4. 5. 6.
User Documentation User Stories Business Simulations Conclusion
Flow of Events 1. User maintenance a. Main Flow Kasus use case dimulai ketika admin login ke dalam sistem dan pilih opsi maintenance option. Sistem akan meminta pemilihan user yang diperlukan termasuk create user, update user, delete user, and view user. b. Sub Flows 1. Create new user Sistem menampilkan layar baru dengan barbagai pilihan yang harus dilakukan saat membuat user baru, seperti user id, user name, password, user type, tingkat aksesnya, dan lainnya. Ketika admin melengkapi langkah yang diperlukan, sistem akan membuat user baru. 2. Update user Sistem akan menampilkan menu update pada admin dan admin dapat memperbarui informasi yang diperlukan, seperti mengubah informasi pengguna, menghapus, memasukan tingkat akses, dan lainnya. Untuk informasi, admin harus memilih user mana yang ingin diganti dari menu dropdown. Setelah itu submit maka sistem akan memperbarui. 3. Remove user Sistem akan menampilkan menu delete user pada admin dan menghapus pengguna dari sistem. Setelah itu klik submit maka otomatis akan terhapus dari sistem. 4. View user Pada layar view user, admin dapat melihat semua rincian yang relevan kepada user. 2. Manage Medical Information a. Preconditions Ketika admin melakukan hal ini, ada syyarat yang diperlukan, tapi medical spesialis melakukan hal ini dengan create user baru. b. Main Flow Kasus use case ini dimulai ketika admin login ke sistem dan memilih opsi medical. Sistem akan menampilkan medical information. c. Sub Flows 1. Insert new diagnosis Sistem akan menampilkan interface diagnosis baru. Jika diagnosis tidak ada di dalam sistem, sistem akan ke layar selanjutnya untuk memasukan seluruh detailnya. 2. Update diagnosis
7
Sistem menampilkan update diagnosis dimana user dapat update informasi tentang diagnosis. 3. Insert drugs Pengguna dapat memasukkan obat yang tersedia untuk diagnosis tertentu dengan terlebih dahulu memilih diagnosis. Maka pengguna dapat melihat apa obat ditambahkan ke diagnosis dan masukkan obat yang lain jika obat-obatan tidak tersedia di sistem. 4. Update drugs User dapat update detail obat dengan memilih diagnosis. 5. Maintain other information User dapat memperbaiki informasi lain yang terkait dengan opsi tersebut. Dalam opsi ini, spesialis medis dapat menambahkan berbagai rincian seperti tips kesehatan, dll. d. Alternative Flows Pengguna dapat memasukkan kembali diagnosis atau menghentikan kasus penggunaan.
8