Faktor-Faktor Kualitas Perangkat
Lunak
Kualitas perangkat
lunak adalah keberadaan karakteristik dari suatu produk yang dijabarkan dalam
kebutuhannya, artinya kita harus melihat terlebih dahulu
karakteristik-karakteristik apa yang berhubungan atau tidak dengan
kebutuhan-kebutuhan yang diiinginkan oleh pemakai. Karakteristik yang dimaksud
yaitu contra-productive characteristics dan neutral characteristic. Sedangkan
factor-faktor kualitas perangkat lunak menurut McCall terdiri dari :
1. Correctness : Sejauh mana program memenuhi spesifikasi dan memenuhi
tujuan tugas pengguna. Kebenaran adalah sejauh mana kerja produk dan output
yang bebas dari cacat hasil kerja produk setelah dikirimkan. Kebenaran menjawab
pertanyaan khas berikut: Apakah aplikasi dan data sudah lengkap, akurat dan
konsisten?
2. Efciency : Kemampuan produk perangkat lunak untuk memberikan kinerja
yang sesuai dan relatif terhadap jumlah sumber daya yang digunakan pada saat
keadaan tersebut. Efisiensi adalah sejauh mana sesuatu secara efektif
menggunakan (yaitu, meminimalkan konsumsi atas) sumber dayanya. Sumber daya ini
dapat mencakup semua jenis sumber daya seperti komputer (perangkat keras,
perangkat lunak, dan jaringan), mesin, fasilitas, dan personil. Juga, jumlah
sumber daya komputasi dan kode yang diperlukan oleh program untuk melakukan
fungsi, kumpulan atribut yang digunakan pada hubungan antara tingkat kinerja
perangkat lunak dan jumlah sumber daya yang digunakan saat itu. Efisiensi
berkaitan dengan "membagi beban, deteksi kesalahan end-to-end: tes
sederhana, cacat kinerja yang muncul di bawah beban berat, mengutamakan
keselamatan, penskalaan, throughput, latency, ketersediaan. Apakah model
memenuhi tujuannya tanpa pemborosan sumber daya?
3.
Flexibility : Upaya yang diperlukan untuk memodifikasi program
operasional. Upaya untuk mengubah atau memodifikasi produk perangkat lunak
untuk beradaptasi dengan lingkungan lain atau menjadi aplikasi lain yang
berbeda dari rancangannya
4. Functionality : Kemampuan produk perangkat lunak untuk menyediakan fungsi
yang dinyatakan memenuhi dan mengandung yang dibutuhkan ketika perangkat lunak
digunakan dalam kondisi tertentu. Fungsionalitas merupakan atribut yang menjaga
keberadaan fungsi dan sifat spesifik mereka. Fungsi adalah sesuatu yang
memenuhi atau mengandung kebutuhan. Fungsionalitas dinilai dengan mengevaluasi
fitur dan kemampuan dari program, sifat umum dari fungsi yang dikirimkan dan
keamanan sistem secara keseluruhan
5. Integrity : Sejauh mana akses ke perangkat lunak atau data oleh orang
yang tidak berhak dapat dikendalikan. Juga, atribut yang terkait dengan
pengendalian produk perangkat lunak untuk akses ilegal untuk program dan data
6. Interprobability : Kemampuan produk perangkat lunak untuk berinteraksi dengan
satu atau lebih sistem tertentu. Juga, upaya yang diperlukan untuk memasangkan
satu sistem dengan yang lain, atribut perangkat lunak yang bergantung pada
kemampuannya untuk berinteraksi dengan sistem tertentu, sejauh mana sistem atau
salah satu komponennya terhubung dengan benar dan beroperasi dengan sesuatu
yang lain.
7. Maintainability : Kemampuan produk perangkat lunak untuk dimodifikasi.
Modifikasi dapat mencakup koreksi, perbaikan atau adaptasi dari perangkat lunak
untuk disesuaikan dengan lingkungan, dan dalam persyaratan dan spesifikasi
fungsional. Juga, upaya yang diperlukan untuk menemukan dan memperbaiki
kesalahan dalam program operasional. Pemeliharaan adalah saat dimana aplikasi
atau komponen dapat dipertahankan antara rilis utama. Juga, atribut yang
diperhatikan pada upaya yang diperlukan untuk membuat modifikasi tertentu,
eberapa banyak perubahan atau memodifikasi komponen untuk memperbaiki
kesalahan, untuk meningkatkan kinerja, atau untuk beradaptasi dengan lingkungan
yang berubah
8. Portability : Kemampuan produk perangkat lunak untuk dapat dipindahkan
dari satu lingkungan ke lingkungan yang lain. Juga, upaya yang diperlukan untuk
memindahkan program dari satu konfigurasi perangkat keras dan atau lingkungan
sistem perangkat lunak ke sistem lain. Portabilitas adalah saat dimana aplikasi
atau komponen dapat dipindahkan dari satu lingkungan yang lain.
9. Reability : Kemampuan produk perangkat lunak untuk mempertahankan
tingkat kinerja tertentu ketika digunakan dalam kondisi tertentu. Keandalan
adalah kemampuan yang diharapkan dari program untuk melakukan fungsinya yang membutuhkan
ketelitian. Hal ini dievaluasi dengan mengukur frekuensi dan tingkat keparahan
kegagalan, keakuratan hasil output, waktu yang berarti antara kegagalan (MTBF),
kemampuan untuk pulih dari kegagalan dan prediktabilitas dari program ini
karena program yang tidak dapat dipercaya sering gagal, atau menghasilkan data
yang tidak benar. Juga, kehandalan merupakan atribut yang ditentukan pada
kemampuan perangkat lunak untuk mempertahankan tingkat kinerja saat di bawah
kondisi untuk jangka waktu tertentu. Keandalan adalah sejauh mana produk
beroperasi tanpa kegagalan dalam kondisi tertentu selama periode waktu
tertentu.
10.
Reusability : Reusabilitas adalah saat dimana aplikasi atau komponen
yang sudah ada dapat digunakan kembali. Ini adalah sejauh mana sebuah program
dapat digunakan dalam aplikasi lain yang berkaitan dengan kemasan dan ruang
lingkup fungsi yang program lakukan. Misalnya, reusabilitas yang mungkin ketika
semua modul berisi dua atau lebih fungsi unik yang jika dipisahkan dari kode
utama, dapat digunakan kembali oleh program lain. Selain itu, ia merupakan
atribut yang berkaitan dengan beban transfer modul atau program untuk aplikasi
lain.
11.
Testability : Kemampuan produk perangkat lunak yang memungkinkan
modifikasi perangkat lunak untuk divalidasi. Juga, upaya yang diperlukan untuk
menguji program untuk memastikan ia melakukan fungsi yang diharapkan.
Testability adalah saat dimana aplikasi atau komponen memfasilitasi penciptaan
dan pelaksanaan keberhasilan tes (yaitu, tes yang akan menyebabkan kegagalan
yang disebabkan semua cacat yang ada). Juga, atribut perangkat lunak yang
berkaitan dengan upaya yang diperlukan untuk memvalidasi modifikasi perangkat
lunak.
12. Understandability : Kemampuan produk perangkat lunak untuk memungkinkan
pengguna untuk memahami apakah perangkat lunak tersebut cocok, dan bagaimana
perangkat lunak itu dapat digunakan untuk tugas dan kondisi tertentu. Juga,
atribut perangkat lunak yang diperlukan dalam upaya pengguna untuk mengenali
konsep logis dan penerapannya
A. Faktor Kualitas
Perangkat Lunak Operasional Produk
Berdasarkan
model McCall, 5 faktor kualitas yang terdapat di dalam kategori operasional
produk yang berhubungan langsung dengan kebutuhan operasional harian antara
lain :
1)
Correctness
(Kebenaran)
Kebutuhan kebenaran didefinisikan
sebagai daftar dari kebutuhan keluaran dari sebuah sistem software. Spesifikasi
keluaran biasanya multidimensi, beberapa di antaranya termasuk :
o Tujuan
Output
o Akurasi
dari keluaran yang dapat dapat merugikan jika perhitungan datanya tidak tepat.
o Kelengkapan
dari informasi keluaran yang merugikan jika informasinya tidak lengkap.
o Informasi
Terkini (didefinisikan sebagai waktu antara kejadian dan yang ditunjukkan oleh
sistem perangkat lunak).
o Ketersediaan
informasi (reaksi terhadap waktu, didefinisikan sebagai waktu yang diperlukan
untuk mendapatkan informasi yang dibutuhkan sebagai reaksi atas permintaan
perusahaan)
o Standarisasi
coding dan dokumentasi sistem
software
Contoh Kasus :
Persyaratan
Correctness dari suatu sistem informasi keanggotaan klub adalah sebagai berikut
:
Ø Tujuan
output : Daftar terdefinisi yang terdiri dari 11 jenis laporan, empat jenis
huruf standar untuk anggota dan delapan jenis pertanyaan, yang akan ditampilkan
pada monitor berdasarkan permintaan.
Ø Akurasi
yang dibutuhkan dari output : Probabilitas untuk output yang tidak akurat,
mengandung satu atau lebih kesalahan, tidak melebihi 1%.
Ø Kesempurnaan
informasi keluaran : Probabilitas hilang data tentang anggota, kehadirannya di
acara-acara klub, dan pembayarannya tidak melebihi 1%.
Ø Informasi
terbaru : Tidak lebih dari dua hari kerja untuk informasi tentang partisipasi
dalam acara dan tidak lebih dari satu hari kerja untuk informasi tentang
masuknya pembayaran anggota dan data pribadi.
Ø Tersedianya
informasi : Reaksi waktu untuk query
akan kurang dari dua detik rata rata, waktu reaksi untuk laporan kurang dari
empat jam.
Ø Standar
diperlukan dan pedoman : Perangkat lunak dan dokumentasinya diwajibkan untuk
mematuhi pedoman klien.
2)
Reliability
(Tahan Uji)
Kebutuhan
akan reliability terkait dengan
kegagalan menyediakan layanan. Kebutuhan ini menentukan rata-rata kegagalan
yang diperbolehkan dalam sistem dan mengacu ke keseluruhan sistem atau satu
atau lebih dari fungsi yang berbeda. Persyaratan Reliability berurusan dengan
kegagalan untuk menyediakan layanan yang ditentukan dengan tingkat kegagalan
maksimum yang diperbolehkan sistem perangkat lunak, dan dapat merujuk pada
seluruh sistem atau untuk satu atau lebih fungsi terpisah.
Contoh Kasus :
o Frekuensi
kegagalan unit heart-monitoring yang
akan beroperasi dalam bangsal perawatan intensif rumah sakit ini harus kurang
dari satu dalam 20 tahun. Fungsi deteksi serangan jantung diwajibkan untuk
memiliki tingkat kegagalan kurang dari satu per satu juta kasus.
o Salah
satu persyaratan dari sistem perangkat lunak baru untuk dipasang di kantor
cabang utama Bank Kemerdekaan yang mengoperasikan 120 cabang adalah tidak ada
kegagalan, dalam rata-rata lebih dari 10 menit per bulan selama jam kantor
bank. Selain itu, probabilitas dari off-time
(waktu yang dibutuhkan untuk perbaikan dan pemulihan semua layanan bank) dalam
waktu lebih dari 30 menit harus kurang dari 0,5%.
3)
Efficiency
Kebutuhan efisiensi
terkait dengan kebutuhan akan sumber daya hardware
untuk melaksanakan seluruh fungsi dalam sebuah sistem software dan memenuhi
semua kebutuhan yang lain.
Sumber daya perangkat
keras utama yang harus dipertimbangkan adalah kemampuan pengolahan computer
(diukur dalam MIPS - jutaan instruksi per detik, MHz atau MegaHertz - jutaan
siklus per detik, dll), kemampuan penyimpanan data dalam hal memori dan
kapasitas disk (diukur dalam MBs - Megabytes, GBS - Gigabytes, TB - Terabytes,
dll) dan kemampuan komunikasi data dari jalur komunikasi (biasanya diukur dalam
kbps - Kilobits per detik, Mbps - Megabits per detik, dan Gbps - Gigabits per
detik). Persyaratan tersebut mungkin termasuk nilai maksimum di mana sumber
daya hardware akan diterapkan dalam
sistem perangkat lunak yang dikembangkan atau firmware.
Contoh Kasus :
o Sederetan
toko mempertimbangkan 2 alternatif penawaran terhadap sistem perangkat lunak.
Kedua penawaran berisi penempatan computer yang sama pada kantor pusat dan
semua cabang-cabangnya. Perbedaan dari kedua proposal tersebut terletak pada
volume penyimpanan, dimana untuk penawaran A : 20 GB per komputer di cabang,
100 GB di komputer Kantor Pusat, sementara penawaran B : 10 GB per komputer di
cabang, 30 GB di komputer Kantor Pusat. Ada juga perbedaan terkait jumlah jalur
komunikasi yang dibutuhkan. Penawaran A berisi 3 jalur komunikasi dengan
kecepatan masing-masing 28.8 kbps antara masing-masing cabang dan kantor pusat,
sementara penawaran B berisi 2 jalur komunikasi dengan kecepatan yang sama
antara masing-masing cabang dan kantor pusat. Dalam kasus ini jelas bahwa
penawaran B lebih efisien dari penawaran A karena lebih sedikit sumber daya hardware yang dibutuhkan.
o Sebuah
unit meteorologi outdoor, dilengkapi
dengan 1000 mA hour cell, harus
memiliki kemampuan untuk memasok kebutuhan energi dari unit tersebut paling
sedikit 30 hari. Pengukuran kinerja sistem, sekali dalam satu jam, hasil dalam
bentuk logs, dan mengirimkan hasil satu hari sekali ke pusat meteorology
melalui komunikasi nirkabel (wireless).
B. Faktor Kualitas Perangkat Lunak Perbaikan
Produk
Menurut
model McCall faktor kualitas perangkat lunak, tiga faktor kualitas terdiri dari
kategori revisi produk. Faktor-faktor tersebut berhubungan dengan orang-orang
persyaratan yang mempengaruhi
lengkap
kegiatan pemeliharaan perangkat lunak: pemeliharaan korektif (koreksi kesalahan
perangkat lunak dan kegagalan), adaptif pemeliharaan (mengadaptasi perangkat
lunak saat ini untuk keadaan tambahan dan pelanggan tanpa mengubah perangkat
lunak) dan perfektif pemeliharaan (peningkatan dan perbaikan perangkat lunak
yang ada dengan mengenai isu-isu lokal terbatas). Ini adalah sebagai berikut.
1)
Maintainability
Persyaratan
Maintainability menentukan upaya yang akan dibutuhkan oleh pengguna dan
personil perawatan untuk mengidentifikasi alasan kegagalan perangkat lunak,
untuk memperbaiki kegagalan, dan untuk memverifikasi keberhasilan koreksi. Ini
persyaratan faktor tersebut mengacu pada struktur modular perangkat lunak,
internal program dokumentasi, dan manual programmer, di antara barang-barang
lainnya.
Contoh
:
Khas
maintainability persyaratan:
(a)
ukuran sebuah modul
perangkat lunak tidak akan melebihi 30 laporan.
(b)
pemrograman akan
mematuhi perusahaan pengkodean standar dan pedoman.
2)
Flexibility
Kemampuan
dan upaya yang diperlukan untuk mendukung kegiatan pemeliharaan adaptif
tercakup oleh persyaratan fleksibilitas. Ini termasuk sumber daya (yaitu dalam
manusia-hari) yang diperlukan untuk mengadaptasi paket perangkat lunak untuk
berbagai pelanggan perdagangan yang sama, dari luasan berbagai kegiatan, dari
rentang yang berbeda produk dan sebagainya. Persyaratan ini faktor tersebut
juga mendukung perfektif pemeliharaan kegiatan, seperti perubahan dan
penambahan perangkat lunak dalam rangka meningkatkan layanan dan untuk
disesuaikan dengan perubahan dalam perusahaan teknis atau komersial lingkungan.
Contoh
:
TSS
(guru perangkat lunak pendukung) berkaitan dengan dokumentasi prestasi murid,
perhitungan nilai akhir, pencetakan dokumen grade panjang, dan pencetakan
otomatis surat peringatan kepada orang tua murid gagal. Spesifikasi perangkat
lunak termasuk persyaratan fleksibilitas sebagai berikut:
(a)
Perangkat lunak ini
harus sesuai untuk guru-guru semua mata pelajaran dan sekolah semua tingkatan
(SD, SMP dan tinggi).
(b)
Non-profesional harus
mampu menciptakan jenis baru laporan menurut dengan kebutuhan guru dan / atau
pendidikan kota departemen tuntutan.
3)
Testability
Testability
persyaratan berurusan dengan pengujian sistem informasi sebagai juga dengan
operasi. Testability persyaratan untuk kemudahan pengujian adalah terkait
dengan fitur khusus dalam program yang membantu tester, misalnya dengan
memberikan hasil antara standar dan file log. Testability persyaratan terkait
dengan operasi software otomatis yang dilakukan mencakup diagnostik oleh sistem
perangkat lunak sebelum memulai sistem, untuk mengetahui apakah semua komponen
dari sistem perangkat lunak yang berfungsi dengan baik dan untuk mendapatkan
laporan tentang kesalahan terdeteksi. Tipe lain dari persyaratan transaksi ini
dengan cek diagnostik otomatis diterapkan oleh para teknisi pemeliharaan untuk
mendeteksi penyebab kegagalan perangkat lunak. Contoh :
Sebuah
unit kontrol industri komputer diprogram untuk menghitung berbagai ukuran
status produksi, laporan tingkat kinerja
mesin, dan mengoperasikan sinyal peringatan dalam situasi yang telah
ditetapkan. Satu testability persyaratan dituntut adalah untuk mengembangkan
satu set data uji standar dengan diharapkan sistem yang dikenal reaksi yang
benar di setiap tahap. Ini uji standar data akan dijalankan setiap pagi,
sebelum produksi dimulai, untuk memeriksa apakah unit komputer bereaksi dengan
benar.
C. Faktor Kualitas
Perangkat Lunak Peralihan Produk
Menurut
McCall, tiga faktor kualitas termasuk dalam transisi produk kategori, kategori
yang berkaitan dengan adaptasi perangkat lunak untuk lain lingkungan dan
interaksi dengan sistem perangkat lunak lain.
1)
Portabilitas
Persyaratan
Portabilitas cenderung adaptasi dari sistem perangkat lunak untuk lainnya
lingkungan yang terdiri dari hardware yang berbeda, sistem operasi yang
berbeda, dan sebagainya. Persyaratan ini memungkinkan untuk terus menggunakan
yang sama software dasar dalam situasi beragam atau menggunakannya secara
bersamaan di berbagai hardware dan sistem operasi situasi.
Contoh
:
Sebuah
paket perangkat lunak yang dirancang dan diprogram untuk beroperasi di Windows
2000 lingkungan diperlukan untuk memungkinkan transfer murah untuk Linux dan
Windows NT lingkungan.
2)
Reusabilitas
Reusability
persyaratan berurusan dengan penggunaan perangkat lunak modul awalnya dirancang
untuk satu proyek dalam proyek software baru saat ini sedang dikembangkan.
Mereka juga dapat memungkinkan proyek-proyek masa depan untuk menggunakan modul
yang diberikan atau grup modul dari software yang dikembangkan saat ini.
Penggunaan kembali perangkat lunak diharapkan dapat menghemat sumber daya
pembangunan, memperpendek masa pengembangan, dan menyediakan modul lebih
berkualitas. Manfaat ini kualitas yang lebih tinggi berdasarkan asumsi bahwa
sebagian besar kesalahan perangkat lunak telah terdeteksi oleh kegiatan jaminan
kualitas dilakukan pada perangkat lunak yang asli, oleh pengguna perangkat
lunak asli, dan selama menggunakan kembali yang sebelumnya. Isu-isu reuse
perangkat lunak menjadi subjek standar industri perangkat lunak (lihat IEEE,
1999).
Contoh
:
Sebuah
unit pengembangan perangkat lunak telah diwajibkan untuk mengembangkan sebuah
sistem perangkat lunak untuk operasi dan kontrol dari sebuah kolam renang hotel
yang melayani hotel tamu dan anggota klub renang. Walaupun manajemen tidak
mendefinisikan persyaratan usabilitas, pemimpin tim unit, setelah menganalisis
informasi persyaratan pengolahan spa hotel, memutuskan untuk menambahkan
persyaratan reusabilitas bahwa beberapa perangkat lunak modul untuk kolam
renangharus dirancang dan diprogram dengan cara yang akan memungkinkan
penggunaan kembali dalam spa's perangkat lunak masa depan sistem, yang
rencananya akan dikembangkan tahun depan.
Modul
ini akan memungkinkan:
Ø Memeriksa
validitas Masuk kartu keanggotaan dan merekam kunjungan.
Ø Restaurant
penagihan.
Ø Pengolahan
surat perpanjangan keanggotaan.
3)
Interoperabilitas
Interoperabilitas
persyaratan fokus pada pembuatan interface dengan perangkat lunak lain sistem
atau dengan firmware peralatan lain (misalnya, firmware dari mesin produksi dan
peralatan pengujian antarmuka dengan produksi pengendalian perangkat lunak).
Persyaratan Interoperabilitas dapat menentukan nama (s) dari perangkat lunak
atau firmware untuk interface mana yang akan diperlukan. Mereka bisa juga
menentukan struktur output diterima sebagai standar dalam industri tertentu
atau aplikasi daerah.
Contoh
:
Firmware
peralatan laboratorium medis diperlukan untuk prosesnya hasil (output) menurut
struktur data standar yang kemudian dapat berfungsi sebagai masukan untuk
sejumlah sistem informasi laboratorium standar.