Definisi Rekayasa
Perangkat Lunak (RPL)
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.
Sejarah Rekayasa Perangkat Lunak
Rekayasa perangkat lunak
telah berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini.
Fokus utama pengembangannya adalah untuk mengembangkan praktik dan teknologi
untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan
kualitas aplikasi yang dapat digunakan oleh pemakai.
1945
-1965: Awal
Istilah software engineering digunakan pertama kali pada akhir
1950-an dan awal 1960-an. Saat itu, masih terdapat debat 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 perkembangan rekayasa perangkat lunak. Banyak yang
menganggap bahwa dua konferensi inilah yang menandai awal resmi profesi
rekayasa perangkat lunak. jangan pernah menganggap kalau software itu akn
menjadi yang terbaik karena itu adalah sebuah karya yang bersifat sementara.
1965 -
1985: Krisis Perangkat Lunak
Pada tahun 1960-an hingga
1980-an, banyak masalah yang ditemukan para praktisi pengembangan perangkat
lunak. Banyak projek yang gagal, hingga masa ini disebut sebagai krisis
perangkat lunak. Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari projek
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.
1985 -
Kini: Tidak Ada Senjata Pamungkas
Selama bertahun-tahun, para peneliti
memfokuskan usahanya untuk menemukan teknik jitu untuk memecahkan masalah
krisis perangkat lunak.
Berbagai teknik, metode, alat, proses
diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini.
Mulai dari pemrograman terstruktur, pemrograman berorientasi object, 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 praktik yang sanggup mencapai
10 kali lipat perbaikan dalam produktivitas pengembangan perangkat lunak dalam
tempo 10 tahun.
Sebagian berpendapat, no
silver bullet berarti
profesi rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain
justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa perangkat
lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada
teknik pamungkas yang dapat digunakan dalam berbagai kondisi.
Tujuan Rekayasa
Perangkat Lunak
Secara lebih khusus kita dapat menyatakan tujuan dan
Rekaya Perangkat Lunak ini adalah:
1.
Memperoleh biaya
produksi perangkat lunak yang rendah.
2.
Menghasilkan
pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
3.
Menghasilkan
perangkat lunak yang dapat bekerja pada berbagai jenis platform
4.
Menghasilkan
perangkat lunak yang biaya perawatannya rendah
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)
Tidak ada komentar:
Posting Komentar