Pengertian Pemeliharaan Perangkat Lunak Maintenance software atau pemeliharaan perangkat lunak adalah proses memodifikasi sistem perangkat lunak atau komponen-komponen perangkat lunaknya setelah penggunaan oleh kosumen atau klien untuk memperbaiki kerusakan, meningkatkan kinerja, manfaat, atau kualitas dan optimalitas untuk menyesuaikan sistem perangkat lunak dengan lingkungan yang senantiasa berubah-ubah. Dari definisi di atas, hal ini menegaskan bahwa proses pemeliharaan perangkat lunak adalah proses yang sidatnya post-delivery, artinya dikerjakan setelah sistem perangkat lunak digunakan oleh konsumen ataupun klien.
Menurut Pigoski berpendapat bahwa pemeliharaan perangkat lunak, yaitu suatu aktivitas keseluruhan yang dilakukan dalam menyediakan dukungan yang murah dan efektif terhadap sistem perangkat lunak. Aktivitas dapa berupa pre-delivery dan post-delivery. Aktivitas pre-delivery berupa perencanaan untuk operasi post-delivery, supportabilitas dan penentuan logistik. Sedangkan aktivitas post-delivery berupa modifikasi perangkat lunak, pelatihan dan mengoperasikan help desk. Kategori Pemeliharaan Perangkat Lunak Pemeliharaan perangkat lunak terbagi menjadi beberapa kategori menurut Lientz dan Swanson, yaitu pemeliharaan adaptif, korektif dan perfektif. Berikut penjelasan dari ketiga komponen kategori pemeliharaan perangkat lunak :
Kategori pemeliharaan perangkat lunak menurut IEEE terbagi ke dalam empat kategori, yaitu sebagai berikut :
Permasalahan Pemeliharaan Perangkat Lunak Pemeliharaan suatu sistem umumnya merupakan aktivitas yang menghasbiskan biaya. Hal ini dikarenakan menambahkan fungsionalitas sistem yang sedang beroperasi jauh lebih mahal dibandingkan dengan menambahkan fungsionalitas sistem ketika tahap pengembangan. Faktor yang membedakan antara pengembangan dengan pemeliharaan yang berakibat pada mahalnya biaya pemeliharaan adalah : · Stabilitas Sistem, Setelah sistem dipasarkan, umumnya tim pengembang dibubarkan dan setiap anggota bekerja pada proyek yang baru. Tim yang kemudian bertanggung jawab terhadap pemeliharaan tidak memiliki pemahaman yang menyeluruh mengenai peragkat lunak yang bersangkutan sehingga perlu waktu dan usaha tambahan dalam memahami perangkat lunak tersebut. · Tanggung Jawab Kontraktual, Kontrak untuk pemeliharaan perangkat lunak umumnya terpisah dari kontrak untuk pengembangan perangkat lunak. · Keahlian Staff, Staf pemeliharaan kerap kali kurang berpengalaman dan tidak terbiasa dengan domain aplikasi. Proses pemeliharaan perangkat lunak seringkali dianggap sebagai proses yang tidak memerlukan skill yang tinggi dibanding dengan pengembangan perangkat lunak yang memerlukan skill yang tinggi, hal ini menyebabkan staff bagian pemeliharaan seeringkali adalah staff dengan level junior. · Usia dan Struktur Program, seiring dengan usia program, struktur dari program juga ikut berubah sehingga semakin sulit untuk dimengerti dan diubah. Beberapa komponen perangkat lunak tidak dikembangkan dengan teknik RPL modern, sehingga tidak pernah dikelola dengan baik dan kemungkinan dokumentasi sistem bisa saja hilang atau inkosisten sehingga sukar untuk dipahami. Model Pemeliharaan Perangkat LunakQuick-Fix Model
Pendekatan tipikal guna pemeliharaan perangkat lunak adalah dengan mengubah kode atau skrip program terlebih dahulu, kemudian membuat perubahan yang dibutuhkan pada dokumentasi program. Melalui pendekatan ini disebut pendekatan quick-fix model. Idealnya setelah skrip diubah, maka dokumentasi terkait perancangan, kebutuhan, analisis, pengujian dan hal-hal lain yang terkait dengan perangkat lunak tersebut harus diubah juga dengan menyesuaikan dedngan perubahan pada skrip program. Akan tetapi realitanya di lapangan menunjukkan bahwa perubahan pada skrip program kadang tidak didokumentasikan disebabkan oleh waktu dan biaya sehingga tim pemelihara tidak sempat untuk merubah dokumentasi program. Iterative-Enhacement Model
Model siklus hidup evolutionary menawarkan pendekatan alternatif guna pemeliharaan perangkat lunak. Model ini menyaakan bahwa kebutuhan sistem tidak dapat dikumpulkan dan dipahami pada tahap awal, sehingga sistem dibangun dengan memperbaiki kebutuhan dari rancangan bangunan sistem sebelumnya berdasarkan timbal balik dari pengguna. Kelebihan dari mode ini adalah dokumentasi dari sistem senantiasa berubah seiring dengan perubahan pada skrip program. Full-Reuse Model
Model ini memandang pemeliharaan sebagai suatu kasus dari pengembangan perangkat lunak berorientasi guna ulang atau daur ulang. Full-reuse diawali dengan analisis kebutuhan, rancangan, kode dan pengujian dari sisem versi sebelumnya yang telah ada. Model ini mendukung evolusi sistem untuk memudahkan modifikasi kedepannya. Model Full-reuse cocok untuk digunakan pada pengembangan sistem-sistem yang berkaitan. Model ini mengumpulkan komponen-komponen yag reusable pada level abstraksi yang berbeda-beda dan menjadikan pengembangan sistem ke depannya menjadi lebih hemat. Proses Pemeliharaan Perangkat LunakAda beberapa model proses pemeliharaan perangkat lunak. Model-model ini mengorganisasikan pemeliharaan perangkat lunak menjadi serangkaian aktivitas terkait dan menentukan urutan dari masing-masing aktivitas. Proses Pemeliharaan Versi IEEE-12 19Standar IEE mengorganisasikan proses pemeliharaan menjadi tujuh tahap Pada tiap tahap, standar IEE menetapkan input dan output pada tiap tahap, mengelompokan dan mengkaitkan aktivitas-aktivitas, mendukung proses-proses , kontrol dan sekumpulan metrik.
|