Jenis Hubungan UML: Asosiasi, Ketergantungan, Generalisasi

Apa itu Hubungan UML?

Hubungan di UML digunakan untuk mewakili hubungan antara hal-hal struktural, perilaku, atau pengelompokan. Disebut juga tautan yang menggambarkan bagaimana dua hal atau lebih dapat berhubungan satu sama lain selama eksekusi suatu sistem. Jenis Hubungan UML adalah Asosiasi, Ketergantungan, Generalisasi, dan Realisasi.

Mari kita pelajari secara detail

Jenis Hubungan Diagram Kelas UML

Hubungan Diagram Kelas UML

Asosiasi

Ini adalah sekumpulan link yang menghubungkan elemen model UML. Ini juga mendefinisikan berapa banyak objek yang mengambil bagian dalam relasi itu.

Ketergantungan

Dalam hubungan ketergantungan, seperti namanya, dua elemen atau lebih saling bergantung satu sama lain. Dalam hubungan seperti ini, jika kita melakukan perubahan pada salah satu elemen tertentu, maka besar kemungkinan semua elemen lainnya juga akan terpengaruh oleh perubahan tersebut.

Generalisasi

Ini juga disebut hubungan orang tua-anak. Dalam generalisasi, satu elemen merupakan spesialisasi dari komponen umum lainnya. Ini mungkin bisa menggantikannya. Hal ini sebagian besar digunakan untuk mewakili warisan.

Realisasi

Dalam hubungan realisasi UML, satu entitas menunjukkan beberapa tanggung jawab yang tidak dilaksanakan oleh dirinya sendiri dan entitas lain yang melaksanakannya. Hubungan ini banyak ditemukan pada kasus interface.

Asosiasi

Ini adalah hubungan struktural yang menunjukkan bahwa objek dapat dihubungkan atau dikaitkan dengan objek lain di dalam sistem. Batasan berikut dapat diterapkan pada hubungan asosiasi.

  • {implisit} – Batasan implisit menentukan bahwa hubungan tersebut tidak nyata; itu didasarkan pada sebuah konsep.
  • {dipesan} – Batasan terurut menentukan bahwa himpunan objek di salah satu ujung asosiasi berada dalam cara tertentu.
  • {dapat diubah} – Batasan yang dapat diubah menetapkan bahwa koneksi antara berbagai objek dalam sistem dapat ditambahkan, dihapus, dan dimodifikasi sesuai kebutuhan.
  • {tambahkan saja} – Ini menentukan bahwa koneksi baru dapat ditambahkan dari objek yang terletak di ujung lain sebuah asosiasi.
  • {beku} – Ini menentukan bahwa ketika sebuah tautan ditambahkan di antara dua objek, maka itu tidak dapat diubah ketika batasan yang dibekukan aktif pada tautan atau koneksi tertentu.

Kita juga bisa membuat kelas yang memiliki properti asosiasi; itu disebut sebagai kelas asosiasi.

Asosiasi refleksif

Asosiasi refleksif adalah subtipe hubungan asosiasi di UML. Dalam asosiasi refleksif, instance dari kelas yang sama dapat dihubungkan satu sama lain. Sebuah instance dari suatu kelas juga dikatakan sebagai objek.

Asosiasi refleksif menyatakan bahwa tautan atau koneksi dapat ada di dalam objek kelas yang sama.

Mari kita perhatikan contoh buah kelas. Kelas buah memiliki dua contoh, seperti mangga dan apel. Asosiasi refleksif menyatakan bahwa keterkaitan antara mangga dan apel dapat terjadi karena keduanya merupakan instance dari kelas yang sama, misalnya buah.

Asosiasi yang diarahkan

Seperti namanya, asosiasi terarah berkaitan dengan arah aliran dalam kelas asosiasi.

Dalam asosiasi terarah, alirannya terarah. Asosiasi dari satu kelas ke kelas lainnya mengalir dalam satu arah saja.

Hal ini dilambangkan dengan menggunakan garis padat dengan mata panah.

Contoh:

Anda dapat mengatakan bahwa ada hubungan asosiasi terarah antara server dan klien. Server dapat memproses permintaan klien. Aliran ini bersifat searah, yaitu mengalir dari server ke klien saja. Oleh karena itu hubungan asosiasi terarah dapat hadir dalam server dan klien suatu sistem.

Ketergantungan

