BLOGGER TEMPLATES AND TWITTER BACKGROUNDS

Minggu, 03 Juni 2012

Use Case

Use Case Diagram
Pengertian :
● Use case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.
● Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.
● Use case adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal.
Karakteristik :
 Use cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem.
 Use cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use cases harus menyediakan nilai minimal kepada satu actor.
 Use cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan.
 Use case class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal.
Komponen Pembentuk Use Case Diagram :
1. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship

Gambar Actor
2. Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.
Cara menentukan Use Case dalam suatu sistem:
a. Pola perilaku perangkat lunak aplikasi.
b. Gambaran tugas dari sebuah actor.
c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
d. Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).

Gambar Use Case
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram:
1. <> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2. <>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3. <>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
3. Contoh Use Case Diagram

Contoh Use Case Diagram




Cara Penggambaran Diagram Use Case
Diagram Use Case adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem secara fungsional yang terlihat user. Biasanya dibuat pada awal pengembangan. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.
Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar.
Use case diagram dapat digunakan selama proses analisis untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use case (use case diagram) itu sendiri.
Notasi Gambar Yang Diapakai Use Case
1. Actor
Seorang / sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

2. Case
Menggambarkan deskripsi yang melibatkan actor.

Contoh Case - Actor:

3. Extend
Relasi yang digunakan jika use case yang satu mirip dengan use case yang lain.
4. Include
Relasi jika terdapat perilaku yang mirip dengan beberapa use case.
Cara Menemukan Use Case
• Pola perilaku perangkat lunak aplikasi.
• Gambaran tugas dari sebuah actor.
• Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
• Apa yang dikerjakan oleh suatu perangkat lunak (bukan bagaimana cara mengerjakannya).
Komponen Pembentuk Use Case
Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.
Contoh:
Ada beberapa kemungkinan yang menyebabkan actor tersebut terkait dengan sistem, antara lain:
• Yang berkepentingan terhadap sistem dimana adanya arus informasi, baik yang diterimanya maupun yang dia inputkan ke sistem.
• Orang ataupun pihak yang akan mengelola sistem tersebut.
• External resource yang digunakan oleh sistem.
• Sistem lain yang berinteraksi dengan sistem yang akan dibuat.
Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.
Cara menentukan Use Case dalam suatu sistem:
• Pola perilaku peringkat lunak aplikasi
• Gambaran tugas dari sebuah actor
• Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor
• Apa yang dikerjakan oleh suatu perangkat lunak (bukan bagaimana cara mengerjakannya)
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Tipe relasi / stereotype yang mungkin terjadi pada Use Case diagram:
1. <>, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2. <>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3. <>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
Contoh Use Case Diagram

Use Case Specification
• Nama
• Deskripsi Singkat
• Aliran event (flow of event)
• Relationship
• Activity Diagram
• Kebutuhan khusus (special requirement)
• Pre-Condition
• Post-Condition








Aliran Event Use Case
• Memiliki sebuah flow normal dan dasar
• Beberapa flow alternatif
o Regular variant
o Kasus-kasus ganjil
o Exceptional flows, penanganan error

• Scenario adalah sebuah instance dari sebuah use case

• Activity diagram didalam model use case dapat digunakan untuk meng-capture aktifitas-aktifitas dalam sebuah use case
• Sebenarnya merupakan flowchart, yang menunjukkan aliran kontrol activity ke activity
Deskripsi singkat tentang USE CASE
• Perilaku sistem adalah bagaimana sistem beraksi dan bereaksi. Perilaku ini merupakan aktifitas sistem yang bisa dilihat dari luar dan bisa diuji.
• Perilaku sistem ini dicapture di dalam USE CASE. USE CASE sendiri mendeskripsikan sistem, lingkungan sistem, serta hubungan antara sistem dengan lingkungannya.
Defenisi Use Case
• Deskripsi dari sekumpulan aksi sekuensial yang ditampilkan sistem yang menghasilkan yang tampak dari nilai ke actor khusus. Use Case digunakan untuk menyusun behavioral things dalam sebuah model. Use case direalisasikan dengan sebuah collaboration. Secara gambar, sebuah use case digambarkan dengan sebuah ellips dengan garis penuh, biasanya termasuk hanya namanya, seperti gambar berikut :

