UseCase dan UseCase Diagram


APA ITU USE CASE?
            Use case adalah deskripsi fungsi dari sebuah system dari perspektif pengguna. se case bekerja dengan cara mendeskripsikan tipikal interaksi anatara user (pengguna) sebuah system dengan systemnya melalui sebuah cerita bagaimana sebuah system dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan system disebut scenario. Setiap scenario mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, system yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkain scenario yang digabungkan bersama-sama oleh tujuan umum pengguna.
Dalam pembicaraan tentang use case, pengguna biasanya disebut dengan actor. Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan system.
Model use case adalah bagian dari model requirement (Jacobson et all, 1992). Termasuk disini adalah problem domain object model dan penjelsan tentang user interface. Use case memberikan spesifikasi  fungsi-fungsi  yang ditawarkan oleh sistem dari perspektif user.

USE CASE MENGAPA PENTING?
            Use case adalah alat bantu terbaikguna menstimulasi pengguna potensial untuk mengatakan tentang suatu system dari sudut pandangnya. Tidak selalu mudah bagi pengguna untuk menyatakan bagaimana mereka bermaksud menggunakan sebuah system. Karena system penegmbanagn tradisional sering ceroboh dalama melakukan analasis, akibatnya pengguna seringkali susah menjawabnya tatkala dimintai masukan tentang sesuatu.
Ide dasarnya adalah bagaimana melibatkan penggunaan system di fase-fase awal analisis dan perancanagan system. Dengan demikian diharapkan akan bisa dibangun suatu system yang bisa membantu pengguna. Perlu diingat bahawa use case mewakili pandangan di luar system.

NOTASI USE CASE
          Diagram use case menunjukkan 3 aspek dari system yaitu: actor, use case dan system/ sub system boundary. Actor mewakili peran orang, system yang lain atau alat ketika berkomunikasi dengan use case. Gambar dibawah ini mengilustrasikan use case dan boundary.

  
IDENTIFIKASI ACTOR
        Untuk mengidentifikasi actor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkitan dengan peran pada konteks target system. Target adalah abstraction dari orang dan system yang lain yang mengaktifkan fungsi dari target system. Orang atau system bisa muncul dalam beberapa peran. Perlu dicatat bahwa actor berinteraksi dengan use case, tetapi tidak memiliki kontrolatas use case.
Pada kasus booking system, ada dua bagian besar yang perlu mendapat perhatian. Fokus perhatian pertama berkaitan dengan aktfitas booking. Pelanggan akan membuat atau membatalkan booking. Resepsionis biasanya akan menerima panggialan ini dan mengupdate informasi booking pada system.
Perhatian pada bagian kedua berkaitan dengan aktifitas yang harus dilakukan ketika restoran buka. Aktifitas pada bagian kedua ini mencakup kedatangan pelanggan dan pengaturan meja untuk pelanggan. Pekerjaan ini biasanya dilakukan oleh waiter (pelayan restoran).
Dari kasus restoran tersebut ada dua actor pada system booking restoran yaitu: rsepsionis dan waiter. Akan tetapi pada faktanya dua peran ini bisa dilakukan oleh orang yang sama. Untuk membedakan peran bisa digunakan password yang berbeda untuk peran yang berbeda.

DESCRIPSI USE CASE
           Use case adalah abstraksi dari interaksi antara system dan actor. Oleh karena itu sangat penting untuk memilih abstraksi yang cocok. Contoh: saat pelanggan menelpon restoran untuk melakukan booking, dia akan berbicara kepada karayawan restoran yang akan mencatat booking tersebut ke system. Untuk melakukan hal tersebut, karayawan akan menjalankan peran sebagai resepsionis meskipun pekerjaan tersebut mungkin bukan pekerjaan formalnya. Pada situasi ini, karyawan merupakan instance dari actor resepsionis dan interaksi diantara karyawan dengan system adalah instance dari use case.
Use case dibuat berdasarkan keprluan actor. Use case harus merupakan ‘apa’ yang dikerjakan software aplikasi, bukan ‘bagaimana’ software aplikasi mengerjakannya. Setiap use case harus diberi nama harus menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor. Nama use case boleh terdiri dari beberapa kata dan idak boleh ada dua use case yang memiliki nama yang sama.

