Pengertian Rekayasa Perangkat
Lunak
Rekayasa perangkat lunak telah
berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini. Focus
utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk
meningkatkan produktivitas para praktisi pengembang perangkat lunak dan
kualitas aplikasi yang dapat digunakan oleh pemakai.
SEJARAH
SOFTWARE ENGINEERING
Istilah software engineering digunakan pertama kali pada
akhir 1950-an dan awal 1960-an. Saat itu, masih terdapat perdebatan tajam
mengenai aspek engineering dari pengembangan perangkat lunak. Pada tahun 1968
dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa
perangkat lunak, yang memberikan dampak kuat terhadap pengembangan rekayasa perangkat
lunak. Banyak yang menganggap dua konferensi inilah yang menandai awal resmi
profesi rekayasa perangkat lunak.
Pada tahun 1960-an hingga 1980-an, banyak masalah yang
ditemukan para praktisi pengembangan perangkat lunak. Banyak project yang
gagal, hingga masa ini disebut sebagai krisis perangkat lunak. Kasus kegagalan
pengembangan perangkat lunak terjadi mulai dari project yang melebihi anggaran,
hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus
yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat
lunak. Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk
menemukan teknik jitu untuk memecahkan masalah krisi perangkat lunak.
Berbagai teknik, metode, alat, proses diciptakan dan diklaim
sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman
terstruktur, pemrograman berorientasi objek, perangkat pembantu pengembangan
perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal
diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang
benar, sesuai anggaran dan tepat waktu. Pada tahun 1987, Fred Brooks menulis
artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau
praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas
pengembanan perngkat lunak dalam tempo 10 tahun.
PENGERTIAN DASAR
Istilah Reakayasa Perangkat Lunak (RPL) secara umum
disepakati sebagai terjemahan dari istilah Software engineering. Istilah
Software Engineering mulai dipopulerkan pada tahun 1968 pada software
engineering Conference yang diselenggarakan oleh NATO. Sebagian orang
mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal
ada perbedaan yang mendasar antara perangkat lunak (software) dan program
komputer.
Perangkat lunak adalah seluruh perintah yang digunakan untuk
memproses informasi. Perangkat lunak dapat berupa program atau prosedur.
Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan
prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses
informasi (O’Brien, 1999).
RPL sendiri adalah suatu disiplin ilmu yang membahas semua
aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan
pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean,
pengujian sampai pemeliharaan sistem setelah digunakan. Dari pengertian ini
jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program
komputer. Pernyataan ”semua aspek produksi” pada pengertian di atas, mempunyai
arti semua hal yang berhubungan dengan proses produksi seperti manajemen
proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai
dengan pelatihan pengguna merupakan bagian dari RPL.
TUJUAN REKAYASA PERANGKAT
LUNAK
bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang
kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara lebih
khusus kita dapat menyatakan tujuan RPL adalah:
- Memperoleh biaya produksi perangkat lunak yang rendah
- Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
- Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
- Menghasilkan perangkat lunak yang biaya perawatannya rendah
RUANG LINGKUP
Sesuai dengan definisi yang telah disampaikan sebelumnya,
maka ruang lingkup RPL dapat digambarkan sebagai berikut:
- Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak
- Software Desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
- Software Construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan
- Software Testing meliputi pengujian pada keseluruhan perilaku perangkat lunak
- Software Maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan
- Software Configuration Management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu
- Software Engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak
- Software Engineering Tools And Methods mencakup kajian teoritis tentang alat bantu dan metode RPL
- Software Engineering Process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
- Software Quality menitik beratkan pada kualitas dan daur hidup perangkat lunak
Dan artikel mengenai RPL yaitu Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan 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.[1]
rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak:
1. dapat terus dirawat dan dipelihara(maintainability)
2. dapat mengikuti perkembangan teknologi(dependability)
3. dapat mengikuti keinginan pengguna(robust)
4. efektif dan efisien dalam menggunakan energi dan penggunaannya
5. dapat memenuhi kebutuhan yang diinginkan(usability)[2]
sekian dari saya semoga bermanfaat :)
Tidak ada komentar:
Posting Komentar