BINDURA UNIVERSITY OF SCIENCE EDUCATION

FACULTY OF SCIENCE

DEPARTMENT OF

NAME: MATOMBO WILLIE

REGNUMBER: B1335487

SUPERVISOR: MR CHAKA

PROJECT TITLE: IMPLEMENTATION OF A STRING MATCHING SMS BASED SYSTEM FOR ACADEMIC REGISTRATION

APPROVAL FORM

The undersigned certify that they have supervised the student MATOMBO WILLIE (B1335487) dissertation entitled, “IMPLEMENTATION OF A STRING MATCHING SMS BASED SYSTEM FOR ACADEMIC REGISTRATION” submitted in Partial fulfillment of the requirements for a Bachelor of Computer Science Honors Degree at Bindura University of Science Education.

…………………………………… …………………………….. STUDENT DATE

…….………………………………… ………………………….. SUPERVISOR

DATE

i Abstract The implementation of a string matching SMS based system at Bindura University of Science Education focuses on improving accessibility to academic registrations and viewing results to all students, despite geographical location and internet connectivity. The proposed system bases its operations on SMS technologies which is also supported by string matching techniques. The system user requirements were obtained by interacting with various university stakeholders and experts in the fields of academic registrations. Based on the stipulated requirements, the system was tested using blackbox testing techniques and the results show that the system satisfies user requirements. The system accuracy was also tested and it proved that the implementation of a string matching SMS based system was viable for the institution to adopt since, it proved that all students are now able to do academic registrations in a cost effective way as well as reliable and fast using SMS.

Keywords

Short Message Service, String matching, Algorithm, Academic registration, fuzzy string matching technique.

ii Dedications This paper is dedicated to my late dad Mr. Henry Matombo and my mother Elizabeth Kandemiri for they did not only raise and nurture me but also sacrificed their finances over the years for my education and intellectual development. If I ever do anything right in my life it is because you taught me how to and you have believed in me since birth and for that reason I am proud to be your son.

iii Acknowledgements Firstly I would like to give more credit to the almighty God for guiding me through my final year project. I would also want to thank my supervisor Mr. Chaka for his time and patience in supervising me through the project, I value your contribution and time sir. I also want to extend my gratitude to Bindura University of Science Education for all the infrastructural support and all the academic provisions that fostered the completion of this study. I would never forget mentioning my family and colleagues Madenyika Darlington, Tendai Mavhunga, Ali Leo and Tafadzwa Madimutsa for their supportive role contributing positively to my welfare.

iv

Table of Contents APPROVAL FORM ...... i Abstract ...... ii Dedications ...... iii Acknowledgements ...... iv CHAPTER ONE PROBLEM IDENTIFICATION ...... 1 1.1 Introduction ...... 1 1.2 Background of Study ...... 2 1.3 Problem Statement ...... 2 1.4 Research Aim ...... 3 1.5 Research Objectives ...... 3 1.6 Research questions ...... 3 1.7 Research propositions ...... 3 1.8 Research Justification ...... 3 1.9 Assumptions ...... 4 1.10 Limitations ...... 4 1.11 Scope of research ...... 5 1.12 Definition of terms ...... 5 CHAPTER TWO LITERATURE REVIEW ...... 6 2.1.0 Introduction ...... 6 2.2.0 GSM theory ...... 6 2.2.1 SMS Theory ...... 6 2.2.2 Analyzing GSM services ...... 7 2.3.0 String matching techniques ...... 8 2.3.1.0 Exact string matching technique ...... 8 2.3.1.1 Brute force algorithm (Naïve algorithm) ...... 8 2.3.1.2 Booyer Moore Algorithm ...... 9 2.3.1.3 Knuth Morris-Pratt (KMP) algorithm ...... 10 2.4.1.0 Fuzzy matching technique ...... 10 2.4.1.1 The ...... 10 2.5.0 Existing SMS Based Systems ...... 11

v 2.5.1 SMS User Interface Result Checking System ...... 11 Strength of NeXS ...... 12 Weakness of NeXS ...... 12 2.5.3 Enhancing Students' Academic Records Management Systems Using Short Message Service Gateway ...... 13 2.5.4 User Acceptance of SMS-Based eGovernment Services ...... 13 2.6.0 Conclusion ...... 14 CHAPTER THREE RESEARCH METHODOLOGY ...... 15 3.0.0 Introduction ...... 15 3.1.0 Research Design ...... 15 3.1.1 Requirements Analysis ...... 15 3.1.4 Technical Requirements ...... 16 3.2.0 System Development...... 17 3.2.1 System development tools ...... 17 3.2.2 Waterfall Model ...... 17 3.3.0 Summary on how the system works ...... 18 3.4.0 System design ...... 18 3.4.1 Dataflow Diagrams ...... 18 3.4.2 Methods used in the system design ...... 20 3.4.3 Flowcharts ...... 20 3.4.4 structure ...... 21 3.4.5 Implementation of fuzzy string matching technique ...... 21 3.4.6 Security ...... 22 3.5.0 Population and sample ...... 22 3.5.1 Data collection methods ...... 22 3.6.0 Implementation ...... 23 3.7.0 Summary...... 24 CHAPTER FOUR DATA ANALYSIS PRESENTATION, ANALYSIS AND INTERPRETATION..... 25 4.0.0 Introduction ...... 25 4.1.0 Testing ...... 25 4.1.1 Black box Testing ...... 25 4.1.1.1 Fuzzy Testing ...... 25 4.1.1.2 User Acceptance Testing ...... 26

vi 4.2.0 Evaluation Measures and results ...... 27 4.3.0 Conclusion ...... 29 5.0.0 Introduction ...... 30 5.1.0 Aims and Objectives Realization ...... 30 5.2.0 Challenges ...... 30 5.3.0 Recommendations and future work ...... 31 References ...... 32 Appendix ...... 34

vii List of figures

Figure 1 Waterfall model ...... 18 Figure 2 dataflow diagram ...... 19 Figure 3 Flowchart of the system...... 20 Figure 4 Database Structure ...... 21 Figure 5 Invalid input from the user and the result ...... 26

viii

CHAPTER ONE PROBLEM IDENTIFICATION

