1 2 5 MODUL 5 COMPONENT DIAGRAM Component Diagram Pada dasarnya component diagram adalah diagram yang menggambarkan tampilan fisik dari struktur dan h...
Component Diagram Pada dasarnya component diagram adalah diagram yang menggambarkan tampilan fisik dari struktur dan hubungan antara komponen dalam sistem suatu perangkat lunak, serta menggambarkan ketergantungan diantara komponen-komponen itu. Component diagram digunakan agar sistem yang dibuat dapat di eksekusi (executable). Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
Perancangan Component Diagram Component diagram digunakan untuk menggambarkan atau memvisualisasikan secara fisik komponen suatu sistem perangkat lunak serta hubungan diantara perangkat lunak itu. Komponen perangkat lunak itu, dapat berupa source code, file, libary, interface, dll. Sebelum merancang suatu commponent diagram, kita harus mengidentifikasi file-file yang akan digunakan pada sistem perangkat lunak yang akan di buat. Setalah file-filenya sudah diidentifikasi, selanjutnya kita juga harus mengidentifikasi library, ataupun komponen lain yang relevan untuk sistem perangkat lunak yang akan kita rancang. Setelah itu, kita juga harus mengidentifikasi hubungan diantara komponen-komponen yang telah kita identifikasi sebelumnya. Stereotypes yang dapat digambarkan pada bentuk component : 1. 2. 3. 4. 5. 6. 7.
<>, kumpulan aplikasi sistem <<executable>>, component yang jalan di client <>, data/file <>, technical component di dalam sistem <<source code>>, source file <
>, table data dalam sebuah database <>, user interface (screen, pages, report)
Notasi yang terdapat pada component diagram diantaranya : 1. Aggregation (Shared association) Salah satu asosiasi yang salah satu ujungnya memiliki tanda bersama sebagai jenis aggregasi. Menunjukan bahwa komponen tersebut memiliki hubungan agregasi dengan komponen lain yang terhubung. Komponen A merupakan milik atau bagian dari komponen B.
2. Association (Without aggregation) Sebuah asosiasi yang menspesifikasikan hubungan semantik yang terjadi antar instansi. Menunjukan bahwa komponen tersebut memiliki hubungan asosiasi dengan komponen lain yang terhubung.
3. Component Merupakan bagian modular dari sistem. Sebuah komponen mendefinisikan perilaku dalam hal menyediakan kebutuhan interface. Sebuah komponen dimodelkan sepanjang siklus hidup pengembangan dan berturut-turut disempurnakan menjadi depolyment dan run-time. Komponen dapat
bermanifestasi dengan satu atau lebih artefak, dan pada gilirannya, artefak yang dapat digunakan untuk lingkungan pelaksanaannya. 4. Composition (Composite association) Composition mirip dengan aggregation, namun mengimplikasikan relasi kepemilikan yang lebih kuat. Component A merupakan bagian sari component B. Bila komponen B tidak ada, maka komponen A juga tidak ada. (notasi ini adalah sudah tidak berlaku di UML 2.0 tetapi masih popular digunakan)
5. Constraint Sebuah kondisi atau pembatasan dinyatakan dalam teks bahasa alami atau dalam bahasa mesin yang dapat dibaca untuk tujuan menyatakan beberapa elemen semantik.
6. Dependency Dependency adalah hubungan yang menandakan bahwa satu atau satu set elemen model memerlukan elemen model lainnya untuk spesifikasi atau pelaksanaannya.
7. Generalization Generalization adalah hubungan taksonomi antara classifier yang lebih umum dan classifier yang lebih spesifik. Setiap instance dari classifier tertentu juga merupakan contoh langsung dari classifier umum. Dengan demikian, classifier tertentu mewarisi fitur dari classifier yang lebih umum. (notasi ini adalah sudah tidak berlaku di UML 2.0 tetapi masih popular digunakan)
8. Interface
Interface adalah jenis classifier yang mewakili deklarasi serangkaian fitur umum yang koheren. Karena interface adalah deklarasi, interface tidak instantiable. Spesifikasi interface diimplementasikan oleh sebuah instance dari classifier instantiable. Satu classifier dapat mengimplementasikan lebih dari satu interface dan satu interface dapat diimplementatasikan oleh lebih dari satu classifier yang berbeda. Jenis interface ada 2 macam, yaitu : Provide, digambarkan dengan bentuk lolipop Required, digambarkan dengan bentuk soket
Penggambaran interface dapat juga dilakukan dengan menambah bagian component seperti :
9. Note Note (komentar) memberikan kemampuan untuk melampirkan berbagai komentar untuk elemen. Sebuah komentar tidak berlaku semantik, tetapi mungkin berisi informasi yang berguna.
10. Port Port adalah properti dari classifier yang menentukan titik interaksi yang berbeda antara classifier dan lingkungannya atau antara (perilaku) classifier dan bagian internal. Port yang terhubung ke sifat classifier dengan konektor melalui request (permintaan) dapat dibuat untuk memohon fitur sifat classifier. Assembly connector Penghubung antara dua atau lebih component dimana sebuah/beberapa component provides interfaces dan component lain required interfaces Digambarkan dengan bentuk interfaces
11. Realization Realization adalah hubungan abstraksi khusus antara dua set elemen model, satu mewakili spesifikasi (pemasok) dan yang lainnya merupakan pelaksanaan kedua (klien). Realisasi dapat digunakan untuk model perbaikan bertahap, optimasi, transformasi, template, sintesis Model, komposisi kerangka, dll.
Membuat Component Diagram di Astah 1. Tampilan awal Astah
2. Pilih component diagram 3. Tampilan awal component diagram
4. Buatlah sebuah component dan beri nama searchEngine dan tambahkan port pada sisi kiri dan kanan component tersebut.
5. Pilih provided interface untuk dihubungkan dengan component yang telah dibuat, dengan cara setelah klik provided interface, arahkan kursor ke sebelah component, lalu klik dan tarik garis ke port component. Akan muncul kotak dialog “Select Inferface”. Pilih Create a new interface dan klik ok. Beri nama book Search untuk interfacenya.
6. Buat component lainnya beri nama Rack dan buat port pada sisi kiri componentnya
7. Hubungkan component searchEngine dengan required connector dengan cara seperti yang dijelaskan pada no. 5. Hubungkan juga component Rack dengan provided connector, beri nama search rack. Hubungkan provided dan required connector dengan garis dependency.
8. Ulangi langkah-langkah sebelumnya, sehingga dihasilkan component diagram seperti dibawah ini