REKAYASA PERANGKAT LUNAK (RPL)

Rekayasa perangkat lunak (software engineering) adalah pembangunan dengan menggunakan konsep rekayasa dengan tujuan untuk menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin.Perangkat lunak sering dibuat dan pada akhirnya tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena masalah non-teknis seperti keragu-raguan pelanggan(user) untuk mengubah sistem manual menjadi otomatis,atau karena ketidakmampuan user dalam menggunkan komputer.Oleh karena itu rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak terpakai.



Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan(customer).RPL lebih fokus pada bagaimana membuat perangkat lunak memenuhi kriteria berikut :
  • Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring berkembangnya teknologi dan lingkungan(Update Maintainability)
  • Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan terjadi
  • Efisien dari segi sumber daya dan penggunaan
  • Kemampuan untuk dipakai sesuai dengan kebutuhan(usability)
*Note : Perangkat lunak yang baik adalah perangkat lunak yang fokus kepada pengguna/pelanggan.

Dari kriteria di atas,perangkat lunak yang bagus berarti perangkat lunak yang dapat memenuhi kebutuhan pelanggan/user atau dengan kata lain lebih berorientasi pada si pelanggan/pemakai ketimbang pembuat/pengembang perangkat lunak.

Dalam pekerjaannya,RPL dapat dikategorikan menjadi 3 kategori umum diluar area aplikasi nya yaitu: 
  • What /Apa : artinya pembuat harus mencari tahu informasi apa yang harus diproses,seperti apa fungsi dan performansi yang diinginkan,seperti apa perilaku sistem yang diinginkan,apakah kriteria validasi yang dibutuhkan untuk mendefinisikan sistem
  • How/Bagaimana : artinya selama tahap pengembangan perangkat lunak,seorang software engineering(perekayasa perangkat lunak) berusaha untuk mendefinisikan bagaimana data distrukturkan dan bagaimana fungsi-fungsi yang dibutuhkan diimplementasikan di dalam sistem perangkat lunak,bagaimana karakter antarmuka tampilan,bagaimana desain ditranslasikan ke dalam bahasa pemrograman,dan bagaimana pengujian akan dijalankan
  • Support Phase (Fase Pendukung) : artinya fokus pada perubahan yang terasosiasi pada perbaikan kesalahan(error),adaptasi yang dibutuhkan pada lingkungan perangkat lunak yang terlibat, dan perbaikan yang terjadi akibat perubahan kebutuhan pelanggan(customer).

Dalam Support Phase terdiri dari 4 perubahan antara lain :
  • Koreksi (correction) yang berarti walaupun dengan jaminan kualitas yang terbaik,akan selalu ada kesalahan atau keinginan pelanggan yang tidak tertangani oleh perangkat lunak.
  • Adaptasi (adaptation) yang berarti pada saat tertentu lingkungan asli dimana perangkat lunak dikembangkan akan mengalami perubahan/update mengikuti perkembangan zaman.
  • Perbaikan (enchancement) yang berarti sejalan dengan digunakannya perangkat lunak,maka pelanggan/customer atau user akan mengenali  fungsi tambahan yang dapat mendatangkan manfaat.
  • Pencegahan (prevention) yang berarti keadaan perangkat lunak komputer sangat dimungkinkan untuk perubahan.Oleh karena itu,pemeliharaan pencegahan/rekayasa ulang sistem harus dikondisikan untuk mampu melayani kebutuhan pemakainya(user).Di lain sisi biasanya setelah perangkat lunak dikirimkan ke user,maka masih dibutuhkan asistensi dan help desk dari pengembang perangkat lunak.

Tantangan yang dihadapi dari proses RPL adalah :

  1. Tantangan dimana perangkat lunak dikembangkan selama bertahun-tahun oleh orang-orang yang berbeda.Hal ini menyebabkan ketidakpahaman atau perubahan tujuan pembuatan perangkat lunak
  2. Tantangan dimana perangkat lunak harus dapat beradaptasi dengan teknologi yang terus berkembang dengan semakin luasnya lingkungan distribusi perangkat lunak
  3. Tantangan pengiriman bahwa perangkat lunak dengan skala besar dan kompleks sekalipun dapat sampai ke tangan pelanggan(customer) atau user dengan cepat da kualitas tetap terjaga
Sekian sedikit pembahasan mengenai Rekayasa Perangkat Lunak.Terima Kasih !

Comments