Header Ads

Rekayasa Perangkat Lunak Berbasis Komponen

Rekayasa perangkat lunak berbasis komponen (dalam bahasa Inggris disebut component based software engineering atau CBSE) adalah proses yang menekankan perancangan dan pembangunan software dengan menggunakan komponen software yang sudah ada. CBSE berkaitan dengan sistem pengembangan perangkat lunak dari bagian-bagian (komponen) yang dapat digunakan kembali, pengembangan komponen, perbaikan dan pemeliharaan sistem dengan cara kustomisasi atau penggantian komponen.

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 (4) Maintainability, yaitu pengembangan yang mudah atas sebuah sistem.

CBSE terdiri dari dua bagian yang terjadi secara paralel yaitu software engineering (component-based development) dan domain engineering. Software engineering 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. Sedangkan domain engineeringmenciptakan 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.

Prinsip penggunaan kembali perangkat lunak dapat mempercepat pengembangan sistem. Sebelumya, teknik rekayasa perangkat lunak berorientasi obyek sudah menggunakan prinsip ini, namun masih mempunyai keterbatasan (seperti penggunaan kembali yang tidak fleksibel, tingkah laku sistem yang tertanam dalam implementasi, dan adanya ketergantungan konteks). Berawal dari sini kemudian muncul pendekatan CBSE.

Meski demikian, pengembangan yang berbasis komponen juga sangat berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi objek, banyak class yang dibangun dan menjadi komponen dalam suatu software. Class tersebut bersifat reusable (bisa digunakan kembali). Secara umum proses yang terjadi dalam model ini ada tiga. Pertama, mengidentifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru. Selanjutnya, class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek. Terakhir, membangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.

Dalam arsitektur perangkat lunak berorientasi objek, koneksi (dalam perintah pengiriman pesan) ditempatkan di dalam objek. Hal ini memiliki sejumlah kelemahan, sebagai contoh bahwa enkapsulasi objek dan arsitektur tidak jelas mengenai entitasnya. Walaupun metode interface objek dapat didefinisikan sebelum implementasi, koneksi hanya didefinisikan bila objek dibuat. Jadi, kemungkinan arsitektur telah berkembang sebagai sistem yang dibangun dan tidak ditetapkan sebagai suatu rencana atau garis besar sistem. Perubahan sederhana dengan merubah hanya satu objek, misalnya yang dapat menyebabkan perubahan arsitektur. Seharusnya 2 objek akan dipertukarkan, semua pemanggilan metode dari objek lain ke metode yang disediakan 2 objek harus diubah di dalam kode enkapsulasi objek ini. Hal ini tidak mempunyai dukungan yang cukup untuk kenyamanan dalam perubahan atau ekstensi.

Perangkat lunak berbasis komponen adalah spesialisasi dari perangkat lunak berorientasi objek. Model komponen yang saat ini dikembangkan di IAS didasarkan pada konsep berorientasi objek seperti hirarki, enkapsulasi dan komposisi. Bagian dalam komponen-komponen bahkan mungkin dapat dimodelkan seperti berorientasi objek selama hal tersebut menunjukkan perilaku black-box pada interface.

Dengan demikian, dapat disimpulkan bahwa CBSE merupakan pengembangan dari rekayasa perangkat lunak berorientasi objek dengan beberapa tambahan yang memungkinkannya lebih kompatibel dengan kebutuhan terkini.


Referensi:


  1. Adriani, R. (2002). Penggunaan Pendekatan Component-based Software Engineering (CBSE) untuk Mendukung Teknik Pengembangan Berorientasi Obyek dalam Peneranan Aplikasi E-business. Depok: Fasilkom UI.
  2. Handoyo, E. (2009, Oktober 9). Perbedaan Antara Object-Oriented dan Component-Based Dalam Sistem Real-Time. Diakses pada Maret 2013, dari Software Engineering: http://eko-handoyo.blogspot.com/2009/10/perbedaan-antara-object-oriented-dan.html
  3. Proboyekti, U. Software Process Model I. Dalam U. Proboyekti, Bahan Ajar Rekaya Perangkat Lunak. 
  4. Setiawan, H., & Winarko, E. (2012). Model Rekayasa Perangkat Lunak Berbasis Komponen (Component-based Software Engineering). Seminar Nasional Teknologi Informasi & Aplikasinya. Jurusan Ilmu Komputer, FMIPA, Universitas Udayana.

1 comment:

  1. Artikel yang bagus dengan informasi yang sangat bagus. Jika berbicara perangkat lunak, ada sebuah teknlogi yang bisa membantu aktivitas dalam melakukan bisnis, dengan nama cloud accounting, dimana memudahkan kita dalam mengelola financial bisnis.

    ReplyDelete

Powered by Blogger.