Keandalan (Reliability)
Yunarso Anang
Lya Hulliyyatus Suadaa
Lutfi Rahmatuti Maghfiroh
Novianto Budi Kurniawan (dosen tidak tetap)
Yeni Rimawati (dosen tidak tetap)
*[ANSI91] ANSI/IEEE, "Standard Glossary of Software Engineering Terminology", STD-729-1991, ANSI/IEEE, 1991
Semua perangkat lunak berfungsi seperti yang ditentukan (tidak ada bug), tetapi ...
• Setelah perangkat lunak GPS ditentukan, requirements berubah (sistem yang
berdiri sendiri sekarang bagian dari sistem terintegrasi).
• Produsen autopilot dan GPS mengadopsi filosofi desain yang berbeda tentang
komunikasi perubahan mode.
• Autopilot tidak diprogram untuk mengenali bit status yang valid/tidak valid dalam
pesan dari GPS.
• Peringatan yang diberikan oleh antarmuka pengguna tidak cukup mencolok untuk
mengingatkan kru.
• Petugas belum terlatih dengan baik tentang peralatan ini.
Perangkat lunak yang andal membutuhkan semua bagian dari proses
pengembangan perangkat lunak untuk dilakukan dengan baik.
• Budaya organisasi yang mengharapkan kualitas. Ini berasal dari manajemen dan
staf teknis senior.
• Kesepakatan yang tepat dan tidak ambigu tentang kebutuhan (requirements).
• Desain dan implementasi yang menyembunyikan kompleksitas (misalnya, desain
terstruktur, pemrograman berorientasi objek).
• Gaya pemrograman yang menekankan kesederhanaan, keterbacaan, dan
penghindaran konstruksi berbahaya.
• Perangkat lunak yang membatasi atau mendeteksi kesalahan (misalnya,
penegasan/, sistem kontrol sumber, debugger).
• Verifikasi sistematis pada semua tahap pengembangan, termasuk kebutuhan,
arsitektur sistem, desain program, implementasi, dan pengujian pengguna.
• Perhatian khusus pada perubahan dan pemeliharaan.
Suatu sistem tidak ada gunanya jika tidak memenuhi kebutuhan klien
• Klien harus memahami dan meninjau kebutuhan yang disepakati secara rinci.
• Tidaklah cukup untuk memberikan dokumen spesifikasi kepada klien dan
memintanya untuk menandatangani.
• Anggota staf klien yang tepat harus meninjau area desain yang relevan (termasuk
operasi, materi pelatihan, dan administrasi sistem).
• Tes penerimaan harus menjadi milik klien.
Tujuan:
• Sebuah sistem yang terus beroperasi ketika masalah terjadi.
Contoh:
• Data masukan tidak valid (misalnya, dalam aplikasi pemrosesan data)
• Kelebihan beban (misalnya, dalam sistem jaringan)
• Kegagalan perangkat keras (misalnya, dalam sistem kontrol)
Pendekatan umum:
• Deteksi kegagalan
• Penilaian kerusakan
• Pemulihan kesalahan
• Perbaikan kesalahan