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.