Penjelasan panah UML


244

Saya baru-baru ini mempelajari UML dan menggambar diagram sederhana dengan panah biasa di antara kelas, tapi saya tahu itu tidak cukup. Ada banyak panah lain: generalisasi, realisasi dan lain-lain yang memiliki arti bagi pembaca diagram.

Apakah ada sumber yang bagus yang bisa menjelaskan setiap panah (biasa, polos, bertitik, diisi berlian, berlian)?

Ini akan menjadi yang terbaik jika akan memiliki beberapa contoh kode untuk mereka.


4
Saya akan sangat menyarankan mempertimbangkan ini: dzone.com/refcardz/getting-started-uml
trinity

Jawaban:


475

Berikut adalah beberapa penjelasan dari dokumen Visual Studio 2015:

Diagram Kelas UML: Referensi : https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx

Diagram kelas UML

5 : Asosiasi : Hubungan antara anggota dari dua pengklasifikasi.

5a : Agregasi : Asosiasi yang mewakili hubungan kepemilikan bersama. The Agregasi milik peran pemilik diatur untuk Bersama .

5b : Komposisi : Asosiasi yang mewakili hubungan seluruh bagian. The Agregasi milik peran pemilik diatur untuk Komposit .

9 : Generalisasi : Penggolong spesifik mewarisi bagian definisi dari penggolong umum. Klasifikasi umum adalah di ujung panah konektor. Atribut, asosiasi, dan operasi diwarisi oleh penggolong spesifik. Gunakan alat Warisan untuk membuat generalisasi antara dua pengklasifikasi.

Diagram paket

13 : Impor : Hubungan antar paket, menunjukkan bahwa satu paket menyertakan semua definisi yang lain.

14 : Ketergantungan : Definisi atau implementasi classifier dependen dapat berubah jika classifier di ujung panah berubah.

Hubungan realisasi

15 : Realisasi : Kelas mengimplementasikan operasi dan atribut yang ditentukan oleh antarmuka. Gunakan alat Warisan untuk membuat realisasi antara kelas dan antarmuka.

16 : Realisasi : Presentasi alternatif dari hubungan yang sama. Label pada lollipop simbol mengidentifikasi antarmuka.

Diagram Kelas UML: Pedoman : http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

Properti Asosiasi

Agregasi : Ini muncul sebagai bentuk berlian di salah satu ujung konektor. Anda dapat menggunakannya untuk menunjukkan bahwa instance di peran agregasi memiliki atau berisi instance dari yang lain.

Apakah Navigable : Jika benar hanya untuk satu peran, panah muncul di arah dinavigasi. Anda dapat menggunakan ini untuk menunjukkan kemampuan navigasi tautan dan hubungan basis data dalam perangkat lunak.


Generalisasi : Generalisasi berarti bahwa tipe spesialisasi atau turunan mewarisi atribut, operasi, dan asosiasi dari tipe umum atau basis. Jenis umum muncul di ujung panah dari hubungan.

Realisasi : Realisasi berarti kelas mengimplementasikan atribut dan operasi yang ditentukan oleh antarmuka. Antarmuka berada di ujung panah konektor.

Beritahu saya jika Anda memiliki pertanyaan lebih lanjut.


1
Referensi yang bagus tetapi bagi saya Menu -> MenuItem memiliki hubungan yang sama seperti Order -> OrderItem sehingga keduanya adalah Komposisi.
Ignacio Soler Garcia

4
Itu hanya berarti, bahwa item pesanan milik pesanan dan tidak dapat dipindahkan, sedangkan Item Menu dapat disesuaikan - pengguna dapat mengubah posisi Item Menu. Ini adalah solusi yang dipilih. Kenapa tidak?
Gangnus

@ Gangnus, terima kasih. Penjelasan itu mengklarifikasi perbedaan yang telah menghindarkan saya sejak lama.
JMD

1
@ JMD, Item pesanan dapat dipindahkan juga. Agregasi komposit didefinisikan dalam spesifikasi UML sebagai berikut: Agregasi komposit adalah bentuk agregasi yang kuat yang membutuhkan objek bagian untuk dimasukkan dalam paling banyak satu objek komposit pada suatu waktu. Jika objek komposit dihapus, semua bagiannya yang merupakan objek dihapus dengan itu. Objek bagian dapat (jika sebaliknya diizinkan) dihapus dari objek komposit sebelum objek komposit dihapus, dan dengan demikian tidak dihapus sebagai bagian dari objek komposit.
www.admiraalit.nl

