CK-TEDAM UNIVERSITY OF TECHNOLOGY AND APPLIED SCIENCE DESIGN AND IMPLEMENTATION OF STUDENT REGISTRATION AND COMPLAINT SYSTEM FOR COMPUTER SCIENCE DEPARTMENT BY EDWARD BARTELS (FMS/0143/17) A DISSERTATION SUBMITTED TO THE DEPARTMENT OF INFORMATION SYSTEMS AND TECHNOLOGY, SCHOOL OF COMPUTING AND INFORMATION SCIENCE, IN PARTIAL FULFILMENT OF THE REQUIREMENT OF THE AWARDS OF BACHELOR OF SCIENCE DEGREE IN COMPUTER SCIENCE AUGUST,2021. DECLARATION We hereby declare that this dissertation is the result of my own original work, except for reference to the work of others which have been duly acknowledged; and that no part of the work has been presented for another degree in this university or elsewhere. Candidate’s Name: Edward Bartels Candidate’s Signature: ……. Date: ………. CERTIFICATION I certify that this work was carried out independently by EDWARD BARTELS in the Department of Computer Science under the supervision of Dr. EDWARD BAAGYERE as part of the requirement for the award of Bachelor of Science in Computer Science. Supervisor’s Name: Dr. Edward Baagyere Supervisor’s Signature: …………………………………. Date: ……………………………………………………... Head of Department’s Name: Head of Department’s Signature: ……………………….. Date: ……………………………………………………... i ABSTRACT ii ACKNOWLEDGEMENT I am truly grateful to God, whose blessings have always been enormous and who gave me the ability and strength to complete this project. I would like to dedicate this project to my parents and loved ones, who enlightened me on the values of education and always kept me on the right track. It is a great honour and pleasure for me to record this deep sense of gratitude and insightful indebtedness to my respected supervisor, Dr. Edward Baagyere for his valuable contribution, constant guidance, intuitive advice, helpful criticism, valuable suggestions, commendable support, and also endless patience for the completion of this project work. I am very much grateful to him and feel proud to have worked with him because it was not possible for me to complete this work without his inspiring enthusiasm and encouragement. Lastly, I will like to recognize the efforts of all individuals and groups who extended a supporting hand to me knowingly or unknowingly. iii TABLE OF CONTENTS ABSTRACT ...............................................................................................................................ii CHAPTER ONE ........................................................................................................................ 1 1 INTRODUCTION ............................................................................................................. 1 1.1 OVERVIEW................................................................................................................ 1 1.2 PROBLEM STATEMENT ......................................................................................... 2 1.3 THE PURPOSE OF THE STUDY ............................................................................. 2 1.4 OBJECTIVES OF THE PROJECT............................................................................. 3 1.5 GOALS OF THE STUDY .......................................................................................... 3 1.6 SCOPE OF THE PROJECT........................................................................................ 3 1.7 METHODOLOGY ...................................................................................................... 3 1.8 ORGANIZATION OF THE REPORT ....................................................................... 4 CHAPTER TWO ....................................................................................................................... 5 2 LITERATURE REVIEW .................................................................................................. 5 2.1 EXISTING TECHNOLOGY ...................................................................................... 5 2.2 PROPOSED SYSTEM................................................................................................ 5 CHAPTER THREE ................................................................................................................... 6 3 METHODOLOGY ............................................................................................................ 6 3.1 SOFTWARE DEVELOPMENT LIFECYCLE MODEL ........................................... 6 CHAPTER FOUR ...................................................................................................................... 9 4 SYSTEM DESIGN ............................................................................................................ 9 4.1 TECHNOLOGY USED .............................................................................................. 9 4.1.1 SUBLIME TEXT BUILDER .............................................................................. 9 4.1.2 XAMPP SERVER 3.2.3 (64bit)........................................................................... 9 4.1.3 MySQL ................................................................................................................ 9 4.1.4 PHP .................................................................................................................... 10 4.1.5 BOOTSTRAP .................................................................................................... 10 iv 4.1.6 HTML ................................................................................................................ 10 4.1.7 CSS .................................................................................................................... 10 4.2 INPUT DESIGN ....................................................................................................... 10 4.2.1 ADMINISTRATOR .......................................................................................... 10 4.2.2 USER ................................................................................................................. 10 4.2.3.................................................................................................................................. 10 4.2.4 Website/System Aspect ..................................................................................... 10 4.2.5 Non-Functional Requirements ........................................................................... 11 4.2.6 System Requirements......................................................................................... 11 4.3 PROCESS DESING .................................................................................................. 11 4.4 DATA FLOW DIAGRAM ....................................................................................... 11 4.4.1 CONTEXT LEVEL DFD .................................................................................. 11 4.4.2 USER MODULE ............................................................................................... 12 4.4.3 ADMIN MODULE ............................................................................................ 12 4.5 DATABASE AND GUI DESIGN ............................................................................ 12 4.6 DATABASE DESIGN .............................................................................................. 13 4.7 OUTPUT DESIGN ................................................................................................... 13 4.8 GUI DESIGN ............................................................................................................ 14 4.8.1 HOME PAGE .................................................................................................... 14 4.8.2 ADMIN LOGIN PAGE ..................................................................................... 14 4.8.3 REGISTER USER ............................................................................................. 14 4.8.4 ADMIN MENU PAGE ...................................................................................... 14 4.9 SYSTEM TESTING ................................................................................................. 14 4.10 UNIT TESTING .................................................................................................... 15 4.11 INTEGRATION TESTING .................................................................................. 15 4.12 USER ACCEPTANCE TESTING ........................................................................ 16 4.13 IMPLEMENTATION ........................................................................................... 16 v 4.14 SECURITY AND MAINTENANCE .................................................................... 17 CHAPTER FIVE ..................................................................................................................... 18 5 INTRODUCTION ........................................................................................................... 18 5.1 SUMMARY .............................................................................................................. 18 5.2 CONCLUSION ......................................................................................................... 18 5.3 RECOMMENDATION ............................................................................................ 18 REFERENCES ........................................................................................................................ 19 APPENDIX I ........................................................................................................................... 20 SOURCE CODES.................................................................................................................... 20 1. Codes for the Login Form ................................................................................................ 20 LIST OF TABLES No table of figures entries found. LIST OF FIGURES Figure 1 UML diagram for the evolutionary prototype development model ............................ 7 Figure 2 Context Level DFD, User and Admin Model ........................................................... 12 vi CHAPTER ONE 1 INTRODUCTION 1.1 OVERVIEW For a productive system of education to take place, there are some concerns in academic environment that should be well addressed, take for instance the design and implementation of student registration and complaints system for computer science department. The non-creation of this important registration and complaints system for students of the department can slow down academic growth of students. To help or support this approach, this project examines variety of options that can be used to guide and resolve the issues surrounding student’s registration and complaints for the computer science department. Marchington and Wilkinson (2005) defines the method of handling compliants as a product labour relations environment in the 60s and 70s when there was a more explicit struggle for control in the workspace.The student registartion and compliant system is an information system used to help,manage and accommodate all complaints or issues of students.The system will allow the registartion of student and the submission of students complains so it could be resolved.The system is to ensure and maintain an effective ,timely and honest registration and compliant system which is accessable and offered to student at no cost.This project seek to design and implement a registration and complaint system for handling and resolving issues regarding students registration and complaints and for this process to take place, there must be an automation of the system that will handle the complian process and method of registration for students.The cambrige Dictionary defines automation as the use of computers that can operater without neding human control,that’s reduce human intervention in processes.It is possible for the design and implentation of the student registration and complaints system to yield substatial benefit for the student and promote academic growth for the computer science department. The system will be achieved by using (MySQL) as a relational database system. HTML and CSS will be used to design the web interface, PHP will be used as the server side script language to link the interface and the database.it will be accessible by an administrator, student, staffs of the department. The interface will be very user friendly, protected for personal use and the data processing will be very fast. 1 1.2 PROBLEM STATEMENT The design and implementation of the student registration and complaints system will help solve registration problems and complaints issues facing students in the computer science department. These include; 1. The delay in registrations and compliant feebacks due to network problems . 2. Students with no internet service may not be able to register and make compliiants 3. Lack of legitimate ,concise data about student’s complaints and management actions to resolve them 4. Poor management and updates of the the system may lead to the missiing of registration information and complaints from students. 5. The delay in feedbacks from the department when compliants are made by students. 6. Insuficient power supply. 1.3 THE PURPOSE OF THE STUDY 1. To keep accurate records of student registration details and to resolve all complaints issues of students in the department. 2. To Remove the difficulties and manual process of student registration and complaints issues in the department. 3. To give the department a good overview of student’s registration records and complaints issues that need to be addressed and give feedback to students that made the complaints 4. To design a web based registration and complaints system. 5. To create a system that will enhance immediate response of complain issues concerning students of the department. 2 1.4 OBJECTIVES OF THE PROJECT To design and implement a Registration and Complaints system for student in the Computer Science Department that will help solve the problem facing student’s registration and complaints, gathering all the complaints and also sending all the complaints to the management of the department for immediate action and giving feedback about their complaints. The system will save time, reduce improper handling of complaints system and also improve relationship between student, lecturers and management 1.5 GOALS OF THE STUDY 1.6 SCOPE OF THE PROJECT This study covers only the procedure for registration and managing complaints of student in the computer science department of the C.K. Tedem university of technology and applied science. The system is designed to be web based to help student login his or her registration and complaints and request for help from the department concerning any student’s registration and complaints. This project is limited by time constraints and also limited to only students of the computer science department. 1.7 METHODOLOGY The study used both primary and secondary data. Primary data was collected through soliciting of views from potential users who will use the system and secondary data through reviewed previous work in the topic area. To implement the project, the following resources were used; Any web browser 3 Sublime Text Builder XAMPP Server 3.2.3 (64bit) MySQLi Php Any operating system 1.8 ORGANIZATION OF THE REPORT The final report will contain five chapters. Chapter one will contain Background to the study, Problem Statement, Objectives, Goals, Justification and Methodology of the study. Chapter two will review literature on related works. Chapter three will present the methodology which will includes the methods and tools used in design and implementation of student registration and complaint system for computer science department. Chapter four will present the conceptual design of the system, screenshots of the various forms and their functions in the system. Chapter five will contain conclusion, summary and recommendations. 4 CHAPTER TWO 2 LITERATURE REVIEW 2.1 EXISTING TECHNOLOGY The current system for student registration and complaint is to visit the department manually for registration and complains. 1. Students must go to the department for registration and complains. 2. It is a time-consuming process 3. Not in reach of distant users. 2.2 PROPOSED SYSTEM 5 CHAPTER THREE 3 METHODOLOGY This chapter describes a conceptual model and methodology that can be utilized for more successful development of student registration and complaint system for the computer science department. The frame work of this model is based on the software process model theory that formalizes the development face of this system. The various activities, which are undertaken when developing software, are commonly modeled as a software development lifecycle. 3.1 SOFTWARE DEVELOPMENT LIFECYCLE MODEL The software development lifecycle begins with the identification of a requirement for the software and ends with the formal verification of the developed software against the requirement. For the purpose of this project, the prototype life cycle model was employed. Prototyping is a process model that offers a solution to the problem of ensuring that the customer get what they want. In prototyping, the customer is presented at a very early stage with a working version of the system. It may not be a complete system, but it is at least part of the system and it is functional. The customer can check if it meets their requirement or specify modifications. The developer amends the system and demonstrates it again and again until it meet the customer’s requirements. Thus, the main purpose of prototyping is ensuring that the user’s needs are satisfied. There are two types of prototyping – Close and Open ended. The close-ended approach is often called throwaway prototyping. Using this approach, a prototype serves solely as a rough demonstration of requirements. it is then discarded, and the software is engineered using a different paradigm. An open-ended approach, called evolutionary prototyping uses the prototype as the first part of an analysis activity that will be continued into design and construction. The prototype of the software is the first evolution of the finished system. I employed the use of the evolutionary prototype. Below is a UML diagram for the evolutionary prototype development model. 6 Draw up initial specification Construct prototype Check with user Refine prototype If [User require changes] [User happy] Deliver the working system Figure 1 UML diagram for the evolutionary prototype development model 7 The stages are: 1. Requirement definition (initial specification) – a stage of thorough analysis is used to create an initial specification for the software. 2. Prototype construction – a prototype is built in a quality manner, including design, documentation, and thorough verification. 3. Evaluation (check with the user) – during evaluation, problems in the developer’s perception of the customer requirement are uncovered. The prototype are the communication medium that enables the developer and user to communicate with each other. 4. Iteration (refine the prototype) – evaluation is carried out repeatedly until the prototype meets the objectives. The specification is updated with every iteration. 8 CHAPTER FOUR 4 SYSTEM DESIGN 4.1 TECHNOLOGY USED Sublime Text Builder Xampp Server 3.2.3 (64bit) MySQL PHP Bootstrap HTML CSS 4.1.1 SUBLIME TEXT BUILDER Sublime Text provides build systems to allow users to run external programs. Examples of common uses for build systems include: compiling, transpiling, linting, and executing tests. New Build System… menu item or the Build: New Build System command palette entry. 4.1.2 XAMPP SERVER 3.2.3 (64bit) XAMPP is a free and open-source cross-platform web server solution stack package developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB database, and interpreters for scripts written in the PHP and Perl programming languages. Since most actual web server deployments use the same components as XAMPP, it makes transitioning from a local test server to a live server possible. XAMPP's ease of deployment means a WAMP or LAMP stack can be installed quickly and simply on an operating system by a developer, with the advantage that common add-in applications such as WordPress and Joomla! can also be installed with similar ease using Bitnami. 4.1.3 MySQL MySQL is a relational database management system based on SQL – Structured Query Language. The application is used for a wide range of purposes, including data warehousing, e-commerce, and logging applications. The most common use for mySQL however, is for the purpose of a web database. 9 4.1.4 PHP PHP is a server-side scripting language. that is used to develop Static websites or Dynamic websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier stood for Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP installed. 4.1.5 BOOTSTRAP Bootstrap is a potent front-end framework used to create modern websites and web apps. It's open-source and free to use, yet features numerous HTML and CSS templates for UI interface elements such as buttons and forms. Bootstrap also supports JavaScript extensions. 4.1.6 HTML HTML First developed by Tim Berners-Lee in 1990, HTML is short for Hypertext Markup Language. HTML is used to create electronic documents (called pages) that are displayed on the World Wide Web. Each page contains a series of connections to other pages called hyperlinks. 4.1.7 CSS CSS is the language for describing the presentation of Web pages, including colors, layout, and fonts. It allows one to adapt the presentation to different types of devices, such as large screens, small screens, or printers. CSS is independent of HTML and can be used with any XML-based markup language. 4.2 INPUT DESIGN The system design is divided into two portions. The Administrator section and the User (Clients) section. 4.2.1 ADMINISTRATOR 1. The administrator backup the system database 2. The administrator makes sure of proper authentication of the system 3. Verifies students or user identity 4.2.2 USER 1. User should have an account to login 2. They can edit their profile and update details 4.2.3 4.2.4 Website/System Aspect 1. Authenticate and give access to the system 2. Keep track of every user session online 10 4.2.5 Non-Functional Requirements 1. System should be capable of handling multiple users 2. Database updates should follow proper transaction process to avoid data inconsistency 3. Inactive accounts can be deleted in a period of time 4.2.6 System Requirements 1. Client’s operating system and web browser enabling JavaScript 2. Communication hardware to communicate the server or internet connection Input design is a process of converting user originated inputs to a computer-based format. Input design is an important part of development process since input data are the most common cause of errors in data processing. Erroneous entries can be controlled by input design. It consists of developing specifications and procedures for entering data into a system and must be in a simple format. The goal of input data design is to make data entry as easy, logical and free from errors as possible. In input data design, we design the source document that capture the data and then select the media used to enter them into the computer. 4.3 PROCESS DESING Process design plays an important role in project development. In order to understand the working procedure, process design is necessary. Data Flow Diagram and System Flow chart are the tools used for process design. System Flow Chart is a graphical representation of the system showing the overall flow of controls in processing at the job level; specifies what activities must be done to convert from physical to logical model. Data Flow Diagram is the logical representation of the data flow of the project. The DFD is drawn using various symbols. It has a source and a destination. The process is represented using circles as source and destination represented using rectangles. The data flow is representing using arrows. DFD enables readers to easily get the idea about the project. 4.4 DATA FLOW DIAGRAM 4.4.1 CONTEXT LEVEL DFD 11 Update form Student Registration Verify Data Admin And User Updated Complaint system Conform information 4.4.2 USER MODULE Student User ID LOGIN User Student Homepage Information Database Password 4.4.3 ADMIN MODULE Admin Admin Username LOGIN Add new Admin Homepage Database Password Student Information Figure 2 Context Level DFD, User and Admin Model 4.5 DATABASE AND GUI DESIGN Every web application needs to have an operational database to store its generated data. More so, a simple and interactive Graphical User Interface (GUI) is one of the success indicators of any web application project. This chapter presents the database and GUI design for this system. 12 4.6 DATABASE DESIGN MySQL database management system is the most popular database system for web application because of its speed, reliability, and flexibility. All the data generated by this application are managed on MySQL database system. A database is a collection of interrelated data stored with minimum redundancy to serve many users quickly and efficiently. Relationships are established between the data items and unnecessary data items are removed. Normalization is done to get an internal consistency of data and to have minimum redundancy and maximum stability. This ensures minimizing data storage required, minimizing chances of data inconsistency and optimizing for updates. The MySQL Database system has been chosen for developing the relevant databases. Below are the tables that involved in the proposed system. 4.7 OUTPUT DESIGN Designing computer output should proceed in an organized, well thought-out manner, the right output element is design so that people will find the system meaningful and useful whether in its source code or when executed. In designing an output one must first identify the specific output that is needed to meet the system requirements. the usefulness of the new system is evaluated on the basis of their output. Once the output requirements are determined, the system designer can decide what to include in the system and how to structure it so that the required output can be produced. For the proposed system, it is necessary that the output reports be compatible in format with the existing reports. The output must be concerned to the overall performance and the system’s working, as it should. It consists of developing specifications and procedures for the data preparation, those steps necessary to put the inputs and the desired output, i.e. maximum user friendly. Proper messages and appropriate directions can control errors committed by users. The output design is the key to the success of any system. Output is the key between the user and the system. The output must be concerned to the system’s working, as it should. Output design consists of displaying specifications and procedures as data presentation. Users never left with the confusion as to what is happening without 13 appropriate error and acknowledges message being received. Even an unknown person can operate the system without knowing anything about the system. 4.8 GUI DESIGN The user interfaces for this system were designed using HTML, Bootstrap and CSS. Also, some elements of HTML5 were used in designing the interfaces. The following subsections present the descriptions of these interfaces. 4.8.1 HOME PAGE 4.8.2 ADMIN LOGIN PAGE This page presents the admin login form where admin can enter and submit login credentials for authentication purpose. More so, it is not possible to enter null or empty string values on the form. The page is displayed whenever a user tries to access the admin page of the application which is restricted and can only be accessed by authorized users. If the authentication fails, the same page is displayed again but with an error message. 4.8.3 REGISTER USER This page present to new users or students to create an account on the system, a user needed an account before he/she can get access to the system. student’s credentials are taken in other to create the account. 4.8.4 ADMIN MENU PAGE The admin menu page is displayed when a user has been successfully authenticated. The page is the gateway to the administrative task for the admin. The links for this task has been categorized so that they can be easily accessible. 4.9 SYSTEM TESTING System testing is the stage of implementation, which is aimed at ensuring that the system works accurately and efficiently before live operation commences. Any website that uses a serverside language needs a server to run. This system contains a database, forms, images and links which indicates clearly that a server-side language was used and therefore it needs a server to be able to run. The server-side language includes PHP, MySQL, python, ColdFusion etc. 14 A server is made up of three pieces which include: web server, database server and the server language. Ideally these servers, are supposed to be installed separately to allow for flexibility but there are applications that allow them to be installed as one package. These applications include WAMP Server which runs strictly on windows, XAMPP server which runs on windows and Mac OS and MAMP server which is strictly for Mac OS. XAMPP server was used for the purpose of this study. There are two server environments to choose from: local and remote. A local environment means the website is hosted locally on your computer and remote is hosted elsewhere. The local host test method was chosen over the remote host for the purpose of this study because of its advantages. A single misspelling can result in the site getting locked down forcing you to scramble to regain access and undo what you did. Security holes may appear whiles you are testing. Even if the worst-case scenarios don’t happen, the client may choose to go and check things out before you have updated or debugged things. Depending on the client, if he/she decides to check out the site and sees a mess, he could very well start losing faith or enter into a panic. 4.10 UNIT TESTING The software units in a system are modules and routines that are assembled and integrated to perform a specific function. With the help of the XAMPP server, the units of this website was tested and errors corrected. Each web page was tested by typing (localhost), the folder containing the files and the name of the file and ended with the file extension (.php) in the search engine of the browser. For instance, the user login page was tested by typing (localhost/……/index.php) in the browser and once the enter key is pressed, the website was launched. This approach was used for all the other webpages and all errors that were identified were fixed. The web forms were also tested using the name of the form and the extension. 4.11 INTEGRATION TESTING Integration testing is a systematic testing to discover errors associated within the interface. The objective is to take unit tested modules and build a program structure. Two or more forms were filled and a database connection was established between the forms and the database. Once everything was appropriate, the data when submitted were stored in the database as expected. In cases where the data were not stored in the database, errors were corrected. Again, each login form is linked to the appropriate table to ensure that user 15 credentials are verified and the appropriate actions performed. Testing for various icons and menus were done by clicking on the permalinks to make sure it takes the user to that particular page. The whole system was integrated and measures put in place to make sure it worked properly. 4.12 USER ACCEPTANCE TESTING User acceptance of a system is the key factor for the success of any system. After integrating all parts of the system, the final system was delivered to some students, after using the system, they testified that, the system is good and when implemented will serve its purpose better. 4.13 IMPLEMENTATION Implementation is the stage in the project where the theoretical design is turned into a working system and is giving confidence on the new system for the users that it will work efficiently and effectively. It involves careful planning, investigation of the current system and its constraints on implementation, design of methods to achieve the changeover, an evaluation of change over methods. Apart from planning, major task of preparing the implementation are education and training of users. The implementation process begins with preparing a plan for the implementation of the system. According to this plan, the activities are to be carried out, discussions made regarding the equipment and resources and the additional equipment has to be acquired to implement the new system. In network backup system no additional resources are needed. Implementation is the final and the most important phase. The most critical stage in achieving a successful new system is giving the users confidence that the new system will work and be effective. The system can be implemented only after thorough testing is done and if it is found to be working according to the specification. 16 This method also offers the greatest security since the old system can take over if errors are found or inability to handle certain type of processes while using the new system. 4.14 SECURITY AND MAINTENANCE Maintenance involves the software industry captive, typing up system resources. It means restoring something to its original condition. Maintenance follows conversion to the extent that changes are necessary to maintain satisfactory operations relative to changes in the user’s environment. Maintenance often includes minor enhancements or corrections to problems that surface in the system’s operation. Maintenance is also done based on fixing the problems reported, changing the interface with other software or hardware enhancing the software. Any system developed should be secured and protected against possible hazards. Security measures are provided to prevent unauthorized access of the database at various levels. An uninterrupted power supply should be used so that power failure or voltage fluctuations will not erase the data in the files. Password protection and simple procedures to prevent the unauthorized access are provided to the users. The system allows the user to enter the database only through proper user name and password. 17 CHAPTER FIVE 5 INTRODUCTION This chapter summarizes the content of the project report and the Student Registration and Complaint System package in general. The section first discusses about the entire package as a whole, then makes conclusions and recommendations and finally presents the areas for further study. 5.1 SUMMARY 5.2 CONCLUSION With the information gathered and system proposed, it will be a very effective web based system that can be accessed easily without any difficulty. This system will be very useful to students for registration and the lodging of complaints by students can easily be done effectively. 5.3 RECOMMENDATION I recommend this work to the department of computer science to ease them the stress of manual system of student registration and complaint process. 18 REFERENCES 19 APPENDIX I SOURCE CODES 1. Codes for the Login Form 20