Software Engineering atau Rekayasa Perangkat Lunak ialah sebuah bidang yang mendalami cara-cara pengembangan perangkat lunak termasuk didalamnya pembuatan, pemeliharaan, management organisasi pengembangan perangkat lunak dan management kualitas; seperti yang diterangkan oleh Wikipedia.
Terkait dengan hal itu, saat ini terdapat trend pengembangan perangkat lunak yang bisa digolongkan berdasarkan Bahasa Pemrograman, Platform Pengembangan sampai Methode Pengembangan perangkat lunak itu sendiri. Berikut ialah pembahasan detail tentang masing-masing :
Bahasa Pemrograman
Dilihat dari Bahasa Pemrograman, Trend Software Engineering sekarang ini memakai Bahasa Tingkat Tinggi (High Level Language) dan bahkan pemakaian Bahasa Tingkat Rendah telah mulai ditinggalkan.
Pemakaian Bahasa Tingkat Tinggi ini seperti kita mendapatkan fasilitas mewah dimana kita sangat dipermudahkan dengan API (Application Programming Interface) yang lebih “manusiawi”.
Terlebih sekarang berkembang Bahasa Pemrograman Berorientasi Objek atau Object Oriented Programming (OOP) yang menganalogikan Pemrograman kedalam Object-Object seperti pada dunia nyata setiap object mempunyai properties (kepemilikan) dan method (fungsi).
Selain faktor kemewahan itu, sulitnya mempelajari Bahasa Tingkat Rendah jadi salah satu penyebab mulai ditinggalkannya Bahasa Tingkat Rendah.
Terlebih dukungan IDE yang telah mendukung GUI sehingga kian memanjakan Programmer dalam mengembangkan Software. Belum lagi timbulnya banyak Bahasa Pemrograman Baru seperti Ruby, PHP, Java, C# dan sebagainya.
Selain pemakaian Bahasa Tingkat Tinggi, saat ini pemakaian library-library dan penggabungan dua atau lebih Bahasa Pemrograman juga mulai dilirik sebagai salah satu solusi menjembatani dua karakteristik Bahasa Pemrograman yang berbeda seperti jThon (Java dan Python), Java Bridge (Java dan PHP), jRuby (Java dan Ruby), dll.
Walau belum terlalu banyak dipakai, tetapi penggabungan dua bahasa ini bisa memberikan solusi (walau tidak signifikan) terhadap permasalahan-permasalahan programmer yang sebagian besar cuma fokus dalam satu bahasa pemrograman. Mungkin jika bisa dikembangkan lebih jauh, penggabungan ini akan jadi solusi baru dalam Trend Bahasa Pemrograman.Platform Penggembangan
Dalam kaitannya dengan Platform Pengembangan, sekarang ini banyak dibicarakan tentang Cross Platform Pengembangan dimana Perangkat Lunak yang dihasilkan harus bisa berjalan diseluruh Platform (Operating System).
Untuk menyelesaikan masalah itu maka Bahasa Pemrograman pun berevolusi untuk menjawab tantangan itu. Sekarang ini hampir seluruh Bahasa Pemrograman mendukung Cross Platform dan cuma sebagian kecil saja yang belum seperti produk-produk dari Microsoft (VB, VC++, VC#, keluarga .Net Framework lainnya).
Selain isu Cross Platform, pergeseran trend pun terjadi dari Desktop Application menuju ke Web Application. Kebutuhan akan aplikasi yang fleksibel dan bisa dijalan (dibuka) dimanapun dan kapanpun ialah alasan utama pergeseran trend itu.
Dengan Web Application maka kita harus melakukan instalasi berulang-ulang diseluruh client yang memerlukan aplikasi itu. Kemudahan dalam pengaksesan pun jadi faktor lain berkembangnya Web Application sekarang ini dimana kita cuma perlu terhubung ke Server yang menyediakan aplikasi itu dan aplikasi pun bisa dibuka dan berjalan dengan bagus.
Web Application sendiri pun sebetulnya sedang mengalami pergeseran trend, baik secara sadar atau tidak Web Application sekarang ini telah menjamah ke Platform Mobile (Smartphone ataupun Tablet PC).
Bersamaan dengan dukungan Javascript pada Browser-Browser Mobile, hal itu memperngaruhi percepatan pengembangan Web Application pada Platform Mobile sebab dengan dukungan Javascript maka Modern Web Application pun bisa diterapkan dan dijalankan pada Platform Mobile.Methode Pengembangan
Berbicara mengenai Methode Pengembangan pasti kita akan teringat tentang SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) yang merupakan pola pengembangan Perangkat Lunak yang tersusun atas langkah-langkah mulai dari Perencanaan, Analisa, Design, Pengembangan (Implementasi), Uji Coba, dan Pemeliharaan (wikipedia).
SDLC inilah yang melatar belakangi Methode-Methode Pengembangan Perangkat Lunak saat ini dimana Perangkat Lunak yang dihasilkan harus bisa menjawab tantangan berupa penambahan kebutuhan dari user ataupun sistem keamanan aplikasi yang mesti selalu up to date.
Dengan perkembangan Bahasa Pemrograman, secara langsung berdampak pada methode pengembangan yang digunakan mulai dari Tools yang dipakai ataupun model pengembangan.
Jika dulu Model Waterfall jadi salah satu standar pengembangan, tetapi bersamaan majunya Pengembangan Perangkat Lunak maka Model Waterfall mulai ditinggalkan. Maka muncullah Model-Model Pengembangan Perangkat Lunak baru untuk menjawab tantangan perkembangan itu.
Sekarang ini Model Pengembangan Berorientasi Objek jadi trend selaras dengan perkembangan Bahasa Pemrograman yang juga Berorientasi Objek.
Dari bahasa diatas bisa ditarik kesimpulan bahwa Trend Software Engineering sekarang sedang mengalami peningkatan yang cepat dari bermacam-macam segi bersamaan dengan perkembangan teknologi yang terjadi.
Perkembangan itu akan terus berlanjut untuk menjawab tantangan jaman apakah dari Segi Bahasa Pemrograman, Platform Pengembangan ataupun Methode Pengembangan yang dipakai.
Waduh ternyata tulisan saya panjang sekali, maaf bila membingungkan dan tidak jelas tulisannya.
Share postingan ini bila Anda rasa bermanfaat