Apa itu Hubungan UML?
Hubungan dalam UML digunakan untuk merepresentasikan hubungan antara hal-hal struktural, perilaku, atau pengelompokan. Ini juga disebut tautan yang menggambarkan bagaimana dua atau lebih hal dapat berhubungan satu sama lain selama eksekusi sistem. Jenis Hubungan UML adalah Asosiasi, Ketergantungan, Generalisasi, dan Realisasi.
Mari kita pelajari secara mendetail
- Asosiasi
Ini adalah sekumpulan tautan yang menghubungkan elemen model UML. Ini juga menentukan berapa banyak objek yang mengambil bagian dalam relasi itu.
- Ketergantungan
Dalam hubungan ketergantungan, seperti namanya, dua atau lebih elemen bergantung satu sama lain. Dalam hubungan semacam ini, jika kita melakukan perubahan pada elemen tertentu, kemungkinan besar 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. Itu mungkin menggantikannya. Ini sebagian besar digunakan untuk mewakili warisan.
- Realisasi
Dalam hubungan realisasi UML, satu entitas menunjukkan beberapa tanggung jawab yang tidak dilaksanakan dengan sendirinya dan entitas lain yang melaksanakannya. Hubungan ini banyak ditemukan dalam kasus antarmuka.
Dalam tutorial UML ini, Anda akan mempelajari:
- Asosiasi
- Ketergantungan
- Generalisasi
- Realisasi
- Komposisi
- Pengumpulan
Asosiasi
Ini adalah hubungan struktural yang mewakili 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 berurutan menentukan bahwa kumpulan objek di salah satu ujung asosiasi berada dalam cara tertentu.
- {changeable} - Batasan yang dapat diubah menentukan bahwa koneksi antara berbagai objek dalam sistem dapat ditambahkan, dihapus, dan dimodifikasi sesuai kebutuhan.
- {addOnly} - Ini menentukan bahwa koneksi baru dapat ditambahkan dari objek yang terletak di ujung lain sebuah asosiasi.
- {beku} - Ini menentukan bahwa ketika tautan ditambahkan antara dua objek, maka itu tidak dapat dimodifikasi saat batasan beku aktif pada tautan atau koneksi yang diberikan.
Kita juga dapat membuat kelas yang memiliki properti asosiasi; itu disebut sebagai kelas asosiasi.
Asosiasi refleksif
Asosiasi refleksif adalah subtipe dari hubungan asosiasi di UML. Dalam asosiasi refleksif, instance dari kelas yang sama dapat dikaitkan satu sama lain. Sebuah instance dari sebuah kelas juga dikatakan sebagai sebuah objek.
Asosiasi refleksif menyatakan bahwa tautan atau koneksi dapat hadir dalam objek dari kelas yang sama.
Mari kita pertimbangkan contoh buah kelas. Kelas buah memiliki dua contoh, seperti mangga dan apel. Asosiasi refleksif menyatakan bahwa tautan antara mangga dan apel dapat hadir karena mereka adalah contoh dari kelas yang sama, seperti buah.
Asosiasi terarah
Seperti namanya, asosiasi terarah terkait dengan arah aliran dalam kelas asosiasi.
Dalam asosiasi terarah, aliran diarahkan. Pengaitan dari satu kelas ke kelas lain hanya mengalir dalam satu arah.
Ini dilambangkan dengan menggunakan garis padat dengan mata panah.
Contoh:
Anda dapat mengatakan bahwa ada hubungan asosiasi terarah antara server dan klien. Sebuah server dapat memproses permintaan klien. Aliran ini searah, yang mengalir dari server ke klien saja. Oleh karena itu, hubungan asosiasi terarah dapat hadir di dalam server dan klien dari suatu sistem.
Ketergantungan
Dengan menggunakan hubungan ketergantungan dalam UML, seseorang dapat menghubungkan bagaimana berbagai hal di dalam sistem tertentu saling bergantung satu sama lain. Ketergantungan digunakan untuk menggambarkan hubungan antara berbagai elemen dalam UML yang saling bergantung.
Stereotipe
- « Bind » - Bind adalah batasan yang menetapkan bahwa sumber dapat menginisialisasi template di lokasi target, menggunakan parameter atau nilai yang disediakan.
- «Memperoleh» - Ini menunjukkan bahwa lokasi objek sumber dapat dihitung dari objek target.
- «Friend» - Ini menetapkan bahwa sumber memiliki visibilitas unik di objek target.
- «InstanceOf» - Ini menetapkan bahwa instance dari pengklasifikasi target adalah objek sumber.
- «Instantiate» - Ini menetapkan bahwa objek sumber mampu membuat instance dari objek target.
- «Refine» - Ini menetapkan bahwa objek sumber memiliki abstraksi yang luar biasa daripada objek target.
- «Gunakan» - Digunakan saat paket dibuat dalam UML. Stereotipe penggunaan menjelaskan bahwa elemen dari paket sumber juga dapat hadir di dalam paket target. Ini menjelaskan bahwa paket sumber menggunakan beberapa elemen dari paket target.
- «Substitusi» - menentukan bahwa klien dapat diganti dengan pemasok pada saat runtime.
- «Access» - Ini menentukan bahwa paket sumber mengakses elemen dari paket target yang juga disebut sebagai penggabungan pribadi.
- «Import» - Ini menentukan bahwa target dapat mengimpor elemen dari paket sumber seperti mereka 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.
- «Include» - Memungkinkan Anda menentukan elemen sumber yang dapat menyertakan perilaku elemen lain di lokasi tertentu. (sama seperti panggilan fungsi di c / c ++)
- « Menjadi » - Ini menentukan bahwa target mirip dengan sumber dengan nilai dan peran yang berbeda.
- «Call» - Ini menentukan bahwa sumber dapat memanggil metode objek target.
- «Copy» - Ini menentukan bahwa objek target adalah independen, salinan objek sumber.
- «Parameter» - pemasok adalah parameter operasi klien .
- «Kirim» - klien adalah operasi yang mengirimkan beberapa target yang tidak ditentukan ke pemasok.
Stereotip di antara mesin negara
- «Kirim» - 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 yang disebut pewarisan dapat diimplementasikan. Hubungan generalisasi ada antara dua objek, juga disebut entitas atau benda. Dalam hubungan generalisasi, satu entitas adalah induk, dan entitas lainnya dikatakan sebagai anak. Entitas ini dapat diwakili menggunakan warisan.
Dalam pewarisan, anak dari setiap orang tua dapat mengakses, memperbarui, atau mewarisi fungsionalitas seperti yang ditentukan di dalam objek induk. Objek anak dapat menambahkan fungsionalitasnya ke dirinya sendiri serta mewarisi struktur dan perilaku objek induk.
Jenis hubungan ini secara kolektif dikenal sebagai hubungan generalisasi.
Stereotipe dan batasannya
- «Implementasi» - Stereotipe ini digunakan untuk menyatakan bahwa entitas anak diimplementasikan oleh entitas induk dengan mewarisi struktur dan perilaku objek induk tanpa melanggar aturan. Perhatikan stereotip ini jika digunakan secara luas dalam satu warisan .
Hubungan generalisasi mengandung batasan seperti lengkap, tidak lengkap untuk memeriksa apakah semua entitas anak dimasukkan dalam hubungan atau tidak.
Realisasi
Dalam hubungan realisasi UML, satu entitas menunjukkan beberapa tanggung jawab yang tidak dilaksanakan dengan sendirinya dan entitas lain yang melaksanakannya. Hubungan ini banyak ditemukan dalam kasus antarmuka.
Realisasi dapat direpresentasikan dalam dua cara:
- Menggunakan bentuk kanonik
- Menggunakan bentuk elided
Dalam diagram di atas, aturan bisnis akun mewujudkan antarmuka IRuleAgent.
Jenis realisasi:
- Bentuk kanonik
Dalam hubungan realisasi UML, bentuk kanonik digunakan untuk mewujudkan antarmuka di seluruh sistem. Ini menggunakan stereotip antarmuka untuk membuat antarmuka dan hubungan realisasi digunakan untuk mewujudkan antarmuka tertentu.
Dalam bentuk kanonik, hubungan realisasi dilambangkan dengan menggunakan garis putus-putus dengan panah terbuka yang cukup besar.
Pada diagram di atas, interface Iruleagent direalisasikan menggunakan objek yang disebut Account Business Rules.
- Bentuk yang dipilih
Realisasi dalam diagram kelas UML juga dapat ditampilkan menggunakan formulir elided. Dalam bentuk elided, antarmuka dilambangkan dengan lingkaran yang juga disebut sebagai notasi lolipop.
Antarmuka ini, ketika direalisasikan dengan menggunakan apa pun yang ada di dalam sistem, menciptakan struktur yang elided.
Dalam diagram di atas, antarmuka Iruleagent dilambangkan dengan bentuk elided yang direalisasikan oleh acctrule.dll.
Komposisi
Ini bukan hubungan UML standar, tetapi masih digunakan di berbagai aplikasi.
Agregasi komposit adalah subtipe dari relasi agregasi dengan karakteristik sebagai:
- itu adalah asosiasi 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 di ujung agregat (keseluruhan).
Folder adalah struktur yang menampung n jumlah file di dalamnya. Folder digunakan untuk menyimpan file di dalamnya. Setiap folder dapat dikaitkan dengan sejumlah file. Dalam sistem komputer, setiap file adalah bagian dari setidaknya satu folder di dalam sistem organisasi file. File yang sama juga bisa menjadi bagian dari folder lain, tetapi itu tidak wajib. Setiap kali file dihapus dari folder, folder tetap tidak terpengaruh sedangkan data yang terkait dengan file tersebut dihancurkan. Jika operasi penghapusan dijalankan pada folder, maka itu juga mempengaruhi semua file yang ada di dalam folder tersebut. Semua file yang terkait dengan folder secara otomatis dihancurkan setelah folder tersebut dihapus dari sistem.
Jenis hubungan dalam UML ini dikenal dengan hubungan agregasi komposit.
Pengumpulan
Agregasi adalah subtipe dari hubungan asosiasi di UML. Agregasi dan komposisi adalah jenis hubungan asosiasi di UML. Hubungan agregasi dapat dijelaskan dengan kata sederhana sebagai "objek dari satu kelas dapat memiliki atau mengakses objek kelas lain".
Dalam hubungan agregasi, objek dependen tetap berada dalam cakupan hubungan meskipun objek sumber dimusnahkan.
Mari kita perhatikan contoh mobil dan roda. Mobil membutuhkan roda agar berfungsi dengan benar, tetapi roda tidak selalu membutuhkan mobil. Ini juga dapat digunakan dengan sepeda, sepeda, atau kendaraan lain tetapi tidak untuk mobil tertentu. Di sini, objek roda bermakna meski tanpa objek mobil. Jenis hubungan seperti itu disebut relasi agregasi.
Ringkasan
- Relasi dalam UML memungkinkan satu hal berhubungan dengan hal-hal lain di dalam sistem.
- Hubungan asosiasi, ketergantungan, generalisasi, dan realisasi ditentukan oleh UML.
- Hubungan komposisi juga dapat digunakan untuk menyatakan bahwa objek hanya dapat menjadi bagian dari satu komposit dalam satu waktu.
- Association digunakan untuk mendeskripsikan bahwa satu objek dapat dikaitkan dengan objek lainnya.
- Ketergantungan menunjukkan bahwa objek dapat bergantung satu sama lain.
- Realisasi adalah hubungan yang bermakna antara pengklasifikasi.
- Generalisasi juga disebut sebagai hubungan orang tua-anak.