Evolusi Perangkat Lunak - Kuis Akhir
- Proses evolusi perangkat lunak merupakan kebutuhan mendasar dalam dunia teknologi.
- Keamanan perangkat lunak juga dapat ditingkatkan dengan mengidentifikasi dan menyelesaikan kerentanan keamanan baru.
- Peningkatan Kinerja:
- Menambahkan Fitur Baru:
Fitur-fitur baru ini meningkatkan nilai perangkat lunak dan membuatnya lebih relevan.
- Kepatuhan Standar :
- Beradaptasi dengan perangkat dan lingkungan baru:
- Pembaruan Teknologi:
- Umpan Balik Pengguna:
- Persaingan di Pasar:
- Kemajuan ilmu pengetahuan dan teknologi:
- Ketidakpastian dalam persyaratan pengguna:
Evolusi perangkat lunak merujuk pada serangkaian perubahan dan pengembangan yang dilakukan terhadap perangkat lunak sepanjang waktu. Proses evolusi ini melibatkan berbagai tahapan yang bertujuan untuk meningkatkan kualitas, kinerja, dan fungsionalitas perangkat lunak. Beberapa aspek utama dari evolusi perangkat lunak melibatkan:
Analisis Kebutuhan:
- Proses dimulai dengan pemahaman yang mendalam tentang kebutuhan pengguna dan pemangku kepentingan. Ini melibatkan identifikasi kekurangan atau perubahan yang diperlukan dalam perangkat lunak.
Perencanaan Evolusi:
- Setelah kebutuhan diidentifikasi, langkah selanjutnya adalah merencanakan evolusi perangkat lunak. Ini mencakup alokasi sumber daya, penjadwalan, dan pengembangan rencana yang jelas untuk mengimplementasikan perubahan.
Perubahan Fungsional:
- Peningkatan fungsionalitas adalah bagian integral dari evolusi perangkat lunak. Ini melibatkan penambahan fitur baru, modifikasi, atau penghapusan fitur yang tidak lagi diperlukan.
Pembaruan Kode Sumber:
- Pembaruan kode sumber melibatkan peninjauan, pemahaman, dan modifikasi kode perangkat lunak. Pembaruan ini dapat mencakup perbaikan bug, optimisasi kinerja, atau penyesuaian dengan perubahan teknologi.
Pengujian:
- Setelah perubahan dilakukan, pengujian menyeluruh diperlukan untuk memastikan bahwa perubahan tersebut tidak menyebabkan masalah baru atau mempengaruhi kinerja yang ada. Pengujian termasuk pengujian fungsional, pengujian keamanan, dan pengujian kinerja.
Pengelolaan Konfigurasi:
- Sistem pengelolaan konfigurasi digunakan untuk melacak perubahan yang dilakukan pada perangkat lunak. Ini membantu dalam memahami versi mana yang digunakan, serta memungkinkan untuk rollback ke versi sebelumnya jika diperlukan.
Pengelolaan Proses dan Dokumentasi:
- Dokumentasi perubahan dan proses evolusi sangat penting. Ini mencakup dokumentasi tentang perubahan fungsional, perbaikan bug, dan proses pengujian. Dokumentasi ini membantu tim pengembangan dan pemeliharaan perangkat lunak.
Implementasi:
- Setelah pengujian berhasil, perubahan diimplementasikan ke dalam lingkungan produksi. Ini dapat melibatkan pembaruan perangkat lunak pada server, peluncuran pembaruan aplikasi, atau langkah-langkah implementasi lainnya.
Evaluasi dan Umpan Balik:
- Setelah implementasi, evaluasi dilakukan untuk memastikan bahwa perubahan memenuhi harapan dan tidak memicu masalah baru. Umpan balik dari pengguna juga diambil untuk memahami respons dan kebutuhan pengguna.
Proses evolusi perangkat lunak bersifat iteratif dan berkelanjutan, terus-menerus menyesuaikan perangkat lunak dengan kebutuhan yang berkembang, perubahan teknologi, dan tuntutan pengguna. Proses ini memastikan bahwa perangkat lunak tetap relevan dan dapat berkinerja optimal sepanjang waktu.
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
Maurice H. Halsted dan Mary Shaw mengajukan "Laws of Software Evolution" pada tahun 1977. Kemudian, Meir M. Lehman menyusun dan memperluasnya dalam kerangka kerja yang lebih terperinci. Laws of Software Evolution ini menggambarkan tren dan karakteristik evolusi perangkat lunak seiring waktu. Berikut adalah beberapa "Laws" dari Lehman mengenai evolusi perangkat lunak:
Hukum Pertumbuhan:
Lehman's First Law: "Sistem yang berkembang akan menjadi semakin rumit, kecuali jika ada usaha untuk menghentikan pertumbuhannya."
Penjelasan: Seiring waktu, fungsionalitas tambahan dan perubahan sistem menyebabkan peningkatan kompleksitas. Untuk mencegah kekacauan, diperlukan upaya aktif untuk mengelola dan memahami pertumbuhan tersebut.
Hukum Perubahan:
Lehman's Second Law: "Seiring waktu, setiap sistem akan menjadi tidak sesuai dengan lingkungan di mana sistem tersebut beroperasi."
Penjelasan: Perubahan dalam lingkungan (seperti perubahan kebutuhan pengguna atau perkembangan teknologi) menyebabkan kebutuhan perubahan dalam sistem agar tetap relevan.
Hukum Kendur:
Lehman's Third Law: "Rasio program yang konstan selama evolusi."
Penjelasan: Meskipun fungsionalitas sistem dapat ditingkatkan dan diubah, rasio kesalahan (bug) terhadap jumlah perubahan tetap konstan sepanjang waktu.
Hukum Konservasi Stabilitas Organisasi:
Lehman's Fourth Law: "Stabilitas organisasi adalah variabel bebas dalam evolusi perangkat lunak."
Penjelasan: Kesuksesan evolusi perangkat lunak tidak tergantung pada stabilitas organisasi. Organisasi dapat berubah atau tetap stabil tanpa mempengaruhi proses evolusi perangkat lunak secara signifikan.
Hukum Kontinuitas:
Lehman's Fifth Law: "Selama evolusi, jumlah perangkat lunak yang baru dan perangkat lunak yang lama akan tetap konstan."
Penjelasan: Meskipun ada pengembangan baru, perangkat lunak yang ada terus dipelihara dan dimodifikasi, sehingga jumlah total perangkat lunak tetap relatif konstan.
Hukum Inverse Massa:
Lehman's Sixth Law: "Ketidakpastian dalam perangkat lunak adalah fungsi invers dari jumlah massa perangkat lunak."
Penjelasan: Semakin besar massa perangkat lunak (jumlah baris kode atau kompleksitas), semakin kecil ketidakpastian tentang perilaku perangkat lunak.
Hukum Pembusukan:
Lehman's Seventh Law: "Kualitas perangkat lunak yang sedang membusuk semakin menurun."
Penjelasan: Tanpa upaya untuk memperbaiki atau memodernisasi, kualitas perangkat lunak cenderung memburuk seiring waktu.
Laws of Software Evolution ini memberikan pandangan umum tentang sifat evolusi perangkat lunak dan menyoroti pentingnya manajemen perubahan dan pemeliharaan untuk menjaga kualitas dan keberlanjutan sistem perangkat lunak.
Comments
Post a Comment