Jenis Hubungan UML: Asosiasi, Ketergantungan, Generalisasi

โšก Ringkasan Cerdas

Hubungan UML menghubungkan aspek struktural, perilaku, dan kelompok.ping Elemen-elemen suatu model, menunjukkan bagaimana objek saling bergantung satu sama lain selama eksekusi. Sumber daya ini menjelaskan asosiasi, ketergantungan, generalisasi, realisasi, komposisi, dan agregasi, dengan notasi dan contoh dunia nyata untuk setiap jenisnya.

  • ๐Ÿ”— Asosiasi: Suatu penghubung struktural di mana objek-objek terhubung, dengan batasan dan jumlah yang menentukan berapa banyak yang berpartisipasi.
  • โžก๏ธ Ketergantungan: Hubungan satu arah di mana perubahan pada elemen pemasok dapat memengaruhi klien yang bergantung.
  • ๐ŸŒณ Generalisasi: Hubungan induk-anak yang menerapkan pewarisan antara entitas umum dan entitas khusus.
  • ๐Ÿงฉ Realisasi: Antarmuka contracdi mana satu entitas mendefinisikan tanggung jawab dan entitas lain melaksanakannya, ditunjukkan dalam bentuk kanonik atau bentuk yang disingkat.
  • ๐Ÿ’  Komposisi dan Agregasi: Hubungan antara keseluruhan dan bagian; komposisi menghancurkan bagian-bagian bersama dengan keseluruhan, sementara agregasi memungkinkan bagian-bagian untuk tetap ada setelah keseluruhan tersebut hilang.

Jenis Hubungan UML

Apa itu Hubungan UML?

Hubungan di UML digunakan untuk mewakili hubungan antara struktural, perilaku, atau kelompok.ping Hubungan dalam UML juga disebut sebagai tautan yang menggambarkan bagaimana dua atau lebih hal dapat saling berhubungan selama eksekusi suatu sistem. Jenis-jenis hubungan dalam 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 menunjukkan bahwa objek sumber memiliki abs yang luar biasa.traclebih besar daripada 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" โ€“ pemasok merupakan parameter dari operasional klien.
  • "mengirim" โ€“ klien adalah sebuah operasi yang mengirimkan 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. Catatan: Stereotip ini banyak digunakan dalam satu konteks. 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 merealisasikan antarmuka tertentu. Dalam bentuk kanonik, hubungan realisasi ditunjukkan menggunakan garis putus-putus berarah dengan panah terbuka yang cukup besar. Pada diagram di atas, antarmuka Iruleagent direalisasikan menggunakan objek yang disebut Aturan Bisnis Akun.
  2. Bentuk yang dihilangkan: Realisasi dalam Diagram kelas UML Hal ini juga dapat ditunjukkan menggunakan bentuk yang disingkat. Dalam bentuk yang disingkat, antarmuka dilambangkan menggunakan lingkaran yang juga disebut sebagai notasi lolipop. Antarmuka ini, ketika diwujudkan menggunakan apa pun yang ada di dalam sistem, menciptakan struktur yang disingkat. Pada diagram di atas, antarmuka Iruleagent dilambangkan menggunakan bentuk yang disingkat yang diwujudkan oleh 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 Agregasi adalah subtipe dari relasi asosiasi dalam UML. Agregasi dan komposisi keduanya merupakan jenis relasi asosiasi dalam UML. Relasi agregasi dapat dijelaskan secara 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.

Pertanyaan Umum Demo Slot

Multiplisitas menyatakan berapa banyak instance dari satu kelas dapat terhubung ke instance kelas lain dalam suatu relasi, yang ditulis sebagai nilai seperti 1, 0..1, atau 1..*. Misalnya, satu folder dapat berisi nol atau banyak file.

UML menggunakan ujung garis yang berbeda untuk menunjukkan jenis hubungan: garis lurus untuk asosiasi, panah terbuka untuk ketergantungan, segitiga berongga untuk generalisasi, garis putus-putus dengan segitiga berongga untuk realisasi, dan belah ketupat untuk agregasi atau komposisi.

Asosiasi adalah hubungan struktural di mana objek saling mengenal untuk jangka waktu yang lama. Ketergantungan adalah hubungan yang lebih lemah dan sementara di mana satu elemen menggunakan elemen lain, sehingga perubahan pemasok mungkin hanya memengaruhi klien dalam waktu singkat.

Alat analisis kode berbasis AI dapat memindai kelas dan menyarankan kemungkinan hubunganโ€”asosiasi, ketergantungan, generalisasi, atau agregasiโ€”berdasarkan bagaimana objek saling merujuk satu sama lain. Para insinyur harus mengkonfirmasi saran tersebut, karena AI dapat salah menafsirkan koneksi tidak langsung atau dinamis.

Ya. Beberapa alat diagram AI membaca deskripsi kelas Anda dalam bahasa sederhana dan menghasilkan draf diagram kelas dengan tautan asosiasi, generalisasi, dan komposisi. Output tersebut merupakan titik awal yang masih memerlukan validasi manual.

Ringkaslah postingan ini dengan: