Pengertian Software Engineering

 Apa sih Software Engineering? Berikut ini adalah penjelasannya

Menurut Pressman (2010, p4),software adalah kumpulan  instruksi (program komputer) yang saat dieksekusi menyediakan fitur-fitur, fungsi, dan performa yang diinginkan, struktur data yang memungkinkan program untuk memanipulasi informasi, dan infromasi yang bersifat deskriptif dalam bentuk hard copy dan virtual yang mendeksripsikan operasi dan kegunaan program programnya. Dari pengertian software diatas, dapat disimpulkan bahwa software itu memiliki tiga komponen utama, yaitu instruksi, struktur data, dan informasi dalam program. 

Software engineering adalah proses analisis kebutuhan dan desain pengguna, konstruksi dan uji aplikasi yang akan memenuhi kebutuhan-kebutuhan tersebut melalui penggunaan bahasa pemrograman. Secara garis besar, software engineering bisa diartikan sebagai penerapan prinsip-prinsip teknik pengembangan perangkat lunak. Berbeda dengan pemrograman sederhana, software engineering digunakan untuk sistem aplikasi yang lebih besar dan kompleks. Umumnya, proses ini digunakan untuk kebutuhan bisnis dan organisasi.

Dikutip dari Institute of Electrical and Electronics Engineers/IEEE (1993), software engineering adalah suatu pendekatan teknologi secara sistematis, terstruktur dan disiplin. Meski pada dasarnya merupakan salah satu cabang ilmu komputer guna mengetahui sesuatu yang salah terhadap sebuah perangkat lunak, kini fungsinya melebar lebih luas lagi.

Rekayasa perangkat lunak dibutuhkan tak cuma ketika ditemukan kesalahan pengoperasian semata, namun lebih kepada bagaimana sebuah perangkat lunak bekerja sesuai dengan apa yang menjadi kebutuhan end-user atau penggunanya. Tak seperti hardware yang dibuat di pabrik, elemen software bersifat logis. Elemen software juga tidak bisa aus seperti hardware, namun peluang untuk rusak cukup besar. Sehingga, software lebih menekankan pada rekayasa dan pengembangan.

Adapun software engineering akan memperlihatkan bagaimana sebuah aplikasi produk atau jasa mempermudah penggunaan oleh end-user dan apa saja fitur-fitur yang ditawarkan kepada penggunanya. Berikut ini adalah hal-hal yang harus diperhatikan yaitu pengoperasian, transisi, dan pemeliharaan
Adapun metode software engineering dibagi menjadi lima jenis, yaitu metode sekuensial linier, RAD, prototipe, spiral dan 4GT. Dari lima metode tersebut, model 4GT memiliki keuntungan lebih dari segi waktu. Hanya saja, kekurangannya terletak pada alat bantunya, sebab cuma bisa digunakan untuk aplikasi tertentu saja.

Kemampuan analisis yang mendalam harus dimiliki oleh software developer untuk mendapatkan tak cuma apa yang diinginkan oleh stakeholder, melainkan juga memuaskan penggunanya (end-user). Maka, software engineering adalah pemegang peran penting dalam menghasilkan aplikasi atau perangkat lunak yang berkualitas.

Komentar