Apa Itu Rekayasa Perangkat Lunak ?

Logo Gambar
Pixabay/Software 
Berbicara tentang rekayasa perangkat lunak, bukanlah berbicara tentang pemrograman untuk membangun sebuah perangkat lunak. Apa yang dibahas di dalam rekayasa perangkat lunak adalah kegiatan-kegiatan yang dilakukan untuk membangun perangkat lunak dan kegiatan yang menaunginya sehingga perangkat lunak yang dihasilkan sesuai dengan standar mutu yang ditentukan.

Menurut Wikipedia, Rekayasa Perangkat Lunak atau Software Engineering adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan manajemen kualitas. IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

Rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.

Rekayasa Perangkat Lunak dilatarbelakangi adanya kebutuhan dari manusia dengan tuntutannya disamping dengan adanya perkembangan hardware dan software yang ada semakin meningkat. Lebih jelasnya faktor-faktor yang melatarbelakangi munculnya RPL sebagai berikut :

1. Ketidakmampuan organisasi memprediksi waktu, usaha dan biaya untuk membangun perangkat lunak.
2. Perubahan nisbah/rasio beaya perangkat keras thd harga perangkat lunak.
3. Kemajuan pesat perangkat keras.
4. Kemajuan dalam teknik-teknik pembuatan perangkat lunak.
5. Tuntutan yang lebih tinggi thd jumlah perangkat lunak.
6. Tuntutan yang lebih tinggi thd mutu perangkat lunak.
7.  Meningkatnya peran pemeliharaan.

Dalam Buku Software Engineering Ian Sommerville, perangkat lunak mempunyai karakteristik yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak :
1. Maintanability (Dapat Dirawat), Perangkat  Lunak  harus dapat memenuhi perubahan kebutuhan.
2. Dependability, Perangkat Lunak harus dapat dipercaya dan diandalkan.
3. Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource.
4. Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang direncanakan.

Pengembangan perangkat lunak dengan metode rekayasa sendiri memiliki beberapa tujuan, diantaranya sebagai berikut :

Tujuan

1. Mendapatkan biaya produksi perangkat lunak yang rendah.
2. Menghasilkan perangkat lunak yang berkualitas. Yang dimaksud dengan berkualitas dapat dilihat dari tiga sisi, sisi sponsor (individu atau organisasi yang telah mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier atau developer (yang memelihara dan memodifikasi perangkat lunak tersebut) dengan biaya yang efisien dan tepat pada waktunya. Selain itu, ketiga sisi tersebut juga merupakan pihak yang mempengaruhi mutu perangkat lunak.

RPL

3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
4. Menghasilkan perangkat lunak yang biaya perawatannya rendah.

Rekayasa perangkat lunak memiliki beberapa cangkupan atau ruang lingkup, diantaranya sebagai berikut :

1. Software Requirement yaitu berkaitan dengan spesifikasi keperluan dan jugapersyaratan perangkat  lunak.
2. Software desain adalah meliputi proses penampilan arsitektur, komponen, antar mka dan juga karakteristik lain dari perangkat lunak.
3. Software Construction adalah berkaitan dengan rincian pengembangan perangkat lunak, termasuk seperti algoritma, pengkodean, pengujian hingga sampai pencarian kesalahan.
4. Software testing adalah mencakup pengujian terhadap semua perilaku dari perangkat lunak.
5. Software maintanance adalah meliputi segala jenis usaha merawat pada saat perangkat lunka sudah dioperasikan atau dipakai.
6. Software configuration management adalah berkaitan dengan segala jenis usaha merubah konfigurasi perangkat lunak yakni untuk pemenuhan keperluan tertentu.
7. Software engineering management adalah berhubungan dengan pengelolalan dan juga pengukuran RPL termasuk perencanaan proyek perangkat lunak. 
8. Software engineering tools and methods adalah yang meliputi kajian-kajian teoritis mengenai alat bantu dan metode RPL.

Meskipun begitu, dalam pengembangannya masih terdapat masalah atau yang biasanya disebut krisis perangkat lunak. Krisis perangkat lunak merupakan sekumpulan masalah yang ditemukan dalam pengembangan software komputer. Krisis perangkat lunak tersebut sebagai berikut :

1. Masalah nyata yang sudah mengganggu perkembangan perangkat lunak.
2. Serangkaian masalah yang terjadi dalam perkembangan perangkat lunak komputer. 
3. Masalah yang ada tidak hanya terbatas pada perangkat lunak yang tidak berfungsi dengan baik tapi juga pada penderitaan yang melingkupi masalah-masalah yang berhubungan dengan bagaimana mengembangkan  perangkat lunak, bagaimana memelihara volume perangkat lunak yang sedang tumbuh dan bagaimana mengejar kebutuhan perangkat lunak lebih banyak lagi.
4. Penyebab krisis atau penderitaan Perangkat lunak dapat ditelusuri dengan sebuah mitologi yang muncul selama masa sejarah awal perkembangan perangkat lunak. 
5. Mitos perangkat lunak ini berbicara atas salah informasi dan keraguan. Masa sekarang kebanyakan kaum profesional memiliki banyak pengetahuan mengetahui berbagai mitos di bidang ilmu yang digelutinya (sikap yang salah yang menyebabkan masalah yang serius bagi manajer serta masyarakat teknis). Hal ini terlihat berbagai sisi pandang dari pihak Manajer/Sponsor, pelanggan atau Pengembang/Praktisi.




Referensi :
https://rekayasaperangkatlunak12.wordpress.com/2013/03/08/tentang-rekayasa-perangkat-lunak-rpl/
https://www.it-jurnal.com/pengertian-rekayasa-perangkat-lunak/
https://id.wikipedia.org/wiki/Rekayasa_perangkat_lunak 
http://globalwara.blogspot.com/2012/10/krisis-perangkat-lunak.html

Komentar

Postingan Populer

Kebutuhan Fungsional Dan Non Fungsional

Penjelasan Model-Model Proses Pengembangan Perangkat Lunak

Metode Prototype, Contoh Penggunaan dan Cara Menggunakannya

Metode Extreme Programming, Contoh Penggunaan dan Cara Menggunakannya

Pengujian Perangkat Lunak

Metode RAD, Contoh Penggunaan dan Cara Menggunakannya

Desain Perangkat Lunak

Metode Waterfall, Contoh Penggunaan dan Cara Mengunakannya

Jenis-jenis Perangkat Lunak Atau Software

Elisitasi Kebutuhan