Prinsip Reka Bentuk merupakan panduan utama yang diperlukan sebelum membangunkan perkhidmatan digital kerajaan. Terdapat 18 elemen Prinsip Reka Bentuk iaitu Reka Bentuk Berpaksikan Rakyat, Berpacukan Data, Kandungan Terancang, Teknologi Bersesuaian, Antara Muka Minimalis dan Mudah, Seragam, Paparan/Menu Jelas, Realistik, Kognitif, Fleksibel, Komunikasi, Struktur Hierarki, Komponen Antara Muka dan Pengalaman Pengguna (UI/UX), Tipografi, Tetapan Lalai, Kawalan Pengguna, Pencegahan Ralat serta Panduan dan Dokumentasi.
Huraian berkenaan elemen Prinsip Reka Bentuk adalah seperti berikut:
Reka bentuk yang berpaksikan rakyat (citizen-centric) merujuk kepada pendekatan yang menempatkan keperluan dan kehendak pengguna (rakyat) sebagai fokus utama [1][2]. Berikut adalah beberapa aspek yang berkaitan dengan reka bentuk yang berpaksikan rakyat [3][4][5]:
a) Mematuhi Kehendak Pengguna
- Reka bentuk yang berpaksikan rakyat memerlukan pemahaman mendalam tentang keperluan, kehendak dan konteks pengguna.
b) Melibatkan Pengguna
- Melibatkan pengguna dalam setiap fasa pembangunan perkhidmatan bermula daripada perancangan hingga pelaksanaan. Setiap komen dan maklum balas pengguna hendaklah dicatat dan dinilai.
- Keterlibatan pengguna membantu memastikan perkhidmatan memenuhi keperluan mereka dengan lebih baik.
c) Memudahkan Pengguna
- Paparan antara muka pengguna, konotasi, penggunaan menu, mesej dan komponen reka bentuk hendaklah bersesuaian dan mudah difahami oleh rakyat mengikut heuristik (kelaziman).
- Merujuk komponen reka bentuk yang disediakan sebagai panduan.
d) Mengutamakan Keselamatan dan Privasi
- Aspek keselamatan dan privasi hendaklah menjadi keutamaan dalam pembangunan dan pelaksanaan perkhidmatan dengan mengambil kira perkara-perkara yang melibatkan dasar, polisi, pekeliling, garis panduan, standard dan amalan terbaik dari semasa ke semasa.
- Pengguna perlu merasa selamat dan dilindungi ketika menggunakan perkhidmatan.
e) Mengikut Norma dan Budaya
- Reka bentuk harus mempertimbangkan kepelbagaian norma dan budaya mengikut pengguna sasaran. Antara muka harus relevan, mudah difahami dan tidak menyentuh sensitiviti semua lapisan masyarakat.
- Menggunakan bahasa Melayu sebagai keutamaan dan bahasa Inggeris sebagai bahasa kedua.
f) Memudahkan Capaian Pengguna
- Perkhidmatan hendaklah dapat dicapai oleh semua pengguna, termasuk yang mempunyai keperluan khas.
- Reka bentuk dan paparan harus mematuhi standard aksesibiliti seperti yang dinyatakan oleh World Wide Web Consortium (W3C).
g) Memastikan Perkhidmatan Selari dengan Objektif Sosial dan Ekonomi
- Perkhidmatan hendaklah dapat membantu meningkatkan kualiti hidup rakyat, memenuhi keperluan sosial dan ekonomi mereka.
- Rakyat boleh menggunakan perkhidmatan yang disediakan bagi memudahkan urusan seharian mereka dengan pihak kerajaan.
Prinsip Reka Bentuk pembangunan yang berpacukan data merujuk kepada panduan dan pendekatan yang memanfaatkan data dengan lebih efisien. Tujuannya adalah bagi mengatasi pertindihan di antara data, penyedia perkhidmatan serta membantu membuat analisis keputusan dengan lebih tepat. Berikut merupakan beberapa prinsip utama [6] berhubung reka bentuk pembangunan yang berpacukan data:
- Prinsip Perkongsian Data Atas Keperluan dan Mendapat Persetujuan: Perkongsian data hanya dilaksanakan sekiranya terdapat keperluan dan telah mendapat persetujuan daripada pihak penyedia perkhidmatan yang berkepentingan.
- Prinsip Perkongsian Data Secara Selamat: Data perlu dikongsi dengan cara yang selamat mengikut standard keselamatan yang ditetapkan dari semasa ke semasa. Ini termasuk mengenal pasti risiko dan mengambil langkah-langkah untuk melindungi data daripada capaian yang tidak dibenarkan.
- Prinsip Perkongsian Data Menambah Nilai Kepada Perkhidmatan Sektor Awam, Rakyat dan Negara: Perkongsian data hendaklah memberi manfaat kepada perkhidmatan awam, rakyat dan negara. Data yang dikongsi seharusnya meningkatkan keberkesanan dan kecekapan perkhidmatan awam.
Berpacukan data dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada pendekatan yang menggalakkan penggunaan data secara berstruktur dan teratur dalam proses pembangunan aplikasi.
Berikut adalah beberapa aspek [7] yang berkaitan dengan berpacukan data:
a) Pemodelan Data:
- Pemodelan data melibatkan penentuan data yang diperlukan oleh aplikasi dan bagaimana data tersebut akan dikaitkan dengan data lain.
- Reka bentuk berpacukan model menggunakan seni bina pacuan metadata seperti Sistem Pengurusan Kandungan (CMS), Power BI, Tableau, penggunaan API dan lain-lain supaya pembangun sistem boleh membangunkan aplikasi tanpa menulis kod.
- Struktur reka bentuk data perlu mengikut piawaian yang terdapat dalam Data Dictionary Sektor Awam (DDSA) bagi memudahkan usaha-usaha perkongsian maklumat menerusi integrasi dan interoperabiliti sistem.
b) Selaras dengan Objektif Projek dan Pengetahuan Organisasi:
- Pastikan pemilihan teknologi dan struktur data selaras dengan matlamat projek dan pengetahuan organisasi.
- Pertimbangkan faktor seperti keperluan organisasi, budaya organisasi dan strategi teknologi.
c) Mudah difahami:
- Reka bentuk data yang dibangunkan perlu mudah difahami oleh pembangun sistem supaya dapat data tersebut dapat diuruskan dengan baik.
d) Keselamatan dan Privasi:
- Data hendaklah diurus dengan selamat dan mematuhi undang-undang privasi yang berkuat kuasa dari semasa ke semasa.
- Pastikan setiap aspek keselamatan dan privasi data terpelihara, meliputi data at rest, data in use dan data in transit.
Prinsip-prinsip ini membantu memastikan bahawa data digunakan dengan berkesan dan memberi manfaat yang maksimum kepada masyarakat dan negara.
¶ 3. Kandungan Terancang
Kandungan hendaklah disediakan dengan jelas dan tepat bagi memastikan matlamat perkhidmatan tercapai. Merancang kandungan dalam reka bentuk pembangunan aplikasi melibatkan dua fasa utama seperti berikut:
Fasa 1: Menyediakan Reka Bentuk Konsep [8]
Fasa ini menyediakan satu landskap reka bentuk konsep secara holistik yang menggambarkan keseluruhan aplikasi. Reka bentuk konsep perlu menjelaskan perkara berikut:
- Fungsi Perkhidmatan: Apa fungsi utama yang akan dilakukan oleh perkhidmatan ini?
- Pengalaman Pengguna: Bagaimana pengguna akan berinteraksi dengan perkhidmatan? Apa yang akan pengguna alami?
Fasa 2: Menyediakan Reka Bentuk Seni Bina [9]
Reka Bentuk Seni Bina memperincikan konsep perkhidmatan yang bakal dibangunkan meliputi perkara berikut:
- Penyimpanan Data: Bagaimana data akan disimpan dan diuruskan?
- Integrasi dengan Sistem Lain: Bagaimana aplikasi akan berinteraksi dengan sistem lain yang telah digunakan?
- Struktur Data: Bagaimana data akan diatur dan disusun?
- Jenis Aplikasi: Apakah jenis aplikasi yang akan dibangunkan (contohnya, laman web, portal, sistem atau aplikasi mudah alih)?
- Keselamatan Data: Bagaimana data akan dilindungi?
Kedua-dua fasa membolehkan kandungan diuruskan dengan lebih baik menggunakan tools yang bersesuaian mengikut keperluan pengguna dan keupayaan semasa agensi.
Penentuan teknologi dalam Prinsip Reka Bentuk merujuk kepada penggunaan teknologi dan alatan yang bersesuaian bagi membangunkan perkhidmatan. Berikut merupakan aspek [10] yang berkaitan dengan penentuan teknologi:
a) Bahasa Pengaturcaraan (Programming Language):
- Memilih bahasa pengaturcaraan yang bersesuaian dengan keperluan aplikasi.
- Mempunyai pasukan pembangun yang berkemahiran dalam bahasa pengaturcaraan yang dipilih.
- Mempertimbangkan faktor sampingan seperti kebolehgunaan, prestasi dan komuniti sokongan bagi memastikan kesinambungan perkhidmatan.
b) Rangka Kerja Pembangunan (Development Framework):
- Rangka kerja pembangunan membantu mempercepatkan pembangunan perkhidmatan dengan menyediakan struktur, komponen dan alatan yang boleh digunakan oleh pasukan pembangun mengikut standard yang ditetapkan.
- Memilih rangka kerja pembangunan yang sesuai dengan jenis aplikasi, keupayaan pasukan pembangun dan keperluan projek.
Sebagai contoh sekiranya menggunakan bahasa pengaturcaraan PHP, rangka kerja pembangunan bersesuaian seperti Laravel, CodeIgniter, Yii dan CakePHP lazimnya digunakan, manakala bagi bahasa pengaturcaraan Java, rangka kerja Spring, Struts dan GWT lazimnya digunakan.
c) Pangkalan Data (Database):
- Memilih jenis pangkalan data yang sesuai dengan keperluan aplikasi. Ini termasuk pangkalan data berstruktur (seperti RDMS), tidak berstruktur (seperti NoSQL) atau penyimpanan berorientasikan dokumen.
- Mempertimbangkan faktor seperti kebolehskalaan (scalability), kecepatan (rapid/agile) dan kebolehgunaan (usability).
d) Teknologi Front-End dan Back-End
- Mengadaptasi penggunaan teknologi secara dua aras (two-tier) untuk antara muka pengguna (front-end) dan bahagian belakang aplikasi (back-end).
Contohnya, gunakan teknologi HTML/CSS/JavaScript seperti React, Angular atau Vue untuk front-end, manakala untuk back-end, gunakan Node.js, Python, Java atau PHP.
e) Infrastruktur dan Hosting
- Menentukan di mana aplikasi akan dihoskan sama ada memilih penyedia awan (cloud) atau infrastruktur sendiri (on-premises).
- Mempertimbangkan faktor seperti kestabilan, skala dan kos.
f) Keselamatan dan Perlindungan Data:
- Memilih teknologi yang memastikan keselamatan data pengguna dan perlindungan terhadap ancaman siber.
Ini termasuk penggunaan protokol HTTPS, enkripsi data dan pengurusan hak akses.
- Mengambil kira Reka Bentuk Berteraskan Keselamatan (Security by Design) dalam pembangunan sistem bagi menjamin keselamatan data serta memenuhi keperluan akta, arahan dan pekeliling yang berkuat kuasa.
g) Keselarasan dengan Objektif Projek dan Pengetahuan Organisasi:
- Memastikan teknologi yang dipilih selaras dengan matlamat projek dan pengetahuan organisasi.
- Mempertimbangkan faktor seperti keperluan organisasi, budaya organisasi dan strategi teknologi.
Penentuan teknologi adalah langkah penting dalam memastikan aplikasi dibangunkan dengan menggunakan alat dan teknologi yang sesuai dan efisien.
Antara muka pengguna yang minimalis lebih mudah difahami dan digunakan berbanding yang terlalu kompleks dengan lambakan pelbagai komponen, warna dan visual. Berbalik kepada tujuan asal perkhidmatan dalam talian diperkenalkan adalah supaya pengguna boleh melaksanakan transaksi dengan mudah, cepat dan berkesan. Justeru, sebagai pintu masuk utama perkhidmatan, antara muka yang dibangunkan perlu memfokuskan dengan jelas perkhidmatan yang ingin disampaikan [11].
- Elakkan meletakkan kandungan, paparan (layout) atau komponen yang tidak diperlukan pada antara muka sehingga mengelirukan pengguna serta menyebabkan fokus pengguna beralih daripada sasaran sebenar.
- Gunakan komponen yang bersesuaian mengikut kelaziman (heuristik) pengguna secara konsisten dan seragam. Cara ini juga dapat mengurangkan beban pengguna untuk memahami dan mengingati setiap paparan antara muka yang berbeza.
- Penggunaan bahasa dan terma yang jelas membolehkan pengguna lebih mudah memahami maklumat yang hendak disampaikan.
- Bahasa yang seragam serta lazim digunakan dapat meningkatkan lagi pengalaman pengguna. Sekiranya perlu memaparkan maklumat yang khusus, gunakan Label atau Kotak Mesej.
- Sediakan navigasi yang intuitif, konsisten dalam elemen reka bentuk dan kebolehcapaian oleh semua jenis pengguna.
- Reka bentuk antara muka yang adaptif dan responsif mengikut pengguna, peranti dan konteks yang berbeza.
Keseragaman dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada penggunaan satu set piawaian yang konsisten dalam proses pembangunan aplikasi untuk memastikan kualiti, kebolehgunaan dan kebolehoperasian antara pelbagai sistem aplikasi. Ini termasuklah penggunaan metodologi yang sama, alat pembangunan dan piawaian kod yang memudahkan integrasi dan pengurusan sistem aplikasi secara menyeluruh.
Secara umumnya, keseragaman [12] dalam Prinsip Reka Bentuk pembangunan aplikasi membantu dalam:
- Memastikan aplikasi yang dibangunkan selamat dan boleh dipercayai.
- Memudahkan kerja penyelenggaraan dan kemas kini aplikasi.
- Mengurangkan kos pembangunan melalui penggunaan komponen yang boleh dikongsi dan diguna semula.
- Mempercepatkan proses pembangunan dengan mengelakkan kerja yang berulang.
Paparan dan menu yang jelas merupakan aspek penting dalam Prinsip Reka Bentuk pembangunan aplikasi.
a) Paparan (User Interface, UI):
Paparan (UI) aplikasi termasuk elemen-elemen seperti teks, gambar, butang dan ruang kerja aplikasi. Prinsip Reka Bentuk paparan yang jelas melibatkan [13][14]:
- Konsistensi: Semua elemen perlu kekal pada kedudukan yang sama supaya pengguna akan berasa selesa semasa menggunakan aplikasi. Reka bentuk perlu konsisten dari segi persembahan dan fungsi pada semua antara muka.
- Kebolehan membuat pemerhatian: Penunjuk atau butang interaksi perlulah mudah dikenal pasti. Pengalaman pengguna yang terbaik adalah apabila pengguna boleh memerhatikan kedudukan butang tertentu agar dapat menggunakan aplikasi dengan selesa.
- Boleh dipelajari: Reka bentuk interaksi perlulah mudah untuk dipelajari dan diingati.
- Kebolehan untuk menjangka: Reka bentuk interaksi yang baik dan berkesan membolehkan pengguna membuat jangkaan perkara yang akan berlaku dalam aliran proses aplikasi sebelum pengguna menggunakan aplikasi tersebut.
- Maklum balas: Boleh memberikan gambaran sebenar mengenai reka bentuk interaksi dan maklumat mengenai hasil reka bentuk interaksi tersebut. Pasukan pembangun menggunakan maklum balas untuk melakukan penambahbaikan pada reka bentuk interaksi yang telah dihasilkan.
b) Menu:
Menu adalah struktur yang membolehkan pengguna mengakses fungsi dan pilihan dalam aplikasi. Prinsip Menu yang jelas melibatkan [15]:
- Teratur: Susun menu dengan teratur dan logik bagi membantu pengguna membuat carian dengan mudah dan mengakses menu pilihan yang diperlukan.
- Kepastian: Pengguna harus tahu apa yang akan terjadi ketika mereka memilih suatu menu. Label menu harus jelas dan deskriptif.
- Kesederhanaan: Jangan terlalu banyak menu atau sub-menu. Pastikan menu hanya untuk pilihan yang relevan dan penting.
- Konsistensi: Menu harus konsisten di seluruh aplikasi. Pengguna tidak boleh keliru dengan perubahan menu di pelbagai halaman atau modul.
Paparan dan menu yang jelas adalah penting untuk memastikan pengguna dapat berinteraksi dengan aplikasi secara efisien dan efektif.
Realistik dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada pendekatan yang memastikan bahawa aplikasi yang dibangunkan adalah praktikal, berfungsi dengan baik dan sesuai dengan keperluan pengguna. Berikut adalah beberapa aspek yang berkaitan dengan realistik [16] dalam reka bentuk aplikasi:
- Kepentingan Pengguna: Reka bentuk aplikasi harus memahami keperluan dan kehendak pengguna secara menyeluruh. Ini termasuk memahami konteks penggunaan, kebolehgunaan dan keperluan fungsional.
- Keterbatasan Teknikal: Reka bentuk aplikasi perlu mempertimbangkan keterbatasan teknikal seperti sumber daya peranti, kecepatan jaringan dan kesesuaian peranti. Aplikasi yang terlalu kompleks atau memerlukan sumber daya yang tidak realistik mungkin tidak dapat berfungsi dengan baik.
- Kesesuaian dengan Objektif: Aplikasi harus direka dengan mempertimbangkan objektif dan matlamat yang ingin dicapai. Reka bentuk yang realistik akan memastikan aplikasi dapat mencapai tujuan tersebut.
- Keselamatan dan Privasi: Reka bentuk aplikasi harus mematuhi undang-undang privasi dan memastikan data pengguna dilindungi. Ini termasuk mengambil kira isu-isu seperti pengumpulan data, pengesahan pengguna dan enkripsi.
- Kemampuan Pembangunan: Pertimbangan yang realistik mempertimbangkan kemampuan dan kepakaran pasukan pembangun. Terlalu rumit atau sukar untuk dibangunkan mungkin tidak praktikal.
- Keselarasan dengan Anggaran dan Masa: Reka bentuk aplikasi harus mematuhi anggaran dan jadual masa yang ditetapkan. Ini termasuk mengenal pasti keperluan yang paling penting dan mengutamakan pembangunan berdasarkan keutamaan.
- Kesesuaian dengan Teknologi: Reka bentuk aplikasi harus memilih teknologi yang sesuai dengan keperluan dan kemampuan pasukan pembangun. Terlalu banyak penggunaan teknologi baharu atau eksperimen mungkin tidak realistik.
Dalam Prinsip Reka Bentuk pembangunan aplikasi, realistik bermaksud memastikan aplikasi dapat berfungsi dengan baik, memenuhi keperluan pengguna dan mematuhi keterbatasan teknikal dan peruntukan yang ada.
Berikut adalah beberapa langkah yang boleh dilaksanakan untuk memastikan aplikasi adalah realistik:
- Analisis Keperluan Pengguna: Lakukan analisis terperinci tentang keperluan pengguna. Perbincangan perlu diadakan dengan pengguna bagi mengenal pasti masalah yang ingin diselesaikan dan fahami konteks penggunaan aplikasi. Pastikan aplikasi yang dibangunkan memenuhi keperluan pengguna secara praktikal.
- Penggunaan Teknologi yang Sesuai: Pilih teknologi yang sesuai dengan keperluan aplikasi dan kemampuan pasukan pembangun. Terlalu banyak kebergantungan kepada teknologi baru atau eksperimen mungkin tidak realistik. Pastikan teknologi yang dipilih dapat diimplementasikan dengan baik.
- Keterbatasan Sumber Daya: Pertimbangkan keterbatasan sumber daya seperti peruntukan, tenaga kerja dan infrastruktur. Pastikan aplikasi dapat dibangun dengan sumber daya yang ada tanpa mengabaikan kualiti.
- Jadual Masa yang Realistik: Tetapkan jadual masa yang realistik untuk pembangunan aplikasi. Jangan terlalu optimis dalam menentukan garis masa. Pastikan jadual perancangan mengambil kira pengujian aplikasi yang terlibat, pembaikan selepas pengujian dan iterasi.
- Pengujian yang Mendalam: Uji aplikasi secara menyeluruh untuk memastikan fungsi aplikasi berjalan dengan baik. Laksanakan ujian fungsian (contoh: ujian unit, ujian komponen/modul, ujian sistem), ujian integrasi, ujian migrasi, ujian bukan fungsian (contoh: ujian keselamatan, ujian prestasi) dan ujian penerimaan (UAT, PAT, FAT) bagi mengenal pasti ralat dan memperbaikinya dengan segera.
- Keselarasan dengan Objektif Bisnes/Organisasi: Pastikan aplikasi menyokong tujuan bisnes atau organisasi. Reka bentuk aplikasi harus selaras dengan visi dan misi organisasi.
- Keselamatan dan Privasi: Reka bentuk aplikasi perlu menitikberatkan aspek keselamatan dan privasi. Pastikan data pengguna dilindungi dengan baik dan aplikasi tidak memiliki kerentanan yang dapat dimanfaatkan oleh pihak yang tidak bertanggungjawab.
- Iterasi dan Pembaikan Berterusan: Aplikasi yang realistik perlu terus melalui proses penambahbaikan dan peningkatan. Setelah peluncuran, pemantauan berterusan perlu dilaksanakan mengikut keperluan.
Kognitif dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada aspek pemikiran dan proses kognitif pengguna semasa berinteraksi dengan aplikasi. Ini melibatkan bagaimana pengguna memproses maklumat, mengingati, berfikir dan menyelesaikan masalah. Berikut adalah beberapa aspek yang berkaitan dengan kognitif [17][18] dalam reka bentuk aplikasi:
- Kebolehgunaan: Reka bentuk aplikasi harus memudahkan pengguna untuk berinteraksi. Penggunaan ikon, teks dan butang harus intuitif dan tidak memerlukan usaha berlebihan dari segi pemikiran.
- Organisasi Maklumat: Aplikasi harus menyusun maklumat dengan teratur dan logik. Pengguna harus berupaya mencari dan mengakses maklumat dengan mudah.
- Pengurangan Beban Kognitif: Reka bentuk antara muka harus mengurangkan beban kognitif terhadap pengguna. Ini termasuk menghindari informasi berlebihan, mengurangkan kompleksiti dan memastikan elemen antara muka mudah dikenali.
- Kesesuaian dengan Kemampuan Pengguna: Aplikasi hendaklah mempertimbangkan kemampuan kognitif pengguna. Jangan mengandaikan semua pengguna memiliki pemahaman yang sama. Sesuaikan reka bentuk dengan kepelbagaian kemampuan kognitif.
- Maklum Balas Visual: Pengguna harus mendapat maklum balas visual yang jelas tentang tindakan yang dilakukan. Penggunaan butang, animasi dan perubahan visual harus memberikan petunjuk yang memudahkan pemahaman pengguna.
- Pengurangan Limpahan Maklumat: Jangan membebani pengguna dengan terlalu banyak maklumat sekaligus. Reka bentuk harus memaparkan maklumat yang relevan dan penting sahaja.
- Pengalaman Pengguna yang Menarik: Aplikasi yang menarik dan menghiburkan dapat meningkatkan keterlibatan pengguna. Penggunaan elemen visual, animasi dan naratif yang baik dapat memperkaya pengalaman kognitif.
Dalam reka bentuk aplikasi, memahami aspek kognitif pengguna adalah penting untuk mencipta antara muka yang efisien dan efektif. Berikut merupakan cara mengukur beban kognitif pengguna:
a) Menggunakan Kaedah Kognitif Load [19]
Terdapat beberapa kaedah yang dapat digunakan untuk mengukur beban kognitif:
- NASA Task Load Index (NASA-TLX): Kaedah subjektif yang meminta pengguna menilai beban kognitif pada beberapa dimensi seperti kecepatan kerja, ketepatan dan ketegangan mental.
- Dual-Task Performance: Pengukuran beban kognitif dengan meminta pengguna melakukan tugas utama (seperti menyelesaikan tugas di aplikasi) sambil menjalankan tugas tambahan (misalnya menghitung angka).
- Pengukuran Fisiologi: Mengukur aktiviti otak, denyutan jantung atau respons kulit untuk mengenal pasti beban kognitif.
b) Pengamatan dan Maklum Balas Pengguna:
- Amati pengguna semasa berinteraksi dengan aplikasi. Perhatikan tanda-tanda ketidakpastian, kebingungan atau usaha berlebihan.
- Dapatkan maklum balas daripada pengguna melalui komen, soal selidik atau catatan.
c) Ujian Keterlibatan Mod:
- Uji keterlibatan mod melibatkan moderator yang membimbing pengguna melalui tugas dan mengumpulkan maklum balas secara langsung.
- Pengguna akan memberikan maklum balas tentang beban kognitif yang dialami semasa berinteraksi dengan aplikasi.
d) Analisis Data:
- Analisis maklum balas dan data menerusi kaedah pengukuran kognitif.
- Kenal pasti masalah dan penambahbaikan yang diperlukan.
- Bandingkan hasil dengan skala rujukan (seperti NASA-TLX) untuk mengukur beban kognitif secara lebih objektif.
Pengukuran beban kognitif membantu memahami pengalaman pengguna sebenar dan memastikan aplikasi yang dibangunkan memenuhi keperluan mereka secara efektif.
Fleksibel dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada kemampuan aplikasi untuk beradaptasi, berubah dan berfungsi dengan baik dalam pelbagai situasi dan keadaan. Berikut adalah beberapa aspek yang berkaitan dengan fleksibel [20] dalam reka bentuk aplikasi:
- Kebolehskalaan: Aplikasi yang fleksibel dapat mengatasi pertumbuhan dan perubahan skala. Ini termasuk kemampuan untuk menambah atau mengurangkan kapasiti, pengguna dan data tanpa mengabaikan prestasi aplikasi.
- Modular: Reka bentuk aplikasi harus memisahkan komponen menjadi modul yang berasingan. Ini memudahkan perubahan dan peningkatan tanpa mengganggu keseluruhan sistem.
- Konfigurasi: Aplikasi yang fleksibel membolehkan pengguna mengkonfigurasi dan menyesuaikan pengaturan (setting) yang sesuai dengan keperluan mereka. Ini termasuk pilihan bahasa, tema dan keutamaan pengguna.
- Penggunaan Teknologi Terkini: Reka bentuk harus memilih teknologi yang relevan dan terkini bagi memastikan aplikasi dapat berfungsi dengan baik selaras dengan perubahan teknologi semasa.
- Kemudahan Integrasi: Aplikasi yang fleksibel dapat berintegrasi dengan sistem lain melalui API dan Web Services untuk memperluas kefungsian dan memberikan pengalaman yang lebih baik kepada pengguna. Integrasi antara perkhidmatan digital baharu dan sistem sedia ada memastikan keserasian dan peningkatan kecekapan.
- Pengurusan Data yang Dinamik: Aplikasi harus dapat mengurus data dengan mudah, termasuk bagi proses import, eksport dan transformasi data. Ini memastikan aplikasi dapat beradaptasi dengan perubahan data.
Komunikasi dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada proses berkomunikasi secara efektif dengan pelbagai pihak yang terlibat dalam pembangunan aplikasi. Berikut adalah beberapa aspek yang berkaitan dengan komunikasi [21] dalam reka bentuk aplikasi:
- Keterlibatan Pengguna: Komunikasi dengan pemegang taruh adalah kunci untuk memahami keperluan dan kehendak mereka. Penglibatan pemegang taruh dalam setiap fasa pembangunan membantu memastikan aplikasi memenuhi keperluan mereka.
- Kerjasama dalam Pasukan Pembangun: Komunikasi yang baik antara ahli pasukan pembangun dapat memastikan pemahaman yang sama tentang matlamat dan keperluan aplikasi.
- Kerjasama dengan Pihak Berkepentingan: Komunikasi dengan pihak berkepentingan seperti pengurusan organisasi, pengguna dan pemegang taruh penting untuk memastikan aplikasi memenuhi keperluan semua pihak.
- Pengurusan Perubahan: Komunikasi yang berkesan membantu mengurus perubahan dalam proses pembangunan aplikasi termasuk memaklumkan perubahan kepada semua pihak yang terlibat.
- Kesedaran Terhadap Isu-isu Teknikal dan Keterbatasan: Komunikasi yang jelas tentang isu-isu teknikal dan keterbatasan membantu mengelakkan konflik dan memastikan semua pihak memahami situasi.
Struktur hierarki dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada penyusunan elemen-elemen antara muka pengguna (UI) dalam susunan hierarki yang logik dan teratur. Ini melibatkan pembahagian antara muka pengguna kepada bahagian-bahagian yang lebih kecil atau subsistem agar lebih mudah diurus dan difahami [22][23].
Struktur hierarki memainkan peranan penting [24] dalam:
- Mengatur bagaimana pengguna berinteraksi dengan aplikasi serta bagaimana aplikasi mengendalikan maklumat dan fungsi yang disediakan kepada pengguna.
- Membantu pengguna agar mudah menavigasi melalui aplikasi, menemui maklumat yang diperlukan dan menggunakan fungsi aplikasi dengan lebih lancar.
Contoh: Dalam aplikasi e-dagang, struktur hierarki mengatur bahagian-bahagian utama seperti halaman utama, produk, troli beli-belah dan akaun pengguna. Setiap bahagian ini kemudiannya boleh dibahagikan kepada subsistem yang lebih kecil seperti senarai produk, butiran produk, proses pembayaran dan sebagainya.
Struktur hierarki yang jelas membolehkan pengguna dapat menggunakan aplikasi dengan lebih efisien.
Antara Muka dan Pengalaman Pengguna (UI/UX) adalah dua aspek penting dalam reka bentuk perisian atau aplikasi. Kedua-dua elemen ini mempunyai fungsi yang berbeza dalam proses reka bentuk tetapi saling berkait rapat bagi menghasilkan reka bentuk yang baik.
Komponen UI merujuk kepada elemen-elemen asas antara muka pengguna yang membentuk struktur dan interaksi visual dalam aplikasi [25]. Dalam Prinsip Reka Bentuk pembangunan aplikasi, penggunaan komponen UI adalah untuk menyusun antara muka pengguna dengan cara yang konsisten serta mudah difahami oleh pengguna.
Setiap komponen UI mempunyai fungsi tersendiri dalam memaparkan maklumat atau menyediakan interaksi kepada pengguna. Contohnya, butang, input teks, menu, bar navigasi, petunjuk dan banyak lagi
Ketika mereka bentuk aplikasi, penggunaan komponen UI yang konsisten dapat:
- Mencipta pengalaman pengguna yang seimbang dan intuitif.
- Membantu pengguna memahami bagaimana aplikasi berfungsi dan memberi tindak balas.
- Memudahkan pengurusan dan penyelenggaraan aplikasi dibuat kerana penggunaan antara muka yang konsisten boleh dilakukan dengan lebih mudah.
Komponen UX merujuk kepada keseluruhan interaksi dan persepsi pengguna semasa berinteraksi dengan produk, perkhidmatan, atau aplikasi digital [26]. Ia melibatkan setiap aspek [27] seperti:
- Interaksi pengguna termasuk antara muka, fungsi, prestasi, kebolehgunaan serta reaksi emosi.
- Persepsi pengguna terhadap produk atau perkhidmatan tersebut.
UI yang baik dapat meningkatkan kebolehgunaan, manakala UX yang baik dapat memastikan interaksi pengguna dengan aplikasi lancar dan memuaskan. Dengan gabungan kedua-dua aspek ini, pengguna dapat merasai pengalaman yang positif dan memuaskan semasa menggunakan aplikasi tersebut.
Tipografi dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada penggunaan jenis huruf, saiz huruf, jarak antara huruf dan atribut-atribut lain yang berkaitan dengan teks dalam antara muka pengguna aplikasi. Tipografi yang baik memainkan peranan penting dalam memberikan pengalaman pembacaan yang menyenangkan dan memudahkan pengguna untuk memahami maklumat yang disampaikan dalam aplikasi. Beberapa aspek penting tipografi [28] dalam reka bentuk aplikasi adalah seperti berikut:
- Jenis Huruf: Pemilihan jenis huruf yang sesuai untuk aplikasi dan mudah dibaca oleh pengguna.
- Saiz Huruf: Penetapan saiz huruf yang sesuai untuk pelbagai jenis teks dalam aplikasi seperti teks utama, tajuk dan keterangan.
- Jarak Antara Huruf: Susunan jarak antara huruf yang sesuai adalah perlu untuk memastikan kejelasan dan keselesaan pembacaan.
- Warna dan Kontras: Penggunaan warna teks yang sesuai dengan latar belakang dan kontras yang mencukupi untuk memastikan kebolehlihatan teks.
- Hierarki Visual: Penggunaan tipografi untuk membentuk hierarki visual dalam aplikasi, tajuk, subtajuk dan teks utama dengan jelas.
Tipografi yang baik tidak hanya menjadikan aplikasi kelihatan profesional, tetapi juga meningkatkan kebolehgunaan dan keterbacaan aplikasi serta memastikan pengguna dapat mengakses dan memahami maklumat yang disediakan dengan lebih mudah.
Default atau tetapan lalai dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada nilai atau keadaan asal yang diberikan kepada sesuatu elemen atau konfigurasi [29]. Berikut adalah beberapa penggunaan tetapan lalai [30] dalam konteks pembangunan aplikasi:
- Nilai Lalai: Apabila pengguna tidak mengkonfigurasi sesuatu pilihan, sistem akan menggunakan nilai lalai. Contohnya, jika pengguna tidak memilih bahasa antara muka, sistem mungkin menggunakan bahasa Melayu sebagai nilai lalai.
- Reka Bentuk Antara Muka: Tetapan lalai juga berkaitan dengan reka bentuk antara muka pengguna (UI). Contohnya, butang “Batal” biasanya diletakkan di sebelah kiri manakala butang “Simpan” di sebelah kanan sebagai nilai lalai.
- Konfigurasi Sistem: Dalam aplikasi yang kompleks, terdapat banyak konfigurasi seperti pengaturan privasi, notifikasi dan tema. Nilai lalai untuk konfigurasi ini mempengaruhi cara aplikasi berfungsi.
- Pengaturan Keselamatan: Nilai lalai juga berkaitan dengan keselamatan. Sebagai contoh, sekiranya pengguna tidak menetapkan kata laluan, sistem mungkin menggunakan kata lalai yang mudah diteka.
Dalam reka bentuk pembangunan aplikasi, memilih nilai lalai yang sesuai adalah penting untuk memastikan aplikasi berfungsi dengan baik dan memenuhi keperluan pengguna. Berikut adalah beberapa panduan untuk memilih nilai lalai yang sesuai [31][32]:
- Kenal Pasti Keperluan: Keperluan aplikasi dan kehendak pengguna perlu difahami sebelum penetapan nilai lalai. Faktor seperti bahasa, reka bentuk antara muka dan konfigurasi sistem juga perlu dipertimbangkan.
- Nilai Lalai yang Berasaskan Data: Nilai lalai boleh berdasarkan data yang relevan. Contohnya, jika aplikasi memerlukan pengguna memilih bahasa, nilai lalai boleh ditetapkan kepada bahasa Melayu kerana ia adalah bahasa rasmi.
- Responsif terhadap Peranti: Jika aplikasi beroperasi pada pelbagai peranti (telefon, tablet, komputer), pertimbangkan nilai lalai yang membolehkan paparan responsif. Setiap skrin boleh dikonfigurasi supaya paparan dapat disesuaikan dengan dimensi skrin sebenar.
Antara formula yang boleh digunakan untuk mengira dimensi skrin yang sesuai adalah : Lebar = Max(App.Width, App.DesignWidth) dan Tinggi = Max(App.Height, App.DesignHeight)
- Pengalaman Pengguna: Nilai lalai harus mempertimbangkan pengalaman pengguna. Contohnya, nilai lalai untuk butang “Batal” dan “Simpan” dalam reka bentuk antara muka harus mengikut konvensyen yang biasa digunakan oleh pengguna.
- Keselamatan dan Privasi: Nilai lalai yang berkaitan dengan keselamatan dan privasi haruslah dipilih dengan teliti. Contohnya, nilai lalai untuk kata laluan tidak boleh terlalu mudah diteka.
Nilai lalai bukan sahaja mempengaruhi pengalaman pengguna, tetapi juga keselamatan dan keberkesanan aplikasi. Oleh itu, pertimbangan dengan teliti perlu dibuat sebelum menetapkan nilai lalai.
Kawalan pengguna dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada elemen-elemen interaktif yang diberikan kepada pengguna untuk mengendalikan aplikasi atau melakukan tindakan tertentu seperti penggunaan butang, input, menu, penunjuk dan sebagainya bagi membolehkan pengguna berinteraksi dengan aplikasi [33]. Berikut merupakan faktor yang perlu dipertimbangkan dalam merancang kawalan pengguna [34]:
- Jelas: Kawalan pengguna perlu jelas dan menunjukkan kepada pengguna apa yang akan berlaku apabila menggunakan aplikasi.
- Konsisten: Kawalan pengguna perlu sentiasa konsisten dalam keseluruhan aplikasi.
- Sesuai: Kawalan pengguna perlu sesuai dengan jenis tindakan atau operasi yang ingin dilakukan pengguna.
- Mudah diakses: Kawalan pengguna harus mudah dilihat dan diakses oleh pengguna berserta petunjuk sekiranya perlu.
- Kesesuaian dengan peranti: Kawalan pengguna perlu sesuai dengan peranti yang digunakan. Contohnya, penetapan paparan saiz pada skrin telefon perlulah berbeza dengan saiz paparan komputer.
Perancangan kawalan pengguna yang baik akan membantu meningkatkan kebolehgunaan dan kepuasan pengguna serta memastikan pengguna dapat menggunakan aplikasi dengan lancar [35].
Pencegahan ralat dalam Prinsip Reka Bentuk pembangunan aplikasi merujuk kepada tindakan yang diambil untuk mengurangkan kemungkinan berlakunya kesilapan yang dibuat oleh pengguna semasa menggunakan aplikasi [36]. Berikut merupakan langkah-langkah yang boleh diambil untuk pencegahan ralat dalam pembangunan aplikasi:
- Penggunaan Penunjuk dan Bantuan: Memberikan panduan dan bantuan yang jelas kepada pengguna untuk menggunakan aplikasi.
- Pengesahan: Meminta pengesahan daripada pengguna sebelum melaksanakan tindakan penting atau tindakan yang tidak boleh dipulihkan seperti memadam data.
- Konsisten: Menyediakan antara muka pengguna yang konsisten dan mudah difahami bagi mengelakkan kekeliruan pengguna.
- Pelaksanaan Perekayasaan Proses Bisnes: Meminimumkan bilangan langkah yang diperlukan untuk menyelesaikan tugas terutamanya bagi proses kerja yang kompleks.
- Ujian Pengguna: Melakukan ujian pengguna untuk mengenal pasti punca utama kesilapan dalam aplikasi dan membuat penambahbaikan yang diperlukan.
Pencegahan ralat membantu meningkatkan pengalaman pengguna dengan memastikan bahawa penggunaan aplikasi adalah lancar dan bebas daripada ralat yang tidak diingini.
¶ 18. Panduan dan Dokumentasi
Penyediaan panduan dan dokumentasi dalam Prinsip Reka Bentuk pembangunan aplikasi memainkan peranan penting dalam memastikan keberhasilan dan keselamatan aplikasi. Berikut adalah beberapa dokumentasi yang boleh dibangunkan [37]:
- Panduan Pembangunan Aplikasi: Panduan ini memberikan arahan dan prosedur kepada pasukan pembangun aplikasi yang merangkumi langkah-langkah untuk membangun, menguji dan melaksanakan aplikasi. Panduan ini merangkumi aspek seperti reka bentuk antara muka pengguna, pengaturan keselamatan dan penggunaan alat pembangunan.
- Dokumentasi Teknikal: Dokumentasi ini merangkumi maklumat teknikal tentang aplikasi, termasuk struktur pangkalan data, arkitektur sistem dan konfigurasi sistem. Dokumen ini membantu pasukan pembangun memahami fungsi aplikasi berfungsi dan mengurus aplikasi tersebut.
- Dokumentasi Pengguna atau Manual Pengguna: Dokumentasi ini disediakan untuk kegunaan pengguna bagi memberikan panduan penggunaan aplikasi. Contohnya, panduan pengguna, tutorial dan FAQ (soalan lazim).
- Dokumentasi Perubahan: Dokumentasi ini merekodkan sejarah atau kronologi perubahan dalam aplikasi. Dokumen ini membantu pasukan pembangun memahami perubahan tersebut.
- Dokumentasi Keselamatan: Dokumentasi ini merangkumi maklumat tentang langkah-langkah keselamatan yang telah dan perlu diambil dalam pelaksanaan aplikasi. Contohnya, polisi keselamatan, pengurusan akses dan pengurusan kata laluan.
Penyediaan panduan dan dokumentasi yang komprehensif memastikan aplikasi dapat dikelola dengan baik, memenuhi keperluan pengguna dan berfungsi dengan selamat.
Bagi memastikan pembangunan perkhidmatan digital kerajaan menepati keperluan utama rakyat dan menepati Standard yang ditetapkan, agensi disarankan untuk sentiasa merujuk dokumen SPDK secara berterusan. Sebarang komen yang berkaitan bagi peningkatan dokumen dan kandungan SPDK adalah digalakkan.
- https://www.gov.uk/service-manual/service-standard
- https://www2.deloitte.com/xe/en/insights/industry/public-sector/citizen-centric-government.html
- https://www.w3.org/WAI/fundamentals/accessibility-principles/
- https://www.justinmind.com/ui-design/principles
- https://www.businessofapps.com/app-developers/research/mobile-app-design-guidelines/
- https://www.malaysia.gov.my/portal/content/31181?language=my
- https://sqa.mampu.gov.my/index.php/ms/4-5-reka-bentuk-arkitektur-f3-1
- https://medium.com/@iyuroch/application-architecture-plan-design-fff57e550d1b
- https://www.linkedin.com/pulse/web-application-development-haan-emani-mejqf?trk=article-ssr-frontend-pulse_more-articles_related-content-card
- https://sqa.mampu.gov.my/index.php/ms/garis-panduan/garis-panduan-pembangunan-aplikasi-krisa
- https://www.interaction-design.org/literature/article/principle-of-consistency-and-standards-in-user-interface-design
- https://www.flux-academy.com/blog/introduction-to-user-interface-design-6-important-principles
- https://maze.co/collections/ux-ui-design/ui-design-principles/
- https://www.usability.gov/what-and-why/user-interface-design.html
- https://www.interaction-design.org/literature/topics/mega-menus
- https://www.plainconcepts.com/how-to-create-analytical-dashboard-guide/
- https://www.interaction-design.org/literature/topics/human-computer-interaction
- https://www.uxpin.com/studio/blog/principles-mobile-app-design/
- https://humansystems.arc.nasa.gov/groups/tlx/tlxapp.php
- https://paruluniversity.ac.in/pid/what-is-communication-design/
- https://intuji.com/mastering-app-design-key-principles-software-app/
- https://www.w3.org/WAI/tutorials/page-structure/content/
- https://www.interaction-design.org/literature/topics/visual-hierarchy
- https://www.justinmind.com/ui-design/principles
- https://www.figma.com/resource-library/ui-design-principles/
- https://www.interaction-design.org/literature/topics/ux-design
- https://sqa.mampu.gov.my/index.php/ms/4-8-reka-bentuk-antaramuka-pengguna-f3-4
- https://uxdesign.cc/the-ux-of-default-settings-in-a-product-9b81586e8886
- https://www.interaction-design.org/literature/topics/responsive-design
- https://em360tech.com/tech-article/what-is-privacy-by-design-and-default
- https://www.linkedin.com/pulse/empowering-users-importance-user-control-freedom-experience-abbas
- https://bootcamp.uxdesign.cc/user-control-and-freedom-empowering-users-in-ux-design-c43f1c469efd
- https://www.interaction-design.org/literature/topics/user-control
- http://rmc.kuis.edu.my/irmic/wp-content/uploads/2018/09/PENILAIAN-HEURISTIK-REKA-BENTUK-ANTARAMUKA-APLIKASI-PEMBELAJARAN-FONIK-1.pdf
- https://www.nngroup.com/articles/ten-usability-heuristics/
- https://www.indeed.com/career-advice/career-development/documentation-for-software-development
- https://www.techtarget.com/searchsoftwarequality/definition/documentation