1.1 Introduction Use of Short Message services (SMS) for various applications has increased significantly in this technological era. There is still one sector where these SMS services have not been utilized to the full potential in the field of academics. String matching techniques has also gained some importance in the academics field since it enhances the use of string matching techniques in SMS implementation. The adoption of string matching techniques in the field of academics will accelerate the utilizing of SMS technology to its greatest potential in the field of academics

SMS can be utilized as a new opportunity that can be applied to improve current educational practices and processes in a variety of fields, including education (Ziden, Rosli, Gunasegaran, & Azizan, 2017). Despite the rapid growing of social media which eradicates the use of non-smartphones, (Kothari, Bokariya, & Kothari, 2016) cited that instant messaging has gained popularity in students daily life. There was a major challenge which exist with instant messaging, that the user has to be signed in to a computer or smartphone in order to participate which remain a problem to university students who do not afford a smartphone.

In this paper, assessment of SMS based applications for academic registrations is explored and an approach for implementing these applications is proposed. The proposed applications include the use of SMS by educational institutions for academic registrations, which add more functionality to the existing systems which were only be able disseminating information rather than manipulating the institution database.

Motivation

Motivations for this research area:

Bindura university students are straining their little pockets to fund themselves for internet charges when they want to view results and register courses for the next semester as well as travelling long to locate a cyber café.

1 Not all Bindura university students’ own smartphones which will allow them to access internet during the vacation effectively and not all smartphones are able to load BUSE website contents.

1.2 Background of Study Bindura University of Science Education (BUSE) is using e-portal which is web-based application to enable students to register courses and retrieve results as well as viewing basic information. The existing e-portal has been able to save time for both university staff and students as well as producing good benefits of using it (Chaka & Mungadzi, 2013). BUSE web- based application is not compatible with medium smartphones since the medium smartphones such as Nokia C - series model (smartphone) are not able to load all contents of BUSE e-portal which enable students to register courses or view results. Students with high quality advanced smartphones and laptops are only able to view the contents which disadvantages other student which own medium smartphones or non-smartphones. Connection to internet has been a major drawback to the implementation of BUSE e-portal, since internet is not always available and accessible in all parts of Zimbabwe thereby there is need for SMS based system which will override the problem of having internet connectivity in viewing and registration of courses at BUSE.

Some students are located in remote parts of Zimbabwe, where there is poor network infrastructure. In those areas internet quality is very poor and it is a challenge to them when it comes to registration of courses and viewing results since they have to travel to towns looking for cybercafé or better internet coverage.

Most of BUSE students are non-working, most of them can’t afford to purchase internet services by visiting cyber café so that they can register and view results.

1.3 Problem Statement Till today, especially in developing countries like Zimbabwe, there exists a problem of checking results and registering of upcoming semester courses as students can’t afford internet access to view results and register course via institution website (e-portal). In developing countries, the level of internet availability is still low and it is expensive for students at colleges to have internet access when they are off campus. Without a smartphone or a laptop, students are not able to view the results or register and some have to visit cyber café to register yet in Zimbabwe

2 cybercafé charges are high since it is still a developing country. (Sanjaya & Pramsane, 2006) stated that universities can provide educational services based on SMS such as grade release, enrolment information, university announcements and internship opportunities. Students can receive and access important information easily and cheaply concerning the university without the need of internet as well as smartphones.

1.4 Research Aim To produce a string matching SMS based system that will enable students to retrieve and manipulate some of the data in the university database which allows academic registrations and viewing results without the internet or advanced smartphone.

1.5 Research Objectives 1. To analyze string matching techniques 2. Design and implementation of string matching SMS based system 3. To assess the effectiveness of using string matching techniques in SMS based system

1.6 Research questions 1. Will the students be able access the platform anywhere in Zimbabwe? 2. Do students benefit regardless of the levels of smartness of their mobile phones?

1.7 Research propositions

H0: The SMS based system will allow students to view results or register results without internet access.

H1: The SMS based system will not allow students to view results or register results without internet access.

1.8 Research Justification Student’s privacy is vulnerable and exposed as they share secrets password with others students who have internet access so that they can view results on behalf of them which will increase social engineering attacks to student passwords. Due to lack of internet connectivity in their areas they will be left with no option than to share their passwords since students have anxiety to

3 know their results. Not all students are well financed to spare funds for purchasing data for internet connectivity or visit cyber café.

In developed countries SMS based systems are increasingly used in education sector for just viewing results and viewing basic information of students as well as disseminating basic information to all students such as important notices, so the system will enable students to view results as well as registration of courses. Existing systems only use one SMS in interacting with the database, this system will use many SMS one after the other. This research marks an advancement in using SMS to interact with in more advanced way which includes two way communication between a student and the database in education sector. SMS interface devices could potentially provide better interface for finding exact and required information than through page browsing and other means of finding information.

Some of the students in Zimbabwe are under scholarship schemes, so during the vacation they might fail to have funds for internet access due to poor financial background or they might not own a smartphone.

1.9 Assumptions 1. Every student owns a mobile device which has a registered line in our database. 2. BUSE current student database with results as well as courses available for forthcoming semester is already available.

1.10 Limitations Problems being faced by the researcher in carrying out the research, the following are going to be encountered:

1. Lack of funding of the research during the testing phase, airtime to buy SMS from service providers for testing 2. Time needed to carry out the research is limited 3. Lack of access to research material since most SMS based systems are patented.

4 1.11 Scope of research The research is only limited to develop an application that receives SMS from Bindura University of Science Education (BUSE) students and convert them into sql statements to manipulate and access information and sent back the feedback to the students using SMS. Students are only able to view results of previous semester and registering of upcoming semester courses only other facilities offered by the e-portal were not part of the project due to limited time for the project to be completed.

1.12 Definition of terms Short Message Service (SMS) - is the most basic communications technology for mobile data transfer and is characterized by the exchange of short alphanumeric text messages between digital line and mobile devices. SMS messages hold up to 140 bytes (1,120 bits) of data, which allows a 160-character alphanumeric message in the default 7-bit alphabet or a 70-character message in a non-Latin language, such as Chinese.

Global System for Multimedia (GSM) - began in 1982 as Groupe Spéciale Mobile formed for the purpose of investigating and developing a public land mobile system. It marked the birth of second generation technology (Nyamtiga, Sam, & Laizer, 2013).

Structured Query Language – standard language for accessing data in relational database.

Smartphone - is a mobile phone with an advanced mobile operating system that combines features of a personal computer operating system with other features useful for mobile or handheld use, which are pocket-sized usually.

