Mengenal Component-Based Software Engineering (CBSE) sebagai Metode Pengembangan Perangkat Lunak
Component-based software engineering (CBSE) muncul pada akhir tahun 1990an sebagai sebuah pendekatan untuk pengembangan sistem perangkat lunak yang berdasarkan pada penggunaan kembali komponen perangkat lunak. Kuncinya di sini adalah penggunaan kembali. Fokus metode ini adalah mencari komponen atau bagian sistem yang dapat digunakan, kemudian menggabungkannya dengan menggunakan rancangan aristektur yang jelas. Pendekatan ini bertujuan untuk membangun sistem dengan cepat dan diikuti kualitas yang lebih baik. CBSE juga dapat dikenal sebagai component-based development (CBD).
Komponen memiliki tingkat abstraksi yang lebih tinggi dibandingkan objek dan didefinisikan oleh interface-nya. Komponen juga biasanya lebih besar dibandingkan sebuah objek dan semua detil implementasinya disembunyikan dari komponen lainnya. CBSE berkembang menjadi sebuah pendekatan pengembangan perangkat lunak yang penting bagi sistem perusahaan berskala-besar, ditambah dengan kebutuhan akan performa dan keamanan. Sehingga, cara untuk memenuhi kebutuhan tersebut adalah membangun perangkat lunak dengan menggunakan kembali komponen-komponen yang sudah ada.
Hal-hal yang penting dari CBSE adalah:
- Komponen independent yang dispesifikasikan melalui interface-nya. Harus ada pemisahan yang jelas antara interface komponen dan implementasinya, yang berarti, implementasi dari sebuah komponen dapat digantikan yang lainnya tanap perlu mengganti bagian lainnya dari sistem.
- Standar komponen yang mendefinisikan interface dan memfasilitasi integrasi komponen. Standar-standar ini terwujud di dalam sebuah model komponen. Standar tersebut mendefinisikan setidaknya mengenai bagaimana interface komponen seharusnya dispesifikasikan dan bagaimana komponen berkomunikasi. Beberapa model bahkan menjelaskan lebih lanjut mengenai interfaces yang harus diimplementasikan oleh semua komponen yang compatible. Jika komponen sesuai dengan standar, maka operasinya bersifat independen dari bahasa pemrogramannya. Komponen yang dikembangkan dalam bahasa pemrograman yang berbeda dapat diintegrasikan ke dalam sistem yang sama.
- Middleware yang menyediakan dukungan perangkat lunak untuk integrasi komponen. Untuk membuat komponen-komponen independen dan terdistribusi dapat berjalan bersama, kita membutuhkan dukungan middleware yang menangani komunikasi komponen. Middleware untuk dukungan komponen menangani masalah-masalah level rendah dengan efisien, sehingga kita cukup hanya fokus pada masalah yang berkaitan dengan aplikasi. Sebagai tambahan, middleware untuk dukungan komponen dapat menyediakan dukungan untuk alokasi sumber daya, manajemen transaksi, keamanan, dan konkurensi.
- Proses pengembangan yang diarahkan pada rekayasa perangkat lunak berbasis komponen. Kita membutuhkan proses pengembangan yang mendukung kebutuhan untuk berkembang, bergantung pada fungsionalitas dari komponen yang tersedia.
Pengembangan berbasis komponen mewujudkan bentuk praktik rekayasa perangkat lunak yang baik. Rancangan menggunakan sistem juga dapat dipahami, meskipun kita tetap harus membangun komponen daripada menggunakan kembali komponennya. Hal-hal yang mendasari CBSE sebagai prinsip desain kuat yang mendukung pembangunan perangkat lunak yang dapat dipahami dan dipelihara adalah:
- Komponen bersifat mandiri, sehingga tidak menginterferensi operasi yang lain. Detil implementasinya juga tersembunyi dan implementasi komponen tersebut dapat diganti tanpa mempengaruhi kinerja keseluruhan sistem.
- Komponen berkomunikasi melalui interface yang sudah didefinisikan dengan baik. Apabila interface dipelihara, komponen tersebut dapat digantikan oleh komponen lainnya yang menyediakan fungsionalitas tambahan atau yang ditingkatkan.
- Infrastruktur komponen menawarkan berbagai layanan standar yang dapat digunakan dalam sistem aplikasi. Hal ini mengurangi jumlah kode baru yang harus dibangun.
Saat ini, sudah ada standar untuk mendukung proses CBSE ini, di antaranya adalah: Enterprise Java Beans (EJB), Microsoft COM dan .NET, dan CORBA CCM.
Referensi: Sommerville, I. (2016). Software Engineering (10th ed.). Harlow, England: Pearson Education.
Sumber Gambar:
https://www.researchgate.net/figure/Overview-of-the-Component-Based-Development-process-used-in-the-robot-system-example_fig2_2914800