2
@ aGer Terima kasih, saya telah memperbarui topik dan tautan gambar.
Esther Fan - MSFT

154

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Saya pikir foto-foto ini dapat dimengerti.


Bukankah beberapa konsep ini tumpang tindih? A dependen B. A memiliki akses ke B. Bukankah asosiasi selalu merupakan ketergantungan dan ketergantungan selalu merupakan asosiasi?
EresDev

1
Dalam diagram, Realisasi diulangi dua kali tetapi dengan gambar yang berbeda. Bisakah Anda jelaskan perbedaannya?
variabel


13

"Lembar contekan" UML favorit saya adalah UML Distilled , oleh Martin Fowler. Ini satu-satunya bukunya yang saya baca yang saya rekomendasikan.


1
Menarik, saya cukup menyukai Refactoring. Apakah itu yang Anda miliki pendapatnya?
djna

Ya, saya menemukan semuanya agak jelas, dan tidak suka konsentrasi di Jawa. Juga, tolong jangan mengambil jawaban saya dengan mengatakan bahwa buku-bukunya yang lain adalah sampah.

Buku Fowler juga memiliki lembar contekan di bagian dalam sampul buku. Benar-benar bagus untuk memulai, terutama karena pertanyaan Anda berikutnya adalah ke arah mana anak panah mengarah?
Ted Johnson

12
185 halaman sepertinya sedikit berlebihan untuk "lembar contekan"!
cdyson37

12

Berikut tutorial yang disederhanakan:

UML praktis

Untuk lebih lanjut saya sarankan untuk mendapatkan beberapa literatur.


9

Untuk referensi cepat bersama dengan contoh ringkas yang jelas, Referensi Cepat UML Allen Holub sangat baik:

http://www.holub.com/goodies/uml/

(Ada beberapa contoh spesifik panah dan pointer di kolom pertama tabel, dengan deskripsi di kolom kedua.)


Saya menyukai contoh pertamanya dan berharap dia akan pergi secara bertahap pada baris yang sama dengan dasar-dasar, tetapi itu adalah bacaan yang bagus
killjoy

6

Deskripsi yang sangat mudah dipahami adalah dokumentasi yuml , dengan contoh-contoh diagram kelas, kasus penggunaan, dan aktivitas.


Mungkin UML-untuk-idiot terbaik saat turun daftar ini; Catatan: situs ini juga memungkinkan Anda menggambar UML Anda sendiri secara gratis (5).
killjoy

5

The diterima jawaban makhluk mengatakan, Hal ini hilang beberapa penjelasan. Sebagai contoh, apa perbedaan antara asosiasi satu arah dan asosiasi dua arah? Dalam contoh yang diberikan, keduanya memang ada. (Keduanya '5 ada di panah)

Jika mencari jawaban yang lebih lengkap dan punya lebih banyak waktu, inilah penjelasannya.



0

Agregasi dan komposisi agak membingungkan. Namun, berpikir seperti komposisi adalah versi agregasi yang lebih kuat. Apa artinya? Mari kita ambil contoh: (Agregasi) 1. Ambil ruang kelas dan siswa: Dalam hal ini, kami mencoba menganalisis hubungan di antara mereka. Sebuah kelas memiliki sebuah hubungan dengan siswa. Itu berarti kelas terdiri dari satu atau banyak siswa. Bahkan jika kita menghapus kelas Kelas, kelas Siswa tidak perlu dihancurkan, yang berarti kita dapat menggunakan kelas Siswa secara mandiri.

(Komposisi) 2. Lihatlah halaman dan Kelas Buku. Dalam hal ini, halaman adalah sebuah buku, yang berarti koleksi halaman membuat buku. Jika kita menghapus kelas buku, seluruh kelas Halaman akan dihancurkan. Itu berarti kita tidak dapat menggunakan kelas halaman secara mandiri.

Jika Anda masih tidak jelas tentang topik ini, tonton video singkat yang luar biasa ini, yang telah menjelaskan agregasi dengan lebih jelas.

https://www.youtube.com/watch?v=d5ecYmyFZW0

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.