STEREOTYPE
            Stereotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Untuk menunjukkan streotype digunakan symbol “<<” diawalnya dan ditutup “>>” diakhirnya. <<extend>> diginakan untuk menunjukkan bahwa satu use case merupakan tambahan fungsional dari use case yang lain jika kondisi atau syarat tertentu yang dipenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use case seluruhnya merupakan fungsionalitas darui use case lainnya. Biasanya <<include>> digunakan untuk menghindari pengcopian suatu use case karena sering dipakai. Contoh penggunaan <<include>> dan <<exclude>> bisa dilihat pada Gambar dibawah ini :








ACTOR GENERALISASI
             Bila dilihat kembali Gambar diatas tampak bahwa use case tampilan booking yang dipakai oleh kedua actor. Untuk menyederhanakn hal tersebut, akan lebih baik bila dibuat satu actor baru yang mewakili resepsionis dan pelayan pada hal-hal yang bersifat umum. Gambar dibawah ini memperlihatkan actor baru yaitu staf yang mewakili hal-hal yang umum yang ada pada resepsionis dan pelayan.
<<Include>>



Pembelian Product
            Level goal: Sea Level
Skenario utama:
1.      Pelanggan melihat catalogue dan memilih iten yang akan dibeli.
2.      Pelanggan menuju kebagian check out.
3.      Pelanggan mengisi blanko pengiriman (Alamat dan pengiriman besok atau 3 hari mendatang)
4.      Sistem menampilkan info harga penuh (Termasuk ongkos kirim)
5.      Pelanggan mengisi informasi kartu kredit
6.      Sistem melakukan otorisasi pembelian
7.      Sistem melakukan konfirmasi penualan segera
8.      Sistem mengirim email konfirmasi  ke pelanggan.

Extension
            3.a    Pelanggan adalah pelanggan reguler
1. Sistem menampilkan default informasi pengiriman sekarang, harga dan informasi tagihan.
2. Pelanggan mungkin menerima informasi default tersebut, kembali ke langakah 6

6.a   Sistem gagal melakuakan otorisasi pemesanan kredit. Pelanggan boleh memasukkan informasi kartu kredit lagi atau dibatalkan.



USE CASE DAN FITUR
      Banyak pendekatan menggunakan fitur-fitur sebuah sistem untuk mendeskripsikan bebutuhan. Pertanyaan yang umum timbul adalah bagaimana fitur-fitur dan use case berinteraksi?
Fitur adalah cara yang bagus untuk mendeskripsikan sebuah system dalam rangka perencanaan proyek yang interatif  dimana setiap interasimengandung sejumlah fitur. Selanjutnya use casemenyiapkan cerita bagaimana actor menggunakan sistem tersebut. Meskipun kedua teknik tersebut mendeskripsikan requirement, namun tujuannya berbeda.
Meskipun fitur bisa langsung dideskripsikan, banyak orang mengakui akan sangat membantu jika membuat use case terlebih dahulu baru kemudian men-generate daftar firur. Fitur bisa jadi keseluruhan use case, sebuah scenario dalam sebuah use case, sebuah step dalam use case atau beberapa varian perilaku. Seperti penambahan metode penyusutan untuk penilaian asset; yang mungkin tidak ada dalam narasi use case.

RINGKASAN
           Use adalah konstruksi untuk mendeskripsikan bagaimana system akan terlihat dimata pengguna potensial. Use case terdiri dari sekumpulan scenario yang dilakukan oleh seseorang actor (orang, perangkat keras, urutan waktu, atau system yang lain). Sedangkan use case diagram menfasilitasii komunikasi diantara analisis dan pengguna serta diantar nalais dan klien.
Hal yang lumrah menggunakan kembali use case yang sudah ada. Untuk itu bisa dipakai <<include>> untuk menunjukkan sebuah use case adalah bagian dari use case yang lain. <<extend>> digunakan untuk membuat use case barudengan menambahkan langkah-langkah pada use case yang sudah ada.
Iterview adalah sebuah teknik yang tetap untuk menggali use case. Ketika use case sufah bisa diperoleh, penting dicatat kondisi sebelum use dilakukan dan kondisi sesudahnya. Haisl interview ini akan diwujudkan dalam bentuk daftar kandidat class. Hal ini akan menjadi dasar untuk berbicara dengan pengguna. Langkah yang bagus apabila interview dilakukan pada sekumpulan pengguna. Tujuannya adalah untuk mendapatkan kondisi use case dan actor.
-oo0oo-


EmoticonEmoticon