de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Diagram Struktur Komposit UML: Pemodelan Arsitektur Internal dan Kolaborasi

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.

UML Composite Structure Diagram for a Payment Processing Component

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.

  1. Batasan Klasifier: Tentukan kotak luar sebagai Sistem Otomasi Rumah.
  2. Port Eksternal: Tambahkan Port yang bertanda apiPort ke batas. Lampirkan Antarmuka yang Disediakan (Lollipop) untuk ICommandReceiver (apa yang bisa dikirim dunia luar) dan sebuah Antarmuka yang Diperlukan (Socket) untuk IExternalWeatherService (apa yang dibutuhkan sistem).
  3. Bagian Internal:
    • scheduler: TaskScheduler (Menangani kejadian berdasarkan waktu).
    • deviceManager: DeviceCoordinator (Berkomunikasi dengan perangkat keras).
  4. Koneksi Internal:
    • Hubungkan apiPort ke deviceManager Bagian menggunakan Connector.
    • Hubungkan scheduler Port keluaran Bagian deviceManager Port masukan Bagian, menunjukkan bahwa scheduler memberi tahu device manager kapan harus bertindak.
  5. Struktur Bersarang (Opsional): Tunjukkan bahwa deviceManager sendiri berisi Bagian seperti zigbeeAdapter dan wifiAdapter.

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 繁體中文.