en_USes_ESfa_IRid_IDpt_PTvi

Panduan Lengkap Diagram Komponen UML: Memvisualisasikan Arsitektur Sistem

Pendahuluan

Ilustrasi vektor isometrik dari arsitektur sistem diagram komponen UML, menampilkan modul perangkat lunak yang terhubung, antarmuka, dan basis data untuk desain mikro layanan.

Dalam dunia teknik perangkat lunak yang kompleks, memahami bagaimana berbagai bagian sistem berinteraksi sangat penting untuk membangun aplikasi yang tangguh dan mudah dipelihara.Diagram Komponen UMLberfungsi sebagai alat yang kuat untuk memodelkan aspek fisik dari sistem berorientasi objek. Diagram ini memberikan pandangan tingkat tinggi tentang bagaimana komponen diorganisir, bagaimana mereka berinteraksi melalui antarmuka, dan bagaimana mereka saling bergantung.

Baik Anda sedang merancang aplikasi berbasis mikroservice baru, mendokumentasikan sistem warisan yang sudah ada, atau merencanakan migrasi basis data, diagram komponen menawarkan kejelasan dan struktur. Panduan ini akan memandu Anda melalui konsep dasar, notasi, hubungan, dan aplikasi praktis dari Diagram Komponen UML, dengan memanfaatkan alat modern seperti Chatbot AI Visual Paradigm dan VPasCode untuk menyederhanakan proses pemodelan Anda.


Apa itu Diagram Komponen?

UML Diagram komponen digunakan dalam memodelkan aspek fisik dari sistem berorientasi objek. Diagram ini sangat penting untuk:

  • Memvisualisasikan tampilan implementasi statis dari suatu sistem.
  • Menentukan sistem berbasis komponen.
  • Mendokumentasikan arsitektur untuk para pemangku kepentingan dan tim pengembang.
  • Membangun sistem yang dapat dieksekusi melalui rekayasa maju dan rekayasa mundur.

Diagram komponen pada dasarnya adalah diagram kelas yang berfokus pada komponen daripada kelas individual. Diagram ini membantu memecah sistem yang kompleks menjadi bagian-bagian yang dapat dikelola dan modular.

Hierarki Diagram Komponen

Belajar UML Lebih Cepat, Lebih Baik, dan Lebih Mudah

Apakah Anda mencari alat UML gratis untuk belajar UML lebih cepat, lebih mudah, dan lebih cepat? Visual Paradigm Edisi Komunitas adalah perangkat lunak UML yang mendukung semua jenis diagram UML. Ini adalah pemodel UML pemenang penghargaan internasional, namun mudah digunakan, intuitif, dan sepenuhnya gratis.
Unduh Gratis


Gambaran Singkat Diagram Komponen

Diagram komponen menguraikan sistem aktual yang sedang dikembangkan ke dalam berbagai tingkat fungsionalitas tinggi. Setiap komponen bertanggung jawab atas satu tujuan yang jelas dalam seluruh sistem dan hanya berinteraksi dengan elemen-elemen penting lainnya berdasarkan prinsip kebutuhan untuk mengetahui.

Diagram Komponen Sekilas

Contoh di atas menunjukkan komponen internal dari sebuah komponen yang lebih besar:

  • Antarmuka yang Diperlukan:Data (nomor akun dan ID inspeksi) mengalir ke dalam komponen melalui port di sisi kanan dan dikonversi ke dalam format yang dapat digunakan oleh komponen internal. Antarmuka di sisi kanan dikenal sebagai antarmuka yang diperlukan, yang merepresentasikan layanan yang dibutuhkan oleh komponen untuk melaksanakan tugasnya.
  • Antarmuka yang Disediakan:Data kemudian mengalir ke dan melalui beberapa komponen lain melalui berbagai koneksi sebelum dikeluarkan melalui port di sisi kiri. Antarmuka di sisi kiri tersebut dikenal sebagai antarmuka yang disediakan, yang merepresentasikan layanan yang disampaikan oleh komponen yang ditampilkan.
  • Enkapsulasi:Penting untuk dicatat bahwa komponen internal dikelilingi oleh sebuah ‘kotak’ besar yang dapat berupa sistem keseluruhan itu sendiri (dalam hal ini tidak akan ada simbol komponen di sudut kanan atas) atau subsistem atau komponen dari sistem keseluruhan (dalam kasus ini ‘kotak’ itu sendiri adalah sebuah komponen).

Konsep Dasar Diagram Komponen

