Sabtu, 26 Mei 2012

Model Use Cae

Model Use Case

  • Model untuk melengkapi system requirements
  • Tahapan awal "system development":
    • Requirement: sistim belum terinci
    • Representasi: user perspektif
      "What the system will/should do ?"
  • Starting point: OO analysis & design activities
  • Garis besar terdiri dari: "actors" dan "use cases"

    Actors
  • Types yang mewakili: users yang berinteraksi dengan sistim
  • Users: di luar dari sistim, batasan apa yang akan diharapkan dari sistim
    • Pengertian users => types of activities performed by external entity
    • Sekumpulan individu  dapat dianggap sebagai satu user (same role)
  • Actors: manusia, external hardware, atau sistim yang lain


    Use Case

  • Types yang mewakili: behaviour, sifat / karakteristik dan fungsi sistim
  • Dikembangkan sesuai dengan keinginan "actor"
  • Dapat diterjemahkan sebagai bentuk eksekusi pemakaian sistim
    • Interaksi dan fungsi yang diharapkan dari sistim
    • Flow events response dari sistim

Contoh : ATM Cashier Application

  • Actor: Klien Bank
  • Bagaimana interaksi dengan aplikasi di ATM ?
    Fasilitas apa saja yang dapat diberikan oleh Bank kepada Klien Bank

  • User cases:
    • Tarikan Uang
    • Deposit Uang
    • Transfer Antar Rekening

  • Actor: apa saja yang berinteraksi (memberikan dan menerima data atau events) dengan sistim
    • Actor dapat mewakili sekelompok klien bank (yang mempunyai karut ATM)
    • Satu klien dapat menggunakan ATM tersebut untuk berbagai keperluan => berbagai actors yang berbeda
    • Peranan actor ditentukan use case mana saja yang digunakan oleh actor tersebut
  • Interaksi ? tidak lain mengirim dan menerima messages (data, events)
    • Hubungan antara actor dan use case: <<communication>> associations                                                                                                                                                                                        

      Use Case: Transactions

    • Definisi: use case adalah urutan transaksi/proses yang dilakukan oleh sistim, dimana menghasilkan sesuatu yang dapat dilihat/diamati oleh actor tertentu

  • Problem: bagaimana memilih use case yang tepat (terdapat banyak kejadian interaksi antar actor dan system) ?
    • Definisi di atas => "instance" kejadian yang penting dan dapat dipilah sangat relevan dengan kegiatan actors
    • Pilih use case type yang mewakili instance tersebut
    • Dari definisi "menghasilkan sesuatu yang dapat dilihat oleh actor" => use case harus cukup besar karena berhubungan dengan kegiatan actor
    • Transaksi: sekumpulan aksi, keputusan, dan messages yang diberikan kepada actors secara konsisten
    • Actor tertentu: peranan utama, karena hasil use case harus berhubungan dengan actor tersebut, berhubungan dengan task tertentu

Contoh

Use case: Tarikan Uang
  • Klien Bank memberikan identifikasi dirinya
  • Klien Bank memilih atau memberikan input berapa banyak uang yang akan diambil dari rekening.  Sistim memberikan persetujuan dan mengijinkan berapa banyak uang yang dapat diambil
  • Sistim mengeluarkan uang tersebut dan mengurangi jumlah uang tersebut dari rekening



Reuse Use Case : <<uses>>

  • Untuk sistim yang besar: terdapat use case yang sifatnya sama
  • Kelompok use case ini dapat  dibuat : "generalizations" yang mewakili kelompok tsb.
    • Dapat dianggap sebagai "inheritance" 
    • Digunakan simbol: <<uses>>
 
  • Contoh: <<uses>> use case A menggunakan use case B berarti instance A dapat melakukan semua sifat dari instance B
    • Sebagai contoh: semua transaksi ATM berhubungan dengan pemindahan uang dari satu rekening ke rekening lain.
  • Dapat menggunakan use case yang telah ada: Transfer Keuangan sebagai "abstract" use case.
Transfer Keuangan use case memberikan deskripsi cara debit dan kredit dari berbagai account yang berbeda.

Reuse Use Case : <<extends>>

  • Sering use case dapat dikembangkan (ditambahkan) dari use case yang telah ada
  • Penambahan ini untuk memberikan spesialisasi atau inheritance
  • Jadi jika disebut use case A "extends" use case B : maka instance tersebut mengikuti use case A dan pada satu saat akan mengikuti use case B, setelah mengikuti B dapat kembali ke use case A.
  • Contoh: Klien Bank dapat diberikan fasilitas untuk mengambil uang dalam bentuk overdraft.

    Untuk kasus dimana Klien Bank mengambil overdraft maka terdapat sifat khusus use case yang harus ditangani oleh "Manajemen Overdraft"

    Atau dapat disebut: use case Manajemen Overdarft merupakan "extends" dari use case Tarikan Uang.

Contoh Lain: 

Tidak ada komentar:

Posting Komentar