Kuis Akhir - Evolusi Perangkat Lunak
Kuis Akhir - Evolusi Perangkat Lunak
Soal
1.
Sebutkan dan jelaskan alasan mengapa perangkat
lunak harus mengalami proses evolusi?
2.
Apa yang dimaksud dengan evolusi perangkat
lunak, meliputi apa saja prosesnya?
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?
Jawaban:
1.
Beberapa alasan untuk perangkat lunak mengalami
proses evolusi adalah:
a.
Perbaikan dan peningkatan Fungsionalitas: Evolusi
perangkat lunak memungkinkan penyempurnaan dari waktu ke waktu.
Perubahan-perubahan ini bisa berupa perbaikan bug, peningkatan kinerja, atau
penambahan fitur baru yang diperlukan oleh pengguna.
b.
Kecocokan dengan lingkungan yang berubah: Lingkungan
di mana perangkat lunak beroperasi bisa terus berubah. hal Ini bisa berupa
perubahan dalam sistem operasi, infrastruktur teknologi, atau perubahan
kebutuhan. Evolusi perangkat lunak memungkinkan adaptasi terjadi terhadap
perubahan lingkungan ini.
c.
Keamanan: Perangkat lunak perlu terus berkembang
untuk mengatasi ancaman keamanan yang terus berkembang. Dengan evolusi yang
terencana, kerentanan terhadap serangan atau kebocoran data bisa diminimalkan.
d.
Maintenance dan support perangkat lunak: Versi
perangkat lunak yang lama akan akhirnya kehilangan dukungan dari pengembang.
Evolusi memastikan adanya dukungan teknis dan pemeliharaan yang terus-menerus
untuk pengguna.
e.
Daya saing dan inovasi: Evolusi perangkat lunak
juga memungkinkan perusahaan untuk tetap bersaing di pasar yang terus berubah.
Inovasi baru dan fitur-fitur canggih membantu menarik perhatian pengguna baru
dan mempertahankan pelanggan yang sudah ada.
2. Evolusi
Perangkat Lunak adalah proses berkelanjutan di mana perangkat lunak mengalami
perubahan, modifikasi, dan peningkatan dari waktu ke waktu untuk menyesuaikan
diri dengan perubahan lingkungan, memperbaiki fungsionalitas, meningkatkan
kinerja, serta menjawab kebutuhan dan harapan pengguna.
Proses dari
Evolusi Perangkat Lunak:
a.
Analisis Kebutuhan: melibatkan pemahaman yang
mendalam terhadap kebutuhan pengguna, masalah yang ingin dipecahkan, dan tujuan
dari perangkat lunak yang akan ditingkatkan.
b.
Perencanaan: Pada tahap ini, akan dibuat penjadwalan
perubahan, alokasi sumber daya, dan penentuan strategi evolusi.
c.
Pengembangan dan Implementasi: melibatkan
penerapan perubahan yang direncanakan ke dalam perangkat lunak. Tim pengembang
menerapkan perbaikan, penambahan fitur, atau perubahan lain sesuai rencana.
d.
Pengujian: perangkat lunak harus diuji secara
menyeluruh untuk memastikan bahwa perubahan yang dilakukan tidak menghasilkan
masalah baru dan tetap sesuai dengan kebutuhan pengguna.
e.
Evaluasi dan Pemantauan: Evaluasi dilakukan
untuk mengukur keberhasilan evolusi perangkat lunak. Penggunaan, kinerja, dan
respons pengguna dievaluasi untuk memastikan bahwa perangkat lunak terus
memenuhi harapan
f.
Pemeliharaan dan Perbaikan lanjutan: perangkat
lunak perlu dipelihara secara teratur. Ini melibatkan perbaikan bug,
peningkatan keamanan, dan pembaruan rutin untuk menjaga kualitas dan kinerja.
3. Lehman's
Laws of Software Evolution adalah seperangkat prinsip yang dikemukakan oleh
Meir M. Lehman, seorang ilmuwan komputer yang mempelajari evolusi perangkat
lunak.
Beberapa Laws
dari Lehman:
a.
Hukum Perubahan Berkelanjutan (Continuing Change
Law): Perangkat lunak harus secara terus-menerus berubah seiring waktu karena
lingkungan yang berubah, baik dalam hal perubahan kebutuhan pengguna maupun
perubahan teknologi yang mendukungnya.
b.
Hukum Kompleksitas Berkembang (Increasing
Complexity Law): Seiring evolusi, kompleksitas internal perangkat lunak
cenderung meningkat. Meskipun upaya mungkin dilakukan untuk mengurangi
kompleksitas, hal ini sering kali gagal untuk mempertahankan kompleksitas pada
tingkat yang konstan.
c.
Hukum Pergeseran Kualitas (Quality Degradation
Law): Kualitas perangkat lunak secara alami cenderung menurun seiring waktu
kecuali jika ada upaya yang terus-menerus untuk mempertahankan atau
meningkatkannya.
d.
Hukum Penyesuaian Lingkungan (Conservation of
Familiarity Law): Seiring evolusi, bagian dari perangkat lunak yang harus tetap
tidak berubah agar tetap konsisten dengan lingkungan yang sudah dikenal.
e.
Hukum Kecepatan (Continuing Growth Law): Seiring
dengan evolusi, perangkat lunak akan menjadi semakin lambat dan ketinggalan
jaman, kecuali jika usaha yang terus menerus dilakukan untuk menjaga dan
meningkatkan kecepatannya.
f.
Hukum Kendala Sumber Daya (Declining Quality
Law): Sumber daya yang tersedia untuk melakukan evolusi perangkat lunak
cenderung menurun seiring waktu.
Komentar
Posting Komentar