Sunday, October 30, 2016

Mengenal Use Case Diagram

Pengertian :
Use-case diagram merupakan model diagram UML yang digunakan untuk menggambarkan requirement fungsional yang diharapkan dari sebuah sistem. Use-case diagram menekankan pada “siapa” melakukan “apa” dalam lingkungan sistem perangkat lunak akan dibangun. Use-case diagram sebenarnya terdiri dari dua bagian besar; yang pertama adalah use case diagram (termasuk gambar use case dependencies) dan use case description. 

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 requirement system 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 system 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.

  • 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.


Berikut adalah cara menggambar use-case diagram:
Sebelum membuat use-case diagram, sebaiknya diawali dengan membuat FDD terlebih dahulu. Hal ini sekedar untuk membantu mengidentifikasi proses-proses dalam sistem.
  1. Mulai dengan mendaftarkan aktor yang berhubungan dengan Use-case, baik sebagai sender maupun receiver.
  2. Komponen dalam use-case diagram adalah Nama Use-case, Deskripsi Use-case dan Pelaku yang berpartisipasi dan perannya.
  3. Temukan dependency yang mendemonstrasikan hubungan semantik antara dua Use-case. Jika Use-case “A” berubah dapat mengakibatkan Use-case “B” akan berubah pula.
Ada 2 macam dependency yang perlu diperhatikan yaitu include dan extend.


Dependency include:
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.
Contoh Use-case (include)

Keterangan:
Pasien harus membuat temu janji sebelum diberikan perawatan yang diperlukan untuk mengobati penyakit yang dideritanya. Use-case “Make Appointment” meng-include fungsionalitas dari Use-case “Get Treatment” sebagai bagian dari proses saat dieksekusi.

Dependency extend:
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.

Contoh Use-case (extend):

Keterangan:
Setelah pasien membuat temu janji dengan dokter, pasien ini tiba-tiba mendapat halangan sehingga tidak dapat memenuhi janjinya. Oleh karena itu, pasien ini membatalkan janji yang sudah dibuat. Ini merupakan contoh dari kasus extend dimana “Make Appointment” adalah base Use-case dan “Cancel Appointment” merupakan extended Use-case.

Gambar Contoh Interaksi Antara Aktor dan Sistem (Use-case):

Berikut adalah Contoh Use-case description:

Keterangan
Normal course: 
Rangkaian kejadian yang terjadi sesuai harapan.
Alternate course: 
Mendokumentasikan kelakuan Use-case jika terjadi exception.
Pre-condition: 
Kondisi yang harus dipenuhi sebelum Use-case ini dijalankan. Hal ini dapat dilakukan dengan memberikan penjelasan singkat atau dapat pula berupa nama Use-case.
Post-condition: 
Batasan pada keadaan sistem setelah Use-case ini diesksekusi dengan baik. Dapat berupa nama Use-case.


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.
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. Deskripsi 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).


Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram:
Association, menghubungkan link antar element. 
Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya. 
Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya. 
Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.

Tipe relasi/stereotype yang mungkin terjadi pada use case diagram:
include, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
extends, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan roda.
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.





Manajemen Proyek Perangkat Lunak

MPPL adalah sebuah proses pembelajaran dimana kita harus melakukan suatu pekerjaan untuk mencapai tujuan bersama dengan menggunakan beberapa fungsi yaitu perencanaan ( Planning ), pengorganisasian ( Organizing ), penyusunan ( Directing ), pengarahan (Controlling ), dan pengawasan ( Reporting ) sesuai dengan sumber dana yang kita miliki.

MPPL juga digunakan untuk suatu kegiatan mengkoordinasikan segala sesuatu dengan menggunakan perpaduan sumber daya manusia, teknik, administratif, keuangan untuk mencapai tujuan yang jelas dalam periode waktu tertentu.

Tujuan adanya MPPL ini adalah untuk mempelajari penggunaan sumber daya dalam pengerjaan sesuatu agar dapat tercapai, dan juga mengatur waktu penyelesaiannya. MPPL merupakan bagian yang penting dalam pembangunan perangkat lunak, dan juga mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang baik juga. Hal ini berkaitan dengan manajemen yang mengelola serta mengkoordinasikan tim, prosesnya, dan pengukuran proyek termasuk menentukan harga dari perangkat lunak dan sebagainya.

PENTINGNYA MANAJEMEN PROYEK

Ada tingkat kegagalan yang sangat tinggi antara proyek-proyek sistem informasi. Di hampir setiap organisasi, proyek sistem informasi mengambil lebih banyak waktu dan uang untuk melaksanakan daripada yang diantisipasi atau sistem selesai tidak bekerja dengan benar. Ketika suatu sistem informasi tidak memenuhi harapan atau biaya terlalu banyak untuk mengembangkan, perusahaan mungkin tidak menyadari manfaat dari investasi sistem informasi mereka, dan sistem mungkin tidak dapat memecahkan masalah yang itu dimaksudkan. Pengembangan sistem baru harus hati-hati dikelola dan diatur, dan cara proyek dijalankan mungkin menjadi faktor yang paling penting yang mempengaruhi hasilnya. Itulah mengapa penting untuk memiliki beberapa pengetahuan tentang mengelola proyek sistem informasi dan alasan mengapa mereka berhasil atau gagal. karena pada tahun 1995 Standish Group Study menemukan hanya 16.5% dari proyek IT yang berhasil, 31% dibatalkan sebelum selesai, menghabiskan biaya sekitar 81 miliar dolar hanya untuk di Amerika.

Dalam MPPL perlu adanya Constraint (Batasan) :


  • Scope: Apa yang ingin dicapai oleh proyek?
  • Time: Berapa lama waktu yang dibutuhkan?
  • Cost: Biaya apa saja yang dibutuhkan?


Agar proyek dapat diselesaikan pada waktunya dan tugas project manager itu menyeimbangkan ketiganya.