ScholarGate
Asisten

Pemeliharaan dan Evolusi Perangkat Lunak

Pemeliharaan dan evolusi perangkat lunak berkaitan dengan modifikasi perangkat lunak setelah pengiriman dan dinamika jangka panjang di mana sistem harus terus berubah agar tetap berguna.

Temukan Topik dengan PaperMindSegeraFind papers & topics
Tools & resources
Unduh salindia
Learn & explore
VideoSegera

Definition

Pemeliharaan perangkat lunak adalah modifikasi produk perangkat lunak setelah pengiriman untuk memperbaiki kesalahan, meningkatkan kinerja, atau mengadaptasinya ke lingkungan yang berubah, dan evolusi perangkat lunak adalah proses yang lebih luas dan berkelanjutan di mana perangkat lunak berubah sepanjang masa pakainya sebagai respons terhadap pergeseran persyaratan dan lingkungan.

Scope

Area ini mencakup kategori pemeliharaan (korektif, adaptif, perfektif, preventif); hukum empiris evolusi perangkat lunak; pemahaman program dan analisis dampak; rekayasa ulang, rekayasa balik, dan migrasi sistem lama (legacy systems); akumulasi dan pengelolaan utang teknis (technical debt); serta proses dan standar yang mengatur pemeliharaan seperti ISO/IEC 14764.

Sub-topics

Core questions

  • Kategori perubahan apa saja yang membentuk pemeliharaan, dan bagaimana perbedaannya?
  • Hukum empiris apa yang mengatur bagaimana perangkat lunak harus berevolusi seiring waktu?
  • Bagaimana perangkat lunak lama dipahami, direstrukturisasi, dan dimigrasikan?
  • Bagaimana utang teknis terakumulasi dan bagaimana cara mengelolanya?

Key theories

Kategori pemeliharaan perangkat lunak
Pemeliharaan diklasifikasikan sebagai korektif (memperbaiki kesalahan), adaptif (menanggapi perubahan lingkungan), perfektif (meningkatkan fungsi atau kinerja), dan preventif (meningkatkan kemampuan pemeliharaan), dengan pekerjaan adaptif dan perfektif mendominasi dalam praktiknya.
Hukum evolusi perangkat lunak Lehman
Lehman mengamati bahwa sistem yang aktif digunakan harus terus berubah atau menjadi semakin tidak memuaskan, dan seiring evolusinya, kompleksitasnya meningkat kecuali jika dilakukan upaya untuk menguranginya.

Clinical relevance

Pemeliharaan umumnya menghabiskan sebagian besar total biaya masa pakai suatu sistem, sehingga memahami dinamika evolusi, mengendalikan pertumbuhan kompleksitas, dan mengelola utang teknis sangat menentukan untuk ekonomi dan kelangsungan hidup perangkat lunak dalam jangka panjang.

Evidence & guidelines

ISO/IEC 14764 mendefinisikan proses pemeliharaan perangkat lunak, dan area pengetahuan Pemeliharaan Perangkat Lunak SWEBOK memberikan panduan konsensus tentang kategori, aktivitas, dan teknik pemeliharaan.

History

Pengakuan bahwa pemeliharaan mendominasi biaya perangkat lunak tumbuh pada tahun 1970-an; Lehman dan Belady merumuskan hukum evolusi perangkat lunak dari studi empiris sistem besar, dan teknik rekayasa ulang serta modernisasi sistem lama (legacy-modernization) berkembang seiring bertambahnya usia sistem yang berumur panjang dan utang teknis menjadi perhatian yang diakui.

Debates

Memelihara, merekayasa ulang, atau mengganti sistem lama
Memutuskan apakah akan terus memelihara, merestrukturisasi, atau sepenuhnya mengganti sistem yang menua adalah perdebatan strategis yang berulang, menyeimbangkan risiko dan biaya penggantian dengan meningkatnya biaya dan kerapuhan pemeliharaan berkelanjutan.

Key figures

  • Meir M. Lehman
  • Les Belady
  • Ian Sommerville

Related topics

Seminal works

  • lehman1980
  • iso14764
  • sommerville2015

Frequently asked questions

Apakah pemeliharaan hanya memperbaiki bug?
Tidak. Perbaikan bug (pemeliharaan korektif) hanyalah salah satu kategori; sebagian besar upaya pemeliharaan bersifat adaptif dan perfektif — menyesuaikan perangkat lunak dengan lingkungan baru dan menambah atau meningkatkan kapabilitas — yang secara bersama-sama melebihi pekerjaan korektif pada sistem yang umum.
Mengapa kompleksitas perangkat lunak cenderung meningkat seiring waktu?
Seperti yang diamati Lehman, perubahan berkelanjutan untuk memenuhi kebutuhan yang berkembang menambah struktur dan kasus khusus; kecuali jika upaya sengaja dilakukan untuk restrukturisasi dan mengurangi kompleksitas, sistem menjadi semakin sulit untuk diubah.

Methods for this concept

Related concepts