Ads 468x60px

Minggu, 02 September 2012

Use Case Diagram | Unified Modeling Language (UML)

1.Pengertian use case


Use case digunakan untuk menangkap behavior yang diharapkan dari sistem yang akan kita develop, tanpa harus menspesifikasikan bagaimana behavior tersebut diimplementasikan. Use case menyediakan suatu cara pandang  yang mudah dimengerti tentang sistem, baik untuk developer maupun end user.
Jika kita akan mengembangkan sistem untuk perpustakaan, maka kita akan memiliki skenario untuk proses pengembalian buku kurang lebih seperti ini:
Seorang pustakawan akan memilih menu pengembalian buku, selanjutnya pustakawan akan memasukkan data buku yang dikembalikan mengupdate data buku dan anggota yang bersangkutan.
Diatas adalah salah satu dari skenario yang mungkin(best case), bisa saja pada saat proses validasi data, ternyata hasilnya tidak valid, sehingga muncul skenario kedua. Atau pada saat pengembalian ternyata waktu pengembalian sudah melewati batas, sehingga muncul skenario ketiga dan seterusnya. Terdapat kesamaan dari beberapa skenario diatas, yaitu tujuan bahwa user (dalam hal ini pustakawan) ingin mengembalikan buku, dan seorang user tidak harus selalu berhasil, namun tujunnya tetap. Tujuan dari user merupakan kunci dari use case: sebuah use case merupakan sekumpulan skenario yang memiliki tujuan yang sama.
dan data anggota yang mengembalikannya, jika data anggota dan buku valid, maka sistem akan use case diagram dalam uml
Unified Modeling Language (UML) merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek.
UML merupakan salah satu alat bantu yang sangat handal dalam bidang pengembangan sistem berorientasi objek karena UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang sistem membuat blue print atas visinya dalam bentuk yang baku.
Diagram use case adalah salah satu dari lima diagram dalam UML selain activity, statechart, sequence, dan collaboration diagram yang digunakan untuk memodelkan aspek dinamis dari sistem.  
Use case merupakan bagian penting dari UML. Namun, definisi use case dalam UML masih terbatas, dalam UML tidak mendeskripsikan aturan-aturan untuk menangkap isi dari suatu use case. Melainkan, yang dideskripsikan dalam UML adalah diagram use case, yang mengatur bagaidmana suatu use case berhubungan satu sama lain atau dengan actor. Sementara nilai dari suatu use case terdapat pada isi atau textual content bukan pada aturan penggambarannya.
Untuk menangkap suatu fungsionalitas sistem, diagram use case tidak harus ada, namun seringkali diagram ini mempermudah dalam pengidentifikasian fungsi atau behavior sistem. Dalam menyusun use case, konsentrasikan pada textual content dari use case bukan pada diagram use case.


Fungsi Diagram Use Case antara lain:
  1. Menggambarkan fungsi-fungsi yang disediakan oleh sistem
  2. Menggambarkan interaksi user dengan sistem dengan menggunakan fungsionalitas yang tersedia
  3. 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.
4.       Digunakan untuk mengidentifikasi
o    Siapa yang berinteraksi dengan sistem dan apa yang harus dilakukan sistem.
o    Interface yang harus dimiliki sistem.
5.       Digunakan untuk ferifikasi
o    Semua requirement yang telah dicapture.
o    Tim pengembang memahami requirement.

Diagram use case mirip dengan diagram context yang digunakan dalam pendekatan struktural, yang menunjukkan batasan sistem dan interaksinya dengan dunia luar. Diagram use case menunjukkan use case, aktor yang berinteraksi dengan use case, dan relasi yang ada antara masing-masing elemen tersebut.

2. Komponen use case diagram



Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.
Sebuah use case merupakan sekumpulan urutan dari aksi atau langkah-langkah, termasuk variant-nya (skenario lain yang mungkin terjadi), yang dilakukan oleh sistem untuk memberikan hasil yang dapat diamati dan diukur oleh user. Secara grafis use case dilambangkan dengan bentuk elips.
Sebuah use case hendaknya spesifik namun fungsionalitas yang dilakukan juga tidak boleh terlalu kecil. Untuk menamai sebuah use case dapat menggunakan kata kerja aktif yang menggambarkan apa yang dilakukan oleh use case tersebut.
Use Case dibagi menjadi dua kategori, yaitu:
1.   Use case konkrit
Use case yang dibuat sesuai kebutuhan actor
2.   Use case abstrak
Use case yang tidak bisa berdiri sendiri

Cara menentukan Use Case dalam suatu sistem:
·         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).




Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut / external view (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, apa yang dilakukan, dan bukan bagaimana proses itu dilakukan.

Aktor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Dalam context use case, user dari suatu use case disebut aktor. Seorang aktor merupakan sekumpulan peran yang berkaitan yang dimainkan pada saat berinteraksi dengan use case yang bersangkutan. Biasanya seorang aktor mewakili peran yang dimainkan oleh manusia, perangkat keras, atau bahkan sistem lain.
Seorang aktor dapat melakukan banyak use case, sebaliknya sebuah use case dapat dilakukan oleh banyak aktor. Selain itu seorang user dapat berperan menjadi lebih dari satu aktor
Aktor hanya dapat berhubungan dengan use case dalam bentuk asosiasi. Sebuah asosiasi antara aktor dan use case mengindikasikan bahwa aktor dan use case saling berkomunikasi dan masing masing memungkinkan untuk mengirim dan menerima pesan. Aktor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol akan use case tersebut. Secara grafis seorang aktor dilambangkan dengan stick man.
Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.
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.
Jadi, hanya yang berinteraksi dengan sistem saja yang akan dianggap sebagai aktor. Sementara orang ataupun sesuatu yang tidak berinteraksi dengan sistem tidak bisa dianggap sebagai aktor.


Catatan : ada beberapa yang berpendapatan bahwa asosiasi antara aktor dan use case tidak melambangkan alur pengiriman pesan, namun lebih kepada inisiator dari use case tersebut. Inti dari dua pendapat ini sama, yaitu interaksi dan peran user terhadap suatu use case.
Relasi
Relasi dalam use case diagram berhubungan dengan organisasi elemen-elemen diagram use case. Kita dapat mengorganisasikan use case dengan menggunakan relasi asosiasi, generalisasi, dan dependensi.
Relasi dalam diagram use case menceritakan bagaimana elemen-elemen dalam use case berhubungan. Dalam UML ada beberapa relasi yang dapat digambarkan dalam diagram use case.
Ada beberapa relasi yang terdapat pada use case diagram:
  • Association, Menghubungkan elemen dengan proses pertukaran informasi. Dilambangkan dengan garis tegas tanpa panah. Contoh :

  •  Generalization, Generalisasi disini berarti inheritance (pewarisan), dimana sebuah elemen (use case atau aktor) dapat merupakan spesialisasi dari elemen lainnya. Dilambangkan dengan garis tegas yang memiliki panah tertutup.

  • Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.

  • Dependency, merupakan ketergantungan elemen terhadap elemen lain, dependency dalam diagram use case secara umum memiliki tiga stereotype yang dilambangkan dengan garis putus-putus, antara lain:
1.    <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah eventdapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dariuse case lainnya. Atau dengan kata laen, use case yang harus dilakukan sebelum melakukan use case yang di include.
2.    <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm. Jadi sifatnya kondisional, mungkin dilakukan dan mungkin tidak.
3.    <<communicates>>, 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.

0 Komentar: