Diagram komponen menjelaskan hubungan logis antara komponen.
Diagram penerapan melangkah lebih jauh dengan menggambarkan struktur topologi fisik perangkat keras sistem dan perangkat lunak yang dijalankan di atasnya.
Diagram komponen juga dikenal sebagai diagram pembuatan, digunakan untuk merepresentasikan hubungan antara komponen dalam sistem, serta antara komponen dan antarmuka. Diagram komponen sangat penting dalam pemodelan sistem berbasis komponen, dapat membantu pengguna memahami struktur sistem.
Fungsi Diagram Komponen:
1. Membantu penguji sistem dan pengembang untuk memahami semua komponen fisik sistem secara keseluruhan;
2. Menggambarkan fungsi utama sistem dari sudut pandang arsitektur perangkat lunak;
3. Memudahkan anggota tim proyek memahami struktur dan fungsi sistem;
4. Mendukung penggunaan ulang perangkat lunak.
Kolaborasi multi-pengguna real-time dengan tautan yang dapat dibagikan untuk transfer informasi instan
Hasilkan grafik otomatis dari teks dengan peningkatan gaya
Tema bawaan dengan kustomisasi penuh
Mendukung ikon, gambar, label, rumus LaTeX, blok kode, tautan, lampiran
Ekspor: PNG, VISIO, PDF, SVG | Impor: VISIO, Mermaid
Penyimpanan cloud real-time, sinkronisasi multi-perangkat, riwayat versi, dan keamanan data
Diagram komponen menjelaskan hubungan logis antara komponen.
Diagram penerapan melangkah lebih jauh dengan menggambarkan struktur topologi fisik perangkat keras sistem dan perangkat lunak yang dijalankan di atasnya.
Komponen: Komponen adalah unit implementasi fisik yang dapat diganti dan memiliki antarmuka yang baik, umumnya mewakili objek fisik yang benar-benar ada, digambarkan dengan persegi panjang yang memiliki dua persegi panjang kecil menonjol di sisi kiri.
Antarmuka: Antarmuka yang disediakan juga disebut antarmuka ekspor, adalah kumpulan layanan yang disediakan oleh komponen, dapat digambarkan dengan hubungan implementasi antara antarmuka dan komponen; Antarmuka yang dibutuhkan juga disebut antarmuka impor, adalah antarmuka yang diikuti oleh komponen ketika meminta layanan dari komponen lain, digambarkan dengan hubungan ketergantungan.
Hubungan: Antara komponen --> hubungan ketergantungan, jika ada hubungan generalisasi atau penggunaan antara kelas dalam dua komponen, ketergantungan dapat ditambahkan; Antara komponen dan antarmuka --> ketergantungan atau implementasi.
Diagram Komponen Sederhana: Mengorganisasikan kelas yang saling berkolaborasi menjadi satu komponen.
Diagram Komponen Bersarang: Menggunakan diagram komponen bersarang untuk menggambarkan struktur internal dari komponen.
Komponen terhubung satu sama lain melalui port, dan port terhubung satu sama lain melalui konektor, tetapi umumnya jarang digunakan .
Konektor dibagi menjadi tiga jenis: konektor langsung, konektor antarmuka, dan konektor delegasi.
1, Pengembangan kolaboratif oleh beberapa tim
2, Arsitektur mikroservis atau modular
3, Sistem dengan batasan antarmuka yang jelas
4, Komponen yang perlu diterapkan secara terpisah (seperti frontend, backend, database)
1, Fokus pada modularitas, penguraian, karena nilai utama dari diagram komponen adalah menunjukkan lapisan sistem dan ketergantungan yang jelas;
2, Gunakan simbol standar dan anotasi antarmuka, dapat meningkatkan keterbacaan dan konsistensi diagram;
3, Gunakan bersama dengan diagram kelas/diagram penerapan, menyediakan pandangan lengkap tentang struktur, perilaku, dan penerapan;
4, Hindari menggambar diagram komponen seperti diagram kelas, diagram komponen mengekspresikan 'struktur' sistem daripada 'detail implementasi'.
Diagram komponen menjawab 'siapa melakukan, siapa bergantung pada siapa', sedangkan diagram kelas menjawab 'bagaimana melakukannya'.
1, Kelas adalah abstraksi dari entitas, sedangkan komponen adalah abstraksi dari bagian fisik yang ada dalam komputer.
2, Komponen termasuk modul perangkat lunak, bukan modul logika, dan berada pada tingkat abstraksi yang berbeda dibandingkan dengan kelas.
3, Kelas dapat memiliki operasi dan atribut secara langsung, sedangkan komponen hanya memiliki operasi yang dapat diakses melalui antarmukanya.
Komponen diklasifikasikan menurut perannya dalam sistem menjadi 3 jenis:
1, Komponen penerapan: Komponen yang diperlukan untuk membentuk sistem yang dapat dieksekusi.
Misalnya, Java Virtual Machine, sistem manajemen basis data, file EXE, file DLL.
2, Komponen produk kerja: Produk antara dari proses pengembangan yang tidak langsung terlibat dalam sistem yang dapat dieksekusi.
Misalnya, file kode sumber, file data.
3, Komponen eksekusi: Komponen yang dibuat saat runtime.
Misalnya, Servlet yang diinstansiasi, objek COM+, dokumen XML.
Komponen dengan komponen: hubungan ketergantungan
Komponen dengan antarmuka: hubungan ketergantungan atau hubungan implementasi
Untuk mengontrol granularitas komponen agar sesuai, modul fungsi umum dapat diatur sebagai komponen, jangan merancang kelas tunggal sebagai komponen.
Seret 'antarmuka' dari area simbol di sebelah kiri ke area kerja di sebelah kanan, kemudian, klik salah satu ujung komponen dan tahan tombol kiri mouse ke antarmuka yang sesuai, lepaskan mouse untuk menentukan antarmuka yang ingin diimplementasikan oleh komponen.
Tidak, komponen sederhana bisa tidak memiliki antarmuka eksplisit.
Menyediakan antarmuka, ditandai dengan lingkaran, menunjukkan fungsi yang diekspos komponen ini ke luar (dapat dipanggil).
Memerlukan antarmuka, ditandai dengan setengah lingkaran, menunjukkan layanan yang dibutuhkan komponen ini dari komponen lain.
Bisa. Antara komponen dapat ada ketergantungan satu-ke-banyak, ketergantungan dua arah, atau dapat dipisahkan melalui komponen mediator, menggunakan beberapa garis putus-putus untuk menunjukkan beberapa hubungan ketergantungan.