Adapun perbeddaan yang sangat mendasar dari model alternatif ini dibanding dengan model klasiknya adalah Kedua model alternatif ini tidak memiliki faktor Flexibility seperti yang dimiliki oleh model
Jaminan Mutu Perangkat Lunak - Alternative Models of Software Quality Factors
McCall. Model Evans dan Marciniak terdiri dari 12 faktor yang dibagi menjadi tiga kategori Model Deutsch dan Willis terdiri dari 15 faktor yang dapat dibagi menjadi empat kategori.
Model McCall
Faktor model McCalls mengklasifikasikan seluruh kebutuhan software ke dalam 11 faktor kualitas. 11 faktor kualitas tersebut juga masih dapat dikelompokkan ke dalam tiga kategori, yakni product operation, product revision dan product transition. Berikut merupakan gambaran mengenai faktor model McCall
Dari gambaran di atas, dapat kita ketahui bahwa pembagian faktor faktornya ke setiap kelompok adalah sebagai berikut: Product operation factors: Correctness, Reliability, Efficiency, Integrity, Usability. Product revision factors: Maintainability, Flexibility, Testability. Product transition factors: Portability, Reusability, Interoperability. Kemudian berikut adalah penjelasan mengenai beberapa faktor penentu kualitas perangkat lunak dari McCall :
1. Correctness (Ketepatan)
Correctness berhubungan dengan tingkat pemenuhan program atau perangkat lunak terhadap kebutuhan yang dispesifikasikan dan memenuhi tujuan / misi pengguna. Sedangkan spesifikasi keluaran biasanya multidimensional.
2. Reliability (Keandalan)
Reliability merupakan tingkat kemampuan program yang diharapkan dapat menampilkan fungsi yang dimaksud dengan presisi yang ditetapkan. Faktor ini juga berkaitan dengan tingkat kegagalan suatu perangkat lunak dalam suatu periode yakni dengan menentukan batasan tingkat kegagalan
yan g diperbolehkan di dalam keseluruhan sistem perangkat lunak maupun terbatas untuk beberapa fungsi tertentu.
3. Efficiency (Efisiensi)
Efficiency adalah jumlah sumber daya yang digunakan dan diproses dan kode yang diperlukan oleh program atau perangkat lunak untuk melaksanakan fungsinya. Seringkali sumber daya yang dimaksud adalah sumber daya hardware. Beberapa tipe efisiensi juga berhubungan erat dengan runtime, serta memori dan kapasitas hardisk yang dibutuhkan dalam melaksanakan suatu fungsi perintah.
4. Integrity (Integritas)
Integrity lebih mengarah ke keamanan suatu sistem perangkat lunak. integrity yakni merupakan tingkat kemampuan pengawasan akses terhadap data atau software oleh orang-orang tertentu. Pemberian akses tersebut diharapkan unyuk mencegah akses ke data oleh orang yang tidak berhak, dan untuk membedakan antara mayoritas personil yang diizinkan untuk hanya dapat melihat informasi dengan kelompok yang akan diizinkan untuk menambah dan mengubah data.
5. Usability (Penggunaan)
Usability berkaitan dengan usaha yang diperlukan untuk mempelajari, mengoperasikan, menyiapkan masukan dan mengartikan keluaran program. Hal ini juga sering dikaitkan dengan lingkup sumber daya staf yang diperlukan untuk melatih karyawan baru dan untuk mengoperasikan sistem perangkat lunak.
6. Maintainability (Perawatan)
Maintainability adalah usaha yang diperlukan oleh pengguna perangkat lunak untuk mengidentifikasi, menetapkan dan memperbaiki kesalahan dalam program perangkat lunak serta memverifikasi ketepatan dalam koreksi kesalahan. Faktor ini mengacu pada struktur modular dari perangkat lunak, internal Program dokumentasi, dan manual programmer, antara barang-barang lainnya.
7. Flexibility (Fleksibilitas)
Flexibility adalah kemampuan dan usaha yang diperlukan untuk memodifikasi program operasional sesuai dengan kebutuhan dan tingkat fleksibilitas yang ditetapkan. Hal Ini termasuk ke dalam sumber daya yang diperlukan untuk mengadaptasi paket perangkat lunak untuk berbagai pengguna yang memiliki latar belakang berbeda. Faktor ini juga mendukung kegiatan pemeliharaan, seperti perubahan dan penambahan pada perangkat lunak untuk meningkatkan layanan dan disesuaikan dengan perubahan teknis perusahaan atau lingkungan komersial.
9. Portability (Portabilitas)
Portability berhubungan dengan kemampuan adaptaso suatu perangkat lunak untuk ditempatkan pada suatu hardware yang berbeda, sistem operasi yang berbeda dan lain sebagainya. Jadi dapat dikatakan pula portability adalah usaha yang diperlukan untuk memindahkan program dari hardware/lingkungan sistem software. Faktor ini memungkinkan untuk menggunakan dasar perangkat lunak yang dan secara bersamaan dalam beragam perangkat keras dan sistem operasi.
1. Verifiability (Verifikasi)
Verifyability mendefinisikan fitur desain dan pemrograman yang memungkinkan verifikasi efisiensi dari desain dan pemrigraman. Seringkali untuk melakukan verifikasi tersebut berdasarkan pada modularitas, kesederhanaan dan kesesuaian terhadap pedoman dokumentasi dan pemrograman dan lain sebagainya.
2. Expandability (Ekspansi)
Expandability merujuk pada kemampuan serta usaha yang akan dilakukan untuk melakukan pengembangan aplikasi seperti Pelayanan untuk ruang lingkup yang lebih besar, meningkatkan pelayanan, atau menambahkan aplikasi baru dalam rangka untuk meningkatkan fungsionalitas. Sebagian besar konsep expandability mengacu pada faktor flexibillity dari model McCall.
1. Safety (Keamanan)
Safety mengarah pada suatu usaha untuk menjauhkan dari kondisi yang dapat membuat peralatan atau aplikasi menjadi down, terutama pada pengaturan perangkat lunak. Seperti pada pengaturan alarm atau peringatan yang akan menyala ketika perangkat lunak mendeteksi adanya kesalahan dalam penggunaan.
2. Manageability (Pengelolaan)
Manageability mengacu pada perangkat administrasi yang mendukung adanya modifikasi perangkat lunak selama proses pengembangan perangkat lunak dan periode pemeliharaan, seperti manajemen konfigurasi, prosedur perubahan manajemen perangkat lunak, dan sejenisnya.