Dengan menggunakan hubungan ketergantungan dalam UML, seseorang dapat menghubungkan bagaimana berbagai hal dalam suatu sistem tertentu saling bergantung satu sama lain. Ketergantungan digunakan untuk menggambarkan hubungan antara berbagai elemen dalam UML yang saling bergantung satu sama lain.

Stereotip

  • "mengikat" – Bind adalah batasan yang menentukan bahwa sumber dapat menginisialisasi templat di lokasi target, menggunakan parameter atau nilai yang disediakan.
  • "memperoleh" – Ini menyatakan bahwa lokasi objek sumber dapat dihitung dari objek target.
  • «teman» – Ini menentukan bahwa sumber memiliki visibilitas unik di objek target.
  • "contoh" – Ini menentukan bahwa instance dari pengklasifikasi target adalah objek sumber.
  • "memberi contoh" – Ini menentukan bahwa objek sumber mampu membuat instance dari objek target.
  • "menyaring" – Ini menentukan bahwa objek sumber memiliki abstraksi yang luar biasa dibandingkan objek target.
  • "menggunakan" – Digunakan ketika paket dibuat dalam UML. Stereotip penggunaan menjelaskan bahwa elemen paket sumber juga dapat ada di dalam paket target. Ini menjelaskan bahwa paket sumber menggunakan beberapa elemen paket target.
  • "pengganti" – menetapkan bahwa klien dapat digantikan oleh pemasok pada waktu proses.
  • "mengakses" – Ini menentukan bahwa paket sumber mengakses elemen paket target yang disebut juga penggabungan swasta.
  • "Impor" – Ini menentukan bahwa target dapat mengimpor elemen paket sumber seperti yang didefinisikan di dalam target yang juga disebut sebagai penggabungan publik.
  • "izin" – menentukan bahwa elemen sumber memiliki akses ke elemen pemasok apa pun visibilitas pemasok yang dinyatakan.
  • "memperpanjang" – Membantu Anda menentukan bahwa target dapat memperluas perilaku elemen sumber.
  • "termasuk" – Memungkinkan Anda menentukan elemen sumber yang dapat menyertakan perilaku elemen lain di lokasi tertentu. (sama seperti pemanggilan fungsi di c/c++)
  • "menjadi" – Ini menetapkan bahwa target serupa dengan sumber dengan nilai dan peran yang berbeda.
  • "panggilan" – Ini menentukan bahwa sumber dapat memanggil metode objek target.
  • "menyalin" – Ini menentukan bahwa objek target bersifat independen, salinan dari objek sumber.
  • «parameter» – itu pemasok adalah parameter operasi klien.
  • "mengirim" - klien adalah operasi yang mengirimkan beberapa target yang tidak ditentukan kepada pemasok.

Stereotip di kalangan mesin negara

  • "mengirim" – Menentukan bahwa operasi sumber mengirimkan peristiwa target.

Generalisasi

Ini adalah hubungan antara entitas umum dan entitas unik yang ada di dalam sistem.

Dalam hubungan generalisasi, konsep berorientasi objek disebut warisan dapat diimplementasikan. Hubungan generalisasi terjadi antara dua objek, disebut juga entitas atau benda. Dalam hubungan generalisasi, satu entitas adalah orang tua, dan entitas lainnya dikatakan sebagai anak. Entitas ini dapat direpresentasikan menggunakan warisan.

Dalam pewarisan, anak dari orang tua mana pun dapat mengakses, memperbarui, atau mewarisi fungsionalitas sebagaimana ditentukan di dalam objek induk. Objek anak dapat menambahkan fungsinya ke dirinya sendiri serta mewarisi struktur dan perilaku objek induk.

Hubungan jenis ini secara kolektif dikenal sebagai hubungan generalisasi.

Stereotip dan kendalanya

  • "penerapan" – Stereotip ini digunakan untuk menyatakan bahwa entitas anak diterapkan oleh entitas induk dengan mewarisi struktur dan perilaku objek induk tanpa melanggar aturan.Note Stereotipe ini jika digunakan secara luas dalam satu hal warisan.

Hubungan generalisasi berisi batasan seperti lengkap, tidak lengkap untuk memeriksa apakah semua entitas anak disertakan dalam hubungan atau tidak.

Realisasi

Dalam hubungan realisasi UML, satu entitas menunjukkan beberapa tanggung jawab yang tidak dilaksanakan oleh dirinya sendiri dan entitas lain yang melaksanakannya. Hubungan ini banyak ditemukan pada kasus interface.

Realisasi dapat direpresentasikan dalam dua cara:

  • Menggunakan bentuk kanonik
  • menggunakan tahun bentuk eliminasi