5 CHAPTER TWO LITERATURE REVIEW

2.1.0 Introduction There are so many developed interests in the field of SMS usages and applications, many researchers have proposed a framework that uses SMS as a business tool or used as an alerting tool in SMS based applications which will enhance information retrieval in these applications. This chapter will review literature about implementing string matching SMS based system for academic registrations. There have been different efforts made to develop several similar systems to view examination results and this chapter will focus on discussing the flaws on existing systems and the ways the new system will curb some problems encountered in the implemented systems in developing countries with poor internet infrastructure and expensive cybercafé fee.

2.2.0 GSM theory The Global System for Mobile Communications (GSM) began in 1982 as Groupe Spéciale Mobile formed for the purpose of investigating and developing a public land mobile system (Nyamtiga, Sam, & Laizer, 2013). The birth of GSM technology gave birth to second-generation (2G) technology in mobile phones and now it supports up to fourth generation technology (4G). GSM’s architecture is composed of several functional entities which are: The Mobile Station, the Base Station Subsystem and the Network Subsystem. GSM offers a lot of services which are Short message service (SMS), Unstructured Supplementary Service Data (USSD), Voice Mail and Wireless Application Protocol (WAP), these services have gained usage in mobile phones.

2.2.1 SMS Theory Short Messaging Service(SMS) is supposed to be the fastest and most reliable means of communication and it has, no doubt made communication easy (S, 2016). SMS has influenced, in particular, the present generation where Standard English has been deprived of. Students across the world use mobile phones and consequently the use of mobile has become quite common. In order for university to convey any information to the students in the shortest span of time, it has to adopt the use of SMS to reach out of students in a very short span of time.

6

(Abdel-qader, 2011) pointed out an interesting feature of SMS, the return message from the recipients, which means that the sender, if wishes, can get a small message notifying that the short message has delivered to the intended recipient which makes them more reliable. With this special feature, the system will be more reliable and it will enable the university to disseminate information to students instantly and know statistics of students who have received without any difficulties. The SMS supports national and international roaming which means that an SMS user can send short messages to any other GSM mobile user around the world provided that the devices network is based on the GSM technologies. The SMS technology presents the following merits:

