Pemeliharaan Perangkat Lunak
Pemeliharaan perangkat lunak adalah modifikasi produk perangkat lunak setelah pengiriman untuk mengoreksi kesalahan, mengadaptasinya ke lingkungan yang berubah, dan meningkatkan fungsi, kinerja, atau kemampuan pemeliharaannya.
Definition
Pemeliharaan perangkat lunak adalah keseluruhan aktivitas yang diperlukan untuk menyediakan dukungan yang hemat biaya untuk perangkat lunak setelah pengiriman, termasuk mengoreksi cacat, beradaptasi dengan lingkungan baru, dan meningkatkan kapabilitas sambil menjaga integritas.
Scope
Topik ini mencakup empat kategori pemeliharaan (korektif, adaptif, perfektif, preventif); proses pemeliharaan mulai dari permintaan perubahan hingga analisis dampak, modifikasi, pengujian, dan rilis; pemahaman program dan tantangan dalam mengubah kode yang tidak dikenal; kemampuan pemeliharaan sebagai atribut kualitas; serta standar dan metrik yang mengatur pekerjaan pemeliharaan.
Core questions
- Bagaimana perubahan pemeliharaan diklasifikasikan dan diprioritaskan?
- Langkah-langkah proses apa yang diperlukan untuk membawa permintaan perubahan hingga modifikasi yang dirilis?
- Bagaimana dampak perubahan yang diusulkan dianalisis sebelum dilakukan?
- Apa yang membuat perangkat lunak dapat dipelihara, dan bagaimana kemampuan pemeliharaan diukur?
Key theories
- Kategori pemeliharaan
- Pemeliharaan korektif memperbaiki kesalahan, pemeliharaan adaptif mengakomodasi perubahan lingkungan, pemeliharaan perfektif meningkatkan atau memperluas fungsi dan kinerja, dan pemeliharaan preventif meningkatkan kemampuan pemeliharaan di masa depan; kategori non-korektif mendominasi upaya.
- Analisis dampak
- Sebelum perubahan diimplementasikan, analisis dampak mengidentifikasi komponen, antarmuka, dan pengujian yang terpengaruh, menggunakan informasi ketergantungan dan keterlacakan untuk memperkirakan upaya dan efek riak serta membatasi risiko.
Clinical relevance
Karena pemeliharaan mendominasi total biaya perangkat lunak dan sebagian besar bersifat adaptif dan perfektif daripada korektif, perancangan untuk kemampuan pemeliharaan dan mengikuti proses pemeliharaan yang disiplin secara langsung mengatur ekonomi jangka panjang suatu sistem.
Evidence & guidelines
ISO/IEC 14764 mendefinisikan proses pemeliharaan dan aktivitasnya, dan ISO/IEC 25010 menetapkan sub-karakteristik kemampuan pemeliharaan seperti modularitas, kemampuan modifikasi, dan kemampuan uji.
History
Survei pada tahun 1970-an dan 1980-an mengungkapkan bahwa pemeliharaan menghabiskan sebagian besar anggaran perangkat lunak dan bahwa pekerjaan adaptif dan perfektif lebih besar daripada perbaikan korektif; hal ini membingkai ulang pemeliharaan dari sekadar pemikiran sampingan menjadi fase sentral yang diatur proses, yang kemudian distandarisasi dalam ISO/IEC 14764.
Key figures
- Meir M. Lehman
- Bennet Lientz
- Ian Sommerville
Related topics
Seminal works
- iso14764
- swebok2014
- sommerville2015
Frequently asked questions
- Jenis pemeliharaan apa yang paling banyak menghabiskan upaya?
- Studi secara konsisten menemukan bahwa pemeliharaan adaptif dan perfektif — mengadaptasi perangkat lunak ke lingkungan baru dan meningkatkannya — secara bersama-sama menyumbang sebagian besar upaya pemeliharaan, jauh di atas perbaikan bug korektif.
- Mengapa mengubah kode lama begitu sulit?
- Pemelihara harus terlebih dahulu memahami kode yang seringkali tidak mereka tulis, di mana alasan dan dokumentasi asli mungkin hilang; memahami sistem yang ada dan efek riak dari suatu perubahan seringkali lebih mahal daripada melakukan perubahan itu sendiri.