Jumat, 29 Juni 2018

Maintenance dalam Software Development

 
Software itu, berbeda dengan hardware. Ketika kita menggunakan sebuah hardware, kita harus mengeluarkan biaya maupun effort untuk melakukan perawatan mungkin karena usang atau ada beberapa perangkatnya yang rusak. Software ngga seperti itu, dia ngga akan usang atau rusak. Tapi, dia akan selalu berubah setelah versi pertamanya selesai. Nah, itulah yang namanya maintenance dalam software.
Ada 4 jenis maintenance dalam software:
  1. Corrective maintenance, ini kita lakukan ketika sebuah bug ditemukan pada sistem dan kita harus melakukan perbaikan.
  2. Adaptive maintenance, ketika sistem yang kita buat harus mengadaptasi perubahan pada environment dimana sistem tersebut berjalan. Misalnya, ketika membuat sebuah aplikasi Android, kita harus melakukan maintenance ketika versi Android di upgrade, agar aplikasi kita tetap compatible.
  3. Perfective maintenance, ketika pengguna sistem atau stakeholder merubah requirement dari sistem yang kita bangun.
  4. Preventive maintenance, ketika kita hendak meningkatkan kualitas sistem yang kita bangun atau hendak menanggulangi sebuah bug sebelum bug tersebut terjadi.

Beberapa penggambaran umum tentang perangkat lunak :
  1. Perintah (program komputer) yang mana bila dieksekusi akan menghasilkan fungsi sebagai mana yang kita inginkan.
  2. Struktur data yang memungkinkan suatu aplikasi dapat memanipulasi informasi secara proporsional.
  3. Dokumen yang menggambarkan suatu kegunaan dari pada sebuah program.
Perangkat lunak tersebut dibedakan menjadi 2 tipe yaitu :
  1. Produk Generik, yaitu sistem stand alone yang di produksi oleh perusahaan pengembang perangkat lunak dan di pasarkan ke pasar umum. Contohnya : Microsoft Office, Adobe Creative Suite, dll.
  2. Produk Pesanan, yaitu produk perangkat lunak yang mana akan dikembangkan bila ada perusahaan/konsumen yang memesannya. Contohnya : Sistem Penerimaan Mahasiswa untuk sebuah kampus, dll.
Pemeliharaan Perangkat Lunak
Sedangkan, Pemeliharaan Perangkat Lunak adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yg lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru.
Ada 4 katagotri pemeliharaan software yaitu :
  1. Corrective Maintenance, perubahan yang dilakukan guna memperbaiki kesalahan.
  2. Adaptive Maintenance, perawatan berdasarkan perubahan lingkungan.
  3. Perfective Maintenance, perubahan untuk meningkatkan kualitas sistem tanpa merubah fungsinya.
  4. Preventive Maintenance, Meningkatkan reliability, future maintainability, future enhancement  (reverse engineering dan re-engineering)
Kenapa biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa faktor yang menyebabkannya :
  1. Stabilitas Tim, biasanya tim pengembang dan tim pemelihara adalah orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang dikembangkan.
  2. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemelihara kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif bagi pengembang untuk membuat sistem yang mudah untuk diubah.
  3. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software.
  4. Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemelihara.
Beberapa permasalahan yang sering muncul dalam pemeliharaan software :

  • Kesulitan melakukan pelacakan evolusi software pd versi sebelumnya,
  • Kesulitan pelacakan pada proses pengembangan software,
  • Sulit untuk mengerti program orang lain,
  • Tidak adanya dokumentasi yang baik,
  • Tidak adanya nara sumber,
  • Kebanyakan software dirancang tanpa adanya pemikiran untuk diubah.

Tidak ada komentar:

Posting Komentar