Maintenance dalam pengembangan Software System

Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user). Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada pase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada pase pemeliharaan antara lain :
Penambahan atau peningkatan atau juga perbaikan untuk produk perangkat
lunak, meliputi :
       1. penambahan fungsi-fungsi baru
       2. perbaikan tampilan dan modus interaktif
       3. perbaharui dokumen ekstemal
       4. perbaharui dokumentasi internal
       5. perbaharui karakteristik perfomansi dari sistem
              Adaptasi produk dengan lingkungan mesin yang baru, meliputi :
       1. pemindahan perangkat lunak ke mesin yang berlainan
       2. modifikasi untuk dapat mempergunakan protokol atau disk drive tambahan.
              Pembetulan permasalahan yang timbul, meliputi :         
        1. pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh
            user (pemakai).
   
Aktivitas pemeliharaan menghabiskan biaya terbesar dari seluruh anggaran pengembangan atau pembuatan perangkat lunak. Hal ini merupakan yang sering kali terjadi jika pemeliharaan menghabiskan 70% Bari seluruh biaya pengembangan perangkat lunak. Sedangkan pada pase pemeliharaan sekitar 60% digunakan untuk anggaran penambahan atau perbaikan perangkat lunak, sisanya untuk adaptasi atau pembetulan. Dari besarnya biava yang dihabiskan untuk pase pemeliharaan maka tidak heran apabila tujuan dari pengembangan atau pembuatan perangkat lunak adalah menghasilkan sistem perangkat lunak yang dapat diandalkan dan mudah dalam pemeliharaannya. Atribut utama dari perangkat lunak yang mudah dalam pemeliharaan adalah:

-  Perangkat lunak dikerjakan per modul
-  Perangkat lunak mempunyai kejelasan
-  Dokumentasi internal yang baik dan jelas
-  Dokumen-dokumen pendukung lainnya

Alasan 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.
Pemeliharaan perangkat lunak jika ditinjau dari daur siklus pengembangan perangkat lunak dapat dikelompokkan sebagai herikut: 
Perluasan dan analisis merupakan perwujudan kembali dari fase analisis pada daur
   siklus pengembangan.
Pembenaran merupakan perwujudan kembali dari fase analisis, perancangan
  dan penerapan.
Selain itu juga seluruh alat bantu yang digunakan pada pengembangan perangkat lunak dapat digunakan pada pemeliharaan perangkat lunak.
Aktivitas analisis selama pemeliharaan perangkat lunak meliputi: Pengertian skope dan pengaruh yang ditimbulkan akibat dari perubahan, selain itu juga batasan (kendala) yang terjadi akibat perubahan. Sedangkan pada perancangan dan fase pemeliharaan meliputi perancangan kembali dari perubahan-perubahan yang diinginkan, dimana perubahan ini akan diterapkan sehingga menyebabkan dokumentasi internal dan program sumber juga harus diperbaharui, dan test case yang baru harus dirancang untuk memulai keakuratan hasil modifikasi, Selama itu juga dokumen pendukung (keperluan, spesifikasi perancangan, rencana uji coba, prinsip pengoperasian, petunjuk pemakaian) harus diperbaharui untuk memperlihatkan hasil perubahan. 
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.
 
Menurut McCall (1997) kriteria yang mempengaruhi kualitas software  terbagi menjadi tiga aspek penting yaitu :
1. Sifat sifat operasional dari software (Product Operations).
2. Kemampuan software dalam menjalani perubahan (Product Revision).
3. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition).
 
Jenis-Jenis Pemeliharaan Software
1. Corrective (perubahan yang dilakukan guna memperbaiki kesalahan)
       Perawatan perangkat lunak korektif melibatkan mengembangkan dan menyebarkan solusi untuk masalah ("bug") yang timbul selama penggunaan program perangkat lunak. Pengguna komputer akan melihat masalah kinerja dengan perangkat lunak, seperti pesan error yang datang pada layar atau program pembekuan atau menabrak, berarti perawatan perangkat lunak perbaikan perlu dilakukan. Seringkali perbaikan ini secara permanen memecahkan masalah, tetapi tidak selalu. Beberapa perbaikan bertindak sebagai solusi sementara sambil pemrogram komputer bekerja pada solusi yang lebih permanen. 
2. Perfective (perubahan untuk meningkatkan kualitas sistem tanpa merubah fungsinya)
        Tidak ada program perangkat lunak yang berisi nol kekurangan atau area yang perlu diperbaiki. Perawatan perangkat lunak perfektif melibatkan pemrogram komputer bekerja untuk meningkatkan cara fungsi program perangkat lunak atau seberapa cepat proses permintaan. Programmer juga dapat terlibat dalam perawatan perangkat lunak perfektif untuk meningkatkan tata letak menu perangkat lunak dan antarmuka perintah. Terkadang programmer perlu melakukan pemeliharaan perfektif pada perangkat lunak karena pengaruh luar, seperti peraturan pemerintah baru yang mempengaruhi bagaimana bisnis beroperasi.
3. Adaptive (perawatan berdasarkan perubahan lingkungan)
          Bidang teknologi terus berubah melalui hardware dan pengembangan perangkat lunak. Perawatan perangkat lunak Adaptive mengatasi perubahan ini. Perubahan dalam kecepatan prosesor, misalnya, akan mempengaruhi bagaimana perangkat lunak melakukan pada sebuah komputer. Software berinteraksi dengan program perangkat lunak lain pada komputer atau jaringan, yang berarti perubahan dalam satu program dapat memerlukan perubahan dalam program lain. Seorang pengguna akhirnya akan memperkenalkan perangkat lunak baru ke komputer atau jaringan, yang juga dapat mempengaruhi bagaimana perangkat lunak lain yang sudah ada beroperasi.
4. Preventative (Meningkatkan reliability, future maintainability, future enhancement  (reverse engineering dan re-engineering))

            Ketika pemrogram komputer terlibat dalam perawatan perangkat lunak preventif mereka mencoba untuk mencegah masalah dengan program perangkat lunak sebelum terjadi. Programmer berusaha mencegah pemeliharaan korektif sebanyak mungkin, sementara juga mengantisipasi kebutuhan pemeliharaan adaptif sebelum pengguna mengalami masalah. Programer komputer yang pengujian perangkat lunak, sebagai perusahaan otomotif menguji kendaraan yang mereka buat, untuk memastikan perangkat lunak dapat menangani beban data yang tinggi dan operasi stres lain tanpa masalah. Programmer komputer juga menguji perangkat lunak dengan pengguna program lain kemungkinan akan digunakan pada komputer mereka, membuat masalah kompatibilitas yakin tidak muncul.
Manfaat Pemeliharaan Software
Ada beberapa manfaat dari pemeliharaan software, yaitu sebagai berikut :
1. Dapat memastikan kesesuaian dengan kebutuhan fungsionalitas teknis software.
2. Dapat memastikan kesesuaian kebutuhan pihak manajerial mengenai jadwal dan budget.
3. Dapat meningkatkan efisiensi software berikut juga aktifitas pemeliharaannya.

sumber :
 https://aninditasf.blogspot.com/2018/06/maintenance-dalam-pengembangan-software.html?m=1 
http://alia52.blogstudent.mb.ipb.ac.id/files/2014/10/Urgensi-Maintenance-dalam-Pengembangan-Software-System.pdf

 

Komentar

Postingan populer dari blog ini

PAST PARTICIPLE

#Tugas Softskill Pertemuan 2 Dosen Dewi Luqi

OBJECT OF PREPOSITION( theory , example , question )