Sebuah komponenmerepresentasikan bagian modular dari suatu sistem yang mengenkapsulasi isinya dan yang manifestasinya dapat diganti dalam lingkungannya. Dalam UML 2, sebuah komponen digambarkan sebagai persegi panjang dengan kompartemen opsional yang ditumpuk secara vertikal. Pandangan tingkat tinggi yang terabstraksi dari sebuah komponen dalam UML 2 dapat dimodelkan sebagai:

  1. Sebuah persegi panjang dengan nama komponen.
  2. Sebuah persegi panjang dengan ikon komponen.
  3. Sebuah persegi panjang dengan teks dan/atau ikon stereotipe.

Tampilan Sebuah Komponen

Rancang Sistem Modular Anda dengan AI

Diagram komponen memvisualisasikan bagian-bagian modular dan manifestasi fisik dari sistem Anda. Menggunakan Chatbot AI Visual Paradigm, Anda dapat dengan cepat melakukan brainstorming arsitektur sistem, mengidentifikasi antarmuka yang disediakan/diperlukan, dan menghasilkan diagram komponen awal melalui antarmuka percakapan yang sederhana.

SUDAH TERSEDIA: Chatbot AI – Mitra Desain Anda

Cukup jelaskan modul, mikro layanan, atau struktur basis data Anda kepada chatbot. Ini akan membantu Anda mendefinisikan:

  • Batas Modular:Identifikasi bagian mana dari sistem Anda yang harus dienkapsulasi sebagai komponen.
  • Pemetaan Ketergantungan:Visualisasikan bagaimana berbagai eksekutabel dan pustaka berinteraksi dalam rilis Anda.

Obrolan dengan AI Sekarang
Pelajari lebih lanjut tentang ekosistem pemodelan berbasis AI kami:
Panduan Komponen AI Semua Alat AI


Antarmuka

Antarmuka mendefinisikan kontrak antara komponen. Dalam contoh di bawah ini, dua jenis antarmuka komponen ditampilkan:

  • Antarmuka yang Disediakan:Simbol dengan lingkaran penuh di ujungnya (sering disebut ‘lollipop’) mewakili antarmuka yang disediakan oleh komponen. Ini adalah singkatan untuk hubungan realisasi dari pengklasifikasi antarmuka.
  • Antarmuka yang Diperlukan:Simbol dengan setengah lingkaran di ujungnya (disebut juga soket) mewakili antarmuka yang diperlukan oleh komponen. Dalam kedua kasus tersebut, nama antarmuka ditempatkan di dekat simbol antarmuka itu sendiri.

Antarmuka yang Diperlukan dan Disediakan

Contoh Diagram Komponen – Menggunakan Antarmuka (Sistem Pesanan)

Contoh Antarmuka Komponen

Setara PlantUML:

@startuml
skinparam componentStyle uml2
skinparam BackgroundColor white
skinparam DefaultFontName Arial

' Konfigurasi gaya untuk mencocokkan warna biru
skinparam component {
    BackgroundColor #66b3ff
    BorderColor #004d99
    FontColor black
}
skinparam interface {
    BackgroundColor #66b3ff
    BorderColor #004d99
}

' Komponen
component "Sistem Pesanan" as OrderSystem
component "Repositori Pelanggan" as CustomerRepo
component "Sistem Inventaris" as InventorySystem

' Antarmuka dan Koneksi
interface "Pencarian Pelanggan" as CustomerLookup
interface "Akses Produk" as ProductAccessor

