Rekayasa Perangkat Lunak


Pengertian dan tujuan RPL
Pengertiaan dan Definisi 
Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas. 
 
Menurut IEEE Computer Society : 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 reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
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 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).
Ruang Lingkup Rekayasa Perangkat Lunak
  1. Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
  2. Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak.
  3. Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan.
  4. Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
  5. Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
  6. Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
  7. Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
  8. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.