Realisasi dalam UML
Realisasi dalam UML

Dalam diagram di atas, aturan bisnis akun mewujudkan antarmuka IRuleAgent.

Jenis realisasi

  1. Bentuk kanonik Dalam hubungan realisasi UML, bentuk kanonik digunakan untuk merealisasikan antarmuka di seluruh sistem. Ia menggunakan stereotip antarmuka untuk membuat antarmuka dan hubungan realisasi digunakan untuk mewujudkan antarmuka tertentu. Dalam bentuk kanonik, hubungan realisasi dilambangkan dengan garis putus-putus berarah dengan mata panah terbuka yang cukup besar. Dalam diagram di atas, antarmuka Iruleagent direalisasikan menggunakan objek yang disebut Aturan Bisnis Akun.
  2. Elided form Realisasi dalam Diagram kelas UML juga dapat ditampilkan menggunakan formulir elid. Dalam bentuk elided, antarmuka dilambangkan dengan lingkaran yang disebut juga notasi lolipop. Antarmuka ini, ketika direalisasikan menggunakan apa pun yang ada di dalam sistem, menciptakan struktur elided. Dalam diagram di atas, antarmuka Iruleagent dilambangkan dengan bentuk elided yang direalisasikan dengan acctrule.dll.

Komposisi

Ini bukan hubungan UML standar, namun masih digunakan di berbagai aplikasi.

Agregasi komposit merupakan subtipe relasi agregasi dengan karakteristik sebagai:

  • itu adalah hubungan dua arah antara objek.
  • Ini adalah hubungan keseluruhan/sebagian.
  • Jika komposit dihapus, semua bagian lain yang terkait dengannya akan dihapus.

Agregasi komposit digambarkan sebagai asosiasi biner yang dihiasi dengan berlian hitam terisi pada ujung agregat (keseluruhan).

Komposisi dalam UML

Komposisi dalam UML

Folder adalah struktur yang menampung sejumlah n file di dalamnya. Folder digunakan untuk menyimpan file di dalamnya. Setiap folder dapat dikaitkan dengan sejumlah file. Dalam sistem komputer, setiap file merupakan bagian dari setidaknya satu folder di dalam sistem organisasi file. File yang sama juga dapat menjadi bagian dari folder lain, namun hal ini tidak wajib. Setiap kali file dihapus dari folder, folder tersebut tetap tidak terpengaruh sedangkan data yang terkait dengan file tersebut dimusnahkan. Jika operasi penghapusan dijalankan pada folder tersebut, maka itu juga mempengaruhi semua file yang ada di dalam folder tersebut. Semua file yang terkait dengan folder tersebut secara otomatis dimusnahkan setelah folder tersebut dihapus dari sistem.

Jenis hubungan dalam UML dikenal dengan hubungan agregasi komposit.

Pengumpulan

An pengumpulan adalah subtipe dari hubungan asosiasi di UML. Agregasi dan komposisi keduanya merupakan jenis hubungan asosiasi dalam UML. Hubungan agregasi dapat dijelaskan dengan kata sederhana sebagai "objek dari satu kelas dapat memiliki atau mengakses objek dari kelas lain".

Dalam hubungan agregasi, objek dependen tetap berada dalam cakupan hubungan bahkan ketika objek sumber dimusnahkan.

Mari kita perhatikan contoh mobil dan roda. Mobil membutuhkan roda agar dapat berfungsi dengan baik, namun roda tidak selalu membutuhkan mobil. Bisa juga digunakan dengan sepeda, sepeda, atau kendaraan lainnya namun tidak dengan mobil tertentu. Di sini, objek roda tetap bermakna meski tanpa objek mobil. Jenis hubungan seperti ini disebut hubungan agregasi.

Ringkasan

  • Relasi dalam UML memungkinkan suatu hal berhubungan dengan hal lain di dalam sistem.
  • Hubungan asosiasi, ketergantungan, generalisasi, dan realisasi ditentukan oleh UML.
  • Hubungan komposisi juga dapat digunakan untuk merepresentasikan bahwa objek hanya dapat menjadi bagian dari satu komposit dalam satu waktu.
  • Asosiasi digunakan untuk menggambarkan bahwa suatu objek dapat diasosiasikan dengan objek lainnya.
  • Ketergantungan menunjukkan bahwa objek dapat bergantung satu sama lain.
  • Realisasi adalah hubungan yang bermakna antara pengklasifikasi.
  • Generalisasi disebut juga sebagai hubungan orangtua-anak.