OrderSystem -( CustomerLookup
CustomerLookup - CustomerRepo

OrderSystem --( ProductAccessor
ProductAccessor -- InventorySystem

@enduml

Antarmuka VPasCode menampilkan diagram komponen UML untuk Sistem Pesanan dengan Repositori Pelanggan dan Sistem Inventori.


Subsistem

The subsistem pengklasifikasi adalah versi khusus dari pengklasifikasi komponen. Karena itu, elemen notasi subsistem mewarisi semua aturan yang sama dengan elemen notasi komponen. Satu-satunya perbedaan adalah bahwa elemen notasi subsistem memiliki kata kunci <<subsystem>> alih-alih <<component>>.

Subsistem Komponen


Port

Port direpresentasikan menggunakan persegi di sepanjang tepi sistem atau komponen. Port sering digunakan untuk membantu mengekspos antarmuka yang diperlukan dan disediakan oleh sebuah komponen, bertindak sebagai titik interaksi tertentu.

Port Diagram Komponen


Hubungan

Secara grafis, diagram komponen adalah kumpulan titik dan busur dan umumnya berisi komponen, antarmuka, dan berbagai hubungan seperti ketergantungan, agregasi, batasan, generalisasi, asosiasi, dan realisasi. Diagram ini juga dapat berisi catatan dan batasan.

Hubungan Notasi Deskripsi
Asosiasi Notasi Diagram Komponen: Asosiasi Asosiasi menentukan hubungan semantik yang dapat terjadi antara instance bertipe. Asosiasi ini memiliki setidaknya dua ujung yang direpresentasikan oleh properti, di mana masing-masing terhubung ke tipe dari ujung tersebut.
Komposisi Notasi Diagram Komponen: Komposisi Agregasi komposit adalah bentuk agregasi yang kuat yang mengharuskan sebuah instance bagian disertakan dalam paling banyak satu komposit pada satu waktu. Jika sebuah komposit dihapus, semua bagiannya biasanya juga dihapus bersamanya.
Agregasi Notasi Diagram Komponen: Agregasi Sebuah jenis asosiasi yang memiliki salah satu ujungnya ditandai sebagai agregasi bersama, yang berarti bahwa asosiasi tersebut memiliki agregasi bersama.
Kendala Notasi Diagram Komponen: Kendala Sebuah kondisi atau pembatasan yang dinyatakan dalam teks bahasa alami atau dalam bahasa yang dapat dibaca mesin untuk tujuan mendeklarasikan sebagian semantik dari suatu elemen.
Ketergantungan Notasi Diagram Komponen: Ketergantungan Ketergantungan menandakan bahwa satu atau sekumpulan elemen model memerlukan elemen model lain untuk spesifikasi atau implementasinya. Elemen yang bergantung secara semantik atau struktural bergantung pada elemen penyedia.
Generalisasi Notasi Diagram Komponen: Generalisasi Hubungan taksonomi antara pengklasifikasi yang lebih umum dan pengklasifikasi yang lebih spesifik. Setiap instance dari pengklasifikasi spesifik juga merupakan instance tidak langsung dari pengklasifikasi umum, mewarisi fitur-fiturnya.

Aplikasi Praktis

1. Pemodelan Kode Sumber

  • Baik melalui rekayasa maju maupun rekayasa mundur, identifikasi himpunan file kode sumber yang menarik dan modelkan sebagai komponen yang distereotipkan sebagai <<file>>.
  • Untuk sistem yang lebih besar, gunakan paket untuk menampilkan kelompok file kode sumber.
  • Pertimbangkan untuk mengekspos nilai bertanda yang menunjukkan informasi seperti nomor versi file kode sumber, penulisnya, dan tanggal terakhir kali diubah. Gunakan alat untuk mengelola nilai tanda ini.
  • Modelkan ketergantungan kompilasi di antara file-file ini menggunakan ketergantungan. Sekali lagi, gunakan alat untuk membantu menghasilkan dan mengelola ketergantungan ini.

Contoh Komponen – Kode Sumber Java
Contoh Kode Sumber Java Diagram Komponen

Contoh Diagram Komponen – Kode C++ dengan Versi
Kode CPP Diagram Komponen dengan Contoh Versi

Ekuivalen PlantUML untuk Pemodelan Kode Sumber:

@startuml
skinparam componentStyle uml2
skinparam BackgroundColor white
skinparam DefaultFontName Arial

' Konfigurasi gaya untuk mencocokkan warna biru
skinparam component {
    BackgroundColor #66b3ff
    BorderColor #004d99
    FontColor black
}

' Komponen Baris 1 (Versi)
component "signal.h (v3.5)" as signal35
component "signal.h (v4.0)" as signal40
component "signal.h (v4.1)" as signal41

' Komponen Baris 2
component "interp.cpp" as interp
component "signal.h (v5.0)" as signal50

' Komponen Baris 3
component "irq.h" as irq
component "device.cpp" as device

' Koneksi & Pengaturan Tata Letak
' Orang tua di baris atas yang menunjuk ke kiri
signal40 .left.> signal35 : <>
signal41 .left.> signal40 : <>

' Ketergantungan vertikal
interp .up.> signal41
signal50 .up.> signal41

interp .down.> irq
device .up.> interp

@enduml

Alat VPasCode menampilkan diagram komponen UML yang memodelkan file kode sumber dan ketergantungannya.2. Pemodelan Rilis Eksekusi

  • Identifikasi himpunan komponen yang ingin Anda modelkan. Biasanya, ini akan melibatkan sebagian atau semua komponen yang berada pada satu node, atau distribusi himpunan komponen tersebut di seluruh node dalam sistem.
  • Pertimbangkan stereotipe dari setiap komponen dalam himpunan ini. Untuk sebagian besar sistem, Anda akan menemukan sejumlah kecil jenis komponen yang berbeda (seperti eksekutabel, pustaka, tabel, file, dan dokumen). Anda dapat menggunakan mekanisme ekstensibilitas UML untuk memberikan petunjuk visual bagi stereotipe tersebut.
  • Untuk setiap komponen dalam himpunan ini, pertimbangkan hubungannya dengan tetangganya. Paling sering, ini akan melibatkan antarmuka yang diekspor (diwujudkan) oleh komponen tertentu dan kemudian diimpor (digunakan) oleh komponen lain. Jika Anda ingin mengekspos celah dalam sistem Anda, modelkan antarmuka ini secara eksplisit. Jika Anda ingin model Anda berada pada tingkat abstraksi yang lebih tinggi, hilangkan hubungan ini dengan hanya menampilkan ketergantungan di antara komponen-komponen tersebut.

Diagram Komponen Memodelkan Rilis yang Dapat Dieksekusi

Ekuivalen PlantUML untuk Rilis Eksekutabel:

@startuml
skinparam componentStyle uml2
skinparam BackgroundColor white
skinparam DefaultFontName Arial

' Gaya biru modern untuk mencocokkan gaya diagram Anda
skinparam component {
    BackgroundColor #5cadff
    BorderColor #2b7fff
    FontColor black
    RoundCorner 10
}
skinparam interface {
    BackgroundColor #5cadff
    BorderColor #2b7fff
}

' Komponen
component "path.dll" as path
component "collision.dll" as collision
component "driver.dlln(version = "B.2.1.3")" as driver

' Antarmuka
interface IDrive
interface ISelfTest

' Tata letak & koneksi bersih
path .right.> collision

' Gunakan tata letak tersembunyi untuk memaksa penumpukan vertikal antarmuka
IDrive -[hidden]down- ISelfTest

' Hubungkan driver ke antarmukanya dengan bersih di sebelah kiri
driver -left- IDrive
driver -left- ISelfTest

' Garis ketergantungan vertikal lurus yang bersih
path .down.> IDrive

@enduml

Antarmuka VPasCode menampilkan kode PlantUML dan diagram komponen UML yang dihasilkan yang memodelkan ketergantungan file DLL.3. Memodelkan Basis Data Fisik

  • Identifikasi kelas-kelas dalam model Anda yang mewakili skema basis data logis Anda.
  • Pilih strategi untuk memetakan kelas-kelas ini ke tabel. Anda juga perlu mempertimbangkan distribusi fisik basis data Anda. Strategi pemetaan Anda akan dipengaruhi oleh lokasi di mana Anda ingin data Anda berada pada sistem yang telah Anda deploy.
  • Untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan pemetaan Anda, buatlah diagram komponen yang berisi komponen yang distereotipkan sebagai<<table>>.
  • Di mana memungkinkan, gunakan alat untuk membantu Anda mengubah desain logis Anda menjadi desain fisik.

Diagram Komponen Memodelkan Basis Data Fisik

Ekuivalen PlantUML untuk Basis Data Fisik:

@startuml
skinparam componentStyle uml2
skinparam BackgroundColor white
skinparam DefaultFontName Arial
skinparam linetype ortho

' Konfigurasi gaya untuk mencocokkan warna biru
skinparam component {
    BackgroundColor #66b3ff
    BorderColor #004d99
    FontColor black
}

' Komponen Induk
component "school.db" as school_db

' Komponen Anak
component "course" as course
component "department" as dept
component "instructor" as instructor
component "school" as school
component "student" as student

' Tautan tersembunyi untuk memaksa penyelarasan horizontal
course -[hidden]right- dept
dept -[hidden]right- instructor
instructor -[hidden]right- school
school -[hidden]right- student

' Hubungan Komposisi (Berlian Hitam)
school_db *-- course
school_db *-- dept
school_db *-- instructor
school_db *-- school
school_db *-- student

@endif

Alat VPasCode menampilkan kode PlantUML yang menghasilkan diagram komponen UML dari file basis data sekolah.


Kesimpulan

Diagram Komponen UML sangat penting bagi arsitek dan pengembang yang perlu mengomunikasikan integritas struktural suatu sistem. Dengan berfokus pada komponen, antarmuka, dan hubungan mereka, diagram ini memberikan cetak biru yang jelas tentang bagaimana modul perangkat lunak berinteraksi, bergantung, dan terintegrasi satu sama lain.

Dengan munculnya alat berbasis AI sepertiChatbot AI Visual Paradigm dan pemodelan berbasis kode dengan VPasCode dan PlantUML, membuat dan memelihara diagram ini menjadi lebih efisien dan mudah diakses. Baik Anda memodelkan ketergantungan kode sumber, merencanakan rilis yang dapat dieksekusi, atau merancang skema basis data fisik, diagram komponen menawarkan kejelasan yang diperlukan untuk membangun sistem yang skalabel dan mudah dipelihara.

Mulailah memanfaatkan alat-alat ini hari ini untuk meningkatkan dokumentasi arsitektur Anda dan menyederhanakan alur kerja pengembangan Anda.

This post is also available in English, Español, فارسی, Portuguese and Việt Nam.