LECTURE NOTES
Use Cases
ISYS6306 – Information System Analysis and Design
LEARNING OUTCOMES
Learning Outcomes : LO 4: Draw the User Business Process Using Use Case Diagram
OUTLINE MATERI : 1. Use Cases and User Goals 2. Use Cases and Event Decomposition 3. Use Cases and CRUD 4. Use Case Diagrams
ISYS6306 – Information System Analysis and Design
ISI MATERI
1. Use Cases and User Goals User Goals Technique pendekatan untuk mendeskipsikan use case dengan menentukan tujuan spesifik yang dilakukan user pada saat menggunakan system. Langkah – Langkah dalam User Goals Techniques : 1. mengindentifikasi semua user yang terlibat 2. mengklasifikasikan user berdasarkan functional role 3. mengklasifikasikan user berdasarkan orhganizational level 4. wawancara user untuk menghasilkan daftar tujuan 5. membuat daftar use case berdasarkan setiap jenis user 6. koreksi jika ada duplikasi user 7. mengindentifikasi mengapa dan kapan user yang berbeda bisa dalam suatu use case yang sama 8. mereview kembali daftar yang telah di buat
2. Use Cases and Event Decomposition Salah satu teknik yang dapat diandalkan untuk mengidentifikasi use cases adalah dengan menggunakan event decomposition techniques. Event decomposition technique merupakan sebuah teknik untuk mengidentifikasi use cases dengan menentukan external business events apa saja yang terjadi dan bagaimana sistem harus meresponnya. Event decomposition technique dimulai dengan mengidentifikasi semua business events yang dapat mengakibatkan sistem informasi merespon terhadapnya, dimana nantinya setiap event akan berujung pada sebuah use case. Memulai dengan business events membantu analyst untuk mendefinisikan use case pada tingkat yang cukup detil. Perhatikan contoh berikut. Seorang system analyst yang pertama dapat mengidentifikasi sebuah use case sebagai “typing in a customer name on a form”. Analyst yang kedua dapat mengidentifikasi sebuah use cases sebagai sebuah keseluruhan proses untuk “adding a new customer”. Sementara itu, analyst yang ketiga
ISYS6306 – Information System Analysis and Design
dapat saja mendefinisikan sebuah use case sebagai segala sesuatu transaksi menyangkut customers, seperti “adding new customers”, “updating customer records”, “deleting customers”, “following up on late-paying customers”, atau “contacting former customers”. Level detil yang tepat untuk mengidentifikasi use cases berfokus pada elementary business processes (EBPs). Sebuah EBP adalah sebuah task yang harus dikerjakan oleh satu orang pada satu tempat sebagai respon terhadap sebuah business event, dimana pada saat mengerjakannya terjadi penambahan measurable business value dan pada saat keluar dari sistem, sistem berikut data berada pada stable dan consistent state. Atau dengan kata lain EBPs merupakan fundamental tasks dari sebuah proses bisnis, yang memposisikan sistem dan data pada state yang tidak berubah, yang biasanya dilakukan oleh satu orang yang merespon sebuah business event. Setiap EBP (dan setiap use case) terjadi sebagai respon dari sebuah business event. Sebuah event terjadi pada satu waktu dan tempat, yang dapat diidentifikasikan, dan dapat terekam oleh sistem. Events memacu semua proses yang dilakukan oleh sistem, jadi dengan mendata semua events dan menganalisanya akan dapat diidentifikasikan use cases yang mencerminkan system requirements. Ada tiga (3) jenis event yang perlu diketahui, yaitu external event, temporal event, dan state event (disebut juga internal events). Analyst akan memulai dengan mengidentifikasi dan mendata sebanyak mungkin events, untuk kemudian dievaluasi kembali dengan system users. Berikut adalah penjelasan singkat untuk masing-masing jenis event:
1. External event, merupakan sebuah event yang terjadi karena dipicu atau diinisiasi oleh external agent atau actor. External agent sendiri merupakan pihak atau orang yang berada di luar lingkup organisasi, contohnya untuk kegiatan penjualan barang maka external agent-nya adalah para pelanggan. Berikut adalah beberapa checklist yang perlu diperhatikan dalam menentukan external event:
ISYS6306 – Information System Analysis and Design
a. External agent menginginkan sesuatu yang berakibat pada terciptanya sebuah transaksi. b. External agent menginginkan beberapa informasi. c. Kebutuhan untuk update dan perubahan data. d. Management menginginkan beberapa informasi
2. Temporal event, merupakan sebuah event yang terjadi sebagai akibat dari terpenuhinya kondisi waktu. Misalnya sebuah sistem HRD akan menambahkan jatah cuti tahunan untuk para karyawannya setiap awal tahun (per 1 Januari). Berikut adalah beberapa checklist yang perlu diperhatikan dalam menentukan temporal event: a. Untuk keperluan internal outputs: - Management reports (summary atau exception) - Operational reports (detailed transactions) - Internal statements dan documents (termasuk penggajian) b. Untuk keperluan external outputs: - Statements, status reports, bills, reminders c. State event, merupakan sebuah event yang dipicu dari suatu terpenuhinya kondisi di dalam sistem, yang mengakibatkan sistem melakukan pemrosesan terhadap suatu transaksi. Contohnya untuk sebuah sistem persediaan barang, dimana sistem secara ototmatis akan menampilkan reminder kepada bagian purchasing saat stok barang mencapai ROP (reorder point, titik pemesanan kembali). Dalam melakukan identifikasi terhadap events dapat diperhatikan beberapa panduan berikut:
1. Event versus prior conditions and responses, dimana untuk setiap event yang ada perlu dikaji lebih dalam terkait hal-hal atau kondisi apa saja yang dapat memicu terjadinya event tersebut, serta respon seperti apa yang harus dilakukan oleh sistem yang akan dibangun.
ISYS6306 – Information System Analysis and Design
2. The sequence of events: tracing a transaction’s life cycle, dimana perlu untuk melihat sekuensial ataupun urutan kejadian dari events yang saling terkait, sehingga dapat diperoleh satu gambaran besar terhadap siklus hidup dari sebuah transaksi, event apa yang memulai transaksi hingga event apa yang akan mengakhiri kejadian transaksi tersebut. 3. Technology-dependent events and system control, dimana perlu diketahui bahwa events yang teridentifikasi hendaknya selalu melibatkan penggunaan sistem di dalam eksekusinya (technology-dependent). Kebanyakan dari events ini juga melibatkan system controls, yang berupa pengecekan atau prosedur keamanan guna memproteksi integritas sistem dan data. Terkadang ada juga events yang harus dilaksanakan pada kondisi teknologi yang sempurna.
Perfect technology assumption menyatakan bahwa sistem harus nerjalan dengan kondisi operasi dan teknologi yang sempurna pada saat merespon events. Berikut adalah rangkuman langkah-langkah daripada event decomposition technique guna mengidentifikasi use cases: 1. Buatlah list untuk setiap external events. 2. Identifikasi dan buatlah nama use case untuk setiap external event, yang sekiranya memerlukan respon dari sistem. 3. Buatlah list untuk temporal events. Perhatikan checklist yang sudah dituliskan di atas. 4. Identifikasi dan buatlah nama use case untuk setiap temporal event, kemudian tentukan juga perihal kapan saja waktu yang memicu use case. 5. Buatlah list untuk state events. 6. Identifikasi dan buatlah nama use case untuk setiap state event yang membutuhkan sistem untuk melakukan perubahan status. 7. Ketika events dan use cases didefinisikan, cek apakah ada events yang menggunakan perfect technology assumption. Jangan ikut sertakan events yang termasuk system controls, seperti login, logout, change password, backup database, restore database, etc.
ISYS6306 – Information System Analysis and Design
3. Use Cases and CRUD “CRUD” merupakan singkatan dari Create, Read or Report, Update, dan Delete, yang biasanya berhubungan dengan database management. Analyst akan memulai dengan melihat jenis data yang akan disimpan di dalam sistem, yang biasanya dimodelkan dengan entitas data atau domain classes. Untuk memvalidasi dan mengevaluasi use cases, analyst akan melihat setiap jenis data tersebut dan melakukan verifikasi bahwa use cases tersebut harus terdiri dari create the data, read or report on the data, update the data, dan delete (atau archive) the data. Langkah-langkah untuk memvalidasi dan mengevaluasi use cases dengan menggunakan CRUD technique adalah sebagai berikut: 1. Identifikasi semua entitas data atau domain classes yang terlibat di dalam pengembangan sistem baru. 2. Untuk setiap tipe data (entitas data atau domain class), verifikasi bahwa sebuah use case telah diidentifikasi dapat melakukan creates, update, reads (atau reports), dan deletes (atau archives) data. 3. Jika ada penambahan use case yang baru, identifikasikan siapa saja stakeholders yang terlibat dan evaluasi dengan mereka. 4. Pastikan bahwa jelas perihal siapa yang bertanggung jawab untuk melakukan use cases tersebut.
4. Use Cases Diagram Use Case Diagram merepresentasikan sebuah aktivitas yang dilakukan oleh sistem, yang biasanya merupakan respon berdasarkan permintaan seorang user. Secara umum use case adalah: Pola perilaku sistem dan merupakan urutan transaksi yang berhubungan yang dilakukan oleh satu aktor.Use case diagram terdiri dari beberapa notasi, yaitu :
Use case : Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya. Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan aktor. Use case dinotasikan dengan gambar (horizontal ellipse) dan biasanya
ISYS6306 – Information System Analysis and Design
mengunakan kata kerja. Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama.
Actors 1. Actor menggambarkan orang, system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari system 2. Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan 3. Actor memberi input atau menerima informasi dari system 4. Actor biasanya menggunakan Kata benda 5. Tidak boleh ada komunikasi langsung antar actor 6. Indikasi <> untuk sebuah actor yang merupakan sebuah system 7. Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan)
Association 1. Associations bukan menggambarkan aliran data/informasi 2. Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case 3. Ada 4 jenis relasi yang bisa timbul pada use case diagram a) Association antara actor dan use case
ISYS6306 – Information System Analysis and Design
•
Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data
•
Sebaiknya gunakan Garis tanpa panah untuk association antara actor dan use case
•
association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda
b) Association antara use case •
<> termasuk didalam use case lain (required) /
(diharuskan) •
Pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program
•
Tanda panah terbuka harus terarah ke sub use case
•
Gambarkan association include secara horizontal
Buka Rekening
<>
catat data pribadi
Nasabah
ISYS6306 – Information System Analysis and Design
•
<> perluasan dari use case lain jika kondisi atau syarat terpenuhi
•
Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association ini membuat diagram sulit dipahami.
•
Tanda panah terbuka harus terarah ke parent/base use case
•
Gambarkan association extend secara vertical
Buka Rekening <> Nasabah
Buka Deposito
c) Generalization/Inheritance antara use case •
Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum
•
Gambarkan generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/parent use case
ISYS6306 – Information System Analysis and Design
•
Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)
Buka Rekening
Nasabah
Buka Deposito
d) Generalization/Inheritance antara actors
System boundary boxes (optional) •
Digambarkan dengan kotak disekitar use case, untuk menggambarkan jangkauan system anda (scope of of your system).
•
Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan
•
System boundary boxes dalam penggunaannya optional
ISYS6306 – Information System Analysis and Design
Usecase berdasarkan sistem usulan atau berdasarkan program <>
Use Case Absen
Cetak Rekap Absen Administrasi
<< Inc l
ud
e> >
TU
Input Data Absen Harian
Deskripsi use case Absen Nama
: Use Case Diagram Absen
Actor
: TU dan Administrasi
Deskripsi
: TU mencetak Rekap Absen kemudian diserahkan kepada Administrasi
Nama Use Case : <> input data absen harian
ISYS6306 – Information System Analysis and Design
Use Case Rekap Data Pegawai
Cetak Rekap Biodata Pegawai Administrasi
<< Inc l
ude
>>
TU
Input Data Pegawai, Pendidikan, Keluarga
Deskripsi Use Case Rekap Biodata Pegawai Nama
:Use Case Rekap Biodata Pegawai
Actor
:T dan Administrasi
Deskripsi
:TU mencetak Rekap Biodata Pegawai kemudian diserahkan kepada Administrasi
Nama Use Case : <> input data pegawai, Pendidikan dan Keluarga.
Use Case Pengolahan Daftar Data Pegawai dan Gaji (DDPG) Input Data Pegawai,data pendidikan, data keluarga PKS, Insentif, Fungsional, Transport, Potongan In <<
d cl u
> e>
lud
Pegawai
<< Inc
Administrasi
e> >
Cetak Slip Gaji
Input Total Absensi Pegawai
ISYS6306 – Information System Analysis and Design
Deskripsi Use Case Pengolahan Data Pegawai dan gaji (DDPG) Nama
: Use Case Pengolahan Data Pegawai dan Gaji
Actor
: Aministrasi dan Pegawai
Deskripsi
: Administrasi Mencetak Slip Gaji kemudian diserahkan kepada Pegawai
Nama Use Case : <> Input total absensi pegawai dan input data pegawai, data pendidikan, data keluarga, PKS, insentif, fungsional, transport dan potongan.
ISYS6306 – Information System Analysis and Design
SIMPULAN •
Use Case Diagram Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Use case mendeskripsikan kebutuhan system dari sudut pandang user dan mengfokuskan pada proses komputerisasi (automated processes) dan menggambarkan hubungan antara use case dan actor.
•
Use case diagram terdiri dari Use case, Actors, Association, system boundary boxes (optional)
•
use case diagram merupakan tools yang sangat berguna untuk menggambarkan atau mendokumentasikan fungsi-fungsi apa yang harus dimiliki oleh sistem yang akan dikembangkan (functional requirements).
•
Untuk dapat menggunakan teknik-teknik mengidentifikasi use case di atas, mohon agar kiranya Anda dapat membaca dan memahami terlebih dahulu perihal langkah - langkah apa saja yang diperlukan untuk melakukan masing-masing teknik.
•
Use case diagram dapat Anda buat untuk satu buah sistem secara keseluruhan atau per subsistem. Lebih lanjut, Anda juga dapat membuatnya per actor atau keseluruhan actors, sesuai kebutuhan. Akan tetapi dalam penggambaran use case diagram-nya,
•
Anda tidak boleh lupa untuk memberikan penamaan terhadap automation boundarynya.
ISYS6306 – Information System Analysis and Design
DAFTAR PUSTAKA
John W. Satzinger,Robert B. Jackson,Stephen D. Burd. (2012). Introduction to Systems Analysis and Design: An Agile, Iterative Approach. 06. Course Technology. Canada. ISBN: 9781111972264
ISYS6306 – Information System Analysis and Design