Diagram Struktur Komposit UML adalah diagram struktural yang kuat yang digunakan untuk mengeksplorasiarsitektur internal dari sebuah klasifikasi terstruktur, seperti kelas, komponen, atau sistem. Diagram ini berfokus pada bagaimana suatu entitas terdiri dari bagian-bagian yang saling terhubungBagian dan bagaimana ia berinteraksi dengan dunia luar melaluiPort.

Diagram ini sangat penting untuk mendefinisikan pandangan kotak hitam dan kotak putih dari komponen sistem, memastikan batas yang jelas, dan memungkinkan penggunaan kembali komponen.
Struktur Inti dan Konteks
Diagram ini digambar dalam konteksKlasifikasi (kotak batas), yang mendefinisikan sistem atau komponen keseluruhan yang sedang dianalisis.
A. Peran Klasifikasi (Batasan)
- Notasi: Kotak persegi panjang besar.
- Tujuan: Melambangkan kelas, komponen, atau sistem keseluruhan yang struktur internalnya sedang didefinisikan. Semua elemen lain dalam diagram terdapat di dalam batas ini.
Elemen-Elemen Dasar dari Tampilan Internal
Struktur internal didefinisikan oleh tiga elemen kunci: Bagian, Port, dan Konektor.
B. Bagian
Bagian mewakili peran yang dimainkan oleh sebuah instans klasifikasi (seperti kelas atau komponen) dalam struktur komposit secara keseluruhan. Secara esensial, Bagian adalah blok bangunan internal.
- Notasi: Kotak persegi panjang di dalam batas, diberi label dengan nama dan jenisnya.
- Sintaks:
namaBagian: JenisBagian(misalnya,cacheData: ModulPenyimpananSementara). - Perbedaan Kunci: Suatu Bagian bukan objek itu sendiri, tetapi peran peran yang dimainkan objek tersebut dalam konteks klasifier yang mengandungnya. Suatu Bagian dapat menjadi struktur komposit sendiri, memungkinkan penyusunan yang dalam.
C. Port
Suatu Port adalah titik interaksi yang jelas antara struktur komposit (batas) dan lingkungannya, atau antara Bagian-bagiannya yang internal. Port memformalkan antarmuka yang digunakan atau disediakan komponen.
- Notasi: Sebuah persegi kecil yang melekat pada tepi batas atau tepi Bagian internal.
- Jenis-jenis Port:
- Port Publik: Melekat pada batas luar; terpapar pada lingkungan.
- Port Terkapsulasi: Melekat pada Bagian internal; hanya menghubungkan Bagian tersebut dengan Bagian internal lainnya atau batas sistem.
- Tujuan: Port secara eksplisit mendefinisikan antarmuka yang dibutuhkan dan yang disediakan, memungkinkan struktur internal disembunyikan (pandangan kotak hitam) sambil tetap mendefinisikan titik interaksi kontraktualnya.
D. Konektor
Suatu Konektor memodelkan tautan komunikasi atau aliran informasi/sinyal antara dua elemen (baik dua Port, dua Bagian, atau satu Port dan satu Bagian).
- Notasi: Sebuah garis yang menghubungkan dua elemen yang terhubung.
- Tujuan: Mewakili implementasi tautan komunikasi, menunjukkan bagaimana data atau pesan dipindahkan secara internal.
Pemodelan Antarmuka: Disediakan dan Dibutuhkan
Antarmuka mendefinisikan kewajiban kontraktual dari Port dan sangat penting untuk kejelasan arsitektur.
A. Antarmuka yang Disediakan (Notasi Lollipop)
- Notasi: Sebuah lingkaran (atau “lollipop”) yang terhubung ke sebuah Port.
- Tujuan: Menunjukkan layanan atau operasi yang diberikan klasifier (atau Bagian) kepada lingkungannya atau komponen internalnya.
B. Antarmuka yang Dibutuhkan (Notasi Soket)
- Notasi: Sebuah setengah lingkaran (atau “soket”) yang terhubung ke sebuah Port.
- Tujuan: Menunjukkan layanan atau operasi yang dibutuhkan klasifier (atau Bagian) dari lingkungan atau komponen internal lainnya agar dapat berfungsi dengan benar.
Konektor Perakitan: Garis koneksi sering menghubungkan Antarmuka yang Diperlukan (Soket) dari satu Bagian ke Antarmuka yang Disediakan (Lollipop) dari Bagian lain, menggambarkan bagaimana komponen internal dirangkai bersama untuk memenuhi fungsi sistem.
Pemodelan Kolaborasi: Peran dan Kolaborasi
Diagram Struktur Komposit juga dapat memodelkan dinamika Kolaborasi—kumpulan khusus peran dan koneksi yang bekerja sama untuk melakukan suatu tugas.
A. Penggunaan Kolaborasi
- Notasi: Elips putus-putus yang berisi nama-nama peran kolaborasi.
- Tujuan: Mewakili contoh pola kolaborasi (misalnya, implementasi pola Observer tertentu) yang digunakan dalam komponen yang lebih besar.
Contoh Pemodelan Langkah demi Langkah: Kontroler Rumah Cerdas
Mari kita modelkan struktur internal dari Sistem Otomasi Rumah komponen.
- Batasan Klasifier: Tentukan kotak luar sebagai
Sistem Otomasi Rumah. - Port Eksternal: Tambahkan Port yang bertanda
apiPortke batas. Lampirkan Antarmuka yang Disediakan (Lollipop) untukICommandReceiver(apa yang bisa dikirim dunia luar) dan sebuah Antarmuka yang Diperlukan (Socket) untukIExternalWeatherService(apa yang dibutuhkan sistem). - Bagian Internal:
scheduler: TaskScheduler(Menangani kejadian berdasarkan waktu).deviceManager: DeviceCoordinator(Berkomunikasi dengan perangkat keras).
- Koneksi Internal:
- Hubungkan
apiPortkedeviceManagerBagian menggunakan Connector. - Hubungkan
schedulerPort keluaran BagiandeviceManagerPort masukan Bagian, menunjukkan bahwa scheduler memberi tahu device manager kapan harus bertindak.
- Hubungkan
- Struktur Bersarang (Opsional): Tunjukkan bahwa
deviceManagersendiri berisi Bagian sepertizigbeeAdapterdanwifiAdapter.
Diagram ini dengan jelas menunjukkan bahwa Sistem Otomasi Rumah terdiri dari dua bagian internal utama, menggunakan API tertentu, dan memerlukan layanan cuaca eksternal untuk berfungsi.
Ringkasan
The Diagram Struktur Komposit UML melampaui pandangan kotak hitam dari sebuah kelas atau komponen untuk mengungkap arsitektur kotak putihnya. Dengan menggunakan Bagian untuk mendefinisikan peran, Port untuk mendefinisikan titik interaksi, dan Konektor untuk mendefinisikan komunikasi internal, memungkinkan arsitek dan pengembang untuk memahami dan merancang komponen yang kompleks, dapat digunakan kembali, dan dikemas dengan jelas.
Anda dapat menemukan informasi lebih lanjut tentang visualisasi UML dan AI di pusat sumber daya UML kami pusat sumber daya UML.
This post is also available in Deutsch, English, Español, فارسی, Français, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.












