Skip to main content

Faktor-faktor Untuk Mengukur Kualitas Software

Meskipun ada banyak ukuran kualitas software, correctness, maintanability, integrity, dan usability adalah yang paling dianggap memberikan indikator yang bermanfaat untuk tim proyek. Gilb memberikan definisi dan ukuran untuk masing-masing poin tersebut.
  • Correctness. Correctness adalah sejauh mana software melakukan fungsi yang diperlukan. Cacat (lack of correctness) adalah berbagai problem yang dilaporkan oleh pengguna program setelah program dirilis ke penggunaan umum. Untuk tujuan penilaian kualitas, cacat dihitung selama periode waktu standar, biasanya satu tahun. Ukuran yang paling umum untuk correctness adalah cacat per KLOC (Kilo Lines of Codes), di mana cacat didefinisikan sebagai kurangnya kesesuaian dengan persyaratan yang terverifikasi.
  • Maintability. Maintanability adalah kemudahan di mana suatu program dapat diperbaiki jika kesalahan ditemukan, disesuaikan jika lingkungannya berubah, atau ditingkatkan jika pelanggan menginginkan perubahan requirements. Tidak ada cara untuk mengukur maintanability secara langsung; oleh karena itu, kita harus menggunakan ukuran-ukuran yang tidak langsung tindakan. Metrik sederhana yang berorientasi waktu adalah mean-time-to-change (MTTC), waktu yang diperlukan untuk menganalisis permintaan perubahan, merancang yang sesuai modifikasi, mengimplementasikan perubahan, mengujinya, dan mendistribusikan perubahan ke semua pengguna.
  • Integrity. Atribut ini mengukur kemampuan sistem untuk menahan serangan (baik disengaja maupun disengaja) untuk keamanannya. Untuk mengukur integrity, ada dua atribut tambahan yang perlu didefinisikan, yaitu: ancaman dan keamanan. Ancaman adalah probabilitas (yang dapat diperkirakan atau diturunkan dari bukti empiris) bahwa serangan tipe tertentu akan terjadi dalam waktu tertentu. Keamanan adalah probabilitas (yang dapat diperkirakan atau diturunkan dari bukti empiris) bahwa serangan tipe tertentu akan dihadang. Integrity suatu sistem kemudian dapat didefinisikan sebagai:
Integrity = 𝜮 [1 - (ancaman x (1 - keamanan))]] 
Misalnya, jika ancaman (probabilitas bahwa serangan akan terjadi) adalah 0,25 dan keamanan (kemungkinan menghadang serangan) adalah 0,95, integrity sistem adalah 0,99 (sangat tinggi). Jika, di sisi lain, probabilitas ancaman adalah 0,50 dan kemungkinan menghadang serangan hanya 0,25, integrity sistemnya adalah 0,63 (sangat rendah).
  • Usability. Usability adalah upaya untuk mengukur kemudahan penggunaan (dan dapat diukur berdasarkan karakteristik interface). Dengan kata lain adalah usaha untuk mengukur user-friendliness dan dapat diukur dalam empat karakteristik:
    • ketrampilan fisik dan atau intelektual pengguna dalam mempelajari sistem
    • waktu yang diperlukan untuk menjadi cukup efisien dalam menggunakan sistem
    • peningkatan dalam produktivitas (dalam pendekatan jika sistem diganti) yang diukur ketika sistem digunakan oleh seseorang (efisiensi)
    • penilaian subyektif (kadang-kadang diperoleh melalui kuisioner) dari sikap pemakai terhadap sistem.
Keempat faktor di atas hanyalah sampling dari faktor-faktor yang telah diusulkan sebagai ukuran kualitas software.

--o0o--

Referensi: 
Software Engineering - A Practitioner's Approach - Roger S. Pressman / Bruce R. Maxim

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at