LUNAK 2
Karakteristik Deskripsi
Komponen
Standar Standardisasi komponen berarti bahwa komponen yang digunakan
dalam proses CBSE harus sesuai dengan model komponen standar.
Model ini dapat mendefinisikan antarmuka komponen, metadata
komponen, dokumentasi, komposisi, dan penerapan.
Independen Sebuah komponen harus independen — itu harus memungkinkan
untuk membuat dan menerapkannya tanpa harus menggunakan
komponen spesifik lainnya. Dalam situasi di mana komponen
membutuhkan layanan yang disediakan secara eksternal, ini harus
secara eksplisit ditetapkan dalam spesifikasi antarmuka
'membutuhkan'.
Composable Agar komponen dapat disusun, semua interaksi eksternal harus
dilakukan melalui antarmuka yang ditentukan secara publik. Selain
itu, ia harus memberikan akses eksternal ke informasi tentang
dirinya sendiri, seperti metode dan atributnya.
10
Karakteristik Komponen
Karakteristik Deskripsi
Komponen
Dapat diterapkan Agar dapat diterapkan, komponen harus mandiri. Ini harus dapat
beroperasi sebagai entitas yang berdiri sendiri pada platform
komponen yang menyediakan implementasi model komponen. Ini
biasanya berarti bahwa komponen tersebut biner dan tidak harus
dikompilasi sebelum digunakan. Jika komponen diimplementasikan
sebagai layanan, itu tidak harus diterapkan oleh pengguna
komponen. Sebaliknya, ini digunakan oleh penyedia layanan.
Didokumentasikan Komponen harus didokumentasikan secara lengkap sehingga calon
pengguna dapat memutuskan apakah komponen tersebut
memenuhi kebutuhan mereka atau tidak. Sintaks dan, idealnya,
semantik dari semua antarmuka komponen harus ditentukan.
11
Komponen sebagai penyedia
layanan
• Komponennya adalah entitas independen yang
dapat dieksekusi. Itu tidak harus dikompilasi
sebelum digunakan dengan komponen lain.
• Layanan yang ditawarkan oleh komponen
tersedia melalui antarmuka dan semua interaksi
komponen berlangsung melalui antarmuka itu.
• Antarmuka komponen dinyatakan dalam
operasi berparameter dan status internalnya
tidak pernah diekspos.
Antarmuka Komponen
• Menyediakan antarmuka
– Mendefinisikan layanan yang disediakan oleh komponen ke komponen
lain.
– Antarmuka ini, pada dasarnya, adalah API komponen. Ini mendefinisikan
metode yang dapat dipanggil oleh pengguna komponen.
• Membutuhkan antarmuka
– Mendefinisikan layanan yang menetapkan layanan apa yang harus
disediakan agar komponen dapat dieksekusi seperti yang ditentukan.
– Ini tidak mengganggu independensi atau penerapan komponen karena
antarmuka 'memerlukan' tidak menentukan bagaimana layanan ini harus
disediakan.
Antarmuka komponen
48
Bahasa Batasan Objek
• Object Constraint Language (OCL) telah
dirancang untuk menentukan batasan yang
berhubungan dengan model UML.
• Ini didasarkan pada gagasan tentang
spesifikasi kondisi sebelum dan sesudah -
umum untuk banyak metode formal.
Deskripsi OCL dari antarmuka
Library Foto
Kondisi Library Foto
• Prasyarat untuk addItem menyatakan bahwa:
– Tidak boleh ada foto di lbrary dengan pengenal
yang sama dengan foto yang akan dimasukkan.
– Library harus ada — asumsikan bahwa membuat
library menambahkan satu item ke dalamnya
sehingga ukuran pustaka selalu lebih besar dari
nol.
Kondisi Library Foto
• Kondisi pasca untuk addItem menyatakan
bahwa:
– Ukuran library bertambah 1 (jadi hanya satu entri
yang dibuat).
– Jika Anda me-retrieve menggunakan pengenal
yang sama, maka Anda mendapatkan kembali foto
yang Anda tambahkan.
– Jika Anda mencari katalog menggunakan pengenal
itu, Anda mendapatkan kembali entri katalog yang
Anda buat.
Kondisi Library Foto
• Spesifikasi penghapusan memberikan informasi lebih
lanjut. Prasyarat menyatakan bahwa untuk
menghapus item,
– item harus ada di perpustakaan
– setelah dihapus, foto tidak lagi dapat diambil
– ukuran perpustakaan dikurangi 1.
– Namun, hapus tidak menghapus entri katalog— Anda
masih dapat mengambilnya kembali setelah fotonya
dihapus. Alasannya adalah mungkin ingin menyimpan
informasi di katalog tentang mengapa foto dihapus,
lokasinya yang baru, dan sebagainya.
Kompromi komposisi
• Saat membuat komponen, mungkin ditemukan konflik
antara persyaratan fungsional dan non-fungsional, dan
konflik antara kebutuhan pengiriman cepat dan evolusi
sistem.
• Perlu dibuat keputusan seperti:
– Komposisi komponen apa yang efektif untuk memenuhi
persyaratan fungsional?
– Komposisi komponen apa yang memungkinkan perubahan di
masa mendatang?
– Apa yang akan menjadi sifat yang muncul dari sistem yang
dibuat?
Pengumpulan data dan
komponen pembuatan laporan
Penjelasan Contoh
• Di sini, ada potensi konflik antara kemampuan
beradaptasi dan kinerja.
• Komposisi (a) lebih mudah beradaptasi tetapi komposisi
(b) mungkin lebih cepat dan lebih dapat diandalkan.
• Keuntungan komposisi (a) adalah pelaporan dan
pengelolaan data terpisah, sehingga ada lebih banyak
fleksibilitas untuk perubahan di masa mendatang. Sistem
manajemen data dapat diganti dan, jika diperlukan
laporan yang tidak dapat diproduksi oleh komponen
pelaporan saat ini, komponen tersebut juga dapat diganti
tanpa harus mengubah komponen manajemen data.
Penjelasan Contoh
• Dalam komposisi (b), komponen database dengan fasilitas
pelaporan built-in (misalnya, Microsoft Access) digunakan.
Keuntungan utama dari komposisi (b) adalah bahwa ada lebih
sedikit komponen, jadi ini akan menjadi implementasi yang
lebih cepat karena tidak ada overhead komunikasi komponen.
Selain itu, aturan integritas data yang berlaku untuk database
juga akan berlaku untuk laporan. Laporan ini tidak akan dapat
menggabungkan data dengan cara yang salah. Dalam
komposisi (a), tidak ada batasan seperti itu sehingga
kesalahan dalam laporan bisa terjadi.
04/28/11
Terima kasih