Memodelkan Kebutuhan Sistem Menggunakan Use-Case Konsep Sistem untuk Pemodelan dengan Use Case
Pembahasan Manfaat use-case modeling Menentukan aktor dan use-cases Mengenal 4 tipe aktor Relasi dalam diagram model use-case
Pemodelan Use Case Tantangan terbesar dalam proses perancangan sistem adalah kemampuan untuk mengetahui kebutuhan sistem (system requirements): Model data dan proses, prototipe, spesifikasi kebutuhan Dimengerti oleh perancang tapi tidak dimengerti oleh pengguna Lingkup dan jadwal cenderung rumit dan ‘menakutkan’
Use Case : Definsi Use Case adalah deskripsi dari sebuah perilaku sistem sebagai respon dari suatu aksi / permintaan dari luar sistem. Dengan kata lain, use case mendeskripsikan ‘siapa’ bisa melakukan ‘apa’ pada sebuah sistem. Usecase Diagram digunakan untuk mengambarkan interaksi antara pengguna sistem (actor) dengan kasus (use case) yang disesuaikan dengan langkah-langkah (scenario) yang telah ditentukan. Sejak tahun 1992, dengan adanya pengembang UML, yaitu Jacob Et All, menjadikan Use case sebagai model utama atau yang dibutuhkan (Requeirment Model) pada UML.
Pemodelan Use-Case: Definisi Pemodelan Use-Case : proses modeling fungsi-fungsi sistem dalam terminologi kejadian bisnis (business events) yang memicu peristiwa, dan bagaimana sistem menanggapi kejadian tersebut Use-case modeling berakar dari object-oriented modeling. (pemodelan berorientasi obyek) Merupakan pelengkap dari alat-alat modeling tradisional. (seperti ER Diagram)
Use-Case Modelling: Manfaat Alat mendokumentasikan kebutuhan fungsional. Membantu pembagian lingkup sistem sehingga lebih mudah diatur. Alat mengkomunikasikan fungsionalitas sistem pada pengguna dan stakeholder lain. Usecase memiliki bahasa yang dapat dimengerti oleh berbagai stakeholder. Membantu melakukan estimasi lingkup, upaya, dan jadwal sebuah proyek
Use-Case Modelling: Manfaat (cont.) Dasar untuk melakukan testing (test plans dan test cases) Dasar untuk user help systems, manual dan dokumentasi sistem Alat untuk mengetahui kebutuhan Titik awal untuk identifikasi obyek data atau entitas Spesifikasi fungsional untuk merancang user system interface Alat menentukan kebutuhan akses database (menambah, mengubah, menghapus, membaca) Kerangka untuk mengarahkan proyek pengembangan sistem
Use-Case Modelling: Konsep Sistem Diagram Use-case – diagram yang menggambarkan interaksi antara sistem dan sistem eksternal dengan pengguna (user) Use-case narrative – deskripsi naratif business event dan bagaimana user akan berinteraksi dengan sistem untuk menyelesaikan suatu pekerjaan (task)
Use-Case Modelling: Konsep Sistem 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 actor. Use case dinotasikan dengan gambar (horizontal ellipse) Use case biasanya menggunakan verb
Use-Case Modelling: Konsep Sistem Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama Sebuah use case bisa mempunyai dokumentasi Letakkan use case utama anda pada pojok kiri atas dari diagram (in western culture people read from left to right, top to bottom, starting in the top-left corner) Use case diagram tidak terpengaruh urutan waktu, meskipun demikian supaya mudah dibaca perlu penyusunan use case
Simbol-simbol Dasar Use-Case Use case – sebuah skenario perilaku untuk menyelesaikan pekerjaan tertentu Digambarkan dalam bentuk elips horisontal Actor – segala sesuatu yang perlu berinteraksi dengan sistem untuk bertukar informasi Contoh: seseorang, organisasi, sistem informasi yang lain, alat eksternal, atau waktu.
Aturan – aturan use case diagram Menggambarkan kebutuhan system dari sudut pandang user Mengfokuskan pada proses komputerisasi (automated processes) Menggambarkan hubungan antara use case dan actor Use case menggambarkan proses system (kebutuhan system dari sudut pandang user)
Aturan – aturan use case diagram
Aturan – aturan use case diagram Secara umum use case adalah: Pola perilaku system Urutan transaksi yang berhubungan yang dilakukan oleh satu actor Use case diagram terdiri dari Use case Actors Relationship System boundary boxes (optional) Packages (optional)
Empat Tipe Aktor Primary business actor Primary system actor Stakeholder yang paling diuntungkan dari terlaksananya use-case dengan menerima sesuatu yang dapat diukur Contoh: karyawan yang menerima pembayaran Primary system actor Stakeholder yang berinteraksi secara langsung dengan sistem untuk memicu kejadian bisnis atau sistem (business or system events) Contoh: teller sebuah bank yang memasukkan informasi deposit External server actor Stakeholder yang menanggapi permintaan dari use-case Contoh: biro kredit melakukan otorisasi charge sebuah credit card External receiver actor Stakeholder yang meski bukan primary actor tapi menerima sesuatu yang bernilai dari use-case Contoh: gudang menerima packing slip
Penjelasan Gambar: Customer ingin memesan sesuatu barang dari sebuah toko. Kemudian menelpon customer service dari toko tersebut. Customer service mengecek pembayaran dari customer apakah sudah diterima bagian finance Jika pembayaran selesai kemudian customer service meminta warehouse menyiapkan barang pesanan. Warehouse kemudian melakukan delivery untuk mengirim barang ke customer
Use Case Association Relationship Association – relasi antara actor dengan use-case dimana terjadi interaksi diantara mereka Asosiasi digambarkan dengan garis yang menghubungkan antara actor dengan use-case Asosiasi dengan anak panah menyentuh use-case mengindikasikan bahwa usecase dipicu oleh actor. Asosiasi tanpa anak panah mengindikasikan receiver actor Asosiasi dapat bersifat dua-arah atau multi-arah (bidirectional or unidirectional)
Use Case Extends Relationship Extension use-case – sebuah use case yang terdiri dari langkah-langkah yang diambil dari use case lain yang lebih rumit untuk mempermudah case aslinya sehingga memperluas fungsionalitasnya Relasi antara extension use case dengan use case yang diperluas disebut sebuah extends relationship Digambarkah dengan garis dengan anak panah, dimulai dari extension use case menuju ke use case yang diperluas. Masing-masing garis extends relationship diberi label “<<extends>>.”
Use Case Uses Relationship Abstract use case: use case yang dapat mengurangi redundansi antar dua atau lebih use case dengan mengkombinasikan langkah langkah yang serupa Abstract case dapat digunakan use case lain yang memerlukan fungsionalitasnya Relasi antara abstract use case dan use case yang menggunakannya disebut uses (includes) relationship
Use Case Depends On Relationship Depends On – relasi use case yang menentukan use case lain mana yang harusdilakukan sebelum use case yang bersangkutan Dapat menentukan urutan dimana use case perlu dikembangkan
Use Case Inheritance Relationship Inheritance – relasi use case dimana perilaku dari dua actor yang memulai use case yang sama diekstrapolasi dan ditugaskan pada satu abstract actor untuk mengurangi redundansi Actor-actor lain dapat mewarisi (inherit) interaksi dari abstract actor
USE CASE DIAGRAM
ACTOR-USE CASE DIAGRAM Letakkan actor utama anda pada pojok kiri atas dari diagram (in western culture people read from left to right, top to bottom) Actor jangan digambarkan ditengah-tengah use cases (actors are placed to the outside of the diagram, and not the middle of it)
Association - Use Case Diagram Ada 4 jenis relasi yang bisa timbul pada use case diagram Association antara actor dan use case Association antara use case Generalization/Inheritance antara use case Generalization/Inheritance antara actors Associations bukan menggambarkan aliran data/informasi Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case
Assocciation – Use Case Diagram Association antara actor dan use case 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.
Association - Use Case Diagram <<include>> termasuk didalam use case lain (required) / (diharuskan) Pemanggilan use case oleh use case lain contohnya adalah Pemanggilan sebuah fungsi program Gambarkan association <<include>> secara horizontal Tanda panah terbuka harus terarah ke sub use case Tidak boleh actor dihubungkan pada use case <<include>> <<include>>
Association - Use Case Diagram Association antara use case <<extend>> Perluasan dari use case lain jika kondisi atau syarat terpenuhi (Optional Behaviour) 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 (picture extending use case below than base/parent use case) Tidak boleh actor dihubungkan pada use case <<extend>> <<extend>>
Association - Use Case Diagram Generalization/inheritance Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum Harus digambarkan secara vertikal Generalization/inheritance antara use case Dibuat ketika ada sebuah keadaan yang lain/perlakuan khusus Inheriting use case dibawah base/parent use case
Review Question Apakah yang dimaksud dengan Use Case? Apakah manfaat pemodelan Use Case untuk memodelkan sistem? Terdapat berapa tipe relationship yang ada pada use case? Apa ciri use case inheritance relationship?