Software
Maintenance Maturity Model (SMmm), yaitu membahas penilaian dan
peningkatan fungsi perawatan perangkat lunak dengan mengusulkan perbaikan
standar pemeliharaan perangkat lunak dan memperkenalkan model yang diusulkan
jatuh tempo untuk kegiatan pemeliharaan perangkat lunak sehari-hari.
Fungsi perawatan perangkat lunak
menderita kelangkaan model manajemen untuk memfasilitasi evaluasi, manajemen,
dan perbaikan terus-menerus. The SMmm membahas kegiatan unik pemeliharaan
perangkat lunak sambil menjaga struktur mirip dengan model jatuh tempo CMM. Hal
ini dirancang untuk digunakan sebagai pelengkap model ini. The SMmm didasarkan
pada pengalaman practitionersí, standar internasional, dan literatur mani pada
pemeliharaan perangkat lunak. Kami menyajikan modelís tujuan, ruang lingkup,
yayasan, dan arsitektur, diikuti oleh validasi awal.
Software Maintenace
pemeliharaan
perangkat lunak merupakan tahap penting dari siklus hidup perangkat lunak,
sesuai dengan masalah pemeliharaan perangkat lunak model proses, perangkat
lunak penelitian model proses pemeliharaan, fokus pada perangkat lunak setelah
melahirkan untuk pensiun antara kegiatan pemeliharaan perangkat lunak. Pertama,
descript dari proses pemeliharaan delapan software, kemudian, perangkat lunak
penelitian model proses pemeliharaan struktur dan konten, termasuk model
perubahan yang cepat, Model Boehm, Model IEEE, peningkatan berulang empat
model, akhirnya, menganalisis dengan empat model pemeliharaan perangkat lunak
proses, memberikan dasar untuk pemilihan model. konten ini studi meliputi
perbaikan proses pemeliharaan perangkat lunak, panduan kegiatan pemeliharaan,
meningkatkan kualitas perawatan perangkat lunak, memastikan software aplikasi
normal, yang memiliki signifikansi teoretis dan praktis penting.
Aspek Kegiatan
Maintenace
Aktivitas pemeliharaan yang pertama terjadi karena asumsi
yang salah pada saat uji coba yaitu kesalahan-kesalahan tersembunyi pada
perangkat lunak yang cukup besar. Menurut O’Brien (2005) bahwa dibutuhkan
pembagian kegiatan maintenance ke dalam empat aspek. Pemeliharaan perangkat
lunak dapat dibedakan menjadi:
a. Adaptive, diartikan sebagai
modifikasi sistem untuk mengatasi perubahan lingkungan software. Aktivitas yang
kedua ini terjadi karena pertumbuhan atau perkembangan perangkat lunak atau
perangkat keras sehingga memerlukan modifikasi dari perangkat lunak yang telah
dibuat.
b. Perfective, diartikan sebagai
tindakan baru implementasi atau perubahan pengguna peralatan yang mana
memperhatikan fungsi tambahan untuk software. Aktivitas ini terjadi pada saat
perangkat lunak yang telah dibuat dan dilakukan uji cobs kemudian dipergunakan oleh
user. Setelah dipergunakan oleh user mungkin timbulpermintaan tambahan fungsi sesuai
dengan keinginan pemakai.
c. Corrective, diartikan sebagai deteksi
dan perbaikan masalah, yang ditemukan oleh pengguna. Aktivitas ini terjadi pada
saat produk dipakai dan hasil yang didapat oleh pamakai baik berupa kesalahan
yang timbul maupun kesalahan dalam bentuk keluaran yang tidak sesuai.
d. Preventive, diartikan sebagai
peningkatan kemampuan software atau reabilitas untuk menghindari masalah di
masa yang akan datang. Pemeliharaan yang terakhir dilakukan untuk menghadapi
kemajuan perangkat lunak atau perangkat keras di masa mendatang, umpamanya
penambahan fungsifungsi atau melengkapi fungsi-fungsi yang telah ada.
Maintenance Activity
Aktivitas penting untuk maintenance perangkat lunak adalah
perencanaan. Jika tahap development berlangsung 1-2 tahun, maka fase
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 :
a. Mengandung ruang lingkup (scope) maintenance
perangkat lunak.
b. Proses setelah perangkat lunak
selesai.
c. Harus diketahui siapa yang akan
melakukanmaintenance.
d. Perkiraan biaya maintenancesiklus
hidup perangkat lunak.
Tekhnik-tekhnik
Maintenance
Software maintenance yang efektif dilakukan dengan teknik
yang spesifik atau khusus untuk maintenance. Beberapa teknik praktis yang biasa
diapakai maintener akan dijelaskan di bawah ini.
1. Program Comprehension.
Programmers
menghabiskan banyak waktu untuk membaca dan mengerti program dalam rangka
mengimplementasikan perubahan. Code browsers merupakan tools kunci dalam
program comprehension. Dokumentasi yang singkat dan jelas dapat membantu dalam
program comprehension. Berdasarkan atas pentingnya subtopic ini, maka IEEE
Computer Society mengadakan pelatihan yang diadakan setiap tahunnya mengenai
program comprehension.
2. Reengineering
Reengineering
biasanya tidak dilakukan untuk meningkatkan kemudahan melakukan maintenance
(maintainability) namun untuk mengganti legacy system yang sudah berumur.
Refactoring atau transformasi program yang mengorganisasi ulang
(reorganisasi)tanpa mengubah perilaku sistem sekarang digunakan dalam reverse
engineering untuk meningkatkan struktur program berorientasi objek.
3. Reverse engineering.
Reverse
engineering adalah proses menganalisa subjek sistem untuk mengindentifikasi
komponen sistem dan hubungan yang terjadi di dalamnya untuk direpresentasikan
dalam bentuk lain atau pada level abstraksi yang lebih tinggi. Reverse
engineering dilakukan secar pasif, artinya tidak mengubah sistem atau
menghasilkan sistem yang baru. Sebuah usaha reverse engineering sederhana
mungkin menghasilkan sesuatu yang disebut graphs dan control flow graphs dari
source code. Jenis dari reverse engineering antaralain redocumentation dan
design recovery. Date Reverse Engineering mempunyai pengaruh penting beberapa
tahun belakangan. Topic Reverse engineering menjadi bahan diskusi dalam acara
tahunan Working Conference on Reverse Engineering (WCRE).
4. Impact
Analysis.
Impact
analysis mengidentifikasi keseluruhan sistem dan produk sistem yang dipengaruhi
oleh permintaan perubahan (change request) dan membuat perkiraan sumber daya
yang diperlukan untuk melakukan perubahan. Dilakukan setelah permintaan
perubahan (change request) diterima oleh configuration management process.
Beberapa hal penting tentang impact analisis: Menentukan ruang lingkup
perubahan untuk perencanaan dan implementasi. Membuat perkiraan sumber daya
yang diperlukan untuk melakukan kegiatan secara akurat. Menganalisa untung /
rugi perubahan yang diminta. Melakukan komunikasi dengan bagian lain tentang
kompleks tidaknya perubahan yang dilakukan.
sumber :