http://www.free-powerpoint-templates-design.com
COMPONENT
BASED SOFTWARE
ENGINEERING
Poin Pembahasan
• Definisi CBSE • Komponen CBSE
• Karakteristik komponen CBSE • Model-model CBSE
• Proses CBSE
• Komposisi Komponen (Component Composition) • Tipe-tipe komposisi
• Sequential composition • Hierarchical composition • Additive composition
SEJARAH CBSE
1968
• Garmish mencetuskan ide yang bertitel Mass Produced Software Components pada konferensi NATO
• Douglas McIlroy kemudian mencetuskan ide bahwa software seharusnya dibangun dari komponen-komponen. • Brad Cox dari Stepstone mengembangkan konsep dari
Douglas dengan software IC-nya
1990
• IBM memimpin sebuah proyekdengan nama System Object Model (SOM) yang kemudian ditiru oleh Microsoft melalui OLE dan COMDEFINISI CBSE
CBSE = COMPONENT BASED SOFTWARE ENGINEERING
Menurut Councill dan Pressman
• Sebuah komponen perangkat lunak adalah elemen software yang sesuai
dengan model komponen dan dapat mandiri digunakan dan terdiri tanpa
modifikasi sesuai dengan standar komposisi.
Menurut Clemen Szyperski
• Sebuah komponen perangkat lunak adalah unit komposisi dengan
antarmuka kontrak yang ditentukan dan konteks eksplisit hanya dependensi.
Sebuah komponen perangkat lunak dapat digunakan secara independen dan
tunduk pada komposisi oleh pihak ketiga.
TUJUAN CBSE
untuk mengembangkan sebuah sistem yang besar dengan menggabungkan komponen -komponen yang telah dikembangkan sebelumnya sehingga dapat mengurangi waktu dan biaya dalam pengembangan suatu perangkat lunak
TUJUAN CBSE
Untuk membuat komponen software yang reusable secara
efektif, maka komponen harus :
1.
Didokumentasikan secara lengkap
2.Testing secara menyeluruh
3.
Check validasi dengan beragam inputan
4.Menerima feedback error yang berguna
5.
Dibangun dengan hati-hati sebab penggunaannya tidak kasat mata
6.Mekanisme kompensasi yang menguntungkan untuk developer
PRINSIP CBSE
Seperti dikutip oleh Herri Setiawan dan Edi Winarko, menurut I
Kaur
(2009)
CBSE
umumnya
mewujudkan
prinsip-prinsip
pengembangan perangkat lunak fundamental berikut:
1.
Independent Software Development, yaitu sistem perangkat lunak besar
yang memisahkan pengembang dan pengguna komponen melalui
abstrak
dan
spesifikasi
implementasi-netral
antarmuka
perilaku
komponen;
2.
Reusability, yaitu merancang dan merakit komponen yang sudah ada (di
dalam atau di seluruh domain) dalam mengembangkan komponen baru;
3.
Software Quality, yaitu penjaminan kualitas perangkat lunak yang
terukur; dan
KARAKTERISTIK CBSE
Karakteristik komponen antara lain sebagai berikut :
Standarisasi : Setelah model komponen standar
Independent : Dapat digunakan tanpa Adapators
Composable : Interaksi eksternal menggunakan antarmuka
publik
Deployable : Stand-alone entitas
SPESIFIKASI CBSE
Pengembangan berorientasi
komponen dapat diintegrasikan ke dalam proses pengembangan system dengan menggunakan kegiatan pemakaian ulang komponen yang spesifik
sebagaimana ditunjukkan pada gambar.
Spesifikasi ini digunakan untuk
menemukan komponen yang akan dipakai ulang.Spesifikasi ini mungkin dimasukkan pada tingkat arsitektural atau pada tingkat perancangan yang lebih rinci
PROSES CBSE (1)
alur pengembangan model prosesComponent-based software
engineering menurut Ivica, Stig, dan Michael dalam jurnal yang berjudul “Component-based Development Process and Component Life Cycle”
1. Definisi kebutuhan sistem 2. Perancangan sistem
PROSES CBSE (1)
DEFINISI KEBUTUHAN SISTEM
Model proses CBSE ini dimulai dari tahap definisi dan spesifikasi kebutuhan sistem
seperti model proses lainnya. Pada model pengembangan perangkat lunak noncomponent-based proses akan diteruskan pada tahap perancangan unit, implementasiunit dan pengujian unit yang dijelaskan pada kotak dengan warna arsiran pada Gambar. Pada tahap ini salah satu kegiatan yang penting adalah untuk menganalisis kemungkinan mewujudkan solusi yang memenuhi kebutuhan sistem. Pendekatan ini menyiratkan bahwa perlu untuk menganalisis apakah persyaratan ini dapat dipenuhi oleh komponen yang tersedia. Karena tidak mungkin bahwa komponen yang sesuai dapat selalu ditemukan.
PROSES CBSE (1)
PERANCANGAN SISTEM
Seperti dengan fase definisi kebutuhan sistem, perancangan sistem sangat terkait
dengan ketersediaan komponen. Model komponen tertentu membutuhkan
arsitektur framework tertentu dan aplikasi sistem tertentu harus menggunakan framework tersebut juga. Untuk alasan ini proses perancangan erat terhubung pada ketersediaan komponen. Pada tahap pencarian komponen harus benar-benar dilihat dari perancangan sistem itu sendiri, karena dalam suatu repository terdapat banyak komponen yang tidak perlu untuk dipilih. Maka dalam pencarian komponen harus dilakukan proses evaluasi supaya komponen yang dipilih sesuai dengan kebutuhan sistem. Untuk mengetahui apakah sebuah komponen sesuai dengan definisi kebutuhan dan perancangan sistem dapat dilihat dari interface masing-masing komponen. Suatu komponen yang tersedia dalam repository biasanya sudah teruji dan dapat diadopsi sebelum dapat diintegrasikan dengan sistem yang lain.
PROSES CBSE (1)
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada implementasi sistem meliputi proses integrasi antara infrasktuktur komponen
standar dalam suatu framework dan aplikasi berbasis komponen itu sendiri. Untuk dapat mengintegrasikan antara komponen dari standar framework dengan aplikasi berbasis komponen yaitu dengan cara melakukan konfigurasi sesuai dengan peraturan yang ada pada framework tersebut.
PROSES CBSE (2)
Domain Analysis Software Architecture Development Reusable Artifact Development Domain Engineering Domain model Structural Model Repository Reusable Artifacts/ Components Software Engineering User Requirements System Analysis Specification & Design Construction System Spec Analysis & Design Models Application SoftwarePROSES CBSE (2)
Keterangan gambar :• Domain engineering menciptakan model domain bagi aplikasi yang akan
digunakan untuk menganalisis kebutuhan pengguna. Identifikasi,
pembangunan, pengelompokan dan pengalokasikan komponen-komponen software supaya bisa digunakan pada sistem yang ada dan yang akan datang.
• Software engineering (component-based development) melakukan analisis
terhadap domain model yang sudah ditetapkan kemudian menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem,
kemudian melakukan pembangunan software dengan menggunakan
komponen-komponen yang sudah ditetapkan berdasarkan analisis dan
rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software.
TIPE-TIPE KOMPOSISI
Sequential composition
dimana komponen dijalankan secara berurutan. Hal ini
melibatkan antarmuka yang disediakan oleh masing-masing
komponen.
Hierarchical composition
dimana salah satu komponen panggilan pada layanan lain. Hal
ini menyediakan antarmuka satu komponen dan antarmuka
yang lain.
Additive composition
dimana interface dari dua komponen diletakkan
ADAPTOR KOMPONEN
Mengatasi masalah ketidakcocokan komponen dengan mendamaikan antarmuka dari
komponen yang terdiri. Berbagai jenis adaptor yang diperlukan tergantung pada jenis komposisi. Sebuah addressfinder dan komponen mapper dapat terdiri dari adaptor yang menempatkan kode pos dari alamat dan melewati ini untuk komponen mapper.
IDENTIFIKASI KOMPONEN
Trust
Anda harus dapat mempercayai pemasok komponen. Paling-paling,
komponen yang tidak terpercaya tidak dapat beroperasi seperti yang
diiklankan; paling buruk, dapat melanggar keamanan Anda.
Requirements
Kelompok yang berbeda dari komponen akan memenuhi kebutuhan
yang berbeda.
Validation
Komponen spesifikasi mungkin tidak cukup rinci untuk
ABSTRAKSI KOMPONEN
Komponen-komponen bisa diakses pada tingkat abstraksi yang
berbeda-beda. Mayer (1999) mengidentifikasi lima tingkat
anstraksi :
1.Abstraksi fungsional
2.Pengelompokan kasula
3.Abstraksi data
4.Abstraksi cluster
5.Abstraksi system
ABSTRAKSI KOMPONEN
ABSTRAKSI FUNGSIONAL
Komponen mengimplementasi satu fungsi, misalnya fungsi
matematika. Pada intinya, interface provides merupakan fungsi
itu sendiri.
ABSTRAKSI KOMPONEN
PENGELOMPOKAN KASULA
Komponen merupakan sekumpulan entitas yang berhubungan
longgar (loosely related) yang mungkin berupa deklarasi data,
fungsi, dan sebagainya. Interface provides terdiri dari nama
semua entitas pada pengelompokan tersebut.
ABSTRAKSI KOMPONEN
ABSTRAKSI DATA
Komponen merepresentasikan abstraksi data atau kelas
perangkat lunak bahasa berorientasi objek. Interface provides
terdiri dari operasi untuk membuat, memodifikasi, dan
mengakses abstraksi data.
ABSTRAKSI KOMPONEN
ABSTRAKSI CLUSTER
Komponen merupakan sekumpulan kelas yang berhubungan
yang bekerja sama. Kelas-kelas ini kadang-kadang dinamakan
kerangka kerja. Interface provides merupakan komposisi semua
interface provides dari objek-objek yang membangun kerangka
kerja tersebut.
ABSTRAKSI KOMPONEN
ABSTRAKSI SYSTEM