[RPL] Perawtan Perangkat Lunak


Siklus hidup dari perangkat lunak terdiri dari : requirements, design, construction, testing , and maintenance. Makalah ini akan membahas bagian maintenance pada proses rekayasa perangkat lunak. Software maintenance adalah bagian yang tak terpisahkan dari siklus hidup perangkat lunak (software life cycle). Dalam sejarahnya software maintenance tidak mendapat perhatian seperti tahapan-tahapan lain dalam pngembangan perangkat lunak. Pada umumnya development mendapat porsi lebih besar dalam pengembangan perangkat lunak. Hal tersebut saat ini telah berubah karena pengembang berusaha agar perangkat lunak yang mereka buat dapat digunakan atau dioperasikan lebih lama. Maintenance memerlukan biaya yang sangat mahal dan biasanya semakin bertambah mahal seiring dengan pertambahan usia perangkat lunak. Sehingga diperlukan penelitian atau riset lebih lanjut untuk meningkatkan produktivitas maintenance.



DEFINISI SOFTWARE MAINTENANCE KNOWLEDGE AREA
               Bagian software development menghasilkan perangkat lunak yang dapat memenuhi permintaan pemakai perangkat lunak ( user requirements ). Produk perangkat lunak selalu mengalami perubahan atau evolusi. Perubahan ini terjadi jika dalam masa operasi sebuah perangkat lunak ditemukan anomali, adanya perubahan lingkungan pengoperasian perangkat lunak, atau permintaan user yang baru.atau berubah. Phase maintenance dalam siklus hidup software terjadi setelah perangkat lunak selesai dibuat, namun aktivitas maintenance berlangsung jauh lebih awal. Software maintenance memelihara produk perangkat lunak dari awal pembuatan sampai pemakaian perangkat lunak. Setiap perubahan yang tejadi pada produk perangkat lunak akan dicatat dalam bentuk log. Perubahan perangkat lunak menyebabkan perubahan kode program (coding), memerlukan test  sampai menghasilkan produk dengan versi yang baru.



Aktivitas maintenance perangkat lunak ISO / IEC 14764 yang utama dapat dibagi menjadi beberapa proses :
  1. Proses Implementasi:
    • Membuat rencana maintenance dan prosedur-prosedurnya.
    • Membuat prosedur untuk permintaan perubahaan / modifikasi perangkat lunak ( Modification Requests ).
    • Implementasi proses CM.
  2. Proses pengenalan masalah dan modifikasi:
    • Melakukan analisis.
    • Menentukan masalah.
    • Membuat opsi / pilihan  untuk mengimplementasikan modifikasi.
    • Membuat dokumentasi.
    • Melakukan proses “pendekatan” untuk opsi / pilihan implementasi.
    • Melakukan modifikasi
    • Melakukan analisa yang detail.
    • Mengembangkan , mengkoding, dan mengetes perubahan yang dilakukan.
  3.   Review Maintenance :
    • Mempersiapkan modifikasi
    • Memastikan migrasi sesuai dengan ISO / IEC 12207.
    • Membangun rencana migrasi.
    • Memberitahu user tentang rencana migrasi.
    • Melakukan operasi yang pararel.
    • Memberitahu user  bahwa migrasi telah dimulai.
    • Review migrasi.
    • Memastikan data yang lama dapat diakses.
  4.   Software Retirement :
    • Membuat rencana retirement.
    • Memberitahu user tentang rencana retirement.
    • Melakukan operasi paralel.
    • Memberitahu user  bahwa retirement telah dimulai.
    • Memastikan data yang lama dapat diakses.

