Rekayasa perangkat lunak adalah proses pengembangan perangkat lunak yang berkelanjutan untuk memastikan perangkat lunak tetap relevan dengan melakukan perbaikan, adaptasi, dan peningkatan berkelanjutan. Proses rekayasa perangkat lunak mencakup tahap definisi, pengembangan, dan dukungan untuk mengelola perubahan selama siklus hidup perangkat lunak. Model proses yang fleksibel seperti model spiral dan inkremental lebih sesuai
1. Pengertian Rekayasa Perangkat Lunak
(Software Engineering)
• [Software engineering is] the establishment
and use of sound engineering principles
in order to obtain economically software that
is reliable and works efficiently on real
machines.
• Rekayasa perangkat lunak adalah teknologi
berlapis.
2. • Dasar untuk rekayasa perangkat lunak adalah lapisan
proses. Proses rekayasa perangkat lunak adalah
proses yang terus berulang, karena karakteristik
perangkat lunak yang membutuhkan pemeliharaan
dan pengembangan berkelanjutan agar perangkat
lunak tidak kadarluasa. Dalam proses pemeliharaan
dilakukan koreksi kesalahan, adaptasi kebutuhan,
peningkatan kemampuan atau fungsi dan bentuk
pencegahan lainnya agar perangkat lunak tersebut
tidak kadarluasa.
3. • Metode rekayasa perangkat lunak
menyediakan teknis untuk membangun
perangkat lunak dan mengandalkan
seperangkat prinsip-prinsip dasar yang
mengatur setiap bidang teknologi dan
mencakup kegiatan pemodelan dan teknik
deskriptif lainnya.
4. • Alat rekayasa perangkat lunak merupakan
unsur yang mendukung proses dan metode.
Ketika alat-alat yang terhubung satu sama lain
dan memberi informasi, serta informasi yang
dibuat oleh salah satu alat dapat digunakan
oleh yang lain, sistem untuk mendukung
pengembangan perangkat lunak dapat
dibangun dengan menggunakan bantuan
komputer.
5. Pekerjaan yang berhubungan dengan rekayasa perangkat lunak
dapat dikategorikan ke dalam tiga fase generik, yaitu:
• Tahap definisi berfokus pada what. Pada fase ini mengidentifikasi informasi apa
yang akan diproses, apa fungsi dan kinerja yang diinginkan, perilaku system apa
yang dapat diharapkan, apa antarmuka yang akan didirikan, apa desain kendala
yang ada, dan apa kriteria validasi yang diperlukan untuk menentukan sistem yang
sukses.
• Tahap pengembangan berfokus pada how. Selama pengembangan perangkat
lunak didefinisikan bagaimana data harus terstruktur, bagaimana fungsi
diimplementasikan dalam arsitektur perangkat lunak, bagaimana detail prosedural
untuk dilaksanakan, bagaimana interface yang akan ditandai, bagaimana desain
akan diterjemahkan ke dalam bahasa pemrograman (atau bahasa nonprocedural),
dan bag
• Fase dukungan berfokus pada perubahan yang terkait dengan koreksi
kesalahan.aimana pengujian akan dilakukan.
6. Model Proses dalam Rekayasa Perangkat
Lunak
Sebuah model proses rekayasa perangkat lunak dipilih berdasarkan pada
sifat proyek dan aplikasi, metode dan alat-alat yang akan digunakan, dan
kontrol dan kiriman yang diperlukan.
• Waterfall Model (Linear Sequential Model)
Model Waterfall adalah model yang paling tua dan paling banyak digunakan.
Tahapan dari model ini meliputi:
• Sistem / teknik informasi dan pemodelan.
• Analisis kebutuhan perangkat lunak.
• Rancangan.
• Pembuatan kode (Coding).
• Pengujian(Testing).
• Dukungan (Support).
7. Prototype Models
Pada model ini pengembang dan pelanggan bertemu
dan menentukan tujuan keseluruhan untuk perangkat
lunak dan mengidentifikasi persyaratan apa saja yang
diketahui. Sebuah “desain cepat” kemudian terjadi.
Desain cepat berfokus pada representasi dari aspek-
aspek perangkat lunak yang akan terlihat oleh
pengguna (misalnya,pendekatan input dan format
output).
8. RAD (Rapid application development )
Models
Rapid application development(RAD) adalah model proses
pengembangan perangkat lunak tambahan yang
menekankan siklus perkembangan yang sangat pendek.
Model RAD adalah
Adaptasi dari model sekuensial linier (Waterfall
models)“kecepatan tinggi” berbasis komponen. Dari
penjelasan Pressman (2012) , satu perhatian khusus
mengenai metodologi RAD dapat diketahui, yakni
implementasi metode RAD akan berjalan maksimal jika
pengembang aplikasi telah merumuskan kebutuhan dan
ruang lingkup pengembangan aplikasi dengan baik.
9. Tahapan-tahapan dalam RAD model:
• Pemodelan Bisnis,
• Pemodelan data,
• Proses pemodelan.
• Generasi aplikasi,
• Pengujian dan omset.
10. Evolusi Model Proses Perangkat Lunak
Seiring dengan berjalannya waktu, perangkat
lunak pun berkembang kearah yang lebih kompleks.
Sehingga dalam pembuatan perangkat lunak diperlukan
model proses yang fleksibel, agar perangkat lunak
dapat berkembang sesuai dengan keadaan.
Waterfall Model dan Prototype model tidak
dirancang untuk memberikan system produksi dan
tidak mempertimbangkan evolusi dari rekayasa
perangkat lunak tersebut.
11. Bentuk Evolusi Model Proses Perangkat
Lunak
• Model incremental
• Model Spiral
• “WINWIN” Spiral Model