Faktor dan kriteria dalam kualitas perangkat lunak menurut McCall

McCall’s Model merupakan model yang tertua, dikembangkan pada tahun 1976. Model ini pertama kali digunakan untuk sebuah implementasi proyek besar dalam US Air Force. Model ini bertujuan untuk menjembatani gap antara user dan developer.

Apa yang melatarbelakangi model ini adalah karena kurang jelasya kebutuhan yang ditetapkan untuk mencakup aspek penting dari fungsional sebuah software adalah penyebab dari buruknya performa suatu software.

Dalam membuat software yang memiliki performa baik, maka pada saat inisiasi harus menggali kebutuhan dari pengguna secara tepat. Kebutuhan harus didefinisikan secara komprehensif agar menghasilkan software yang benar-benar berkualitas. Kita akan menghasilkan software yang berkualitas apabila memperhatikan faktor-faktor kualitas software yang akan dibahas dalam McCall’s Model ini.

Keterangan :

McCall’s Model memiliki 3 perspektif utama untuk mendefinisikan dan mengidentifikasi kualitas produk dari software. Perspektif itu antara lain adalah :

Product revision           : Kemampuan untuk mengalami perubahan. Terdiri atas : Maintainability, flexibility, dan testability.

Product transition         : Kemampuan untuk beradaptasi dengan lingkungan yang baru. Terdiri atas : Portability, reusability, dan interoperability.

Product operations       : Karakteristik operasionalnya. Terdiri atas : Correctness, reliability, efficiency, integrity, dan usability.

Berikut ini adalah penjelasan dari masing masing faktor kualitas software :

Maintainability Usaha yang dibutuhkan oleh user serta personil pemeliharaan untuk mengidentifikasi kegagalan software, untuk memperbaiki kegagalan, dan untuk memverifikasi keberhasilan dari perbaikan yang telah dilakukan.
Flexibility Kemampuan dan usaha yang diperlukan untuk mendukung modifikasi, konfigurasi ulang, dan pemeliharaan sesuai dengan keinginan pengguna.
Testability Berkenaan dengan pengujian IS dengan operasionalnya untuk memastikan kebutuhan secara spesifik terpenuhi.
Portability Kecenderungan adaptasi sistem software ke lingkungan lain seperti hardware yang berbeda ataupun OS yang berbeda.
Reusability Berkenaan dengan transfer modul atau program untuk aplikasi lain.
Interoperability Fokus pada penciptaan antarmuka dengan sistem software lain atau dengan peralatan firmware lainnya.
Correctness Sejauh mana program sesuai dengan spesifikasinya.
Reliability Berkenaan dengan kegagalan untuk menyediakan layanan.
Efficiency Penggunaan code komputer secara efisien untuk melakukan operasi dan efisiensi penggunaan sumber daya komputer, misal : bahasa pemrogramman, OS, desain, strategi akses, teknik pemrogramman.
Integrity Berkenaan dengan keamanan sistem dari software, mencegah akses dari orang yang tidak berkepentingan.
Usability Dapat digunakan dengan mudah oleh manusia, usaha untuk memahami software. Berfokus pada sisi ergonomis.

Analisis kasus pengembangan aplikasi

Di bagian ini saya akan menganalisis aplikasi dengan menggunakan 11 faktor kualitas software berdasarkan McCall’s Model. Aplikasi yang dianalisis ini adalah hasil salah satu tugas akhir di jurusan sistem informasi ITS yang berjudul “Pengembangan Aplikasi Pengelolaan Workflow Undangan Dinas di Kabupaten Buton Utara Sulawesi Tenggara”.

Identifikasi kebutuhan non-fungsional

Usability requirement

Usability adalah kebutuhan non fungsional terkait dengan kemudahan penggunaan sistem atau perangkat lunak oleh user. Diantaranya kebutuhan Usability untuk sistem undangan dinas :

Ø Rancangan antarmuka aplikasi user friendly dengan pengguna

Ø Adanya fasilitas searching untuk memudahkan pengguna mencari data lebih cepat

Ø Adanya fasilitas SMS pemberitahuan sehingga dapat mempercepat verifikasi

Reliability and up-time requirement

Reliability adalah kebutuhan terkait kehandalan sistem atau perangkat lunak termasuk faktor keamanan (security) sistem. Diantaranya kebutuhan Reliability untuk sistem undangan dinas:

Ø Kehilangan data tidak dapat ditoleransi

Safety requirement

