Melsa Dariati

26 Mei 2015

Perbedaan INCLUDE dan EXTENDED pada use case diagram



PERBEDAAN INCLUDE DAN EXTEND PADA 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.

1.  <<include>> termasuk didalam use case lain (required) / (diharuskan)
  • Pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program
  • Tanda panah terbuka harus terarah ke sub use case
  • Gambarkan association include secara horizontal


2.  <<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi
  • Kurangi penggunaan association Extend ini, terlalu banyak  pemakaian association ini membuat diagram sulit dipahami.
  • Tanda panah terbuka harus terarah ke parent/base use case
  • Gambarkan association extend secara vertical
1. Actor
Padadasarnya actor bukanlahbagiandari use case diagram, namununtukdapatterciptanyasuatu use case diagram diperlukanbeberapaactor. 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 caseActordigambarkan dengan stick man Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship

2. Use Case
Use case adalah gambaranfungsionalitasdarisuatusistem, sehingga customerataupenggunasistempahamdanmengertimengenaikegunaansistem yang akandibangun.
Catatan Use case diagram adalahpenggambaransistemdarisudutpandangpenggunasistemtersebut (user), sehinggapembuatan use case lebihdititikberatkanpadafungsionalitas yang adapadasistem, bukanberdasarkanaluratauurutankejadian.
Cara menentukan Use Case dalam suatu sistem:
a. Polaperilakuperangkatlunakaplikasi.
b. Gambaran tugas dari sebuah actor.
c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepadaactor.
d.   Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).

Relasidalam 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 bergantungdalambeberapacarake element lainnya.
4. Aggregation, bentukassosiationdimanasebuahelemenberisielemenlainnya.
Tiperelasi/ stereotype yang mungkinterjadipada use case diagram:
1. <<include>> , yaitukelakuan yang harusterpenuhi agar sebuahevent dapatterjadi, dimanapadakondisiinisebuah use case adalahbagiandari use case lainnya.
2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3. <<communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association Inimerupakanpilihanselamaasosiasihanyatipe relationship yang dibolehkanantara actor dan use case.


3. Contoh Use Case Diagram







Perbedaan Include dan Extends pada Use Case
Sebuah diagram use case adalah "sebuah diagram yang menunjukkanhubungan antara aktor dan kasus penggunaan dalam sistem." Use case sering digunakan untuk ;
·         Memberikan gambaran seluruh atau sebagian dari persyaratan penggunaan untuk sistem atau organisasi dalam bentuk model penting atau model bisnis
·         Mengkomunikasikan lingkup proyek pembangunan
·         Model analisis anda dari kebutuhan penggunaan anda dalam bentuk sistem model use case
Di dalam use case terdapat beberapa jenis relasi diantaranya Include dan Extends, lalu apa perbedaan 2 relasi tersebut? berikut pendapat dari orang-orang yang dilansir dari berbagai sumber

"The include relationship ditujukan untuk menggunakan kembali behaviour yang dimodelkan oleh use case lain sedangkan extend relationshipdimaksudkan untuk menambahkan bagian untuk use case yang ada sertauntuk pemodelan sistem layanan opsional" (Overgaard and Palmkvist, Use Cases: Patterns and Blueprints. Addison-Wesley, 2004).

mengaplikasikan <<include>> Ketika Anda Tahu secara Tepat SaatMemanggil Use Case
mengaplikasikan << extend >> Ketika Sebuah Use Case Mungkin DipanggilDi Beberapa Langkah Use Case

Extend digunakan ketika kasus penggunaan bersyarat menambahkanlangkah-langkah untuk kasus pertama menggunakan kelas lain.
Include digunakan untuk mengekstrak use case menjadi bebrapa potonganyang digandakan dalam beberapa use case. Termasuk use case tidak dapat berdiri sendiri dan use case asli tidak lengkap tanpa include satunya. Iniharus digunakan secukupnya yang hanya dalam kasus dimana duplikasiyang signifikan dan ada dengan desain (bukan secara kebetulan).

Include :Sebuah use case dasar tergantung pada use case yang disertakan(s), tanpa itu / mereka use case dasar tidak lengkap karena use case yangdisertakan (s) merupakan sub-urutan dari interaksi yang mungkin terjadiselalu ATAU kadang-kadang.
Extends : memperluas use case tergantung pada use case dasar, secara harfiah memperluas behaviour yang digambarkan oleh use case dasar. use case dasar harus menjadi use case yang berfungsi penuh dalam dirinya sendiri ('include tentu saja termasuk') tanpa memperluas fungsi tambahan use case

Jadi intinya adalah; 
Include : seperti pada gambar diatas, jika seseorang ingin memvalidasi usernya dia harus melewati proses transaksi atau sebaliknya, sedangkan
Extends : suatu kejadian dengan yang ditambahkan dengan syarat, seperti pada gambar diatas pada proses validasi user bisa saja terjadi Log error.



15 April 2015



UML (Unified Modeling Language)
adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasiandari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML

tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database.

Diagram-diagram yang ada pada UML:

1.Use Case Diagram

2.Activity Diagram

3.Sequence Diagram

4.Communication Diagram (Collaboration diagram in versi 1.x)

5.Class Diagram

6.State Machine Diagram (Statechart diagram in versi 1.x)

7.Component Diagram

8.Deployment Diagram


9.Composite Structure Diagram

10.Interaction Overview Diagram

11.Object Diagram

12.Package Diagram

13.Timing Diagram

 Berikut ini saya akan menjelaskan tentang diagram-diagram tersebut :
1.Use Case Diagram
 Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengancara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melaluisebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untukmendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagrammemfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.
Gambar Use Case Diagram

 Diagram Use Case berguna dalam tiga hal :


Menjelaskan fasilitas yang ada (requirements)

-Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadilebih jelas.
  
Komunikas dengan klien


 
-Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klien-kliennya.

Membuat test dari kasus-kasus secara umum

-Kumpulan dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadian-kejadian tersebut

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. <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
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.



3. Contoh Use Case Diagram

Contoh Use Case Diagram

=> Contoh Kasus <=