3.2.2 Kegiatan Maintenance
Kegiatan maintenance mirip dengan tahap pengembangan / development perangkat lunak, terdiri dari  tahap analysis, design, coding, testing, and documenting. Maintainer (Maintainer = orang melakukan maintenance) harus mencatat requirements pada tahap development. Maintainer memperbaharui / mengupdate dokumentasi jika terjadi perubahan.
Unique Activities
Maintainers harus memiliki pengetahuan tentang isi dan sruktur kode program. Pengetahuan ini digunakan oleh maintainers untuk melakukan impact analysis. Impact analysis mengidentifikasi keseluruhan system dan produk system yang dipengaruhi oleh permintaan perubahan (change request) dan membuat perkiraan sumber daya yang diperlukan untuk melakukan perubahan dan menentukan resiko perubahan yang akan dilakukan. Permintaan perubahan (change request / modification request / problem report) pertama harus dianalisa dan diterjemahkan ke dalam term perangkat lunak. Maintainer kemudian mengidentifikasi komponen yang terpengaruh oleh perubahan terjadi, beberapa pemecahan masalah yang potensial akan muncul dan kemudian maintener membuat rekomendasi aksi yang dapat dilakukan yang tergantung pada situasi kasus. Kemampuan pemecahan masalah sangat penting untuk maintenance. Maintainer harus menaruh perhatian pada setiap efek yang disebabkan setiap perubahan. Maintainer juga melakukan aktivitas pendukung seperti configuration management (CM), verifikasi and validasi, jaminan kualitas, review, audit, dan melakukan user training. Kadang Aktivitas pendukung ini dilakukan oleh entitas yang terpisah. IEEE Standard untuk  maintenance perngkat lunak, IEEE 1219 [IEEE 1219] menjelaskan CM sebagai elemen penting dalam proses maintenance. Prosedur CM harus melakukan verifikasi,  validasi, dan sertifikasi untuk setiap langkah yang diperlukan untuk mengidentifikasi , meng-authorize, mengimplementasikan dan  melaunching produk perangkat lunak.

Configuration management
Produk perangkat lunak dan perubahan yang dibuat pada perangkat lunak harus dikontrol. Pengontrolan ini dilakukan dengan mengimplementasikan proses software configuration management (SCM). SCM menyediakan dukungan dan membuat tugas maintener lebih mudah. Panduan SWEBOK menyediakan gambaran detail SCM dan mendiskusikan proses perubahan diminta, dievaluasi dan telah dilakukan. SCM untuk maintenance berbeda dengan  SCM development request initiates the maintenance process. The SCM process is implemented by developing and following a CM Plan and operating procedures. Maintainer berpartisipasi dalam Badan Kontrol Konfigurasi (Configuration Control Boards) untuk menentukan sampai kapan maintenance dilakukan dan kapan perlu migrasi. Problem severity sering digunakan untuk menentukan bagaimana dan kapan permasalahan diselesaikan.
Kualitas
Kita tidak bisa mengharapkan hanya dengan maintenance perangkat lunak dapat meningkatkan kualitas perangkat lunak tanpa dukungan tahapan yang lain. Hal ini harus direncanakan dan diimplementasikan secara baik  untuk menunjang proses maintenance. Aktivitas dan teknik untuk jaminan kualitas perangkat lunak / Software Quality Assurance (SQA) and V&V harus dipilih dalam hubungannya dengan proses yang lain untuk mendapat tinkat kualitas yang diinginkan. Implementasinya dengan mengembangkan dan mengikuti rencana dan prosedur SQA and V&V.
Maintenance Planning Activity
Aktivitas penting untuk maintenance perangkat lunak adalah perencanaan. Jika tahap development berlangsung 1-2 tahun, maka phase maintenance berlangsung selama bertahun-tahun. Memperkirakan secara akurat sumber daya yang digunakan adalah elemen kunci dalam rencana maintenance. Sumber daya yang didalamnya termasuk biaya harus dimasukkan dalam rencana anggaran proyek. Rencana maintenance harus dimulai dengan membuat atau menentukan tujuan kualitas perangkat lunak. Konsep dan perencanaan maintenance  :
  • Mengandung ruang lingkup (scope) maintenance perangkat lunak.
  • Proses setelah perangkat lunak selesai.
  • Harus diketahui siapa yang akan melakukan maintenance.
Perkiraan biaya maintenance siklus hidup perangkat lunak

Tulisan Terkait

[RPL] Perawtan Perangkat Lunak
4/ 5
Oleh

Berlangganan via email

Senang dengan tulisan di atas? Silahkan berlangganan posting terbaru langsung melalui email.