Kuis Akhir EPL

KUIS AKHIR GASAL 2023/2024
EVOLUSI PERANGKAT LUNAK

Rizaldi Nur Rahman Naufal – 05111940000201

1.      Sebutkan dan jelaskan alasan mengapa perangkat lunak harus mengalami proses evolusi?

Terdapat beberapa alasan perangkat lunak harus mengalami pengembangan terus menerus, yakni:

·         Sebuah perangkat lunak tentunya tidaklah sempurna, pasti akan memiliki bug yang belum terdeteksi. Sehingga, perlu dilakukan proses untuk mengidentifikasi, memahami, dan memperbaiki bug-bug tersebut agar kedepannya perangkat lunak dapat berjalan lebih stabil.

·         Seiring berjalan waktu, ancaman terhadap keamanan teruslah berkembang. Sehingga, diperlukan pengembangan atas system keamanan untuk mencegah potensi serangan terhadap integritas data dan system.

·         Perubahan luar seperti teknologi baru, system operasi, dapat mempengaruhi kinerja perangkat lunak. Sehingga diperlukan perubahan perangkat lunak untuk menyesuaikan terhadap perubahan tesrebut.

·         Kompetisi dan berkembangnya kebutuhan pengguna menuntut pengembang untuk menambahkan inovasi dan fitur baru agar perangkat lunak tetap relevan dan dapat memenuhi kebutuhan pengguna seiring berjalannya waktu.

·         Diperlukan pembaruan terus menerus untuk menjaga maupun meningkatkan performa/kinerja perangkat lunak dari segi efisiensi, kecepatan, dan penggunaan sumber daya.

 

2.      Apa yang dimaksud dengan evolusi perangkat lunak, meliputi apa saja prosesnya?

Evolusi perangkat lunak merupakan proses perubahan, peningkatan, dan pengembangan terhadap perangkat lunak. Tujuannya untuk menjaga dan memastikan perangkat lunak tetap relevan seiring berjalannya waktu dan perkembangan  yang terjadi di luar.

 

Proses utama perangkat lunak sebagai berikut:

·         Pemeliharaan : mencakup perbaikan bug, penanganan keamanan, pembaruan rutin untuk menjaga dan meningkatkan performa.

·         Pembaruan fungsional : menambahkan fitur baru, perbaikan atau peningkatan fitur yang sudah ada, untuk memenuhi kebutuhan pengguna yang berkembang.

·         Optimisasi kode : mencakup optimalisasi algoritma, pengurangan redundansi kode, dan peningkatan efisiensi sumber daya.

·         Adaptasi Ekosistem : penyesuaian terhadap perubahan pada ekosistemnya, misalnya perubahan system operasi, perangkat keras, atau integrasi dengan teknologi baru.

·         Uji Kualitas : memastikan setiap perubahan yang diterapkan tidak memunculkan masalah baru.

·         Manajemen versi : memastikan setiap perubahan dapat dicatat dan dilacak.

·         Dokumentasi : diperbarui secara teratur. Dapat membantu pengembang, pengguna, dan stakeholder lain untuk memahami system, fitur, konfigurasi, dan cara penggunaan perangkat lunak.

 

3.      Untuk dapat menjaga kualitas dari perangkat lunak tersebut dalam melakukan evolusi perangkat lunak, maka dibuatlah ”Laws” dari perangkat lunak tersebut. Menurut Lehman apa saja Laws nya?

Hukum-hukum evolusi perangkat lunak menurut Lehman, sebagai berikut :

·         Law of Continuing Change : perangkat lunak harus terus berubah seiring berjalannya waktu karena lingkungan terus berubah.

·         Law of Increasing Complexity : seiring perkembangannya, penambahan fitur dan perubahan fungsional sering menyebabkan kompleksitas meningkat, meskipun ada Upaya untuk mengurangi kompleksitas.

·         Law of Increasing Entropy : seiring perkembangannya, struktur perangkat lunak cenderung semakin acak, kecuali ada usaha tertentu untuk mempertahankan struktur.

·         Law of Continuing Growth : seiring perkembangannya, terdapat fitur-fitur baru yang ditambahkan pada perangkat lunak, sehingga ukurannya terus bertambah.

·         Law of Declining Quality : Kualitas perangkat lunak cenderung menurun seiring berjalannya waktu kecuali ada upaya khusus untuk meningkatkannya.

·         Law of Feedback System Growth : perangkat lunak cenderung semakin banyak menggunakan sumber daya seiring berjalannya waktu.

·         Law of Conservation of Familiarity : Pengembang cenderung mempertahankan dan menggunakan struktur dan metode yang sudah biasa digunakan seiring waktu pengembangannya.

·         Law of Continuing Work : konten fungsional suatu perangkat lunak harus disesuiakn dengan kebutuhan pengguna secara terus-menerus agar tetap berguna dan relevan.


Komentar

Postingan populer dari blog ini