Safety adalah kebutuhan untuk fungsi syarat-syarat keamanan (yang secara detail bagaimana sistem harus menghindari terjadinya bahaya yang tidak diinginkan), dan integritas syarat keamanan sistem (yang secara detail seberapa sering fungsi dapat gagal dan memungkinkan bahaya terjadi. Diantaranya untuk kebutuhan safety untuk sistem undangan dinas :

Ø Hanya administrator yang mempunyai wewenang untuk membuat user yang sesuai dengan peranannya, mengubah peranan user, serta menghapus user

Identifikasi kebutuhan fungsional

Kebutuhan Fungsional utama yang akan digunakan dalam perangkat lunak untuk workflow pengelolaan surat dinas bagian undangan dinas di kabupaten Buton Utara adalah sebagai berikut :

Ø Sistem dapat mencatat konsep undangan dinas

Ø Sistem dapat mengubah konsep undangan

Ø Sistem dapat mengahapus konsep undangan

Ø Sistem dapat melihat daftar undangan

Ø Sistem dapat melihat detail undangan

Ø Sistem dapat melakukan pencarian undangan

Ø Sistem dapat mengirimkan konsep undangan

Ø Sistem dapat mengirim pesan pemberitahuan

Disamping kebutuhan fungsional utama yang telah disebutkan diatas, juga terdapat kebutuhan fungsional yang lain seperti yang akan disebutkan dibawah ini :

Ø Sistem dapat melihat daftar level

Ø Sistem dapat mengubah level

Ø Sistem dapat melihat daftar jabatan

Ø Sistem dapat menambah jabatan

Ø Sistem dapat mengubah jabatan

Ø Sistem dapat menghapus jabatan

Ø Sistem dapat menambah akun

Ø Sistem dapat mengubah akun

Ø Sistem dapat menghapus akun

Ø Sistem dapat melihat daftar akun

Ø Sistem dapat melihat profil

Ø Sistem dapat mengubah profil

Ø Sistem dapat melakukan pencarian akun

Ø Sistem dapat mengunduh file undangan

Ø Sistem dapat melihat laporan undangan terkirim.

Ø Sistem dapat mencetak laporan undangan terkirim

Ø Sistem dapat melihat rekapitulasi grafik undangan per bulan

Ø Sistem dapat melihat rekapitulasi penandatanganan undangan

Ø Sistem dapat mencetak rekapitulasi penandatanganan undangan

Korelasi dengan faktor kualitas software

Maintainability Terdapat jadwal maintenance selama 2 minggu sekali untuk mencegah kerusakan sistem nantinya. Jika terdapat kerusakan sistem, harus dilakukan penggantian secara langsung.
Flexibility Belum ditemukan pada aplikasi ini bahwa user dapat mengubah konfigurasi sesuai keinginan.
Testability Pengujian aplikasi dilakukan pada kebutuhan fungsional maupun non-fungsional, dapat disimpulkan bahwa aplikasi telah memenuhi aspek ini.
Portability Server aplikasi disarankan untuk berjalan terbatas di sistem operasi linux.
Reusability Belum ditemukan bahwa modul dapat diterapkan di aplikasi lain.
Interoperability Aplikasi client terbatas pada OS windows.
Correctness Pada aspek ini, aplikasi telah diuji menggunakan testcase dan memberikan hasil yang baik, implementasi aplikasi sesuai dengan kebutuhan yang telah disebutkan. Dengan demikian maka aplikasi telah memenuhi aspek correctness. Hasil testcase akan dilampirkan di bagian lampiran.
Reliability Aplikasi ini diharapkan memiliki keamanan sistem dalam menyimpan data. Kehilangan data tidak dapat ditoleransi. Aplikasi telah diuji dengan testcase terhadap SQL injection dan keamanan sistem tetap terjaga. Hasil ada di lampiran.
Efficiency Bahasa pemrogramman yang digunakan untuk membangun aplikasi ini adalah menggunakan PHP, javascript dan CSS yang memang baik untuk aplikasi berbasis web semacam ini.
Integrity Integrity diuji dari keamanan akun dengan semua tingkatan user. Uji keamanan akun dibuktikan dengan testcase dan berhasil. Hasil dapat dilihat pada lampiran.
Usability Usabilty dari aplikasi telah teruji dengan baik, sesuai dengan kebutuhan non-fungsional yang telah disebutkan di atas. Hasil dapat dilihat pada testcase.

Lampiran

Correctness

UseCase Usecase Testcase Hasil Uji Sistem
01.pengelolaan sistem
Masuk Akun UC-01.01 TC-01.01 ATC-01.01 B BerhasilBerhasil
Keluar Akun UC-01.02 TC-01.02 Berhasil
02. Pengelolaan Data Master
Lihat Daftar level UC-02.01 TC-02.01 Berhasil
Ubah level UC-02.02 TC-02.02 Berhasil
Lihat daftar jabatan UC.02.03 TC-02.03 Berhasil
Tambah jabatan UC.02.04 TC-02.04 Berhasil
Ubah jabatan UC-02.05 TC-02.05 Berhasil
Hapus jabatan UC-02.06 TC-02.06 Berhasil
03.pengelolaan pengguna
Lihat daftar akun UC-03.01 TC-03.01 Berhasil
Tambah akun UC-03.02 TC-03.02 Berhasil
Ubah akun UC-03.03 TC-03.03 Berhasil
Hapus akun UC-03.04 TC-03.04 Berhasil
Pencarian akun UC-03.05 TC-03.05 Berhasil
Lihat Profil UC-03.06 TC-03.06 Berhasil
Ubah Profil UC-03.07 TC-03.07 Berhasil
04.Pengelolaan undangan
Lihat daftar undangan UC-04.01 TC-04.01 Berhasil
Mencatat konsep undangan UC-04.02 TC-02.02 Berhasil
Lihat detail undangan UC.04.03 TC-04.03 Berhasil
Unduh file undnagan UC.04.04 TC-04.04 Berhasil
Pencarian undangan UC-04.05 TC-04.05 Berhasil
Persetujuan undangan UC-04.06 TC-04.06 Berhasil
Update tanggal kirim UC-04.07 TC-04.07 Berhasil
Ubah konsep undangan UC-04.08 TC-04.08 Berhasil
Hapus konsep ke assisten UC-04.09 TC-04.09 Berhasil
Teruskan konsep ke assisten (1,2,3) UC-04.10 TC-04.10 Berhasil
Teruskan konsep ke sekretaris daerah UC-04.11 TC-04.11 Berhasil
05.Pengelolaan laporan surat terkirim UC-05.01 TC-05.01 Berhasil
Lihat Laporan undangan terkirim UC-05.02 TC-05.02 Berhasil
Cetak Laporan undangan terkirim UC-05.03 TC-05.03 Berhasil
06.pengelolaan Rekapitulasi
Lihat Grafik Rekapitulasi undangan UC-06.01 TC-06.01 Berhasil
Lihat Rekapitulasi penandatanganan UC-06.02 TC-06.02 Berhasil
Cetak Rekapitulasi Penandatangan undangan UC-06.03 TC-06.03 Berhasil
07. Pengelolaan SMS
Mengirim pesan notifikasi UC-07.01 TC-07.01 Berhasil
Lihat daftar jabatan UC.02.03 TC-02.03 Berhasil
Tambah jabatan UC.02.04 TC-02.04 Berhasil
Ubah jabatan UC-02.05 TC-02.05 Berhasil
Hapus jabatan UC-02.06 TC-02.06 Berhasil

Reliability

No Aspek yang akan di Test Skenario Succes Criteria Keterangan (pengujian)
1 Kerentanan akan penghapusan data Melakukan SQL injection terhadap database Database tidak dapat ditembus dengan SQL injection Berhasil

Usability

No Aspek Yang akan di test Skenario Success Criteria Keterangan (pengujian)
1 Interface (antar muka)  Mengamati apakah tulisan bias dibaca dengan baikMengamati apakah penataan form tidak menyulitkan pengguna Tulisan dapat dibaca dengan baik dan mudah di pahami.Penataan form urut sesuai dengan urutan masing-masing BerhasilBerhasil
2 Fitur Tambahan Mengamati apakah ada fitur tambahan yang membantu jalananya sistem Adanya fitur tambahan yang memungkinkan untuk mempermudah jalannya sistem (searching,dll) Berhasil, karena terdapat fitur search yang memudahkan user untuk mencari data lebih cepat
3 Fasilitas Notifikasi SMS Mengamati apakah sms tersebut sesuai yang diinginkan oleh pengguna Sms pemberitahuan (notifikasi) tersebut dapat di pahami oleh pengguna/ user tersebut. Berhasil,Karena terdapat pesan notifikasi untuk memudahkan user meverivikasi data tersebut.

Integrity

No Aspek yang akan di Test Skenario Succes Criteria Keterangan (pengujian)
1 Hak untuk membuat User Mencoba menambahkan dan menghapus user dengan semua tingkatan user Hanya administrator yang bisa membuat user yang sesuai perananya dan mengapus m mengubah peranan user tersebut. Berhasil

Kesimpulan

Berdasarkan analisis kasus di atas menggunakan McCall’s Model, maka didapatkan rangkuman bahwa software memenuhi aspek-aspek berikut ini :

Maintainability Terpenuhi
Flexibility Kurang memenuhi
Testability Terpenuhi
Portability Kurang memenuhi
Reusability Kurang memenuhi
Interoperability Kurang memenuhi
Correctness Terpenuhi
Reliability Terpenuhi
Efficiency Terpenuhi
Integrity Terpenuhi
Usability Terpenuhi

Dari 11 faktor yang ada, software ini memenuhi 7 faktor sehingga dapat disimpulkan bahwa software ini cukup berkualitas.

Saran

Disarankan sebaiknya untuk melakukan testing terutama di bagian product transition karena dari faktor itulah kekurangan dari kualitas software ini.

Leave a Comment