1. SMS Messages can be Sent and Read at Any Time; almost every person has a mobile phone and carries it most of the time. 2. SMS Messages can be sent to an Offline Mobile Phone; an SMS can be sent to a mobile phone that is switched off or if the recipient of the text is in a place where the wireless signal is temporarily unavailable achieved through the use of Central Short Message Sender(CSMC) 3. SMS Messages are supported by 100% GSM mobile phones and can be exchanged between different wireless carriers. 4. Reliable, low-cost communication mechanism for concise information 2.2.2 Analyzing GSM services The string matching SMS based system adopted SMS service over USSD service, despite that they works in a similar way but they are different. One of the services stated above is knowingly or unknowingly used by almost every mobile owner by entering a code starting with asterisk (∗) and hash (#) on a mobile phone for the purpose of performing real time transactions such as banking or recharging the account. The service stated above is called as Unstructured Supplementary Service Data (USSD), which is technically a soft real time communication protocol which enables mobile stations to send/receive text messages to/from application in GSM network entities. To mention receiving/sending text message might cause a confusion with SMS (Taskin, 2012). To eliminate the confusion, it can be said that the difference between USSD and SMS is very similar to the difference between chat and email but the two services are

7 actually different. USSD requires a special code from the service providers for users to use to access its services and for SMS it just need a phone with a GSM technology only, no special registration to services providers is done to use it. For this project, SMS was suitable since USSD requires the university to pay funds for using the service in real time to all mobile service providers in Zimbabwe. Students’ uses different mobile operators hence SMS will be the best to use since it cheap and accessible across all networks without paying for special service of acquiring a special code to access BUSE string matching SMS based system from all Zimbabwe network service providers

2.3.0 String matching techniques String searching is an important component of many problems in the educational sector, where there is huge surge of digital information and the task of mining valuable information from huge amount of data text processing like string matching has gained its importance in educational sector (Gurung, Chakraborty, & Sharma, 2017). String matching is mainly used for data retrieval, and symbol manipulation. Despite the use of indices for searching large amounts of text, string searching may help in an information retrieval system. It is a simple technique used to search for a certain pattern of text in the text either provided or stored in the database.(Singla & Garg, 2012) also identified two main techniques of string matching which are exact matching and appropriate matching or fuzzy technique.

2.3.1.0 Exact string matching technique 2.3.1.1 Brute force algorithm (Naïve algorithm) This is one of the simplest string matching algorithm that works perfectly and it is stable when it comes to its functionality. It executes by comparing characters starting from first letters of the text and first letter of the pattern check whether these two letters are equal. If it is, then check second letters of the text and pattern. If it is not equal, then move first letter of the pattern to the second letter of the text. then check these two letters (Adesina & Nyongesa, 2013). It was developed to solve the problem that involves searching for a pattern (substring) in a string of text. The result is either the index in the text of the first occurrence of the pattern, or indices of all occurrences. (Adesina & Nyongesa, 2013) cited how the algorithm works when it is looking for a certain pattern. .(Rahman, Buja, Jalil, & Ali, 2017) cited the weakness of the Brute Force

8 algorithm, that it rarely produces efficient performance and it is intolerably slow as it compares one character with another at a time. In other words, longer time will be taken to scan a longer string.

2.3.1.2 Booyer Moore Algorithm (Gurung et al., 2017) defined Boyer Moore algorithm in a diplomatic way by pointing out that, it is considered to be an efficient algorithm and is extensively used to find a pattern in a string by examining the rightmost character of the pattern going onwards to the leftmost character of the pattern. Boyer and Moore believed that more information could be gained by beginning the comparison from the end of the pattern instead of the beginning and this technique of comparing the text from the rightmost character allows the pattern to proceed in large jumps through the text being searched (Gurung et al., 2017). The algorithm uses the bad character heuristic and the good suffix heuristic to determine the pattern shift in case of mismatch of a pattern character and it preprocesses the pattern and creates two tables, which are known as Boyer-Moore bad character (bmBc) and Boyer-Moore good-suffix (bmGs) tables. The character of the text which doesn’t match with the current character of pattern is called the Bad Character. Whenever a character doesn’t match, we slide the pattern in such a way that aligns the bad character with the last occurrence of it in pattern. We preprocess the pattern and store the last occurrence of every possible character in an array of size equal to alphabet size. If the character is not present at all, then it may result in a shift by m (length of pattern) (Gurung et al., 2017; Naik & Geethanjali, 2011). On the other hand, a good-suffix table stores the matching shift value for each character in the pattern. The maximum of the shift value between the bmBc (character in the text due to which a mismatch occurred) dependent expression and from the bmGs table for a matching suffix is considered after each attempt, during the searching phase. This algorithm forms the basis for several pattern-matching algorithms (Gurung et al., 2017). The Boyer Moore algorithm has the property that the longer the pattern is, the faster it performs. However, the algorithm suffers from the phenomenon that it tends to work inefficiently on small alphabets like DNA and SMS applications. Furthermore, it suffers from the need for very large tables or state machines and thus requires extra space. It also requires extra time for processing the pattern(Rahman et al., 2017).

9 2.3.1.3 Knuth Morris-Pratt (KMP) algorithm This algorithm matches the pattern with text window from left to right character by character and it is similar to brute force algorithm, except it has a pre-processing phase where the window can be shifted more than one(Rahman et al., 2017). Due to more than one shift at a time, the algorithm it will shorten the searching time hence it will be faster in string matching. The Knuth Morris-Pratt algorithm uses a pattern to determine how far to skip, for example if the first three characters of the pattern and text are a match, the next search will make the window shift 3, as there are 3 character that already matched(Patel & Thakkar, 2014). The benefit of this algorithm is that it has an optimal running time; the algorithm never has to reverse back in the searched text(Patel & Thakkar, 2014). However, the weakness of this algorithm is that it is not efficient enough in dealing with a large number of characters as a higher possibility of mismatch could occur since it uses the brute force technique in more advanced manner.

2.4.1.0 Fuzzy matching technique Fuzzy matching is a method that provides an improved ability to process word-based matching queries to find matching phrases or sentences from a database. When an exact match is not found for a sentence or phrase, fuzzy matching can be applied. Fuzzy matching attempts to find a match which, although not a 100 percent match, is above the threshold matching percentage set by the application. (Liu & Hsu, n.d.) Cited that fuzzy matching technique it’s the best way to match word or phrases entered by the user against the bunch of words in the database. SMS based systems most of them use fuzzy matching technique to interpret messages it receives from the users; some uses will may misspell the word that’s when fuzzy matching technique comes into play. It plays a vital role in trying to match the misspelt word or phrase with the correct one in the database. Fuzzy matching is mainly used in computer-assisted translation and other related applications. Fuzzy has lot of algorithms it works with to achieve its goal, bitap algorithm is one of them which find the approximate match of a certain pattern from a database or text or corpus text.

2.4.1.1 The Bitap Algorithm It one of the most important algorithm used by fuzzy matching technique in finding an approximate string matching. It is also identified as shift-or, shift –and algorithm due to the way it uses to find the approximate string matching. It tells whether a given text contains a substring

10 which is approximately equal to the given pattern, where the approximate equality is defined in terms of . Levenshtein distance is a string for measuring the difference between two sequences. Informally, the Levenshtein distance between two words is the minimum number of single-character edits (i.e. insertions, deletions or substitutions) required to change one word into the other. If the substring and pattern are within a given distance k of each other, then the algorithm considers them equal. The algorithm begins by pre-computing a set of bitmasks containing one bit for each element of the pattern. Then it is able to do most of the work with bitwise operations, which are extremely fast which makes it suitable for exact string searching as it used by utility . Bitap distinguishes itself from other well- known string searching algorithms in its natural mapping onto simple bitwise operations.

2.5.0 Existing SMS Based Systems 2.5.1 SMS User Interface Result Checking System There are a number of SMS based systems that have been made in different context and to suit the need arising in educational field. (Adagunodo, 2009) researched on SMS platform to check results for Nigeria Tertiary education and in their research they generated a solution called SMS User Interface Result Checking System. The project was successfully implemented at two universities and they have greater level of security. The students would be asked to use secret passwords to access results. SMS User Interface Result Checking System only disseminates results whenever they are available and it will not allow students to register courses.

The system makes use of PULL and PUSH SMS application to achieve its desired goals to deliver results to the students based on the request by a student or just disseminate without a student request. (Adagunodo, 2009) defined, Push SMS application as a situation whereby a message is being sent from the application to the user and it is a one-way communication message. In other words, it is the mobile application (in this case, the SMS result checking application) that initiates a message. An example Bindura University of Science Education automatically sends student personal examination timetable before exams. The students do not request for the timetable, are not charged for receiving the SMS and they do not take any form of action to reply the message. The SMS would be delivered to them in a matter of seconds regardless of where they are, as long as their mobile phone is within their network operator’s coverage.

11 A Pull SMS application on the other hand is one whereby a user sends a request and obtains a reply from the application (Adagunodo, 2009). Pull SMS application it uses the concept of full duplex application in terms of communication where there will be a room of interacting between both ends of the communication mode. An example is when a student requests for his/her results for a recently concluded semester or previous semesters.

The system managed to curb the problems discussed above but it lacked the aspect of course registration and viewing of personal basic information. It also lacked accountability as some stakeholders in the registration process do not have access to the system.

2.5.2 NTU eXpress SMS This system is used at the Nanyang Technological University in Singapore. It demands that every undergraduate student to register his/her own mobile phones on the NeXS Portal. These phones can then be used to send SMS and access information. Unregistered mobile numbers are not allowed by the system and only three mobile providers are acceptable (M1/SingTel/Star hub).For example, to get exam results via NeXS, users send the keyword NTU RESULT to 74000.(Rantiola & Ozichi, 2014) Strength of NeXS The system provides some sort of security by allowing only pre-registered mobile numbers to have access. The system also provides other SMS services like seating arrangements in exam rooms, individual timetable for both exams and courses and library account information is also available. It sends SMS to all registered students without requesting for such as timetable information and important university notifications.

Weakness of NeXS The system is not flexible enough as a constraint has been placed on access to the system. It also poses a threat of identifying if it’s the actual owner of the phone that sent the request. Anybody can pick the phone, send the SMS to the short code and get the required result. This invades the privacy of the real owner of the phone. Also, in the event of carelessness or theft whereby the mobile phone gets lost, the user would not have access to any information unless he/she visits the website and re-register a new phone. The system also does not give students access to past results, only newly-concluded semester results are made available.

12 2.5.3 Enhancing Students' Academic Records Management Systems Using Short Message Service Gateway It is a normal practice for academic institutions to store student academic information such as examination results in a dedicated computer server system and allow students to access them when necessary. Most of these systems are web based information management systems, which they are accessible via internet only (Journal et al., 2016).The system was developed to enhance the existing systems by adding SMS functionality to them which makes information accessible without internet connection. The development of an enhanced system, which is called Students’ Academic Records Management System with Short Message Services, which provides students’ with an alternative way of accessing their academic records using short message service (SMS) apart from the internet.(Journal et al., 2016)

This system works in the similar way as the string matching SMS based system by which both provide an alternative cheaper way of accessing student information on web portal or e-portal and they can use any phone even a non-smartphone to access them. It also provides some of security whereby a student has to register his/her own log in details in the system via e-portal before using m-portal. The string matching SMS add a new feature of allowing students to register for the upcoming semester as well as viewing results of the previous semester.

2.5.4 User Acceptance of SMS-Based eGovernment Services SMS-based e-government refers to the use of SMS technology for providing information and public services to citizens, business, and government employees or other government organizations. The system uses the PULL application service delivery type whereby the government disseminates information to the public only and it just the same as one-way communication. Most of e-government system have been integrated with SMS based e- government systems so as to increase efficiency in publication of important information and notices to the public. (Susanto & Goodwin, 2011) cited some benefits of SMS-based e- government are harvested by many local authorities. They include reducing time and cost for public services; introducing a cheaper, easier and faster information-accessing channel; improving transparency, accountability, communication and the relationship between government and citizens; making the services and procedures easier for citizens to use; improving the district political image; increasing citizens’ participation; and promoting e-

13 Democracy. In light of these benefits, SMS-based e-government is becoming popular and some of the initiatives have involved big investment. The string matching SMS based system for BUSE also adopted almost every feature of the above system so as to increase the relationship between students and the university. The system will disseminate important notices to students as well as general information about the student will be available. 2.6.0 Conclusion The previous researchers have done a great job in improving the rapid adoption of SMS technology with string matching techniques in the education sector. The proposed system will inherit some of the features that have been used before and it will also include the technique of two way communication between the user and the database which has not been used in the previous work. The researcher analyzed different string matching techniques in this chapter. Above all the system was implemented using fuzzy string matching technique. The previous systems they used exact string matching technique which will limit students in registration since they might not be aware of the exact key word.

14 CHAPTER THREE RESEARCH METHODOLOGY 3.0.0 Introduction This chapter focuses on elaborating how the research was carried out and methodology implies more than simply the methods researcher intend to use to collect data. It is often necessary to include a consideration of the concepts and theories which underlie the methods. The researcher’s objectives were mainly to design and implement a string matching SMS based system for academic registrations which enable students to register for the upcoming courses and view latest results of the previous semester without using internet. The chapter is comprised of software development cycle which the researcher used in the development of the system, data collection methods, functional, non-functional requirements, methodology and system development tools that were used by the researcher 3.1.0 Research Design Research design should be a reflexive process operating through every stage of a project. The design stage involves coming up with the different modules of the system and their intended functionality. The core objective of this stage is to ensure that an operative, proficient, sustainable and reliable simulation of the system is designed. The researcher used c sharp programming language, laptop with inbuilt Sim card and Access database to develop the system. Observation was used as a tool to analyze the randomly collected data and the results were noted down in a table format.

3.1.1 Requirements Analysis At this phase it is important to document all requirements of the desired system which are divided into functional and non-functional requirements. It is better to structure all incoming data, analyze them, consider all technical limitations that may arise on the client’s side, and come out with a ready-to-follow specification to meet the client’s needs which one of the most crucial analysis on this phase. The researcher also took into consideration any form of constraints that may hinder the development process, such as client’s time and budget constraints.

3.1.2 Functional Requirements It describes system services in completing a certain task at hand by how the system respond to the set of inputs, the behavior and output. These are unambiguous statements should provide how

15 the system react to a particular input and how the system should behave in particular situations. The proposed system is expected to behave in the following particular situations:

1. String matching SMS based system should be able to automatically reply messages from students 2. System should be able to manipulate values of course status in the database. 3. System should be able to convert text message into sql statements. 3.1.3 Non-functional requirements These define the system properties and constraints. They specify criteria that can be used to judge the operation of system, rather than specific behaviors of the system.

1. Requirements involving the performance of the system. 2. Requirements involving the accessibility of the system. 3. Requirements involving the availability of the system. 3.1.4 Technical Requirements Hardware Requirements

Hardware requirements are as follows:

1. RAM 2gb and above 2. HDD 500gb and above 3. intel dual core processors and later versions 4. Laptop with built in Sim card slot 5. SIM card from any cellular operator 6. Mobile Phone: the mobile phone is the hardware being used to receive and sent SMS to the system .Any mobile phone is SMS compatible.

Software Requirements

1. Windows 7 or later windows OS 2. Visual Basic 15

16 3. Connection manager

3.2.0 System Development This section describes the overview of the system and how it was developed so as to produce the results. It specifies all the software tool and models used during the system development.

3.2.1 System development tools A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system. Researchers have identified many frameworks for different projects and each framework has its own advantages and disadvantages according to its application project. Some of framework includes waterfall model, spiral model, Prototyping and also incremental model. An author wish to use waterfall model due to its simplicity since the project is very small and simple and it has strict time frame. All the requirements of the project have been identified and all tools are available hence the waterfall model is the best for such type of project.

3.2.2 Waterfall Model It is one of the classical and primitive model for developing software, in this model there are six stages to develop the software. It starts with stage one and flow like waterfall means never go back or give feedback and the waterfall model describes a development method that is rigid and linear(Chandra, n.d.). Waterfall development has distinct goals for each phase of development where each phase is completed for the next one is started and there is no turning back.

17 Figure 1 Waterfall model

Apart from the methodology the system was also developed using the following tools:

1. C sharp High level programming language used to create the desktop application which will apply text analysis on the received message and perform some string matching techniques 2. Microsoft Access Database Management system developed by Microsoft which uses Microsoft jet database engine with a graphical user interface and also software development tools.

3.3.0 Summary on how the system works The student will sent a request via an SMS to the BUSE server and the string matching application will perform security checks before analyzing the message. The student will only be given access to the system if the student registration number and the existing phone number tallies. If there is a mismatch the system will send a message to the owner of the registration number, notifying him or her about the phone number which to use his or her registration number. The string matching SMS based system will perform text analysis and determine whether the message belong to academic registrations or results querying. A student will be responded automatically via a text with instructions to proceed with the processing of his/her academic requests.

3.4.0 System design The requirement specification document is analyzed and this stage defines how the system components and data for the system satisfy specified requirements.

3.4.1 Dataflow Diagrams Data flow diagrams (DFDs) reveal relationships among and between the various components in the system. A data flow diagram is an important technique for modeling a system’s high-level detail by showing how input data is transformed to output results through a sequence of functional transformations. The flow of data in a DFD is named to reflect the nature of the data used. DFDs are a form of information development, and as such provide key insight into how information is transformed as it passes through a system and how the output is displayed.

18

Student sent an SMS Student will sent back again the text with courses to be registered

Desktop Application sends an AT command to the port where the Desktop Application sends an AT modem is connected and request command to the port where the unread message modem is connected and request unread message

Text analysis is performed to check whether text requests for academic Text analysis is performed and it registration or not will determine if the text requests contains correct courses to be registered.

Desktop Application sends an AT command to the port where the modem is connected and request to reply a certain message with courses Student will receive a notification in available form of SMS for successful registration

Figure 2 dataflow diagram

19 3.4.2 Methods used in the system design 3.4.3 Flowcharts Flowcharts are an efficient way of bridging the communication gap between system developers and users. They are specialized flowcharts that distill a substantial amount of information into a relatively few symbols and connectors.

Figure 3 Flowchart of the system

20 3.4.4 Database structure The structure shows how the data is going to be organized in the system at conceptual view according to the ANSI/SPARC database concept. It only defines the relations and its relationships in the database. According to this database it has satisfied the referential and entity integrity constrains since each relation has a primary key and the other relation has foreign key which links the two relations.

Figure 4 Database Structure

3.4.5 Implementation of fuzzy string matching technique public string CheckeofMSG(string msg) { string Parts=null; string[] msgarray = msg.Split(' '); // the application will check for a word with a substring “reg” and store the word in an array everything else invalid will be discarded If (msg.ToUpper().Contains(“REGISTER”)||msg.ToUpper().Contains("REG") || msg.ToUpper().Contains("REGISTRATION"))

21 { Parts = ProcessedMessagelevel1(msg);

} //// the application will check for a word with a substring “result” and store the word in an array everything else invalid will be discarded

else if (msg.ToUpper().Contains("RESULTS")|| msg.ToUpper().Contains("RESULT")) { Parts = ProcessedMessagelevel2(msg); }

3.4.6 Security Security is an issue that needs to be fully addressed, to insure that unauthorized users are not tolerated to corrupt the system. System security was of paramount importance from the beginning of the project. Security measures are to be implemented for the safe guarding of the system various computer crimes. The system checks if the registration number tallies the phone number of the same student, if there is a mismatch the student cannot access the system. In case a student request the results using a different phone number, the results will be delivered to the student registered phone number not the one which was used to request the result.

3.5.0 Population and sample The researcher took random samples of students at various campuses. The sample size used was 80 students. Students are from different campuses so that we remove some element of bias which might arise since every student has an equal probability of being chosen from any faculty as a sample. Sample was limited to 80 students because of financial issues in testing the system.

3.5.1 Data collection methods Observation was used as a method of data collection because students sent various messages to the system and the researcher observed how it handles the requests. Observations gives the

22 researcher a room to analyze the effectiveness of the system by comparing its output to the expected output.

3.6.0 Implementation The system is now performing academic registrations using string matching technique. Students with smartphones or non-smartphones are now able to perform academic registrations despite their geographical location as well as the telecommunications service provider.

Table 1 Screenshots of the system

23

3.7.0 Summary This chapter was mainly focusing on the methodology used to develop the system and how the system was designed. In coming up with the system there are different techniques that were used and different tools which made it possible to create the proposed system, tools like Visual Basic studio, C Sharp Object Oriented Programming language and Microsoft Access Database Management System. The functionalities and how the system data flow from the beginning to the end are also illustrated in this chapter.

24 CHAPTER FOUR DATA ANALYSIS PRESENTATION, ANALYSIS AND INTERPRETATION

4.0.0 Introduction After successfully developing the system for academic registrations there arise a need to analyze the system efficiency. Accuracy and performance were the metrics used to determine the efficiency of the system and they were calculated using standard formulas. Data collected in chapter three was also analyzed to produce meaningful results. System behavior was observed under different conditions and the results were presented in a table format. Blackbox testing technique played a major role in determining the system behavior in different conditions.

4.1.0 Testing Testing is an essential part of the development process and this chapter shows the tests that were undertaken and the result they produced. The testing is measured against the functional and non- functional requirements as given in chapter three.

4.1.1 Black box Testing

Black box testing is a software testing techniques in which functionality of the system is tested without the knowledge of the internal structure of the code. It mainly focuses on input and output of the string matching SMS based system and how it behaves on certain input. Its main purpose is to check whether the system is working as per expected in requirement document & whether it is meeting the user expectations or not.

4.1.1.1 Fuzzy Testing

Fuzzy Testing is one of the black box techniques the researcher used on string matching SMS based system to test how the system respond after the user sent a message with invalid contents. The system was monitored on the number of crashes or failures inbuilt code. The results are shown in the fig below.

25

Figure 5 Invalid input from the user and the result

The results shown above proved that the system is effective since it is able to handle all input errors and produce the required result. The user was notified and was given a correct format of the message structure. This test was done by the researcher to ensure that the system will behave as expected despite the input presented before it which will increase the usability of the system.

4.1.1.2 User Acceptance Testing User acceptance testing is a technique or process of verifying that the implemented system works for the user. It also shows how the users respond to the new innovation that has been presented before them as well as testing whether there are no changes made to the requirements by the researcher. The researcher conducted user acceptance testing with various students from various faculties at Bindura University of Science Education. This test was done to make sure that all students from different geographical locations as well as different faculties had great appreciation on the system performance as well as behavior.

Alpha Testing Alpha testing was done during the development environment by the supervisor before the system was released to be tested by other stakeholders. This also helped the researcher to fix some bugs in the code and it also improves the usability of the system.

26 Beta Testing Students from different faculties tested the system and they also validated the usability functionality and compatibility of the systems in real institution environment. Academics registrations were perform successfully. Students appreciated the system performance and its usability in the institution and it will increase accessibility to academic materials such as courses and results despite geographical location or internet access.

Efficiency

The efficiency of the string matching SMS based system was determined by system parameters which are accuracy and performance.

Performance testing

It is a broad non- functional testing technique which is done to determine the system parameters in term of speed in processing messages as well as stability of the system under various conditions. Through this testing technique the researcher also identified some quality attributes of the system such as reliability and memory usage.

The system performance in retrieval and manipulation of the database was effective since the researcher uses a database which can handle concurrent users. Sending and receiving of text messages was determined by external factors which include the stronger the signal of the service provider the faster the responses to the users. It was difficult to assess the speed of replying the message to the students in real time since network varies with geographical location and the mobile phone being used.

4.2.0 Evaluation Measures and results For the evaluation of results, metrics like Precision, Recall, F1 score and Accuracy are calculated using a sample of messages which contains different input to the system. The performance of the system is ranked according to its ability to determine correct format of message from corpus message. A number of arguments can arise about the way the test was done which do not reflect the reality, no better methods for evaluating performance have been developed cited (Adesina & Nyongesa, 2013).(Jain & Agarwal, 2017) also supported the view of the author by using the same metrics in evaluating performance on spam detection on social media text using text

27 analysis technique. The calculation of these matrices is based on the confusion matrix shown in Table 2.

Table 2: Confusion matrix

Type Correct format Wrong format Correct format True Positive False Negative Wrong format False Positive True Negative

A sample of 80 students was observed for the purpose of testing the system. On every student the behavior of the system was monitored and recorded. Fifty (50) correct random messages were generated in random formats like “Reg b1335487/results b1335487/b164001 cs101 cs102 cs111”. Thirty (30) incorrect random messages were generated in random formats like “Hey man/ 123231/ hello/ reg/uksosanc/”. All the analysis on these messages was carried out to check for system accuracy in classification of messages sent to the system.

Table 3: Examples of test cases used to determine the contents of the confusion matrix

Test cases Message type Number of Returned Returned classification sent messages number of number correct of responses incorrect messages 1 Wrong format 30 30 0 True negative 2 Correct format 50 50 0 True positive

Accuracy

(Jain & Agarwal, 2017) described accuracy as the number of correct predictions made in either of the class divided by the total number of predictions made. It is then multiplied by 100 for getting the percentage. It is calculated as shown in equation below:

28 Equation 1 Accuracy calculation

Accuracy = (TP + TN)/ (TP + TN + FP + FN)

Accuracy = (30+50)/ (30+50+0+0)

= 1

= 1*100

= 100%

4.3.0 Conclusion

The system is accurate since the results showed that the accuracy rate is 100% which was derived by analysis the components of the confusion matrix. The greater the accuracy rate proved that the system has zero number of false positives and false negatives. The system was able to handle 80 messages which proved that the system also passes the stress load testing. It was difficult to assess the overall system performance due to many external factors which need to be taken into consideration such network generation in that location. These results satisfies second objective of this research since the researcher was able to assess the effectiveness of the system. According to the results, string matching SMS based system is viable to be implemented at the institution.

29 CHAPTER FIVE CONCLUSIONS AND RECOMMENDATIONS

5.0.0 Introduction This chapter marks the epilogue of the research project and briefly conclude the research project carried out. The conclusion will append the work of this project by just comparing the outcome of this project that is the string matching SMS based system and compare with the aim and objectives of this project to check whether they were met or not. This chapter also points out where further research or work should be done to the project for future development which was out of the scope on this system as well as giving all stakeholders an insight on what could be expected out of this system

5.1.0 Aims and Objectives Realization The main objective of the research was to develop a string matching SMS based system which will perform academic registrations for BUSE current students using an SMS. It will also allow students with non- smartphones to perform academics registrations with our without internet access. The researcher developed a working system to perform academic registrations despite the availability of internet or not. The researcher also analyzed different string matching techniques and discovered that fuzzy string matching technique was the best for this research. Effectiveness of the system was broken down into accuracy and performance and these parameters were analyzed using different metrics. All objectives of this research has been satisfied.

5.2.0 Challenges

The researcher encountered some challenges during the implementation phase of the system. In implementing the system, the researcher faced problems in acquiring the tools necessary for the project to work, i.e., laptop with a built in Sim card so that the researcher have root access to the message body. Another challenge was finding students who were willing to participate in the testing phase since students were complaining about funds for sending messages for testing purposes only.

30 5.3.0 Recommendations and future work

Most of the work has been done in this research and every objective has been achieved. The researcher would like to go an extra mile to indicate some areas that could be added to this researcher for future work. The system should be fully integrated with the university systems not only limited to results and registration. The researcher limited the system due to time of development was limited for the system to be fully integrated to University system. The researcher also recommend if all Zimbabwean institutions to adopt the system for the sake of disadvantaged students.

31 References

Abdel-qader, M. (2011). Using Short Message Service ( SMS ) to Support Business Continuity, 1(2), 34–38. Adagunodo, E. R. (2009). SMS User Interface Result Checking System, 6. Adesina, A., & Nyongesa, H. (2013). A Mobile-Health Information Access System, 1–7. Retrieved from http://repository.uwc.ac.za/handle/10566/1044 Chaka, P., & Mungadzi, F. S. (2013). An Implementation Of An Online Based Registration System In Tertiary Institutions In Zimbabwe, 2(10), 4011–4040. Chandra, V. (n.d.). Comparison between Various Software Development Methodologies, 131(9), 7–10. Gurung, D., Chakraborty, U. K., & Sharma, P. (2017). An analysis of the Intelligent Predictive String Search Algorithm: A Probabilistic Approach. International Journal of Information Technology and Computer Science, 9(2), 66–75. https://doi.org/10.5815/ijitcs.2017.02.08 Jain, G., & Agarwal, B. (2017). Spam Detection on Social Media Text, (5). Journal, B. E., October, P. O., Kijazi, A., Lecturer, A., Titi, B., & Road, M. (2016). Enhancing students’ academic records management systems using short message service gateway, I(2), 1–12. Kothari, R., Bokariya, P., & Kothari, V. (2016). Appraising Use of Mobile Messaging Application as an Additional Tool for Undergraduate Teaching, 2(4), 126–129. Liu, B., & Hsu, W. (n.d.). Post-Analysis of Learned Rules. Naik, S. M., & Geethanjali, N. (2011). Design of Efficient Algorithm for Network Intrusion Detection System, (Icmlc), 462–465. https://doi.org/10.20944/preprints201608.0197.v1 Nyamtiga, B. W., Sam, A., & Laizer, L. S. (2013). Enhanced Security Model For Mobile Banking Systems In Tanzania. International Journal of Technology Enhancements and Emerging Research, 1(4), 4–20. Patel, U., & Thakkar, M. (2014). An Efficient Exact Single Pattern Matching Algorithm, 3(5), 1955–1958. Rahman, T. F. A., Buja, A. G., Jalil, K. A., & Ali, F. M. (2017). SQL Injection Attack Scanner Using Boyer-Moore String Matching Algorithm. Journal of Computers, 12(2), 183–189.

32 https://doi.org/10.17706/jcp.12.2.183-189 Rantiola, F., & Ozichi, E. (2014). D EVELOPMENT OF A M ULTIFACTOR A UTHENTICATION R ESULT C HECKER S YSTEM, 1(2), 1–8. S, A. A. (2016). Commerce English Use of Sms Language - A Threat To Effective Written Communication in English Mohamed Sahul Hameed School of Social Sciences and Languages , VIT University , -632014 , India . Associate Professor of English , School of Social Sciences and , (3), 1998–1999. Sanjaya, R., & Pramsane, S. (2006). Mobile Education Services Based on SMS and Their Architecture Comparison. Proceedings of Third International Conference on eLearning for Knowledge-Based Society, 49.1-49.9. Retrieved from http://ijcim.th.org/SpecialEditions/v14nSP1/pdf/p49.1-9-fin-61.pdf Singla, N., & Garg, D. (2012). String Matching Algorithms and their Applicability in various Applications. International Journal of Soft Computing and Engineering, 1(6), 218–222. Susanto, T. D., & Goodwin, R. (2011). User acceptance of SMS-based eGovernment services. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 6846 LNCS, 75–87. https://doi.org/10.1007/978-3-642-22878-0_7 Taskin, E. (2012). GSM MSC/VLR Unstructured Supplementary Service Data(USSD) Service, (November). Ziden, A. A., Rosli, M., Gunasegaran, T., & Azizan, S. N. (2017). Perceptions and Experience in Mobile Learning via SMS: A Case Study of Distance Education Students in a Malaysian Public University. International Journal of Interactive Mobile Technologies, 11(1), 116– 132.

33 Appendix Course registration class public string PerformReg(string msg) { string doneNotification= null; string regnum = null; string[] courses = new string[15]; string[] msgarray = msg.Split(' ');

foreach (string ben in msgarray) { if (ben.ToUpper().Contains('B')) { char[] z = ben.ToCharArray();

int y; bool o = int.TryParse(z[1].ToString(), out y); if (o == true) { regnum = ben; } } else { char[] z = ben.ToCharArray(); int y; bool o = int.TryParse(z[2].ToString(), out y); if (o == true) { courses[i] = ben; i++; } }

}

bool success = false; foreach(string g in courses) { if (g != null) { myDbase.myconnection = myDbase.Connection(); myDbase.Command(); myDbase.myconnection.Open();

34 myDbase.mycommand.CommandText = "Update Courses Set Regestered='"+"1"+"' where Stdid='" + regnum.ToUpper()+ "'AND CourseCode='" + g + "' "; int i = myDbase.mycommand.ExecuteNonQuery(); myDbase.myconnection.Close();

//me.mycommand.CommandText = "Update student Set attended ='" + "1" + "',timemarked='" + mytime2 + "', markedby='" + mymenu.myname.Text + "' Where id ='" + a + "' "; //firstupdate.Add(a);

if (i == 1) { GSMEngine myengine = new GSMEngine(); myengine.Reply("Succesfully regestered courses.", regnum); success = true; } else { success = false; } } }

if (success == false) { return "Failed. If you wish to register please send the key word reg followed by your reg number like '"+"Reg b2040356"+"'."; } else { return "Succesfully regestered courses."; }

} Updating courses method foreach (string g in course) { if(g!=null) courses += ", " + g; }

35

if (courses ==null) { return "No courses fo"+"' "+ regnumber+ " '"+" where found.Please send the key word reg followed by your reg number like '" + "Reg b2040356" + "'."; } else { return "You can regester " + courses + ".Please send your reg number followed by the courses you wish to register."; }

} } } Gsm engine for reading and sending messages public bool Reply(string Msg, string regnumber) { bool sentstatus = false; Dbase myDbase = new Willie_Matombo.Dbase(); string Phonenumber = null; string[] course = new string[100]; string courses = null;

myDbase.myconnection = myDbase.Connection(); myDbase.Command(); OleDbDataReader reader = null; myDbase.myconnection.Open(); //This is an Sql Statement . myDbase.mycommand.CommandText = "Select* From students where RegNumber= '" + regnumber + "'";

reader = myDbase.Command().ExecuteReader(); //reader.Read(); int i = 0; while (reader.Read())

{

Phonenumber = reader["Phone"].ToString ();

36

} myDbase.myconnection.Close(); try

{ SerialPort sp = new SerialPort(); // change com port to comport of the mordem sp.PortName = "COM7"; sp.Open(); sp.WriteLine("AT" + Environment.NewLine); Thread.Sleep(100); //sp.WriteLine("AT+CMGF=1" + Environment.NewLine); sp.WriteLine("AT+CMGF=1" + Environment.NewLine); Thread.Sleep(100); sp.WriteLine("AT+CSCS=\"GSM\"" + Environment.NewLine); Thread.Sleep(100); sp.WriteLine("AT+CMGS=\"" + Phonenumber + "\"" + Environment.NewLine); Thread.Sleep(100); sp.WriteLine(Msg + Environment.NewLine); Thread.Sleep(100); sp.Write(new byte[] { 26 }, 0, 1); Thread.Sleep(100); var response = sp.ReadExisting(); if (response.Contains("ERROR")) { sp.Close(); return sentstatus; }

else { sp.Close(); return true; }

sp.Close(); } catch { throw; }

return sentstatus; }

37

} }

38