Skip to main content

Definisi Kualitas Software

Semua developer software pasti setuju bahwa software yang berkualitas tinggi adalah tujuan yang penting. Tetapi bagaimana kita mendefinisikan kualitas software?

Dalam arti yang paling umum, kualitas software dapat didefinisikan sebagai: Proses software yang efektif yang diterapkan dengan cara menciptakan produk yang bermanfaat yang memberikan nilai yang bisa diukur bagi si pembuat dan si pengguna.

Definisi ini menekankan tiga poin penting:
  1. Proses software yang efektif: akan menentukan infrastruktur yang mendukung segala upaya dalam membangun produk software berkualitas tinggi. Aspek-aspek manajemen proses akan menciptakan "checks and balances" yang membantu menghindari kekacauan proyek — yang merupakan kontributor utama terhadap kualitas yang buruk. Praktik-praktik software engneering memungkinkan developer untuk menganalisis problem dan sekaligus merancang solusi yang solid — keduanya adalah hal penting untuk membangun software berkualitas tinggi. Akhirnya, berbagai aktivitas yang memayungi seperti manajemen perubahan (change management) dan berbagai review teknis memiliki banyak hal untuk dilakukan sehubungan dengan kualitas seperti halnya pada bagian lain dari software engineering.
  2. Produk yang bermanfaat: akan memberikan isi, fungsi, dan fitur yang diinginkan pengguna akhir, tetapi yang penting, produk tersebut akan menyajikan aset-aset tersebut dengan cara yang andal dan bebas kesalahan. Produk yang bermanfaat selalu memenuhi requirements yang telah secara eksplisit dinyatakan oleh para stakeholders. Selain itu, produk tersebut akan memenuhi serangkaian requirements yang implisit (mis.,kemudahan penggunaan) yang diharapkan dari semua software berkualitas tinggi.
  3. Dengan menambahkan nilai bagi si pembuat dan pengguna produk software: software berkualitas tinggi akan memberikan manfaat bagi organisasi pembuat software dan komunitas penggunanya. Organisasi pembuat software memperoleh nilai tambah karena software berkualitas tinggi membutuhkan lebih sedikit upaya untuk maintenance, lebih sedikit perbaikan bug, dan berkurangnya customer support. Ini memungkinkan para software engineer menghabiskan lebih banyak waktu untuk membuat aplikasi baru. Komunitas pengguna mendapatkan nilai tambah karena aplikasi memberikan kemampuan yang berguna dengan cara yang mempercepat beberapa proses bisnis. Hasil akhirnya adalah 
    1. pendapatan produk software yang lebih besar, 
    2. profitabilitas yang lebih baik ketika aplikasi mendukung proses bisnis, dan / atau 
    3. peningkatan ketersediaan informasi yang sangat penting bagi bisnis.
--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