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 praktek dan teknologi untuk
meningkatkan produktivitas para praktisi pengembang perangkat lunak dan
kualitas aplikasi yang dapat digunakan oleh pemakai.
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 krisis 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 dipakai 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 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.
Pengertian Dasar Tentang Rekayasa Perangkat Lunak
Pengertian rekayasa perangkat lunak
menurut “Institute of Electrical and Electronics Engineers (IEEE)” pada
tahun 1990: Computer programs, procedures, and possibly associated
documentation and data pertaining to the operation of a computer system.
Maksudnya : Perangkat lunak
merupakan kumpulan dari program, prosedur, dan dokumen data lain yang saling
berhubungan yang merepresentasikan masalah di dunia nyata yang dikonfigurasikan
dalam sebuah bentuk aplikasi yang harus dikerjakan komputer .
Definisi
klasik RPL pada tahun 1969 : “The establishment and use of sound engineering
principles in order to obtain economically software that is reliable and works
efficiently on real machines.”
Maksudnya : Penciptaan dan penggunaan prinsip teknik untuk
memperoleh perangkat
lunak yang ekonomis, handal dan bekerja
efisien pada komputer.
Definisi
RPL menurut “Institute of Electrical and Electronics Engineers (IEEE)”
pada tahun 1993 : Software Engineering: (1) The application of a systematic,
disciplines, quantifiable approach to the development, operation, and
maintenance of software; that is the application of engineering to software.
(2) The study of approaches as in (1).
Maksudnya : (1) Rekayasa perangkat lunak adalah penerapan secara
sistematis, disiplin,
pendekatan terukur pada pengembangan, pengoperasian dan pemeliharaan
software. (2) Penelitian
pendekatan seperti dalam (1).
Dapat disimpulkan definisi rekayasa
perangkat lunak (RPL) atau software engineering (SE) adalah suatu disiplin ilmu
yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal
spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Perangkat
lunak yang dibuat harus mampu :
· Tepat waktu
· Tepat anggaran
· Meningkatkan
kinerja
· Mengoperasikan
prosedur sistem dengan benar
Terdapat perbedaan antara rekayasa
sistem (RS) dengan rekayasa perangkat lunak (RPL). Jika RS berkaitan dengan
semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware,
rekayasa PL dan proses. Sedangkan RPL adalah bagian dari rekayasa sistem yang
meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada
sistem.
Tidak ada komentar:
Posting Komentar