Gambaran fungsionalitas yang diharapkan dari sebuah sistem USE CASE DIAGRAM A PENGERTIAN Menjelaskan urutan kegiatan yang dilakukan aktor dan sistem untuk mencapai tujuan tertentu Gambaran fungsionalitas yang diharapkan dari sebuah sistem menekankan pada “apa” bukan “Bagaimana” yg dibuat sistem Mempresentasikan interaksi antar aktor/pelaku dengan sistem Menyatakan suatu job/pekerjaan tertentu miasal : login ke sistem, create data penjualan, Tersusun dr elemen-elemen : aktor, case, dependency association, generalization Aktor merupakan suatu entitas yang berinteraksi dengan sistem untuk melakukan suatu pekerjaan
Manfaat Use case Membantu untuk : Menyusun requirement (syarat-syarat) sebuah sistem Mengkomunikasikan rancangan dengan klien Merancang test case untuk semua feature (performance) yang ada pada sistem
Keunggulan : Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Simbol Use Case Diagram Actor : Suatu entitas/ interface sbg pelaku yg berinteraksi dengan sistem case: peristiwa /job / pekerjaan file / data store : merepresentasikan sebuah data Note : untuk memberikan komentar tambahan Package/kontainer/wadah:kumpulan elemen2 sistem Assosiation : relasi antara actor dengan Use case Title informasi Generalization/inheritance Dependency Link/exteded Dependency
Structural Relationship Relationship type UML Notation Example Depedency (uses) A Vehicle uses fuel Aggregration (has a) (one of assosiation) A vihicle has an engine. A car has axles A Restorant has employe Composit (has a) A Restorant has a table (must) Assosiation A vehicle is lecensed by the new jersey department of motor vehicle Generalization (is a) A car is a vehicle
UML Behavioral Relationship Relationships Symbol Example communicates An actor “customer” interacts or communicates with a use case rent vehicle Includes <Include> The use case “Verify credit card” and “check driver’s license” includes the common use case “Rent Vehicle” Extends <extends> The use case “arrange for added insurance” extends the use case “Rent Vehicle” Generalizes A “Regular customer” generalizes a “Gold card Customer”
Generalizes Relationships Communication Relationships Customer Rent Vehicle Communication Relationships Gold Card Customer Regular Customer Menyusun asuransi tambahan Generalizes Relationships
CONTOH USE CASE DIAGRAM
Relationship Assosiations Digunakan untuk menghubungkan para actor dan use case di dalam suatau diagram. asosiasi ini dapat dibuat / digambar dalam dua arah, tergantung dari kedudukan aktornya jika aktornya adalah sebagai aktor utama (primery actor) maka arah relasinya adalah dari actor menuju use case. Jika aktornya adalah sebagai aktor tambahan (secondary actor) maka arah relasinya dari use case menuju actor
Relationship Generalization Menunjukkan hubungan antara elemen yang lebih umum ke elemen yang lebih spesifik Class yang lebih spesifik (sub class) akan menurunkan atribute dan operasi dari class yeng lebih umum (superclass) Merupakan pemodelan dari herarki class atau konsep inheritance Contoh class pelanggan adalah superclass dan turunannya adalah pelanggan antar. Pelanggan adalah gambaran atau abstraksi pelanggan secara umum Pelanggan antar mengabstraksikan pelanggan yang memesan lewat telpon dan pelanggan yang pengambilan barang melalui pengiriman. Class pelanggan ini akan memiliki atribute dan operasi yang sama dengan class pelanggan dengan tambahan atribute biaya pengiriman
Relationship Dependency : suatu hubungan semantik antara dua unsur-unsur modeling di dalam atau yang mana suatu perubahan satu elemen/unsur model ( unsur yang mengalir masuk) dapat mempengaruhi unsur modeling yang lain ( unsur yang dependent). Relasi antara use case satu dengan use case yang lain Relasi yang menunjukkan bahwa perubahan pada salah satu elemen akan memberikan pengaruh pada elemen yang lain Terdapat 2 stereotype : Include dan Extend
Relationship Dependency : Include menunjukkan bahwa suatu bagian dari elemen(yg ada di garis tanpa panah) memicu eksekusi bagian dari elemen lain (yg ada di garis dengan panah) contoh A---- > B (operasi di class A memicu dieksekusinya operasi di class B Extend menunjukkan bahwa suatu bagian dari elemen digaris tanpa panah bisa disisipkan ke dalam elemen yang ada di garis dengan panah contoh A---- > B (suatu fungsi dari use case A bisa disisipkan ke dalam use case B dengan kata lain A optional untuk B
Use case Spesification Merupakan teks untuk menjelaskan urutan kegiatan use case tersebut: meliputi Nama Use case Diskripsi singkat (Brief Description) Aliran Normal (Basic Flow) Aliran Alternatif (Alternate Flow) Special Requirement Pre-Condition Post-Condition
Use case spesification 1. Nama Use case Mencantumkan nama dari Use case yang bersangkutan. Sebaiknya diawali dengan kata kerja untuk menunjukkan suatu aktivitas. 2. Diskripsi singkat (Brief Description) Menjelaskan secara singkat dalam waktu 1 atau 2 kalimat tentang tujuan dari use case ini. 3. Aliran Normal (Basic Flow) Ini adalah jantung dari use case. Menjelaskan interaksi antara actor dan sistem dalam kondisi normal, yaitu segala sesuatu berjalan dengan lancar, tiada halangan atau hambatan dalam mencapai tujuan dari use case.
Use case spesification 4. Aliran Alternatif (Alternate Flow) Merupakan pelengkap dari Basic Flow karena tidak ada yang sempurna dalam setiap kali use case berlangsung. Didalam Alternate Flow ini dijelaskan apa yang akan terjadi bila suatu halangan atau hambatan tejadi sewaktu use case berlangsung. Ini berhubungan dengan error yang mungkin terjadi. 5. Special Requirement Berisikebutuhan lain yang belum tercakup dalam aliran normal dan alternatif. Dibedakan secara tegas bahwa basic flow dan alternate flow menangani kebutuhan fungsional dari use case. 6. Pre-Condition Menjelaskan persyaratan yang harus dipenuhi sebelum use case dimulai. 7. Post-Condition Menjelaskan kondisi yang berubah atau terjadi saat use case selesai dieksekusi.
Contoh : use case Rental VCD 1. Nama Use Case menerima pendaftaran pelanggan Deskripsi Singkat Use Case ini untuk mencatat data data pelanggan yang mendaftar sebagai anggota Rental VCD. Use case dimulai saat pelanggan datang untuk mendaftarkan diri. Basic Flow : Penjaga rental mengisi data pelanggan. Setelah selesai mengisi semua data yang diperlukan, penjaga rental mengkonfirmasi untuk menyimpan data tersebut. Sistem menuliskan data pelanggan ke dalam database. Sistem memunculkan pesan bahwa proses pendaftaran sukses dilakukan.
Contoh : use case Rental VCD Alternate Flow : Bila penulisan di database gagal : sistem memunculkan pesan bahwa proses pendaftaran gagal dilakukan, dan kembali ke langkah 3.b. Bila ada data yang diperlukan belum terisi : sistem meminta penjaga rental untuk mencetak isian kembali, kembali ke langkah 3.a. Special Requirement : tidak ada Pre-Condition : tidak ada Post Condition : record pelanggan bertambah