• Representasi atau model yang digunakan dalam Rekayasa Perangkat Lunak untuk menggambarkan fungsional requirement suatu sistem.
• Sekelompok skenario pengguna yang menggambarkan alur penggunaan sistem.
• Setiap skenario digambarkan dari sudut pandang “aktor”, seseorang atau piranti yang berinteraksi dengan perangkat lunak dalam berbagai cara.
• Suatu Use Case adalah suatu sekuensial aksi yang dilakukan oleh sistem, yang akan secara bersama-sama, memproduksi hasil yang dibutuhkan oleh pengguna sistem. Use Case mendefinisikan alur proses sepanjang sistem berbasis pada kegunaan sebagaimana yang biasa dilakukan (secara manual).
Contoh sederhana:
Konsumen pesan tiket pesawat

Contoh lebih lengkap:
Use Case pada Sistem Rumah Sakit

Kegunaan Use Case adalah untuk menspesifikasikan konteks sistem, menggambarkan kebutuhan sistem, memvalidasikan arsitektur sistem, menjalankan implementasi dan meng-generate test case.
Include
Keterhubungan secara include antar use case menunjukkan bahwa use case asal secara eksplisit memasukkan perilaku dari use case lain yang ditunjuk oleh use case tersebut. Included use case tidak pernah berdiri sendiri, tetapi hanya merupakan bagian dari beberapa use case yang lebih besar yang diikutinya. Keterhubungan use case secara include pada dasarnya merupakan sebuah contoh dari pendelegasian - sekumpulan dari tanggung jawab sebuah sistem diambil dan ditangkap di dalam satu tempat (included use case) - kemudian bagian lainnya dari sistem (use case yang lain) memasukkan kumpulan tanggung jawab yang baru setiap saat mereka memerlukan fungsi-fungsi use case tersebut.
Extend
Keterhubungan use case secara extend menunjukkan bahwa use case yang ditunjuk merupakan perluasan perilaku dari use case asal. Use case asal dapat berdiri sendiri, tetapi untuk kondisi tertentu perilaku use case tersebut dapat diperluas oleh perilaku dari use case lain. Hubungan perluasan digunakan untuk memodelkan bagian dari use case yang dapat dilihat oleh user sebagai perilaku yang dapat dipilih dari sistem. Hubungan perluasan juga dapat digunakan untuk memodelkan sub aliran yang terpisah-pisah yang hanya dapat dijalankan dalam kondisi tertentu. Pada akhirnya, hubungan perluasan use case untuk memodelkan beberapa aliran yang dapat dimasukkan dalam titik tertentu.
Manfaat Model Use Case
• Digunakan untuk berkomunikasi dengan end user dan domain expert
o Menyediakan buy-in pada tahap awal pengembangan sistem.
o Memastikan pemahaman yang tepat tentang requirement / kebutuhan sistem.
• Digunakan untuk mengidentifikasi
o Siapa yang berinteraksi dengan sistem dan apa yang harus dilakukan sistem.
o Interface yang harus dimiliki sistem.
• Digunakan untuk ferifikasi
o Semua requirement yang telah dicapture.
o Tim pengembang memahami requirement.
Macam-macam Use Case
• Narative Form
Bentuk teks bebas dalam format paragraph.
• Scenerio Form
Penjelasan penulisan use case dari sudut pandang actor.
• Conversation Form
Dialog antara actor dan sistem yang menunjukkan interaksi antar keduanya.
Perbandingan Bentuk Use Case
Format Penulisan Use Case
Tiap Use Case memiliki:
• Precoditions, yang harus dipertemukan agar use cases dapat bekerja dengan sukses.
• Postconditions, mendefinisikan kondisi-kondisi dimana use cases berakhir.
• Postconditions mengidentifikasi hasil yang dapat diobservasi dan status akhir dari sistem setelah use case telah komplit.
• Flow of events, yang mendefinisikan aksi pengguna dan respon sistem terhadap aksi yang dilakukan. Flow of events merupakan kompresi dari skenario normal, yang mendefinisikan tingkah laku umum dari sistem untuk use case, dan cabang-cabang alternatif, dimana bagian lain yang telah tersedia dapat digunakan oleh use case.
Use Case dan Test Cases akan bekerja dengan baik dalam dua cara, yaitu:
• Jika use case dari sistem komplit, akurat dan jelas, maka pembuatan test cases dapat dilakukan secara langsung.
• Jika use case tidak dalam kondisi yang baik, maka pembuata test cases akan membantu dalam melakukan debug terhadap test cases.
Modul Use Case
Mulai dengan kondisi atau kejadian normal biasa:
• Acuhkan pengecualian, alternatif, dll.
• Use case harus dinamai dan perspektif pengguna sebagai kata kerja aktif.
• Menunjukkan deskripsi tujuan dari use case dan defenisi fungsionalitas tingkat
tinggi.
Model Use Case
• Model untuk melengkapi system requirements
• Tahapan awal "system development":
o Requirement: sistem belum terinci
o 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 sistem
• Users: di luar dari sistem, batasan apa yang akan diharapkan dari sistem
o Pengertian users => types of activities performed by external entity
o Sekumpulan individu dapat dianggap sebagai satu user (same role)
• Actors: manusia, external hardware, atau sistem yang lain
________________________________________
Use Case
• Types yang mewakili: behaviour, sifat / karakteristik dan fungsi sistem
• Dikembangkan sesuai dengan keinginan "actor"
• Dapat diterjemahkan sebagai bentuk eksekusi pemakaian sistem
o Interaksi dan fungsi yang diharapkan dari sistem
o Flow events response dari sistem

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:
o Tarikan Uang
o Deposit Uang
o Transfer Antar Rekening

