Agar dapat membuat perangkat lunak yang dapat menghadapi tantangan abad ke-21, terdapat beberapa fakta sederhana yang perlu dikenali:
- Perangkat lunak telah menjadi bagian yang sangat penting dalam hampir semua aspek kehidupan kita. Hal ini mengakibatkan peningkatan jumlah orang yang tertarik dengan fitur dan fungsi yang disediakan oleh aplikasi tertentu secara dramatis. Namun, saat hendak membangun aplikasi baru atau sistem tertanam, banyak suara yang perlu didengarkan. Setiap orang tampaknya memiliki gagasan yang sedikit berbeda tentang fitur dan fungsi yang harus disediakan dalam perangkat lunak. Oleh karena itu, diperlukan upaya bersama untuk memahami masalah sebelum mengembangkan solusi perangkat lunak.
- Kebutuhan teknologi informasi yang diharapkan oleh individu, bisnis, dan pemerintah semakin kompleks dari tahun ke tahun. Program komputer kini dibuat oleh tim besar, sedangkan dahulu hanya oleh satu orang saja. Perangkat lunak canggih yang sebelumnya digunakan dalam lingkungan komputasi yang dapat diprediksi dan mandiri, kini digunakan dalam berbagai hal, mulai dari elektronik konsumen hingga perangkat medis dan sistem senjata. Tingkat kompleksitas dari sistem dan produk baru berbasis komputer ini memerlukan perhatian yang lebih cermat terhadap interaksi antara semua elemen dalam sistem tersebut. Oleh karena itu, desain menjadi kegiatan yang sangat penting.
- Penggunaan perangkat lunak oleh individu, bisnis, dan pemerintah semakin penting dalam pengambilan keputusan strategis dan taktis, serta operasi dan kontrol sehari-hari. Kegagalan perangkat lunak dapat berakibat pada kerugian yang beragam, mulai dari ketidaknyamanan hingga kegagalan besar bagi individu dan perusahaan besar. Oleh karena itu, kualitas perangkat lunak harus dijaga dengan baik agar dapat memenuhi standar yang tinggi.
- Apabila nilai yang dirasakan dari sebuah aplikasi meningkat, maka kemungkinan besar basis pengguna dan masa pakainya juga akan meningkat. Seiring dengan bertambahnya basis pengguna dan waktu penggunaan, permintaan untuk penyesuaian dan peningkatan juga akan meningkat. Oleh karena itu, perangkat lunak harus dapat dipelihara dengan baik agar tetap dapat memenuhi kebutuhan penggunanya.
Fakta yang sederhana ini menuntun pada kesimpulan bahwa perangkat lunak dalam segala bentuk dan di semua domain aplikasinya harus direkayasa.
Walaupun banyak penulis yang telah menghasilkan definisi rekayasa perangkat lunak masing-masing, definisi yang diperkenalkan oleh Fritz Bauer pada konferensi awal tetap menjadi landasan untuk pembahasan:
"Definisi rekayasa perangkat lunak adalah menggunakan prinsip-prinsip rekayasa yang benar untuk memproduksi perangkat lunak yang ekonomis, dapat diandalkan, dan bekerja secara efisien pada mesin nyata."
Anda mungkin tergoda untuk menambahkan beberapa definisi untuk mengkaji aspek teknis kualitas perangkat lunak, memenuhi kebutuhan pelanggan, pengukuran, metrik, dan proses yang efektif. Meskipun demikian, definisi Bauer masih menjadi dasar diskusi mengenai rekayasa perangkat lunak. Definisi tersebut memberikan garis besar mengenai prinsip rekayasa yang dapat diterapkan pada pengembangan perangkat lunak komputer, bagaimana membangun perangkat lunak secara ekonomis sehingga dapat diandalkan, dan apa yang diperlukan untuk membuat program komputer yang efisien pada banyak mesin nyata yang berbeda. Ini adalah tantangan yang terus dihadapi oleh para insinyur perangkat lunak.
Ketika mengemukakan definisinya, IEEE menggunakan pendekatan yang lebih luas dan komprehensif dengan menyatakan:
"Sebuah definisi lengkap tentang Rekayasa Perangkat Lunak menyatakan bahwa (1) pengembangan, pengoperasian, dan pemeliharaan perangkat lunak harus dilakukan dengan pendekatan yang sistematis, disiplin, dan dapat diukur, yang mencakup penerapan rekayasa perangkat lunak, dan (2) harus dipelajari lebih lanjut tentang pendekatan tersebut seperti yang telah disebutkan di atas."
Meskipun penerapan pendekatan "sistematis, disiplin, dan terukur" oleh satu tim perangkat lunak dapat menjadi beban bagi tim lainnya. Oleh karena itu, selain disiplin, kemampuan untuk beradaptasi dan fleksibilitas juga diperlukan.
Perangkat lunak adalah suatu teknologi yang kompleks. Seperti yang ditunjukkan pada Gambar 1, setiap pendekatan dalam rekayasa (termasuk rekayasa perangkat lunak) harus bergantung pada komitmen organisasi untuk memperhatikan kualitas. Teknik manajemen kualitas total, Six Sigma, dan konsep serupa lainnya membentuk budaya perbaikan proses yang berkesinambungan, dan budaya ini pada akhirnya memengaruhi pengembangan pendekatan yang semakin efektif untuk rekayasa perangkat lunak. Fokus pada kualitas adalah dasar yang mendukung rekayasa perangkat lunak.
Gambar 1
Secara fundamental, rekayasa perangkat lunak bergantung pada proses. Proses rekayasa perangkat lunak berfungsi sebagai penghubung yang mengintegrasikan teknologi dan memungkinkan pengembangan perangkat lunak yang rasional dan tepat waktu. Proses ini menetapkan kerangka kerja yang harus diikuti untuk pengiriman teknologi rekayasa perangkat lunak yang efektif. Proses perangkat lunak membentuk landasan untuk pengendalian manajemen proyek perangkat lunak dan memberikan konteks di mana metode teknis diterapkan, produk kerja seperti model, dokumen, data, laporan, dan formulir diproduksi, tonggak ditetapkan, kualitas dijamin, dan perubahan dikelola dengan baik.
Dalam rekayasa perangkat lunak, metode digunakan untuk membangun perangkat lunak secara teknis. Metode ini meliputi beberapa tugas seperti komunikasi, analisis persyaratan, desain pemodelan, konstruksi program, pengujian, dan dukungan. Metode rekayasa perangkat lunak bergantung pada seperangkat prinsip dasar yang mengatur setiap bidang teknologi, serta melibatkan pemodelan dan teknik deskriptif lainnya.
Alat-alat rekayasa perangkat lunak dapat memberikan bantuan otomatis atau semi-otomatis untuk proses dan metode yang digunakan dalam pengembangan perangkat lunak. Jika alat-alat tersebut diintegrasikan dengan cara sehingga informasi yang dihasilkan oleh satu alat dapat digunakan oleh alat lainnya, maka sebuah sistem yang mendukung pengembangan perangkat lunak dengan bantuan komputer dapat tercipta dan disebut sebagai rekayasa perangkat lunak berbantuan komputer.
Source: Pressman, Roger S. 2010. Software engineering : A Practitioner’s Approach (7th. Edition). New York: McGraw-Hill Higher Education.
Comments
Post a Comment