Strathmore University SU+ @ Strathmore University Library Electronic Theses and Dissertations 2018 Class attendance monitoring system using NFC technology Philomena W. Mwangi Faculty of Information Technology (FIT) Strathmore University Follow this and additional works at https://su-plus.strathmore.edu/handle/11071/5970 Recommended Citation Mwangi, P. W. (2018). Class Attendance Monitoring System Using NFC Technology (Thesis). Strathmore University. Retrieved from http://su-plus.strathmore.edu/handle/11071/5970 This Thesis - Open Access is brought to you for free and open access by DSpace @Strathmore University. It has been accepted for inclusion in Electronic Theses and Dissertations by an authorized administrator of DSpace @Strathmore University. For more information, please contact librarian@strathmore.edu i Class Attendance Monitoring System Using NFC Technology Mwangi, Philomena Waithira A Dissertation Submitted to Strathmore University in Partial Fulfilment of the Requirements of the Degree of Master of Science in Mobile Telecommunications and Innovation (MSc. MTI) Faculty of Information Technology, Strathmore University Nairobi, Kenya April 2018 ii Declaration I declare that this work has not been previously submitted and approved for the award of a degree by this or any other University. To the best of my knowledge and belief, the thesis contains no material previously published or written by another person except where due reference is made in the dissertation itself. Mwangi Philomena Waithira 60137 ............................................... [Signature] 24 April 2018 Approval The dissertation of Mwangi Philomena Waithira was reviewed and approved by the following: Prof. Ismail Lukandu Ateya (D. Sc) Associate Professor, Faculty of Information Technology Strathmore University ............................................... [Signature] 24 April 2018 iii Dedication To God, My family and friends For their continued love and support. iv Acknowledgements I would like to acknowledge Prof. Ismail Ateya whose guidance and insight has been instrumental in conducting research and preparing this dissertation document; @iLabAfrica, for granting the opportunity to undertake my masters on scholarship; my classmates, who offered encouragement during the entire duration in which I carried out this research; finally, my family for always believing in me. v Abstract The ubiquitous nature of ICT has made it possible to create innovations which have contributed to efficiency across different industries. As such, ICT has been applied in different areas of educational management, from content creation and distribution to electronic assessments. More recently, it has been applied in the monitoring of class attendance in different institutions across the world. Local institutions still rely on manual monitoring of this information, and as such prompted this research which seeks to find a lasting solution to this problem through the application of ICT. NFC technology involves wireless communication between digital devices through the use of electromagnetic signals. This technology has been used for a variety of purposes, especially in electronic payments. The properties of NFC tags which allow identification information to be written on them has made it possible for the technology to be used in place of biometric technologies. NFC has therefore emerged as a means through which identification can be done using a device with an NFC tag and read through an NFC reader. This research presents preliminary information relating to the class attendance monitoring process. Informed by the growing need for automation in this process, this document has addressed the challenges and opportunities for change around manual class attendance monitoring. Relevant literature was reviewed in an effort to differentiate a solution that has be applied to the current local situation. The qualitative method was used to obtain information on the challenges faced with the current manual system, and thereafter the prototyping methodology used to develop the solution which is based on the NFC technology. The intention of this research paper was to revolutionise the ways in which attendance information is collected within institutions of higher learning. Keywords: NFC technology, NFC tag, NFC tag reader, attendance monitoring systems, class attendance monitoring, user authentication. vi Table of Contents Declaration ................................................................................................................................................ii Dedication ............................................................................................................................................... iii Acknowledgements .................................................................................................................................. iv Abstract ..................................................................................................................................................... v Abbreviations ............................................................................................................................................ x List of Figures .......................................................................................................................................... xi List of Tables ............................................................................................................................................. 1 1. Chapter 1: Introduction ...................................................................................................................... 2 1.1 Background of Study.................................................................................................................. 2 1.2 Problem Statement ..................................................................................................................... 3 1.3 Research Objectives ................................................................................................................... 3 1.4 Research Questions .................................................................................................................... 3 1.5 Justification ................................................................................................................................ 4 1.6 Scope ......................................................................................................................................... 4 1.7 Limitations ................................................................................................................................. 4 1.8 Organisation of Study ................................................................................................................ 4 2. Chapter 2: Literature Review ............................................................................................................. 6 2.1 Introduction................................................................................................................................ 6 2.2 Review of Previous Research ..................................................................................................... 6 2.2.1. Role of Attendance Monitoring in Academic Environment ................................................ 6 2.2.2. Correlation between Class Attendance and Academic Performance ................................... 6 2.2.3. Attendance Monitoring Systems ......................................................................................... 9 2.3 NFC Technology ...................................................................................................................... 20 2.4 Interpretive Summary of the Current State of Knowledge ........................................................ 20 2.5 Models and Processes useful in this Research .......................................................................... 21 2.6 Summary.................................................................................................................................. 22 vii 3. Chapter 3: Research Methodology ................................................................................................... 23 3.1 Introduction.............................................................................................................................. 23 3.2 Software Development Methodology ....................................................................................... 23 3.3 System Analysis ....................................................................................................................... 24 3.3.1. Research Design ............................................................................................................... 24 3.3.2. Location of Study ............................................................................................................. 25 3.3.3. Target Population ............................................................................................................. 25 3.3.4. Sampling .......................................................................................................................... 25 3.3.5. Requirements Gathering ................................................................................................... 25 3.4 System Design ......................................................................................................................... 26 3.4.1. Data Flow Diagrams ......................................................................................................... 26 3.4.2. Use Case Diagram ............................................................................................................ 27 3.4.3. System Sequence Diagram ............................................................................................... 27 3.4.4. Class Diagram .................................................................................................................. 27 3.4.5. System Architecture ......................................................................................................... 27 3.5 System Implementation ............................................................................................................ 27 3.6 System Testing ......................................................................................................................... 28 3.7 Validation ................................................................................................................................ 29 3.8 Summary.................................................................................................................................. 29 4. Chapter 4: System Analysis and Design ........................................................................................... 30 4.1 Introduction.............................................................................................................................. 30 4.2 System Analysis ....................................................................................................................... 30 4.2.1. Student Responses ............................................................................................................ 30 4.2.2. Lecturer Responses .......................................................................................................... 34 4.2.3. Requirements Determination ............................................................................................ 38 4.3 System Design ......................................................................................................................... 39 4.3.1. Context Level Diagram .................................................................................................... 39 viii 4.3.2. Level 0 Data Flow Diagram ............................................................................................. 40 4.3.3. Level 1 Data Flow Diagram ............................................................................................. 41 4.3.4. Use Case Diagram ............................................................................................................ 42 4.3.5. System Sequence Diagram ............................................................................................... 45 4.3.6. Sequence Diagram............................................................................................................ 46 4.3.7. Design Class Diagram ...................................................................................................... 46 4.3.8. System Architecture ......................................................................................................... 47 4.4 Summary.................................................................................................................................. 48 5. Chapter 5: System Implementation and Testing ............................................................................... 49 5.1. Introduction.............................................................................................................................. 49 5.2. Attendance Pro Mobile Application Implementation ................................................................ 49 5.2.1. Initial Prototype ................................................................................................................ 49 5.2.2. Revised Prototype ............................................................................................................ 52 5.2.3. Enhanced Prototype.......................................................................................................... 57 5.3. Attendance Pro Backend Portal ................................................................................................ 59 5.3.1. Initial Backend Prototype ................................................................................................. 59 5.3.2. Enhanced Backend Prototype ........................................................................................... 61 5.4. System Testing ......................................................................................................................... 65 5.4.1. Functional Testing ............................................................................................................ 65 5.4.2. Compatibility Testing ....................................................................................................... 66 5.4.3. Usability Testing .............................................................................................................. 67 5.5. Summary.................................................................................................................................. 69 Chapter 6: Discussions ............................................................................................................................ 70 6.1. Review of Research Objectives in Relation to the Developed System ...................................... 70 6.2. Advantages of the Developed System ...................................................................................... 71 6.3. Discussion of the Mobile Application ...................................................................................... 71 6.4. Summary.................................................................................................................................. 72 ix Chapter 7: Conclusions and Recommendations ....................................................................................... 73 7.1. Conclusions.............................................................................................................................. 73 7.2. Recommendations .................................................................................................................... 74 7.3. Suggestions for Future Work.................................................................................................... 74 References ............................................................................................................................................... 75 Appendices .............................................................................................................................................. 80 Appendix A: Research Questionnaire – Students ................................................................................. 80 Appendix B: Research Questionnaire – Lecturers ................................................................................ 83 Appendix C: Usability Testing Survey ................................................................................................. 86 Appendix D: Detailed Use Case Descriptions ...................................................................................... 87 Appendix E: Implementation Screenshots............................................................................................ 90 Appendix F: Functional Testing ........................................................................................................... 97 Appendix G: Mobile Application Wireframes ................................................................................... 100 x Abbreviations AMS Academic Management System ERD Entity Relationship Diagram HSGPA High School Grade Point Average IC Integrated Circuit ICT Information and Communication Technology ID Identification Card NFC Near Field Communication RF Radio Frequency RFID Radio Frequency Identification SAT Scholastic Assessment Test SMS Short Message Service UML Unified Modelling Language xi List of Figures Figure 2-1 Attendance by Performance Category ...................................................................................... 7 Figure 2-2 Attendance According to Performance Categories .................................................................... 8 Figure 2-3 Scatterplot of Attendance against Performance......................................................................... 8 Figure 2-4 Average Class Attendance of Students Enrolled in two Blocks of Macroeconomics II ............. 9 Figure 2-5 Student Academic Performance by Attendance Status .............................................................. 9 Figure 2-6 Fingerprint Registration.......................................................................................................... 10 Figure 2-7 Fingerprint Recognition Steps ................................................................................................ 11 Figure 2-8 Sample Report Generated by the System ................................................................................ 11 Figure 2-9 System Flowchart (Student Side)............................................................................................ 13 Figure 2-10 System Flowchart (Lecturer Side) ........................................................................................ 14 Figure 2-11 Flowchart Illustrating Request-Response Cycle between Client and Server .......................... 16 Figure 2-12 System Process Illustration ................................................................................................... 17 Figure 2-13 Workflow of the System ....................................................................................................... 18 Figure 2-14 Facial Recognition Process ................................................................................................... 19 Figure 2-15 System Architecture of NFC-enabled Application ................................................................ 19 Figure 4-1 Smartphone Prevalence among Students ................................................................................ 30 Figure 4-2 Comparison of Smartphone Users by Operating System Type ................................................ 31 Figure 4-3 Users with NFC-enabled Smartphones ................................................................................... 31 Figure 4-4 Rating of the Importance of Class Attendance Monitoring ..................................................... 32 Figure 4-5 Mode of Attendance Monitoring Implemented at Strathmore University ................................ 32 Figure 4-6 Rating of Monitoring System in Place .................................................................................... 33 Figure 4-7 Comparison of Challenges Faced by Students ........................................................................ 33 Figure 4-8 Willingness to Adopt the Mobile Application......................................................................... 34 Figure 4-9 Experience as a Lecturer......................................................................................................... 34 Figure 4-10 Opinion on the Importance of Class Attendance Monitoring ................................................ 35 Figure 4-11 Opinion on Correlation between Attendance and Good Performance ................................... 35 Figure 4-12 Comments on the Reasons for Agreeing or Disagreeing ....................................................... 36 Figure 4-13 Monitoring Method Implemented at Strathmore University.................................................. 36 Figure 4-14 Rating on Class Attendance Mode ........................................................................................ 37 Figure 4-15 Challenges Faced with Manual Attendance Monitoring........................................................ 37 Figure 4-16 Suggestions of Functionalities to be Included in the Proposed System ................................. 38 Figure 4-17 Attendance Pro Context Level Diagram ............................................................................... 39 Figure 4-18 Level 0 DFD......................................................................................................................... 41 xii Figure 4-19 Level 1 Data Flow Diagram.................................................................................................. 42 Figure 4-20 Attendance Pro Use Case Diagram ....................................................................................... 44 Figure 4-21 Attendance Pro System Sequence Diagram .......................................................................... 45 Figure 4-22 Attendance Pro Sequence Diagram ....................................................................................... 46 Figure 4-23 Attendance Pro Design Class Diagram ................................................................................. 47 Figure 4-24 Attendance Pro System Architecture .................................................................................... 48 Figure 5-1 Lecturer Landing Page and Menu Options.............................................................................. 50 Figure 5-2 List of Attendees .................................................................................................................... 50 Figure 5-3 Write to NFC Tag Process ...................................................................................................... 51 Figure 5-4 Student Landing Page ............................................................................................................. 51 Figure 5-5 Timetable Function ................................................................................................................ 53 Figure 5-6 Attendance History ................................................................................................................. 53 Figure 5-7 Messages Tab ......................................................................................................................... 54 Figure 5-8 Lecturer Timetable ................................................................................................................. 55 Figure 5-9 Mark Attendance Tab ............................................................................................................. 56 Figure 5-10 Settings Tab.......................................................................................................................... 56 Figure 5-11 Lesson on Schedule .............................................................................................................. 58 Figure 5-12 Date Picker ........................................................................................................................... 58 Figure 5-13 Attendance Tab .................................................................................................................... 58 Figure 5-14 Register Tab ......................................................................................................................... 58 Figure 5-15 Add Student Page ................................................................................................................. 59 Figure 5-16 Reports Drop down Menu .................................................................................................... 60 Figure 5-17 Manage Students Page .......................................................................................................... 60 Figure 5-18 Assigning Units to Lecturers ................................................................................................ 61 Figure 5-19 Enrolling Students to a Unit ................................................................................................. 61 Figure 5-20 Users Menu Option .............................................................................................................. 62 Figure 5-21 Create Users Page................................................................................................................. 62 Figure 5-22 Manage User Roles .............................................................................................................. 63 Figure 5-23 Class Schedule ..................................................................................................................... 63 Figure 5-24 Manage Schedule of Classes................................................................................................. 64 Figure 5-25 Summary of Lecturer Activity .............................................................................................. 64 Figure 5-26 Summary of Student Activity ............................................................................................... 65 Figure 5-27 User Interface Response ....................................................................................................... 67 Figure 5-28 Response on Ease of Use ...................................................................................................... 68 xiii Figure 5-29 Analysis of System against User Requirements .................................................................... 68 Figure 5-30 Acceptance of the Developed System ................................................................................... 69 Figure E-1 Login and User Category Selection ........................................................................................ 90 Figure E-2 Attendance Page .................................................................................................................... 90 Figure E-3 Settings Page.......................................................................................................................... 91 Figure E-4 Add Lecturer Page ................................................................................................................. 91 Figure E-5 Add Units .............................................................................................................................. 92 Figure E-6 Report on Registered Lecturers .............................................................................................. 92 Figure E-7 Report on Registered Units .................................................................................................... 93 Figure E-8 Unit Allocations ..................................................................................................................... 93 Figure E-9 Manage Units ......................................................................................................................... 94 Figure E-10 Assign Lecturers to Units ..................................................................................................... 94 Figure E-11 Student Assignment ............................................................................................................. 95 Figure E-12 Manage Courses ................................................................................................................... 95 Figure E-13 Manage Modules.................................................................................................................. 96 Figure E-14 Manage Room Allocations ................................................................................................... 96 Figure G-1 Mobile Application Wireframes .......................................................................................... 100 1 List of Tables Table 3-1 System Requirements .............................................................................................................. 28 Table 4-1 Data Flow Diagram Detailed Description ................................................................................ 40 Table 4-2 Detailed Description for Use Case Diagram............................................................................. 43 Table 5-1 User Account Management Testing ......................................................................................... 66 Table 5-7 Android Version Compatibility................................................................................................ 66 Table 5-8 Web Browser Testing .............................................................................................................. 67 Table D-1 Description of User Registration Use Case ............................................................................. 87 Table D-2 Description of Start Attendance Marking Session Use Case.................................................... 88 Table D-3 Mark Attendance Use Case Description .................................................................................. 89 Table F-1 Login Testing .......................................................................................................................... 97 Table F-2 Attendance Marking Test ........................................................................................................ 97 Table F-3 View Attendance Records Test ................................................................................................ 98 Table F-4 View Messages Testing ........................................................................................................... 99 2 ` 1. Chapter 1: Introduction 1.1 Background of Study Most institutions of higher learning have class attendance policies in place dictating the percentage of classes that students must attend in order to be eligible to sit examinations (Nawaz, Pervaiz, Korrani, & Ud-Din, May, 2009). These policies include awards in the form of points for good attendance and penalties for non-attendance (Hingorani, McNeal, Carlton, & Askari-Danesh, 2013). A longitudinal study conducted by analysing the relationship between class attendance and performance through referencing literature between 1927 and 2009 conducted by Crede et al. (2010) revealed that class attendance is one of the biggest determinants of academic success for university students. Another study done by Broucek and Bass (2011) analysing several variables which affect student performance showed that keeping a record of class attendance is important not only for quality assurance purposes, but also to encourage students to perform better. The research demonstrated a strong correlation between attendance and student performance. These findings created the need for policy makers to design a system through which teachers would be able to monitor class attendance of their students. This is the origin of the class attendance monitoring process. Many advancements have been made in the field of technology, and resulting applications make day-to-day operations more efficient than ever before. With increasing technological complexities comes demand from different sectors to implement these technologies to ease processes as well as to curb challenges that are met in the use of traditional methods (Kizildag, Basar, Celikag, Atasoylu, & Mousavi, 2007). Case in point is the topic at hand, class attendance. The development of a system to automate the process of recording class attendance will be significant in eliminating the hassle of roll calling and of transcription while migrating the data onto computer systems. It will also save valuable time for both lecturers and students. Another important contribution that this project will have is that it will raise student performance in the long run. As will be discussed later, studies have shown that there is a strong positive correlation between class attendance and student performance. Therefore, it is expected that the introduction of this system will inadvertently raise the performance scores of students with time as the system is adopted by the University. 3 1.2 Problem Statement For many years, the process of recording class attendance has been manual which has made it a very inconvenient task (Rao & Satoa, 2013). It involves a lecturer bringing to class an attendance register which students sign during class, or having the lecturer do a roll call. Many universities rely on paper based methods of taking class attendance where attendance is recorded on paper and thereafter transferred Microsoft Excel or the school’s system. This, like many other manual processes has been met with a number of challenges including erroneous transcription, falsified signatures and the tedious process of updating attendance records. Paper-based methods of taking class attendance are prone to errors such as transcription errors while transferring the records from paper to computer systems (Arulogun, Olatunbosun, Fakolujo, & Olaniyi, 2013). In addition, these modes of recording attendance have no verification mechanisms which result in students signing the register on behalf of those who may have failed to attend class (Hingorani, McNeal, Carlton, & Askari-Danesh, 2013; Shoewu & Idowu, 2012). This results in a false representation of the actual numbers of students who attend classes at any given time. 1.3 Research Objectives The objectives of this research study were as follows: i. To identify the challenges faced with current modes of monitoring class attendance. ii. To review architectures and models of existing class attendance monitoring systems. iii. To design, develop and test a class attendance monitoring system. iv. To validate the system. 1.4 Research Questions It follows that the research questions were: i. What are the challenges faced in the use of existing class attendance monitoring systems? ii. What are the existing architectures and models of existing systems? iii. How can a system be designed and implemented to solve the problem of class attendance monitoring? 4 iv. Is the designed system effective in monitoring class attendance? 1.5 Justification Institutions of higher learning across the world have embraced technological solutions to address the problems faced with the use of traditional paper-based methods or recording and monitoring class attendance information. Therefore this motivates the research study which sought to apply tried and tested innovations to the attendance monitoring process. 1.6 Scope The aim of this research was to implement an automated system of class attendance monitoring which was validated in Strathmore University. The assumption here was that universities within the country operate in fairly the same way and so the deployment of a class attendance monitoring system in Strathmore University could be used as a proof of concept that the same could be replicated in other Universities. 1.7 Limitations This research focused on developing a mobile solution on the Android platform and a web system. The solution therefore can only be deployed on smart phones and devices which are web enabled. 1.8 Organisation of Study This dissertation document comprises six chapters. Chapter one provides a brief introduction to the study, the background of the area of study, motivation for carrying out the research, objectives of the study as well as research questions to be addressed. Chapter 2 gives a context for the research through a thorough examination of literature on previous research done in the area of study. In this chapter the preliminary conceptual model as well as the theoretical framework upon which the model is based shall be discussed. Chapter 3 covers the research method, study variables, target population, modes of data collection and analysis techniques used in the study. Chapters 4 and 5 reveal the results of the study conducted based on development of a working solution which is deployed and tested. Results are analysed based on objectives and research questions stated in Chapter 1. 5 Chapter 6 discussed the work achieved through this research by analysing output against the research objectives which have been set in this chapter. Thereafter an analysis of the system based on feedback from users is outlines as well as the advantages which it provides. Chapter 7 concludes this research by summarising the results, providing recommendations on improvements which can be made on the system and finally possible research which can be conducted on the basis of this study. 6 2. Chapter 2: Literature Review 2.1 Introduction This chapter focuses on an in-depth review of work done in the field of class attendance management. It focuses on the role of class attendance in institutions of higher learning, the correlation between attendance and academic performance as well as attendance monitoring systems which have been implemented in other institutions across the world. Later in the chapter NFC technology will be discussed, and finally an analysis of models, frameworks and architectures of class attendance monitoring systems. 2.2 Review of Previous Research 2.2.1. Role of Attendance Monitoring in Academic Environment Class attendance has been shown to be important as it represents a system of distributed practice that allows students to retain a lot of the knowledge imparted to them through contact with learning materials of different kinds, such as lectures, discussions, case studies and review of notes (Credé, Roch, & Kieszczynka, 2010). According to Credé et al. (2010), class attendance also offers the possibility of overlearning through handing homework assignments to students. Distrubuted practice and overlearning have been both linked to better exam scores, making the case for why class attendance is important especially in higher learning institutions. 2.2.2. Correlation between Class Attendance and Academic Performance A study by L. Newman-Ford et al. (2008) at University of Glanmoran revealed a strong positive correlation between class attendance and academic performance. They study targeted a population of 748 first year students in the School of Humanities and Social Sciences, where their class attendance was monitored across 22 modules. The modules selected had been previously identified as having poor attendance trends. The study further revealed a significant relationship between attendance and assessment outcomes in 21 of the 22 modules selected for study. The students’ module results were classed into traditional degree classifications; first class, upper second, lower second, third, narrow fail and fail. An analysis of the results showed that the students who attained first class had the highest rates of attendance while those who failed had the lowest rates of attendance. Figure 2-1 shows the percentages of attendance for each class of students. It can be deduced from the figure that students with poor attendance scored poor marks whilst those who had better attendance scored better grades. 7 Figure 2-1 Attendance by Performance Category (Newman-Ford, Fitzgibbon, Lloyd, & Thomas, 2008) Class attendance and performance have been found to be strongly related because lecturers are able to convey concepts which may not be easily captured in lecture notes and text books. This also includes pointers to how class assignments should be approached and topics to look out for in the final examination (Credé, Roch, & Kieszczynka, 2010), both which place students in a better position to do well in their assessments as compared to those who did not attend lectures. Findings of the study done by Credé et al (2010) indicated that attendance is a better predictor of academic success as compared to HSGPA, SAT and even study habits. Guleker and Keci (2014) conducted a study at a private university in Tirana, Albania where they analysed the effect of class attendance on final examination results. The study was conducted over a period of three academic years between 2009 and 2012, and data was collected from two courses which were both were taught by the same faculty. Attendance data was recorded on sheets of paper supplied by lecturers during every class and thereafter entered into the data management system of the university. The threshold set by the university that students had to fulfill in order to be allowed to sit examinations was at least 50% of attendance. Students were placed into three groups based on their percentage of attendance as follows: good attendance – over 85%; acceptable attendance – 70-85% and poor attendance – 50-70%. Examinations were graded and students attained results ranging between 4 and 10. Students were also grouped based on their results as follows: successful – above 8; passing – 6-7 and failing – below 6. The results of the study were summarized in Figures 2-2 and 2-3 which show a correlation between class attendance and student performance. Figure 2-2 represents the grouping of student 8 grades against average class attendance per group. It shows that students with better attendance score better grades at the end of the course. Figure 2-2 Attendance According to Performance Categories (Guleker & Keci, 2014) Figure 2-3 below is a scatter plot showing the correlation between student performance and attendance. The plots are more frequent higher in the graph and less frequent lower in the graph. This shows that a higher percentage of students score better grades with better class attendance. Figure 2-3 Scatterplot of Attendance against Performance (Guleker & Keci, 2014) The effect of absenteeism on student performance has also been studied in an effort to understand the importance of class attendance. The impact of absenteeism on students studying Economics at a university in Portugal was studied by Teixeira (2013). The study population consisted of students taking Macroeconomics II in the 2012/2013 academic year between February and June. Two groups of students (blocks 1 and 2) were taught by the same lecturer and this cohort presented the test group. Results of analyzing attendance indicated a high rate of absenteeism, averaging 38% of the total number of students missing classes. The trend observed shows that attendance gradually decreases during the course of the semester, with it being high at the 9 beginning and lowest towards the end of the semester. This is demonstrated in the Figure 2-4. This was attributed to the fact that attendance did not determine whether or not students were allowed to sit final examinations. Figure 2-4 Average Class Attendance of Students Enrolled in two Blocks of Macroeconomics II (Teixeira, 2013) An examination of the final grades that students attain shows that students with high rates of absenteeism perform worse than those with better attendance and their grades are concentrated in the lowest percentile of grades as is shown in the Figure 2-5. Figure 2-5 Student Academic Performance by Attendance Status (Teixeira, 2013) 2.2.3. Attendance Monitoring Systems Attendance monitoring goes beyond the traditional classroom setting. It has found other applications such as in monitoring attendance of employees and conference participants as is discussed in this section. 10 Rao et al. (2013), designed the Employee Attendance Management System based on biometric fingerprint employee recognition. The system was implemented in a company where it was used to manage employee attendance. The attendance monitoring model employed involves minutiae-based matching of user fingerprints and thereafter pattern matching of identified minutiae against recorded fingerprints stored in a database. The system comprises of three phases in the process of marking attendance for every user. The first phase involves fingerprint scanning and registration where fingerprint scanners obtain an individual’s fingerprint and then converts it into a digital code. This code is matched against codes stored in a database to authenticate the individual. Registration involves each individual entering his or her basic information into a registration form. On registration the individual feeds their fingerprint into a fingerprint scanner and this along with their basic information goes into a database. Figure 2-6 shows the process of enrolling fingerprints onto the system. Figure 2-6 Fingerprint Registration (Rao & Satoa, 2013) The second phase entails fingerprint authentication which is the verification of a match between two human fingerprints. For verification to be performed, a minutiae-based algorithm analyses characteristics of fingerprints such as ridges – ridge endings and bifurcations, collectively referred to as minutiae (Rudd, Senior, Ratha, & Pankanti, May, 2002) – and the unique features found within these patterns. The steps followed in matching fingerprints are illustrated in Figure 2-7. 11 Figure 2-7 Fingerprint Recognition Steps (Rao & Satoa, 2013) The final phase involves an update of the HR system with the employee’s activities. The attendance management system is linked to the HR system and so it is directly updated with this information, as shown on Figure 2-8. This makes it possible for generation of reports based on events such as hours worked, late, permission, on duty, leave days inter alia. Through this system the relevant authorities are able to keep track of attendance and in turn this helps to monitor employee productivity. Figure 2-8 Sample Report Generated by the System (Rao & Satoa, 2013) An Attendance Monitoring System providing real time marking of attendance was proposed and implemented at the Somaiya College of Engineering in India (Kumbhar, Wanjara, Trivedi, Khairatkar, & Sharma, 2014). The application consisted of two separate versions for use 12 by students and lecturers respectively. Students are assigned a unique student ID and password which they use to access the application for the first time. They are required to create their profiles to include their personal information such as name, department, division and semester. Students are also required to enter their parents’ details in order to create their accounts. Lecturers as well create their accounts, and all the data entered by users of the application are stored in a central database server. To mark attendance, a lecturer activates the application from the server to allow students to mark their attendance. Only in this active state are students able to mark their attendance. The application allows lecturers to generate reports as and when they are needed, for example to view the list of students present in a particular class at a given time. The system provides a facility to generate weekly and monthly reports. Additionally, at the end of every month, an SMS message is sent to each student’s parent to inform them of their attendance report for that particular month. The system has a flag value set to a default false. Students can only mark their attendance when this flag value is set to true. To allow students to mark their attendance, the lecturer activates the application from their mobile device to trigger a change in the flag value to true. The students are then asked to mark their attendance for the period that the flag value is set to true. The lecturer then deactivates the marking phase after which no students can mark attendance. The Figure 2-9 shows a flowchart that describes the operation of the application from the students’ end. 13 Figure 2-9 System Flowchart (Student Side) (Kumbhar, Wanjara, Trivedi, Khairatkar, & Sharma, 2014) The Figure 2-10 on the other hand shows the flowchart from the perspective of the lecturer. 14 Figure 2-10 System Flowchart (Lecturer Side) (Kumbhar, Wanjara, Trivedi, Khairatkar, & Sharma, 2014) The results of the implementation of the said system was a great deal of improvement in accuracy in collection of attendance information as compared to the former paper based method of monitoring class attendance. The system also provided for easier report generation. Bhise et al. (2012) implemented a similar attendance monitoring system that was based on NFC technology coupled with facial recognition. For a student to mark their attendance, they were required to tap their NFC enabled student tag to the provided mobile device which would read their student ID and thereafter the embedded camera captured their face. Both these details were passed to the server for verification of the student’s identity to be done. On the server side, validation and component analysis algorithm captured temporary image with the original image. If both were valid them the database would be updated, otherwise an error message would be shown. The entire system was composed of modules as follows: 15 A. Admin Module – the administrator has full control of the application and is in charge of registering all users of the system. B. Attendance Marking – this is the mobile application that is based on the Android platform. This is the interface through which students can mark their attendance. C. Parents Module – parents are also granted access to the system to view their children’s attendance information. The implementation of this system resulted in an easier, flexible, convenient and reliable mode of collecting and analysing class attendance information. It eliminated the need for lecturers to perform roll calling during every class session and this resulted in time saving and accuracy when marking student attendance. Shah et al. (2014), proposed an improvement on a system implemented by Kumbhar et al. (2014), which included an artificial intelligence (AI) component. A bot was implemented to allow users to query the system for any specific information that they require through a chat facility. It accepts keyboard or voice input and returns answers either as text or audio. The way in which it works is that requests generated by a user are sent to the server. On the server resides a .brn file which is essentially the ‘brain’ on which the system depends. Any requests are referenced against this file in order to check whether the requested information resides on the file. The server applies a pattern matching algorithm against the .brn file to interpret user input and thereafter generates a response which is to be sent to the client. An example of its use is a student querying the bot to retrieve attendance information up to the current date. The bot will retrieve this and present it to the student. It can further be queried to advise on how many more lectures that a student ought to attend in order to meet the threshold for that particular unit. The flowchart on Figure 2-11 illustrates the example. 16 Figure 2-11 Flowchart Illustrating Request-Response Cycle between Client and Server (Shah, Tuptewar, Yeole, & Sankpal, 2014) Another implementation of an attendance monitoring system was done in the Houdegbe North America University in the Republic of Benin by Onaolamipo (2014). The system made use of biometrics for exam screening as well as attendance monitoring. The system was integrated with the university’s financial system and incorporated fees management. The system was composed of four blocks, each with its own set of functionality. The first block manages new and existing student’s biometric data. Fingerprints are registered at the school’s Bursar’s office. The second block consists of a database of the biometric application. This database stores all information pertaining to students and is only accessible by users who have been granted rights by the system administrator. The third block manages university courses and shows students who have paid their tuition fee. The fourth block is twofold; lecture mode and examination mode. In lecture mode, the lecturer records attendance of students for any particular lecture using a hand- held fingerprint scanner. Examination mode has a number of operations, where it queries the third block to verify that each student has paid fees and is qualified to sit the exam. It also takes into 17 consideration class attendance, where students can only sit exams having attended at least 80% of class hours. Finally, attendance is taken before and after completing an examination. Figure 2-12 below summarises the functionality of the system. Figure 2-12 System Process Illustration (Onaolamipo, 2014) Another methodology employed in developing attendance systems is by using a student’s mobile indoor location. Zadeh et al. (2012), in the Multimedia University in Malaysia developed one such system. They system consists of a server and mobile application. The server stores information such as students, lecturers, courses, buildings and classes. This information is entered through a web interface, which is managed by a system administrator. Lecturers are also able to keep track of students’ attendance through a similar web interface. The mobile application is used to track students’ location when they attend classes and then send them to the server as evidence 18 of having attended a particular lecture. Indoor positioning is determined through triangulation, and so the application records information from three access points in each room (Zadeh, Koo, & Abadi, 2012). The illustration on Figure 2-13 shows the working of the system. Figure 2-13 Workflow of the System (Zadeh, Koo, & Abadi, 2012) RFID and facial recognition systems have also been developed to manage student attendance. Case in point is a system in which attendance recording and verification are performed concurrently. RFID is used to record attendance, whereas verification is done through facial recognition. Student IDs are fitted with an RFID tag where information is stored. To record attendance, an RFID reader is used and the data transmitted to a server. Facial recognition process is similar to any biometric recognition process in that it consists of alignment, feature extraction and finally matching (Patel & R., 2014). The procedure is summarised as in Figure 2-14: 19 Figure 2-14 Facial Recognition Process (Patel & R., 2014) A sensor-based attendance monitoring system based which made use of NFC technology was proposed by Chew et al. (Chew, Mahinderjit-Sing, Wei, Sheng, & Husin, 2015). The system was made up of two components; the mobile application and web system. The mobile application acted as the NFC reader unit while the web system was the server unit. The mobile application worked along with student NFC-enabled tags to identify students and therefore register their attendance. The web system consisted of web services and the database which supported the overall system. The architecture of the application is illustrated in figure 2-15. Figure 2-15 System Architecture of NFC-enabled Application (Chew, Mahinderjit-Sing, Wei, Sheng, & Husin, 2015) The application supports two classes of users who are lecturers and students. The system administrator is responsible for creation of user accounts and maintaining their records. The 20 administrator is also able to generate a report of students enrolled for a particular unit which a lecturer teaches. On the student side, they are able to login to the application, register for the units they are taking in a particular semester, mark their attendance and view a report on their attendance for the subjects they are enrolled to take that semester. They mark their attendance by tapping their student ID onto their NFC-enabled smartphone. A lecturer logs into the application and selects a specific class for which they want to mark attendance for. They are also able to calculate the total attendance for each subject and generate a report for the same. 2.3 NFC Technology NFC stands for Near Field Communication and it is a technology based on existing radio frequency communication standards. NFC is a short range radio technology that uses electromagnetic radio fields to enable contactless communication between compatible smart devices. NFC makes use of NFC tags which allow for data communication between two devices by means of the touch paradigm where communicating devices need to be touching or in close proximity - four centimetres or less. This prevents reading from a long distance as a short physical proximity is needed to transfer information (Bhise, Khichi, Korde, & Lokare, February 2015). NFC is based on RFID and for this reason it requires an initiator and target for communication to take place. The initiator generates a RF field and this signal powers the passive target device. The initiator has internal power which can be used to power integrated circuits (ICs) that generate the outgoing signal. In this model, the target has ICs with no internal power and this gives rise to different forms such as tags, stickers or cards (Ayu & Ahmad, October, 2014). 2.4 Interpretive Summary of the Current State of Knowledge This literature review has provided insights into the area of class attendance monitoring and the motivations for it. Previous studies have confirmed that indeed class attendance is positively correlated to academic performance in that higher rates of attendance imply higher academic performance of students. With this knowledge, academic institutions and researchers have come up with different solutions whose sole purpose is to improve the attendance monitoring process. Similar applications have been deployed in companies which seek to improve the productivity of their employees. The same principle is behind such implementations, as the bottom line is to improve rates of attendance, which in turn improves student performance and employee productivity. 21 Previous work done with regard to development of class attendance systems has shown that a lot of emphasis was placed on biometric recognition tools. Biometric information provide accurate identification and verification. However, the hardware required to implement such systems is expensive to acquire. Moreover, the algorithms involved are complex and so require a big investment in terms of time taken to write the algorithms. The case is different when it comes to NFC technology. Not a lot of literature relating to its use in development of attendance systems is available because NFC is a relatively new technology in the field of technology. This presents a niche which prompts the need for an extension in research in the field of NFC so as to add to the body of knowledge in the area. 2.5 Models and Processes useful in this Research The applications reviewed in this chapter are in a way similar in the fact that the applications consist of a minimum of two major components units; the client application which is a mobile application and web server unit which runs on a web browser with a user interface. The client application links with the hardware components which the users of the application interact with directly to mark attendance. These hardware components could be a fingerprint scanner, RFID reader or NFC reader. These hardware components work to authenticate students in order to register their attendance for particular units which they take. The web server unit syncs the data that is collected through the mobile application and provides the attendance information for reference by different classes of users which the overall system supports, who are the administrator, lecturers and students. This model will be useful in developing the architecture of the system that this research seeks to develop in order to solve the class attendance problem. The system will consist of a mobile application which interfaces with an NFC reader that will authenticate students and mark their attendance for units they are enrolled to take. Lecturers will be able to start attendance marking sessions to allow students to mark their attendance for a particular class session. Once attendance is taken, the lecturer ends the session and the data collected is pushed to the server. On the mobile application, both lecturers and students will be able to view a history of their classes taught and attended respectively. It will also give a summary of this information by providing percentages of the total for each subject. The web system will provide more detailed analyses of attendance information. 22 2.6 Summary This literature review presented different methodologies employed in developing class attendance recording and management systems. It gives insights into what has already been done in the field and the gap that future researchers can fill. For this particular research project, this gap is in terms of tapping into NFC technology because of its convenience, and also because of its widespread use today in many applications. It is possible to acquire NFC-enabled devices at a low cost and so this makes it possible to make use of this technology. 23 3. Chapter 3: Research Methodology 3.1 Introduction This chapter presents information on the methodology which was used to carry out the research. As has been stated earlier, the purpose of this study was to improve the system of class attendance management at Strathmore University. This chapter will cover areas on research design, matters pertaining to the area of study, an explanation of sample selection, the procedure of designing research instrument and data collection and finally the statistical procedures used to analyse the data. 3.2 Software Development Methodology The software development process, as defined by Maheshwari and Jain (2002) is a structure imposed on the development of a software product. There consists varied methods to development of software, each consisting of activities to be performed during the process of coming up with software. These methodologies have been formulated over time and each have appropriate uses based on the kind of software being developed. Of these, the prototyping methodology has been applied in the construction of software for purposes of this research. A prototype is an approximation of a type that exhibits the essential features of the final version of that type (Avison & Fitzgerald, 2006). Prototyping provides for an iterative framework allowing the development of the solution to involve the users throughout the process. Prototyping increases the likelihood of user acceptance of the final implementation of an information system. The prototyping methodology has various advantages such as it allows users to have a feel of the end product, it reduces the cost of development while increasing the speed of implementation and also allows for the identification and fixing of issues of design and efficiency during the iterations (Maheshwari & Jain, 2002). Phases in the prototype model are: i. Requirements identification This involved understanding the basic product requirements from both students and lecturers. At this stage the most important aspect was the user interface of the solution ii. Develop initial prototype 24 The initial prototype of the system was developed at this stage where it showcased basic functionality and user interfaces. iii. Review prototype The prototype was then presented to the study subjects in order to collect feedback on the look and feel of the system. This feedback was used for further enhancements of the system. iv. Revise and enhance the prototype The feedback and review comments were used to make changes which were incorporated in the new prototype. This cycle repeated until user expectations were met and a working system was tested. 3.3 System Analysis The activity of system design involves identifying ways to break down a large problem by breaking it down into small components which are again decomposed into smaller components. Each of the smaller components can be solved as a single unit, and therefore this is what is referred to as system design (Waldo, 2006). Once components of the system have been identified, it follows that system requirements can be drawn from each of these components which will allow a software engineer to envision the functionalities and come up with the design of the system under study. Some of the steps followed in system analysis and design include feasibility study, investigation of the current environment, definition of requirements, technical system options, logical design and physical design (Ramakrishnan, 2012). 3.3.1. Research Design Overall, the research design that was adopted for this study is applied research. Applied research seeks to find a solution to an immediate problem (Rajasekar, Philominathan, & Chinnathambi, 2013) which in this case is solving the problem of manual class attendance monitoring. It involved obtaining user input on the problem at hand which then informed the design and implementation of the proposed system and thereafter validating whether the system solves the challenges experienced by the users. In order to identify challenges faced in the use of the existing system, the qualitative method was used. This method was appropriate in increasing understanding of the problem faced 25 by subjects of this study from their own perspective (Berndtsson, Hansson, Olsson, & Lundell, 2008). This phase of the study sought to find out from lecturers which challenges were most prevalent in the use of paper-based methods of recording class attendance. On the other hand, students were required to select from a range of problems which ones that they face the most. 3.3.2. Location of Study The study was carried out in Nairobi County in Kenya, specifically Strathmore University and this location was chosen due to the proximity to respondents. 3.3.3. Target Population Selection of a study population is important as their characteristics and interests play a role in obtaining accurate results from the study (Kumar R. , 2011). The target population for the study was Strathmore University students and lecturers of the Master of Science in Mobile Telecommunications and Innovation. 3.3.4. Sampling Sampling is referred to as the selection of some part of a population based on some predefined rules, in order to obtain information on the total population size (Kothari, 2004). Sampling allows a researcher to draw inferences on a population by examining a fraction of the population. This is done under the assumption that the sample should provide a representation of the entire population under study. This study has taken the non-probabilistic sampling technique known as deliberate sampling to identifying study subjects. According to Kothari (2004), this sampling approach involves identifying a sample of the universe based on ease of access of the target group. This is the case for this study as the study population is focused in Strathmore University and specifically Safaricom Academy students. The sample size selected is 50 students who are at postgraduate level, studying MSc. Mobile Telecommunications and Innovation, along with 10 lecturers. 3.3.5. Requirements Gathering During this phase the researcher engaged users and stakeholders in order to identify the problems faced in the use of the current manual system as well as functionalities which are desired in the system to be developed. Different tools have been employed in the requirements gathering process as is discussed in the following sub-sections. 26 3.3.5.1 Questionnaires Questionnaires were administered to students and lecturers in an effort to increase the understanding of the problem faced by the subjects of the study. This was particularly regarding the challenges that are most prevalent in the use of paper-based methods of recording class attendance. In addition, a range of problems were presented, which respondents were required to rate in order of which they face the most. This method gave an opportunity to respondents to give their opinions in their own words as it was free from researcher bias (Kothari, 2004). It was also considerably cheaper than other data collection instruments. For this study, the questionnaires were formulated on Google Forms and disseminated online by emailing them to respondents who were required to fill them in and submit their responses. Questions in the form included pre-determined questions which took both closed and open ended responses. 3.3.5.2 Surveys Surveys are appropriate when a researcher seeks to collect information which can be coded when evaluating a research phenomenon (National Science Foundation, 2002). In this case, surveys were used to gauge the impact derived from the solution to the class attendance problem. As such, surveys were sent out after the users of the system had had adequate time to interact with it. The survey was structured as questions with closed ended responses. They were disseminated through Google Forms, and respondents received a link in their email inboxes prompting them to complete the survey. 3.4 System Design UML is a standard language which is used for object development within the system analysis and design process (Dennis, Wixom, & Roth, 2012). A detailed analysis of the system architecture for the proposed system was done by making use of UML diagrams. These are discussed in the following subsections. 3.4.1. Data Flow Diagrams Data Flow Diagrams define business processes by illustrating processes, data flow, data stores and external entities through the use of graphical symbols (Dennis, Wixom, & Roth, 2012). These illustrated major processes, data stores and interrelated data flows which comprised the 27 system under construction. Each of the major processes were decomposed to give more details on the movement of data and how sub-processes interact with data stores. 3.4.2. Use Case Diagram A use case is a specified functionality that shows activities that are performed to give a specific result. It follows that a Use Case Diagram shows the relationship between actors of a system and different use cases (Kostoglou, Ploskas, Vassilakopoulos, & Tsantopoulou, 2014; Dennis, Wixom, & Roth, 2012). The Use Case Diagram illustrated the possible set of interactions between the system and its actors. 3.4.3. System Sequence Diagram A sequence diagram shows objects that comprise a use case and the messages that pass between them for that particular use case (Dennis, Wixom, & Roth, 2012). The System Sequence Diagram shows the major objects within the system and how information flows between them, as well as the messages exchanged between them. 3.4.4. Class Diagram Class Diagrams present a set of classes, interfaces and associations which represent an object-oriented view of the system under discussion (Kostoglou, Ploskas, Vassilakopoulos, & Tsantopoulou, 2014). The Class Diagram provides an overview of the system by describing objects and classes within the system as well as relations between them. It also shows visibility of the different classes in relation to others in the model. 3.4.5. System Architecture This is a conceptual model which represents the different components of the system including physical processing components, hardware, software, people and communication among them (Dennis, Wixom, & Roth, 2012). It defined the structure of those components as well as their behaviour and interaction with one another. 3.5 System Implementation The system comprised of a mobile application and a web application backend which both work together to support attendance monitoring and reporting. The mobile application was based on the Android platform while the backend system was built using the PHP scripting language. NFC-enabled cards were required as they would store student information and provide 28 identification needed to track attendance. For successful implementation, the minimum requirements of the computing device on which the applications will be developed were as in Table 3-1. Table 3-1 System Requirements System Component Requirements RAM 2GB minimum, 4GB recommended Disk Space 400GB Java Runtime Environment 7 Java Development Kit 7 3.6 System Testing System testing is an integral phase of the software development lifecycle as it is the procedure through which quality of the system is assessed (Luo). It is the activity of evaluating the system to determine whether it meets the requirements which were specified during the requirements determination phase (Hooda & Chhillar, 2015). Testing was performed throughout the entire process of software development. The types of testing strategies which were applied to this research are as follows: i. Functional Testing – this involved the selection of test cases based on requirements that were specified before implementation began. This is because the main quality factor in software is that it meets the required functionality and behaviour (Hooda & Chhillar, 2015). Each software unit was individually tested and thereafter integrated units were tested to ensure that communication between the different modules occurred as expected. Finally, both the developer and system users were involved in performing system testing where they interacted with the entire system and analysed the functionality which it provided. The developer was keener on ensuring that all software bugs were resolved so that the application was stable. ii. Compatibility Testing – this was conducted to ensure that both the mobile application and web system were compatible with available platforms. The mobile application was tested against available android versions, while the web backend was also tested against available web browsers that are commonly used. 29 iii. Usability Testing – this evaluated the extent to which users could learn to use the system. This involved observing the human interaction between a test group and the system. A survey was also be administered following the user testing phase to obtain feedback from the test group. 3.7 Validation Validation is the process through which a system is evaluated to ensure that its features have been built to meet the requirements which were set at the beginning of implementation (Williams, 2006). Validation of the system was done by the use of functional testing procedures to ensure that the system performed based on the requirements that had been set. These procedures were unit testing to test each individual component, integration testing to test different linked components and system testing to test the overall system with all interlinked components working together. During the testing phase of the system, the researcher was keen to obtain feedback on how the features of the application solve the class attendance problem. 3.8 Summary In this chapter the researcher has explained in detail the methods which were applied in development of the proposed solution right from gathering requirements up to testing of the solution. 30 4. Chapter 4: System Analysis and Design 4.1 Introduction This chapter presents the overall design structure of the proposed system. At first, analysis was performed on the data collected from the population relating to the problem at hand. The product of the analysis was the identification of functional and non-functional requirements of the proposed system. Thereafter design diagrams are presented to illustrate the interaction relationship between users and the system. Different components of the application have been illustrated, as well as how they contribute in solving the class attendance problem. 4.2 System Analysis 4.2.1. Student Responses Smartphone Usage The data collected – as shown in Figure 4-1 – revealed a high rate of smartphone usage among students. This can be attributed to the fact that the students involved in the study are in the field of technology, and so like to keep abreast with the latest mobile technology. Figure 4-1 Smartphone Prevalence among Students Operating System Preference Android operating system proved to be most popular among students (Figure 4-2). Users of Android smartphones cited user-friendliness and ability to support many applications as the major motivators for choosing the platform. Another factor which came out is the ability to obtain cheap Android smartphones which support many features, which would otherwise be more costly on a different platform. 31 Figure 4-2 Comparison of Smartphone Users by Operating System Type NFC Capability Another important aspect to identify from student users is whether their mobile devices support NFC technology. Slightly more than half of those who responded to the questionnaire stated that their phones were NFC-enabled. Figure 4-3 illustrates the distribution of responses. Figure 4-3 Users with NFC-enabled Smartphones Rating of the Class Attendance Monitoring Process Next was to probe students on their opinion on the class attendance monitoring process. Their responses were based on a linear scale from 1 for “very unnecessary” to 5 “for very necessary”. Figure 4-4 illustrates the responses. 32 Figure 4-4 Rating of the Importance of Class Attendance Monitoring Mode of Attendance Monitoring in use at Strathmore University An investigation on the current system in place to monitor class attendance was carried. Figure 4- 5 shows that 100% of respondents confirmed that a manual system was in place at Strathmore University. Figure 4-5 Mode of Attendance Monitoring Implemented at Strathmore University Rating of Attendance Monitoring System in Place Students were presented with a question seeking their rating on the current system in place to monitor class attendance. A linear scale from 1 to 5 was provided, with one being “very inefficient” and 5 being “very efficient”. Figure 4-6 shows the responses received. 33 Figure 4-6 Rating of Monitoring System in Place Challenges Faced by Students Students were asked to categorise the challenges they face with the current system of taking class attendance. The options provided were as follows: i. Erroneous entry of attendance information ii. Failure to sign manual register iii. Lack of notification on whether attendance threshold has been attained iv. Lack of real time update of attendance records v. Lack of trail of attendance information vi. Lack of attendance reports vii. Other Their responses are as shown in Figure 4.7 Figure 4-7 Comparison of Challenges Faced by Students 34 Mobile Application Acceptance The students showed positive acknowledgement that a mobile application would be a viable solution to the problems they currently face. In Figure 4-8, 100% of the student respondents appreciated the need for the mobile application, and they were willing to test. Figure 4-8 Willingness to Adopt the Mobile Application 4.2.2. Lecturer Responses Teaching Experience This question sought to obtain the teaching experience of the lecturers who would participate in the study and the responses are illustrated in Figure 4-9. Figure 4-9 Experience as a Lecturer Opinion on the Importance of Class Attendance Monitoring The respondents were queried on the importance of class attendance monitoring in their own opinion. The responses were on a scale of 1 to 5, with 1 being “Not Important at all” and 5 being “Very Important”. The responses are illustrated in Figure 4-10. 35 Figure 4-10 Opinion on the Importance of Class Attendance Monitoring Correlation between Attendance and Good Performance Next up was an investigation as to whether lecturers believe that good performance was related to class attendance in any way and the responses are shown on Figure 4-11. Figure 4-11 Opinion on Correlation between Attendance and Good Performance Comments on Opinion on Attendance Relating to Good Performance Following the previous question, respondents were requested to give more details on the answer they gave. Figure 4-12 details the comments given. 36 Figure 4-12 Comments on the Reasons for Agreeing or Disagreeing Monitoring System Implemented in the Institution Figure 4-13 shows the response on an inquest into the class attendance monitoring system that is implemented at Strathmore University. Figure 4-13 Monitoring Method Implemented at Strathmore University Rating on Attendance Monitoring System Currently in Place The following question asked the respondents to rate the monitoring system that is implemented at the institution. The responses on Figure 4-14 were presented on a scale of 1 to 5, where 1 was “Very Inefficient” and 5 being “Efficient”. 37 Figure 4-14 Rating on Class Attendance Mode Issues Faced with Current Mode The lectuers were then presented with issues which were potentially facing the existing system and they were asked to tick all those which applied. They were presented as: i. Transcription errors in transferring attendance marked on paper onto the computer. ii. Forgetting to carry attendance register to class. iii. Tedious process of entering attendance information onto the Academic Management System. iv. Proxy marking of register for students who have not attended a particular lecture. v. Other The responses given are shown in Figure 4-15. Figure 4-15 Challenges Faced with Manual Attendance Monitoring Suggestions on Functionalities to be incorporated 38 Finally, the respondents were asked to suggest key functionality which they would like to see in the new system. The responses are shown in Figure 4-16. Figure 4-16 Suggestions of Functionalities to be Included in the Proposed System 4.2.3. Requirements Determination The process of requirements determination involves breaking down a high level statement of software requirements into finer detail, stating what a system should perform in order to deliver the needed functionality to its users. Requirements address not only the functionality of a system, but also non-functional issues which affect the usability of a system (Brackett, 1990). In this regard, Dennis et al. (2012) define a requirement as a characteristic which a system must have. i. Functional Requirements A functional requirement is a specification of a function or capability that a system should perform for its users (Brackett, 1990; Dennis, Wixom, & Roth, 2012). The functional requirements which were identified by the respondents of the study indicated the following: a) User registration – the system should allow for registration of new users. b) Login/logout – registered users should be able to access both the mobile application and web backend by way of their user credentials. c) Attendance marking – the mobile application should allow registered users (students) to mark their class attendance for the subjects they are registered to take. d) Viewing attendance records – both the mobile application and web system should support viewing of historical records relating to each student as well as lecturer. e) Viewing messages and notifications – students should be able to view messages and notifications sent through the system. 39 f) Report generation – the system should allow students and lecturers generate their class attendance reports based on the parameters they specify. ii. Non-functional Requirements Non-functional requirements are those which relate to the operation and performance of a system (Glinz, 2011). The requirements identified for this system are: a) Intuitive application design – the design of the screens should allow for easy use by users of the system. b) Availability – both the mobile application and web system require an internet connection to provide full application functionality. c) Feedback – the system should provide feedback to users so that they can understand what process is happening in the background. d) Performance and reliability – the application should stay live at all times to allow users access at their convenience. 4.3 System Design 4.3.1. Context Level Diagram The figure 4-17 shows the major entities of the proposed system and how they interact with each other. Figure 4-17 Attendance Pro Context Level Diagram 40 4.3.2. Level 0 Data Flow Diagram The data flow diagram shows all major processes, data stores and interrelated data flows that comprise the overall Attendance Pro system. Table 4-1 details processes that occur in the system. Table 4-1 Data Flow Diagram Detailed Description Process Number Process Process Description 1.0 Register users The administrator creates user accounts for lecturers and students, and then proceeds to associate the accounts with each individual’s ID card. This information can be updated with time. 2.0 Mark attendance The lecturer starts an attendance marking session to allow students to mark attendance using their ID cards. Students then are able to complete the process by reading their cards on the mobile device. 3.0 View attendance information All levels of users can review attendance records, and can search to refine results based on metrics such as date, semester and unit. 4.0 Produce attendance reports Users can produce attendance reports which can be customised based built in filters. 41 Figure 4-18 Illustrates the UML diagram of the level 0 data flow diagram. Figure 4-18 Level 0 DFD 4.3.3. Level 1 Data Flow Diagram Figure 4-19 illustrates the elaborated search process to view attendance records from the application. The process requires the user to enter search parameters for the information they would like to view. They are able to select all or enter particular parameters such as date or semester. Once this data is entered, the records are searched from the attendance records and then displayed to the user. If no records matching the parameters entered is found, a notification is sent through the application alerting the user that no such record exists. 42 Figure 4-19 Level 1 Data Flow Diagram 4.3.4. Use Case Diagram The use case diagram shows a set of possible interactions between the system and users. The entire system has 3 defined user groups; administrator, lecturer and student. The administrator will be responsible for registration of students, lecturers and units. Lecturers will manage attendance information for students registered in the units they teach. Students on the other hand will be able to mark attendance and view a record of their attendance for the units they are registered in. User roles of the different groups are detailed in Table 4-2 and summarised in the use case diagram in Figure 4-20. 43 Table 4-2 Detailed Description for Use Case Diagram Actor Use Case Description Administrator Register users The administrator creates accounts for both students and lecturers to allow them to use the application. Register units Creates units which lecturers will record attendance information for. Update user list The administrator is able to add new users onto the system. Lecturer Add students to course The lecturer adds students to the particular class that they are teaching. This makes sure that students only mark attendance for classes they are taking. Start marking attendance At the beginning of every class, the lecturer prompts the application to mark attendance for that particular day. View students present in class The lecturer is able to view the list of students present in class during an attendance marking cycle. Stop marking attendance At the end of every class, the lecturer locks the attendance information for that session. This will send a notification to students who did not attend that class. View report of past classes The lecturer can view a report of attendance information to analyse the rate of absenteeism of students. Student Mark attendance The student can mark attendance once the lecturer opens the session. View report of attendance records Students are able to view a report of how they have been attending classes for each of the classes they are taking. Search attendance records A user can search attendance records based on parameters such as date, semester, year and course. 44 Figure 4-20 Attendance Pro Use Case Diagram Some detailed use case descriptions are presented in Appendix D. 45 4.3.5. System Sequence Diagram The system sequence diagram illustrated in Figure 4-21 shows interactions between Attendance Pro system and its users. Initially all users are required to start the application in order to access any functionality. A lecturer activates the application to accept attendance marking by students. During any particular session, the lecturer can confirm the number of students present in the classroom by checking the application. Additionally, a lecturer can obtain an attendance report by filtering out the records based on certain parameters which will be predefined in the application. The reports can be obtained in PDF format and sent to the lecturer’s email address for record keeping. At the end of a session, the lecturer terminates the session on the application meaning that no attendance information can be logged. Figure 4-21 Attendance Pro System Sequence Diagram 46 4.3.6. Sequence Diagram The sequence diagram shows interaction between different entities within the system as well as messages that are sent between them. Figure 4-22 shows this relationship. i. Student: this refers to any student whose attendance is tracked on the mobile application. ii. Attendance Log: this entity keeps track of attendance information collected during each classroom session. iii. Attendance Records: this is the repository that holds all attendance information once collected. iv. Search: this facility allows students to query the system to obtain class attendance records based on some filters. Figure 4-22 Attendance Pro Sequence Diagram 4.3.7. Design Class Diagram The design class diagram provides an overview of the system by describing objects and classes within the system as well as relationships between them. Figure 4-23 illustrates specifications for software classes and related methods within the application. The diagram also shows the visibility of different classes in relation to others in the model. 47 Figure 4-23 Attendance Pro Design Class Diagram 4.3.8. System Architecture Each student is assigned an identification card (ID) which is fitted with an NFC tag. Each NFC tag has a serial number which serves to uniquely identify a particular student. Details of each particular student are written on the tag so as to facilitate the read by the application during the process of marking class attendance. The NFC-enabled android smartphone runs the application which allows students to mark their attendance. A lecturer logs in to the application and activates an attendance marking session, which allows students to mark attendance within the duration of that session. Once all present students mark their attendance by tapping their ID cards on the device, the lecturer closes the session, meaning that no further students can mark attendance for that particular lecture. The server helps deliver content over the internet by accepting requests sent through the application or a web browser in the case of using the web system. The database collects the data captured through the application as well as that which is gathered through the web application such as timetables. Users of the system can therefore query the database to retrieve data based on specific search parameters. This includes summarising attendance information for either a subject, or for a particular student. The system is accessible via a web browser on PC, laptop, tablet and smartphone. The mobile application will be available on android tablets and smartphones. The overall architecture of the system showing the major components is illustrated in Figure 4-24. 48 Figure 4-24 Attendance Pro System Architecture 4.4 Summary In this chapter, an analysis of the system was performed by looking at the responses of the subjects of the study on what their perceptions of the problem and solution to be developed are. Thereafter the proposed system is designed by the use of UML diagrams which explain how the system will work. The system analysis and design process sets the stage for development of the proposed system which will solve the problem which was identified at the start of the research. 49 5. Chapter 5: System Implementation and Testing 5.1. Introduction Following system design which was conceptualised in Chapter 4, the researcher proceeded to develop a working system following the prototyping methodology. As discussed, the system will consist of two applications, a web system and a mobile application. The system will support different user access levels; administrator, lecturer and student. The web system will act as the backend of the entire system, where the administrator will have an overall control of the data which will be monitored on the mobile application. On the mobile application, lecturers will be able to activate attendance marking sessions, during which students present in a particular class will mark the register electronically. The application will also allow students to view their attendance records for the classes which they are registered to take. 5.2. Attendance Pro Mobile Application Implementation 5.2.1. Initial Prototype The mobile application supports two user levels; lecturer and student. The distinction between users is done at the point of creation of users in the administrator web module. The administrator grants rights to users based on their appropriate user category. At login, the application prompts the user to select their category. This is shown on Figure E1 in Appendix E. i. Lecturer Side On logging in, the lecturer views a list of their taught units as in Figure 5-1. They can click on any of the units to be provided with actions which they can perform, that is, view the list of students enrolled in the unit, mark attendance for it, or write to student identification cards as shown on Figure 5-1. 50 Figure 5-1 Lecturer Landing Page and Menu Options The ‘mark register’ selection directs the lecturer to a list of students enrolled for the unit. In order to mark the attendance for the unit, the lecturer then asks the student to tap their card on the device. The device picks student details from the NFC tag, and marks the student as present. Their name is then added to the attendance list as shown in Figure 5-2. Figure 5-2 List of Attendees To write to a student’s tag, the lecturer selects on the ‘write tag’ option. This displays the list of students enrolled to take that class, where the lecturer selects which student’s details to write on a specific tag. After selecting the student, a pop up window is displayed which requires that a tag be tapped on the phone for writing to take place as is shown in Figure 5-3. 51 Figure 5-3 Write to NFC Tag Process ii. Student Side When a student user logs in, they are shown a summary of their attendance information. It shows the course they are enrolled for, as well the dates when they were present in class as in Figure 5-4. Figure 5-4 Student Landing Page The result of the first prototype was that it was possible for NFC tags to be written to student cards so that they could be used for identification. This in turn made it possible for the application to be used to take attendance by reading student information from their NFC-enabled student IDs. However, this first prototype required revisions to improve on the design, and to also 52 include real time updates of attendance information on the student side. An alteration on the process of writing to NFC tags was also required so as to limit that capability to the system administrator. 5.2.2. Revised Prototype The second version of the application also sports an improved display design, where the menus are arranged in a tabular format. The four menu options available are “Timetable”, “Attendance”, ”History” and ”Messages” for students and ”Settings” for lecturers. The revised prototype included improved functionality on both student and lecturer sides of the application. These are outlined below: i. Student side: a) Timetabling b) Real time update of attendance information c) History of class attendance shown on the application showing percentage of class sessions attended d) Messaging functionality where lecturers can send messages to students taking a particular unit. Timetable The timetable shows the students in a nutshell which classes they are registered to take and when the sessions are. This is based on data picked from the backed when the administrator registers them for units to take. A quick glance on this page allows a student to anticipate when their next class session is, and with which lecturer. These details are shown in Figure 5-5. 53 Figure 5-5 Timetable Function Attendance History Under the “History” tab as shown in Figure 5-6, a student is able to view a summary of their attendance for the classes that they are registered to take. This history is represented as a bar graph and on top of each bar there is a representation of the attendance as a percentage. Below the graph, the attendance records are tabulated to represent the unit, and the number of classes attended. Figure 5-6 Attendance History 54 Messaging The messaging functionality allows lecturers to send read only messages to students. The messages sent are mainly about a change in the schedule of classes, in the event a lecturer is unable to attend class and so has to organise for a makeup session. Figure 5-7 shows this. Figure 5-7 Messages Tab 55 ii. Lecturer Side: a) Timetabling b) Intelligent system which shows the particular class taught by that lecturer at the time of login c) History of classes taught d) Writing to NFC tags e) Messaging functionality in which the lecturer can send messages to students taking a particular unit. Timetable The timetable works the same way as on the student side, the only difference coming in in terms of which classes the lecturer has to teach. Such a timetable is shown on Figure 5-8. Figure 5-8 Lecturer Timetable Mark Attendance Page Figure 5-9 shows the page on which a lecturer is able to begin an attendance marking session. On the page, the application shows the lecturer which class they are teaching based on the lecturer’s timetable. Once all the students present in class have marked their attendance, the lecturer then ends the session. 56 Figure 5-9 Mark Attendance Tab Settings The settings page gives a lecturer the option to either write to an NFC card or send a message to the students. In both cases, the lecturer is required to select the associated unit so as to get the correct student list for each action. The functionalities are displayed on Figure 5-10. Figure 5-10 Settings Tab 57 5.2.3. Enhanced Prototype The development of the enhanced prototype focused on improving the user interface, removing redundancies and improving the functionality of the system. The sections of the application are discussed. Landing Page The landing page consists of three tabs which are namely Schedule, Register and Attendance. The functionality of each of these tabs are described as: i. Schedule – this displays the schedule of lessons for the selected day for both lecturers and students. By default, the schedule displays the classes that the user has slotted for that particular day. This is illustrated on Figure 5-11. To view the schedule for a different day, the user clicks on othe calendar icon on the bottom right-hand side of the screen to reveal a calendar. From there, the user clicks on the desired day and when that is done, the schedule appears. Figure 5-12 illustrates this. ii. Register – the workings of this tab differs for lecturers and students. a. Lecturer – a lecturer is able to begin marking attendance for a class being taught by selecting the start marking attendance option. When they begin the session, the lecturer’s device can be used by students to mark attendance by tapping their student card on the back of the phone. When all students have marked themselves present, the lecturer then takes back the device and sends all records to the database by clicking on the “send” icon on the bottom right hand side of the screen. This closes the attendance marking session. b. Student – the student sees the lessons on their schedule for that day, and at a glance can view whether or not they are or were present for the class. This is shown on Figure 5-13. iii. Attendance – this tab gives a summary of attendance information for both users by displaying as a percentage their attendance up until the point when they check the application. The information is presented for each of the units being taken or taught during that module. Figure 5-14 displays this. 58 Figure 5-12 Date Picker Figure 5-11 Lesson on Schedule Figure 5-13 Attendance Tab Figure 5-14 Register Tab 59 5.3. Attendance Pro Backend Portal 5.3.1. Initial Backend Prototype This portal was developed to allow the system administrator to create user accounts, add courses and assign lecturers to courses which they teach. The backend also gives reports on the status of attendance reports of students on a weekly and monthly basis. This module consists of the sections discussed below. i. Add Users The administrator has the rights to add users, i.e. students and lecturers, onto the system and give them user accounts which they can use to login to the mobile application. Figure 5-15 shows the parameters which the administrator needs to enter in order to successfully create user accounts. These accounts are set with default passwords which users change on their first login. Figure 5-15 Add Student Page ii. Reporting Hovering over the ‘Reports’ tab reveals a drop down menu with different categories of reports which are available for viewing. The first drop down item is ‘Students’, which directs the user to a page where they can view a list of students who are registered on the system. This is illustrated in figure 5-16. 60 Figure 5-16 Reports Drop down Menu This page gives a detailed report containing student details as shown in Figure 5-17. The administrator has the ability to manipulate the data through the ‘Edit’ and ‘Delete’ buttons. Figure 5-17 Manage Students Page iii. Management Assign Units This is the section that enables the administrator to assign units to lecturers and students. They simply select information from the drop-down list and select next to proceed to the next page. Figure 5-18 shows the process followed to assign a unit to a lecturer. 61 Figure 5-18 Assigning Units to Lecturers After assigning a lecturer a unit, the administrator then selects students to enrol to the unit, as is shown in figure 5-19. Figure 5-19 Enrolling Students to a Unit 5.3.2. Enhanced Backend Prototype Some enhancements were made onto the web backend to improve the overall user interface and to also include new functionality. i. User Management 62 Once within the web system, the interface displays a menu on the left hand side of the screen and the remainder of the page displays the menu option selected. The first option is “Manage Users” which allows the administrator to manage information of all users who are added onto the system. This is shown on Figure 5-20. Figure 5-20 Users Menu Option The administrator is able to manage users, which consists of creating, editing, updating and deleting information relating to all user groups. They are also able to manage the user roles pertaining to the users who are present in the system. Figures 5-21 and 5-22 show the functionalities of creating and assigning privileges to users. Figure 5-21 Create Users Page 63 The administrator also assigns privileges to all existing users as either administrator, lecturer or student. Figure 5-22 Manage User Roles ii. Scheduling The schedule tab in Figure 5-23 displays the schedule of classes slotted for each month. Figure 5-23 Class Schedule 64 The Manage Schedule functionality as in Figure 5-24 allows the administrator to set the schedule of classes for that particular module. Figure 5-24 Manage Schedule of Classes iii. Analytics Finally, under “Analytics”, a summary of activity of lecturers and students is displayed. Against each field, there is a “View Attendance” tab which allows the administrator to view each user’s attendance information. This is shown on Figures 5-24 and 5-26. Figure 5-25 Summary of Lecturer Activity 65 Figure 5-26 Summary of Student Activity 5.4. System Testing This section covers different testing paradigms that were applied in ensuring that the developed system performs as expected. This feedback was obtained from both the developer and also a group of users who were involved in testing of the application. Different testing types were used as discussed in Chapter 3 and these are functional testing, compatibility testing, usability testing and acceptance testing. 5.4.1. Functional Testing Functional tests were carried out during the entire software development process. Each software unit was tested individually where the code was tested to ensure that it run correctly. Thereafter the different units were integrated together, and testing was carried out to ascertain that communication and data was flowing as expected. Lastly, the entire software comprising of all modules was tested and all bugs resolved. The results of testing user account management is shown in Table 5-1. Further test results are found in Appendix F. i. User Accounts Management 66 Table 5-1 User Account Management Testing Test Name User Accounts Management Test Description Testing whether the system administrator can successfully create user accounts within the system Utilised Use Case Register Users Steps User Actions System Response Pass/Fail 1 Administrator selects add new user option A new window is presented with input fields for creating a new user Pass 2 Types in user details and clicks on submit Confirmation of creation of a new user. Pass Comment An error message displayed in the case that the format of data entered is not acceptable. Test Pass/Fail Pass 5.4.2. Compatibility Testing Compatibility tests were performed to ascertain that both the mobile application and web system were compatible with the available versions of operating systems and web browsers available respectively. i. Android Platform Compatibility The results of the android compatibility test are represented in table 5-7. Table 5-2 Android Version Compatibility Android version Version name Compatible (Yes/No) 5.0 Lollipop Yes 6.0 Marshmallow Yes 7.0 Nougat Yes 8.0 Oreo Yes ii. Web Browser Compatibility 67 This test was done to determine whether the web application would run successfully on a set of available web browsers. The results are given in table 5-8. Table 5-3 Web Browser Testing Browser Versions Compatible (Yes/No) Microsoft Internet Explorer 4 and above Yes Mozilla Firefox 8.0 and above Yes Google Chrome All versions Yes 5.4.3. Usability Testing The aim of carrying out usability testing was to gain feedback from the users on aspects of the developed system in order to ascertain that it users can see value in the solution. The aspects tested are the user interface, ease of use of the system and finally functionality of the system. i. User Interface This sought to test the general feel of the aesthetics of interface of the developed system. The options provided were “Attractive”, “Average” and Not Attractive”. All of the respondents indicated that the display was attractive as illustrated in Figure 5-27. Figure 5-27 User Interface Response ii. Ease of Use This test was aimed at gauging the user friendliness of the system. The results are indicated in Figure 5.28 where 75% of respondents found the system easy to use, 25% found it intermediate and none of the respondents found the system hard to use. 68 Figure 5-28 Response on Ease of Use iii. Functionality The functionality which the system provides is integral to the solution meeting the requirements of the target users. To determine this, users were asked to indicate their level of satisfaction with the system. The results are shown in Figure 5.29 Figure 5-29 Analysis of System against User Requirements iv. Acceptability Finally, the researcher sought to determine whether the target users would accept the developed system. The options provided were "Yes”, “No” and “Undecided”. 69 Figure 5-30 Acceptance of the Developed System 5.5. Summary This chapter covered the implementation of both the mobile application as well as the web backend. The development process was guided by analysis and design conducted in Chapter 4 as well as the research questions formulated in Chapter 1. The prototyping methodology was followed in development of the mobile application. Each of the application versions at each iteration have been illustrated as well as the final version of the mobile application, with each successive version being an improvement of the previous. The main focus was allowing users to mark their class attendance as well as obtain real time access to attendance records. Following development, different classes of tests were carried out to assess whether the system fulfilled the set requirements and whether the functionality provided satisfied the target users. Functional testing was aimed at determining that the requirements had been met. Compatibility testing was carried out to determine which versions the Android operating system and web browsers the mobile application and web system respectively could run on. Finally, usability testing was done to obtain feedback on the general look and feel of the application and to ensure that the system could be used with ease. 70 Chapter 6: Discussions 6.1. Review of Research Objectives in Relation to the Developed System The class attendance monitoring system which was developed consisted of a mobile application and a web backend. These two modules which make up the overall system were developed based on the research objectives which were set in Chapter 1. This section will analyse the objectives against the functionalities of the system. Objective one was to identify the challenges faced with current modes of monitoring class attendance. The aim of this was to gain an understanding of the variety of challenges which students in different institutions of higher learning face. This would allow the researcher identify the best approach to solving the problem based on the challenges which had been identified. This was done through review of different literary works written by other researchers who have studied the monitoring of attendance. The most prominent challenges included: i. Erroneous transcription from paper to computer ii. Failure to carry paper register to class iii. Proxy signing of the register of behalf of students not in attendance iv. Lack of real time update of attendance information. The second objective was to review architectures and models of existing class attendance monitoring systems. The purpose of this was to identify which of those architectures and models would be useful in this study. Similarly, this was achieved through literature review and specifically through journal articles which documented implementation of attendance monitoring systems. Following this analysis, the researcher identified the best approach to designing the proposed system by borrowing from those which have been successfully implemented. This architecture consisted of a client application which in this case is the mobile application; a web system linked to a database server; a student ID card; lecturer Android smartphone and student Android smartphone. This became the basis of developing the proposed system. The third objective was to design, develop and test a class attendance monitoring system, achieved through requirements identification with potential users of the system and converting the requirements to functional components of the system. Following identification of requirements, the researcher developed the system by following the prototyping methodology. Once the 71 application was ready, it was tested with a group of users who interacted with the system and gave feedback on the usability of the system. The final objective was to validate the system; that it met its objectives which was solving the problem of manual monitoring of class attendance at Strathmore University. To meet this objective, a survey was sent out to the users who interacted with the system to find out from them whether they thought that the system developed addressed and solved the problem. The response revealed that indeed Attendance Pro met the main objective which was to automate the class attendance monitoring process. 6.2. Advantages of the Developed System The advantages of Attendance Pro can be summarised as follows: i. The application shows a schedule of classes to be attended or taught to students and lecturers respectively. ii. It is intelligent enough to tell when a class has begun so that the lecturer can start the attendance marking session for that particular unit. iii. A history of attendance for classes attended or taught is available to students and lecturers respectively. iv. Attendance records are represented as a percentage, which allows users at a glance to see how many classes they have attended and consequently allowing them to get an idea of how far they are from attaining the threshold for a particular unit. v. The mobile application integrates with a web backend which allows users to generate reports of their attendance information. vi. The system supports real time updates of attendance information as soon as a lecturer ends an attendance marking session. vii. The mobile application sends out notifications to students who miss a class in order to remind them what their attendance is up to that point. 6.3. Discussion of the Mobile Application During the testing phase of the application, the respondents involved were pleased with the result. They stated that the solution was a welcome improvement on the current mode which is used to collect class attendance information. All those who participated indicated that they would 72 be willing to adopt the solution in an actual class scenario. The main functionalities which were appreciated were the following: i. Scheduling – students especially were appreciative of the fact that they could use the application to check the schedule of classes which they are taking. They liked the fact that they could pick a date even in the future and at a glance be able to tell which classes they would have on that particular day, at what time and in which room. This was a bonus as they wouldn’t need to constantly check the timetables which are distributed at the beginning of a module. ii. Checking attendance records – with the ubiquity of mobile devices, respondents were glad to know that the application was able to update their attendance information in real time at the end of each class session. This functionality means that this information is readily available for their consumption and as such are able to keep on top of their tasks to ensure that they meet the threshold set to ensure that they are not locked out of sitting exams. iii. Notifications – another bonus of the system was the functionality which sends notifications to absent students once a lecture is done. This was viewed as a good way to deter students from missing lectures as it enforces the need to be present in class. 6.4. Summary This study was conducted with the aim to automate and consequently improve the class attendance monitoring process. This was motivated by the desire to eliminate the human factor which is present in the current system in place which, as has been explained, is prone to errors. The product of this research is “Attendance Pro”, a system comprising of a mobile application and a web system. This system is able to mark attendance of students during a class session and provide real time updates of attendance information. Users comprising of both lecturers and students are able to query the system to obtain attendance information of units which they are registered to teach/take. More detailed records are available for access on the web system. The results of the tests administered indicated that the system passed all the required functionalities. The respondents who participated in this study have provided positive feedback on the developed system, and this points to possible adoption of the solution. 73 Chapter 7: Conclusions and Recommendations 7.1. Conclusions The purpose for this research was to identify and discuss different models which have been applied in automating the monitoring of attendance information. To this end, a variety of research works ranging from journal articles, conference proceedings, book sections and reports were reviewed in an effort to first understand the class attendance monitoring process and the correlation it has to good student performance. Special attention was paid to institutions of higher learning as they would provide better basis for reference during this study. Most studies revealed a strong positive correlation and confirmed that students with better attendance records performed significantly better as compared to those with poor class attendance. It followed that monitoring systems were analysed to identify different development paradigms and the effects that those systems had on the institutions in which they were deployed. It was also discovered that the most popular technology which was used in implementation of most such systems was RFID. Other systems used biometrics, while others implemented a combination of both RFID and biometrics. The information gathered from this analysis included technologies used, platforms on which applications were developed, models and architectures of the developed systems. It followed that the researcher came up with a methodology for carrying out the remainder of the study which included activities including analysis of the proposed system, requirements identification, modelling the proposed system using UML tools and testing the developed system. This information gathering process made it possible to design a system, borrowing from the strengths of the reviewed applications while adding components which would result in the development of a more robust and customised system which would be suitable to the local situation. The entire preliminary study phases culminated in the development of a class attendance monitoring system, “Attendance Pro”. The prototyping methodology was followed during the development phase, which resulted in two prototypes before arriving at the final product. Following development, the system was tested with a group of users who interacted with during a simulated classroom session. During the testing phase it was apparent that the application met its primary objective which was to automate the manual monitoring system which is currently implemented at Strathmore University. The application was deemed easy to use and provided the functionalities which were desired by the subjects of the study. Feedback revealed that the most popular feature was that users could at a glance see how many classes they attended and so gave 74 them an idea of how they were fairing in comparison to the threshold that is set for gaining eligibility to sit final examinations. 7.2. Recommendations i. The application could be improved to incorporate biometric verification methods such as fingerprint scanning and facial recognition to support multi-factor authentication of users of the application. ii. Further development of the application could explore the possibility of introducing location based monitoring which would allow students in the classroom to mark their own attendance but only when they are present in the room where the lecture is taking place, at the time of class. iii. The application could be made available on other mobile platforms such as iOS and Windows Mobile to support users who own smartphones running those operating systems. iv. Finally the application could be integrated into the University’s AMS so that the information collected goes directly onto a student or lecturers record. 7.3. Suggestions for Future Work Researchers can go on to conduct further analysis on the impact on student performance brought about by implementation of the class attendance monitoring application in Strathmore University. This would be aimed at identifying whether the introduction of the application would have a positive, negative or no impact at all on student performance. For this to be done, two identical groups can be involved where one would be the test group and the other would be the control group. It also would be interesting to find out whether technological solutions can be instrumental in effecting positive behavioural change in students, which in this case would be encouraging students to post better class attendance. Once improvements are made on the developed system, researchers could go about implementing an institution-wide solution. The entire University would benefit from the automation which the new system provides, as well as benefits pertaining to improved student performance. This would set the stage for replication of the solution to cover other institutions of higher learning which would also learn from the experience that Strathmore University has had with an automated class attendance monitoring system. 75 References Alsaleh, S., & Haron, H. (2016). The Most Important Functional and Non-Functional Requirements of Knowledge Sharing System at Public Academic Institutions: A Case Study. Lecture Notes on Software Engineering, Vol. 4, No.2, 157-161. Arulampalam, W., Naylor, R. A., & Smith, J. (2007). The effects of absence from class on student performcance. Coventry: University of Warwick. Arulogun, O. T., Olatunbosun, A., Fakolujo, O. A., & Olaniyi, O. M. (2013). RFID-Based Students Attendance Management System. International Journal of Scientific & Engineering Research, Volume 4, Issue, 1-9. Avison, D., & Fitzgerald, G. (2006). Methodologies for Developing Information Systems: A Historical Perspective. In V. 2. IFIP Internation Federation for Information Processing, The Past and Future of Information Systems: 1976-2006 and Beyond (pp. 27-38). Boston: Springer. Ayu, M. A., & Ahmad, B. I. (October, 2014). TouchIn: An NFC Supported Attendance System in a University Environment. International Journal of Information and Education Technology, Vol. 4, No. 5, 448-453. Berndtsson, M., Hansson, J., Olsson, B., & Lundell, B. (2008). Thesis Projects: A Guide for Students in Computer Science and Information Systems. London: Springer-Berlag London Limited. Bhise, A., Khichi, R., Korde, A., & Lokare, P. (February 2015). Attendance System Using NFC Technology with Embedded Camera on Mobile Device. International Journal of Advanced Research in Computer and Communication Engineering Vol. 4, Issue 2, 350-353. Brackett, J. W. (1990). Software Requirements. Massachusetts: Carnegie Mellon University. Broucek, W. G., & Bass, W. (2011). Attendance Feedback in an Academic Setting: Preliminary Results. College Teaching Methods and Styles Journal (CTMS), 45-48. Chen, J., & Lin, T.-F. (2006). Class Attendance and Exam Performance: A Randomized Experiment. Society of Labor Economists. Cambridge, Massachusetts, USA. 76 Cohall, D. H., & Skeete, D. (2012). The impact of an attendance policy on the academic performance of first year medical students taking the Fundamentals of Disease and Treatment course. Caribbean Teaching Scholar Vol. 2, No. 2, 115-123. Credé, M., Roch, S. G., & Kieszczynka, U. M. (2010). Class Attendance in College: A Meta- Analytic Review of the Relationship of Class Attendance with Grades and Student Characteristics. Review of Educational Research Vol. 80, No. 2, 272-295. Dennis, A., Wixom, B. H., & Roth, R. M. (2012). System Analysis and Design. New Jersey: John Wiley & Sons, Inc. Glinz, M. (2011). On Non-Functional Requirements. IEEE International Requirements Engineering Conference. Delhi, India. Guleker, R., & Keci, J. (2014). The Effect of Attendance on Academic Performance. Mediterranean Journal of Social Sciences, Vol. 5 No. 23, 961-966. Hingorani, K., McNeal, B., Carlton, D., & Askari-Danesh, N. (2013). Enhancing a Learning Management System to Track Attendance using RFID. Issues in Information Systems, Volume 14, Issue 2, 313-318. Hooda, I., & Chhillar, R. S. (2015). Software Test Process, Testing Types and Techniques. International Journal of Computer Applications, 10-14. Johansson, B., & Lahtlnen, M. (2013). Getting the balance right between functional and non- functional requirements: the xase of requirement specification in IT procurement. International Journal of Information Systems and Project Manangement, Vol. 1, No. 1, 5- 16. Kizildag, M., Basar, E., Celikag, M., Atasoylu, E., & Mousavi, S. (2007, January). An Automated Attendance Monitoring and Registration System for EMU's SPIKE Seminar Series. ResearchGate. Kostoglou, V., Ploskas, N., Vassilakopoulos, M., & Tsantopoulou, V.-E. (2014). Analysis and Design of Web-Based Decision Support System for Choosing Higher Education Studies. Yugoslav Journal of Operations Research, Number 3, 399-414. 77 Kothari, C. R. (2004). Research Methodology: Methods and Techniques. New Delhi: New Age International Limited. Kumar, R. (2011). Research Methodology - a step-by-step guide for beginners. London: SAGE Publications Ltd. Kumar, S., & Phrommathed, P. (2005). New Product Development: An Empirical Study of the Effects of Innovation Strategy, Organisation Learning and Market Conditions. New York: Springer Science + Business Media, Inc. Kumbhar, A. A., Wanjara, K. S., Trivedi, D. H., Khairatkar, A. U., & Sharma, D. (2014). Automated Attendance Monitoring System using Android Platform. International Journal of Current Engineering and Technology, Vol. 4, No. 2, 1096-1099. Lenth, R. V. (2012). Some Practical Guidelines for Effective Sample Size Determination. The American Statistician, 187-193. Luo, L. (n.d.). Software Testing Techniques. Pittsburgh, PA: Carnegie Mellon University. Maheshwari, S., & Jain, P. C. (2002). A Comparative Analysis of Different types of Models in Software Development Life Cycle. International Journal of Advanced Research in Computer Science and Software Engineering, 285-290. National Science Foundation. (2002). An Overview of Quantitative and Qualitative Data Collection Methods. In N. S. Foundation, The 2002 User-Friendly Handbook for Project Evaluation (pp. 43-62). Nawaz, T., Pervaiz, S., Korrani, A., & Ud-Din, A. (May, 2009). Academic Attendance Monitoring System Using Fingerprint Identification. IJCSNS International Journal of Computer Science and Network Security, Vol. 9, No. 5, 164-168. NearFieldCommunication.org. (n.d.). How NFC Works. Retrieved from NearFieldCommunication.org: http://www.nearfieldcommunication.org/how-it- works.html Newman-Ford, L., Fitzgibbon, K., Lloyd, S., & Thomas, S. (2008). A Large-Scale Investigation into the Relationship between Attendance and Attainment: A Study Using an Innovative, 78 Electronic Attendance Monitoring System. Studies in Higher Education Vol. 33, No. 6, 699-717. Onaolamipo, A. T. (2014). Development of a Computerised Biometric Control Examination Screening and Attendance Monitoring System with Fees Management. World of Computer Science and Information Technology (WCSIT) Vol. 4, No. 6, 76-81. Patel, U. A., & R., D. P. (August, 2014). Development of a Student Attendance Management System Using RFID and Face Recognition: A Review. International Journal of Advance Research in Computer Science and Management Studies, Volume 2, Issue 8, 109-119. Rajasekar, S., Philominathan, P., & Chinnathambi, V. (2013). Research Methodology. Tamilnadu. Ramakrishnan, S. (2012). System Analysis and Design. J Inform Tech Soft Engg S8, 1-2. Rao, S., & Satoa, P. J. (2013). An Attendance Monitoring System Using Biometric Authentication. International Journal of Advanced Research in Computer Science and Software Engineering, Vol. 3, Issue 4, 379-383. Rudd, B. M., Senior, A. W., Ratha, N. K., & Pankanti, S. (May, 2002). Fingerprint Minutiae: A Constructive Definition. Lecture Notes in Computer Science Volume 2359, 58-66. Shah, A., Tuptewar, A., Yeole, P., & Sankpal, P. J. (2014). Automated Attendance Monitoring and Personal Intelligent System. International Journal of Advanced Research in Computer and Communication Engineering, Vol. 3, Issue 11, 8366-8368. Shoewu, O., & Idowu, O. A. (2012). Development of Attendance Management System using Biometrics. The Pacific Journal of Science and Technology, Volume 13, Number 1, 300- 307. Teixeira, A. A. (2013). The impact of class absenteeism on undergraduates' academic performance: evidence from an elite economics school in Portugal. Research Centre in Economics and Finance, University of Porto. Waldo, J. (2006). On System Design. Burlington, MA: Sun Microsystems, Inc. 79 Williams, L. (2006). Testing Overview and Black-Box Testing Techniques. In L. Williams, A (Partial) Introduction of Software Engineering Practices and Methods (pp. 34-59). NC: North Carolina State University. Zadeh, A. M., Koo, A.-C., & Abadi, H. G. (2012). Design of Students' Attendance System Based on Mobile Indoor Location. Kuala Lumpur. 80 Appendices Appendix A: Research Questionnaire – Students 81 82 83 Appendix B: Research Questionnaire – Lecturers 84 85 86 Appendix C: Usability Testing Survey 87 Appendix D: Detailed Use Case Descriptions i. User Registration The user registration process is detailed in Table D-1. The administrator is responsible to creating all user accounts. Table D-1 Description of User Registration Use Case Use case name User Registration Scenario Adding users who will be able to use the application Event(Trigger) The administrator creates accounts for users who will be allowed access to the application. Brief description Administrator enters required registration details Flow of events 1. Administrator creates profile for user. 2. System performs verification of required fields such as email address, username and password. 3. Assigns a default password to user. 4. User downloads application and logs in for the first time. 5. They are prompted to change their password. 6. System gives feedback of successful or unsuccessful registration. Actors System administrator Stakeholders Users (lecturers and students) Preconditions An internet connection must be available. Confirmation of successful account registration. Post-conditions Login to the application using the assigned credentials. 88 ii. Start Attendance Marking Session The procedure of beginning an attendance marking session is shown in Table D-2. This is performed by a lecturer during a class session. Table D-2 Description of Start Attendance Marking Session Use Case Use case name Start attendance marking session Scenario Students want to mark their attendance. Event(Trigger) Students need to mark attendance during a lecture session. Brief description Lecturer begins session and students proceed to mark their attendance. Flow of events 1. Lecturer opens application. 2. Chooses particular class he is teaching. 3. Opens the attendance marking session for that particular lecture. 4. System gives feedback of active session. Actors Lecturer Stakeholders Student Preconditions An internet connection must be available. Lecture is in session. Post-conditions Students are able to mark their attendance. 89 iii. Marking Attendance After a session starts, students go about marking their attendance on the device provided by the lecturer. Table D-3 outlines the process. Table D-3 Mark Attendance Use Case Description Use case name Mark attendance Scenario Students mark their attendance during a lecturer session. Event(Trigger) Students receives mobile device to mark their attendance. Brief description Student taps their ID onto the phone to register their attendance. Flow of events 1. Lecturer begins a session. 2. Student receives mobile device. 3. Taps student ID to register attendance. 4. System gives feedback of successful attendance marking. 5. Students get a notification on their application confirming that they marked attendance for that particular lecture. Actors Student Stakeholders Lecturer Preconditions An internet connection must be available. Lecture is in session. Post-conditions Students receive notification of successful attendance marking. 90 Appendix E: Implementation Screenshots i. Initial Prototype of Mobile Application Login Figure E-1 Login and User Category Selection ii. Revised Prototype of Mobile Application Attendance Page Students can confirm from their side whether they have marked their attendance for the class which is in progress. It also updates in real time when they eventually mark their attendance from the lecturer’s application. Figure E-2 Attendance Page 91 iii. Initial Prototype of Backend a) Settings Page The settings page allows the administrator to change their password. Figure E-3 Settings Page b) Add Lecturers Figure E-4 Add Lecturer Page 92 c) Add Units Figure E-5 Add Units d) Lecturer Report Figure E-6 Report on Registered Lecturers 93 e) Units Report Figure E-7 Report on Registered Units f) Unit Allocations This section shows the details of a unit in terms of which lecturer has been assigned to teach it, and the day and time when the unit is offered. Figure E-8 Unit Allocations 94 iv. Enhanced Prototype of Backend a) Unit Assignment Units are created under the “Manage Units” menu option as shown on Figure E-9. The units are assigned to a module which falls within a course. Figure E-9 Manage Units For every unit, a lecturer is assigned to teach it on the system. This is shown on Figure E-10. Figure E-10 Assign Lecturers to Units 95 Similarly, students are assigned to take a particular unit. Figure E-11 Student Assignment b) Course Management The next menu option is “Course Management” which consists of “Courses” and “Manage Modules”. Manage Courses allows the creation of courses to be taken by students. Figure E-12 Manage Courses 96 Figure E-13 shows hot Manage Modules is used to create modules within a course of study. Figure E-13 Manage Modules c) Room Allocation Rooms need to be allocated for classes within the schedule. The “Room Allocation” menu option allows for this as appears in Figure E-14. Figure E-14 Manage Room Allocations 97 Appendix F: Functional Testing i. Login Table F-4 Login Testing Test Name Login Test Description Testing whether users of the system can successfully login to the system Utilised Use Case Login Steps User Actions System Response Pass/Fail 1 User enters username and password Validation of username and password fields Pass 2 User clicks login Login successful if user exists and username matches the password provided Pass Comment System authenticates users based on their user category, and presents different application views for students and lecturers. Test Pass/Fail Pass ii. Marking Attendance Table F-5 Attendance Marking Test Test Name Mark Attendance Test Description Testing if a lecturer can start an attendance marking session, and whether students are able to mark their attendance using their student IDs. Utilised Use Case Mark Attendance Steps User Actions System Response Pass/Fail 1 Lecturer starts attendance marking session. Application is ready to allow students to mark the register. Pass 98 2 Student taps their ID card on the mobile device. Confirmation is given that the student has marked their attendance. Pass 3 Lecturer ends session. Application sends success notification to students who attended the class session. Pass Comment Successful attendance marking for students. Test Pass/Fail Pass iii. Viewing Attendance Records Table F-6 View Attendance Records Test Test Name View Attendance Records Test Description Testing whether students and lecturers are able to retrieve attendance records based on their rights. Utilised Use Case View attendance records Steps User Actions System Response Pass/Fail 1 User launches application and goes to the “History” tab. Application shows a list of units being taken/taught by the user and the attendance for each. 2 User clicks on “View More” for a particular unit Application gives more detailed information on the attendance for that unit. Comment Users are successfully able to view attendance records for the semester which they are in. Test Pass/Fail Pass iv. Viewing Notifications 99 Table F-7 View Messages Testing Test Name View messages/notifications Test Description Testing if an application user is able to view notifications and messages within the application. Utilised Use Case View messages/notifications Steps User Actions System Response Pass/Fail 1 User clicks on the notifications icon Notifications page is presented to the user Pass 2 User clicks on particular notification to read Notification expands to reveal full message Pass Test Pass/Fail Pass 100 Appendix G: Mobile Application Wireframes Figure G-15 Mobile Application Wireframes