• Actor: apa saja yang berinteraksi (memberikan dan menerima data atau events) dengan sistem
o Actor dapat mewakili sekelompok klien bank (yang mempunyai karut ATM)
o Satu klien dapat menggunakan ATM tersebut untuk berbagai keperluan => berbagai actors yang berbeda
o Peranan actor ditentukan use case mana saja yang digunakan oleh actor tersebut
• Interaksi ? tidak lain mengirim dan menerima messages (data, events)
o Hubungan antara actor dan use case: <> associations
________________________________________
Use Case: Transactions
• Definisi: use case adalah urutan transaksi/proses yang dilakukan oleh sistem, 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) ?
o Definisi di atas => "instance" kejadian yang penting dan dapat dipilah sangat relevan dengan kegiatan actors
o Pilih use case type yang mewakili instance tersebut
o Dari definisi "menghasilkan sesuatu yang dapat dilihat oleh actor" => use case harus cukup besar karena berhubungan dengan kegiatan actor
o Transaksi: sekumpulan aksi, keputusan, dan messages yang diberikan kepada actors secara konsisten
o 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. Sistem memberikan persetujuan dan mengijinkan berapa banyak uang yang dapat diambil
• Sistem mengeluarkan uang tersebut dan mengurangi jumlah uang tersebut dari rekening
________________________________________
Reuse Use Case : <>
• Untuk sistem yang besar: terdapat use case yang sifatnya sama
• Kelompok use case ini dapat dibuat : "generalizations" yang mewakili kelompok tsb.
o Dapat dianggap sebagai "inheritance"
o Digunakan simbol: <>

• Contoh: <> use case A menggunakan use case B berarti instance A dapat melakukan semua sifat dari instance B
o 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 : <>
• 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:



0 komentar: