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 :
- Proses Implementasi:
- Membuat rencana maintenance dan prosedur-prosedurnya.
- Membuat prosedur untuk permintaan perubahaan / modifikasi perangkat lunak ( Modification Requests ).
- Implementasi proses CM.
- 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.
- 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.
- 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.
[RPL] Perawtan Perangkat Lunak
4/
5
Oleh
Holong.Me