0% found this document useful (0 votes)
49 views69 pages

Designand Implementationof Student Information System

The document discusses the development of a student information management system (SIS) for the Computer Science department at Federal University Otuoke. The current paper-based system is inefficient for managing student data and records. The proposed SIS aims to computerize student records to address deficiencies in the manual system like redundant data, inaccurate information, and difficulty accessing records. The objectives of the new system are to create a database using MongoDB, design user-friendly interfaces, add business logic using Python, and host the application using Flask on localhost port 5000. The SIS will allow authorized users like administrators, lecturers and students to efficiently manage student assignment submissions and course registration forms.

Uploaded by

bhaisahh583
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
49 views69 pages

Designand Implementationof Student Information System

The document discusses the development of a student information management system (SIS) for the Computer Science department at Federal University Otuoke. The current paper-based system is inefficient for managing student data and records. The proposed SIS aims to computerize student records to address deficiencies in the manual system like redundant data, inaccurate information, and difficulty accessing records. The objectives of the new system are to create a database using MongoDB, design user-friendly interfaces, add business logic using Python, and host the application using Flask on localhost port 5000. The SIS will allow authorized users like administrators, lecturers and students to efficiently manage student assignment submissions and course registration forms.

Uploaded by

bhaisahh583
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 69

CHAPTER ONE

1.1 BACKGROUND TO THE STUDY

With the continuous progression of schools, colleges and universities throughout the

globe, the information of students have doubled and redoubled. The colleges and

universities are faced with large number of information, and it became tedious to

manage this information manually (TANG Yu-fang, 2019). Using the paper-based

system to manage these information becomes difficult as information may be

redundant, inaccurate, inefficient, inconsistent, difficult to access, and insecure. So, for

an efficient and error-free management of this information, a student information

management system is developed.

The concept of database model was adopted to enhance the efficient record-keeping of

students’ information in the universities in an organized format. However, information

stored in the database will have some breakthroughs which include; reduced data

redundancy and updating errors (inaccuracies), increased data consistency and data

integrity, facilitates easy access to information, and improved data security. The

system is helpful for students, lecturers, and college authorities. SIS can also be

broken down into a Student Information Management System (SIMS), Student

Management System (SMS), or Student Records System (SRS) and all are created to

help keep records digitally.

The main principle behind the need of a student information system is easy

management of the college activities. The system helps to explore all the activities

happening inside the college. It can handle the details of students, lecturers, class

details, course details and fee details. Student Information System provides

1|Page
capabilities for enrolling students; registering students in courses; documenting grades

and transcripts, computing results of student test and other assessment scores; building

student schedules; tracking student attendance; and managing many other student

related data needs in a school (Gagliordi, 2014).

In 2020, Luke wrote; “The system (SIS) is being developed for a college to manage

and facilitate easy access to information. For this, the users need to be registered with

the system after which they can access or modify data as per the permissions are given

to them. The SIS system is able to collect school-wide data online so that it can be

easily accessed by lecturers, students, and administrators. Essentially, a student

information system allows the school to make data points for lots of areas in one place

so that it's easy to keep track of progress and performance. The Student Information

System is there to create a self-service solution for students to get their administrative

tasks done in one place. Equally, it can support department and staff by helping to

simplify and integrate work processes. The ability to standardize data formats between

divisions means a more unified and clear data readout at a glance, ultimately saving

time. When it comes to student records, a SIS offers high efficiency as all of the data

is automatically organized and stored for easy access whenever it is needed. Since the

platform is cloud-based, it can be reconfigured as needed to make sure it grows with

an institution. Most SIS offer open interfaces and integration with other campus

applications and database systems, making for ease of use”.

1.2 STATEMENT OF PROBLEM

The problem faced by the Computer Science department, Federal University Otuoke is

during assignment and course form submission. The paper-based system is still in use

2|Page
by the department and it is inefficient to manage the aforementioned identified

deficiencies. However, it is difficult for lecturers to get the needed information

instantly about any student, therefore delaying the decision making process that is

based on the information needed.

After the course registration, students have to print out their course registration form

and submit it to the departmental head office. The HOD secretary will now collect it

from the students and file it so that he/she can easily retrieve it when needed. Keeping

record of these assignment books and course form documents in a manual way will

always be time-consuming and will occupy space in the lecturer’s office.

The problems encountered using the manual methods include:

i. Fire outbreak might occur and damage the students’ records, leading to

great loss of information.

ii. Susceptible to unauthorized access to records, whereby records could

be missing or altered, leading to a breach of information security.

iii. Keeping track of student’s record becomes more difficult task as files

keeps growing every day; which may result in a lot of redundant data.

iv. Difficulty in accessing students’ records, especially those that has been

recorded years back.

1.3 AIM AND OBJECTIVES OF THE STUDY

The aim of this research work is to design and implement student information system that

will computerize the manual process of keeping and managing the students’ record.

The objectives are:

3|Page
1. To build a non-relational database management system using MongoDB which

will store students’ information in document-oriented structure.

2. To design the user-interface of the proposed system using frontend technologies

such as HTML (for creating the web pages), CSS (for styling the web pages),

JAVASCRIPT (for interactive web pages), and BOOSTRAP (for responsive

web pages).

3. To write some business logics for the application using Python Programming

Language.

4. To build a Flask WSGI server running on local host 127.0.0.1 port 5000.

5. To generate a system design using UML (Unified Modeling Language)

1.4 SIGNIFICANCE OF THE STUDY

This work critically explores the possible ways of making clear of the mystery behind

database and related technologies, web hosting services, protocols and of course design

and encourages young programmers to join the race without feeling interims to their

counterparts in the developed parts of the world. Without shifting this focus to website

design, in general, this project aims to enhance efficiency and at the same time maintain

information accurateness. The studies will go a long way to minimizing the time wastage,

inefficient use of statistical data, manual errors, and duplication of efforts by both staff

and academic personnel. It will also enhance efficient query, ensure the security of

records and assist the college in coping with the daily work based. The internet with all

its functionality has indeed changed the way people live and interact politically, socially,

4|Page
economically and otherwise the internet as with database combines audio, video, and

texture contents while eliminating time and space of traditional media.

The study provides solutions to practical problems using knowledge gained from the

particular class of software engineering, system analysis, project management, databases

and web design in my undergraduate studies in computer science and informatics. The

implementation of the management system will help manage institutional resources in an

efficient, effective and accountable manner.

1.5 SCOPE OF THE PROJECT

A research of this scale has voluminous areas of coverage but the researcher focuses on

the online assignment and course form submission only, which is limited to Computer

Science department, Federal University Otuoke. The system will allow the data

manipulation features like; creation, retrieval, updating, and deletion of students’ records.

Actors on the system;

i. Administrator: The admin has full control of the system. He/she can add

student, view all the registered students in the department, update student

records, and delete a student if the student is no more a member of the

department. The admin controls what the lecturers and students see on their

own interface. Information of any particular student can be obtained by just

entering the roll number or name of the student to be searched. A simple

dashboard is provided in the admin panel for easy management of the system.

The privilege to manipulate the student data is given to the Admin only. The

5|Page
admin can also give special permission to lecturers to manage the students’

assignment and course form records.

ii. Lecturer: The lecturer will be able to record every student’s assignment in the

system based on the permission given to them by the admin. This is to ensure

proper decision-making and report generation about every students in the

future. The lecturer has the right to upload the grade about the assignment so

that students can view and know their performance.

iii. Student: Students can view/update their personal details such as their name,

date of birth, level, courses, and gender. Students can also download an

assignment uploaded by the lecturer, solve it, and then upload it back to the

system so that the lecturer can download, grade, and record.

1.6 DEFINITION OF TERMS

SIS: Student Information System is a web-based application that can be accessed

throughout the institution or a specified college.

Intranet: This is a network that is local to an organization. It provides quick access to

organizational data for authorized users belonging to the organization.

Database: This is an organized collection of stored data, usually organized in tables or

files in a computer system.

Management: The use of limited resources combined with planning, coordinating,

leading, controlling, and execution skills to achieve a predetermined specific goals.

6|Page
Information System: A system that collects, store, process, and disseminate information

in an organization.

Student: Someone who dedicates his time and resources to study and learn about a

particular subject.

Information: Information is a processed data. It is the act of informing or imparting

knowledge in someone.

System: A set of interrelated components that works together to achieve a specific goal.

Redundant: Duplicating or able to duplicate the function of another component of a

system, providing backup in the event the other component fails.

Efficiency: The extent to which time is well used for the intended task.

Accuracy: The state of being free from error; exactness; correctness.

Security: Protection from harm or adversaries.

7|Page
CHAPTER TWO

LITERATURE REVIEW

2.1 INTRODUCTION

This chapter talks about the review of other related literatures of researchers that have

done research on the topic identical with, but closely related to this area of study. This

chapter comprises of Review of related works, Review of Information System, Types

of Information System, Functions of Information System, and Components of

Information System. Related research work has been carried out before now by other

researchers on the proposed system. According to (Leedy, 1985), Literature review is

the art of reviewing (looking again) at the reports of what others have done

(Literature) in an area not necessary identical with, but collateral to your own area of

study. He further said that literature review is based on the fundamental position that

gave a theoretical literature from textbooks, annuals, reports, journals, and websites

that are related to the topic under investigation. A literature review is a survey of

scholarly sources (such as books, journals, articles, and thesis) related to a specific

topic or research question. It is often written as part of a thesis, dissertation, or

research paper, in order to situate your work in relation to existing knowledge. (Shona,

2021)

At the core of every system’s efficiency is the availability of services because very

often users rate the whole system performance depending on the satisfaction they get

in using such services. To meet users’ needs and expectations, almost every online

student management has a myriad of services.

8|Page
2.2 REVIEW OF RELATED RESEARCH WORK

Related research work has been carried out before now by other researchers on the

proposed system, and all of the researchers have their own findings and analysis of the

related topic. For instance,

In the research “DESIGN AND IMPLEMENTATION OF STUDENT ACADEMIC

RECORD MANAGEMENT SYSTEM”, A.A Eludire, (2015) designed and

implemented student registration and course management database application with

Microsoft Access 2003 which solved the problem of having so many redundant data

and the possibility that the data contained in a file be inaccurate because they were

never updated. He further discussed the issues of selecting appropriate database

model, interface design, system deployment and maintenance. A projection of record

growth in relation to the student population and system requirements was also carried

out in his study. He finally discussed the applicability of the system in academic

institutions. The system is capable of registering students from admission point,

generate matriculation number for each registered students at the close of registration.

However, the system has a demerit in the Microsoft Access transmission over a Wide

Area Network (WAN) media and there was a limitation on the number of records and

file size (up to 2GB).

Ngawang T. et al, (2016) redeveloped a “STUDENT INFORMATION SYSTEM”

built by (Dechen Wangmo, 2015) using the PHP Laravel framework and MySQL

database. It has the capability of handling student related information such as

9|Page
registration, managing and updating their information, course subscription, fees and

individual remarks. Their first version of the system was developed in 2015. The

authors worked on development of the second version of the system in 2016. The

second version of the system was being deployed by the college for managing Student

Information System. Meanwhile the system has the advantages of allowing students to

upload their information, enroll to the courses and view the remarks given by their

tutor. A backup module is also integrated in the system so that the administrator can

easily backup data should incase the system crashes. It is discovered that after

evaluation and testing of the system, the authors recommended Firefox and Chrome

for the system which becomes a shortcoming of the system as this means that the

system will not run efficiently on other browsers.

Shaimaa Q.S., et al, (2017) designed and implemented “STUDENT and ALUMNI

WEB PORTAL” using (MySQL, HTML, CSS, Java Script, jQuery, PHP, AJAX)

technologies to provide robust portal system addressing two subsystems: student and

alumni portal system. Testing of the system was administered through two main

stages: the first, to identify the student’s views and their preferences. The second is to

measure the usability of the system through using System Usability Scale (SUS)

method with subscription of 22 potential system users. The breakthrough of the system

is that students have permission to send messages, send objections about his midterm

grades out of 40%. Student can also see announcements related to their exams, events

happening in the department, the last lecture uploaded with detailed information and

so on. Amidst having the aforementioned breakthroughs, the system has a shortcoming

10 | P a g e
of not allowing students to change or update their details. Comparing this to my study,

permission is granted to the students to update their details seamlessly.

The research carried out by K.Naga et al, (2019) on the “DESIGN AND

IMPLEMENTATION OF STUDENT CHATBOT USING AIML AND LSA” focuses

on the communication automation on web using computer programming. By using

computer program, a conversational agent called chatbot is created which responds to

the user statement. It can take the input from user in many formats like text and

speech. They used AIML (Artificial Intelligent Markup Language) and LSA (Latent

Semantic Analysis) to generate a relevant result to the user query. If the relevant

answer is not found, the system will automatically ping the admin. The advantage of

this system is that it helps users (students) to get the response of their query in shorter

time and with appropriate results.

“STUDENT INFORMATION SYSTEM (SIMS)” was developed by (Abuka Victor,

2019). It was implemented with the use of an object-oriented programming language,

Visual Basic 6.0, and a database application, Microsoft Access. These development

tools are what make up the student information management system. The system was

placed on a local intranet to be accessed only by the educational institution making use

of it. According to Abuka, the system was built as a desktop application for

Windows® Desktop OS only with a user-friendly interface specification to make it

easy to capture students’ information to be stored in the database, and for easy

retrieval from the database. The system provides a username and password form for a

11 | P a g e
user to login in order to gain access to the full application. The system successfully

achieved its objectives which include: Easy storage of students’ records, Easy editing

of students’ records, and Easy deletion of students’ records whenever necessary and

minimal loss of information due to the backup dialog contained in the application.

Meanwhile the system on review also have some shortcomings which include: It was

only used to manage student records. Other educational processes such as course

registration and results provision were not feasible using the system, and Users require

internet access to access the System, in the process incurring additional costs.

2.3 REVIEW OF INFORMATION SYSTEM

According to Vladmir Zwass, (2011), information system is an integrated set of

components for collecting, storing, and processing data and for providing information,

and knowledge to enable business processes. Business firms and other organizations

rely on information systems to carry out and manage their operations, interact with

their customers and suppliers, and compete in the marketplace. Information systems

are used to run inter-organizational supply chains and electronic markets. For instance,

corporations use information systems to process financial accounts, to manage their

human resources, and to reach their potential customers with online promotions. Many

major companies are built entirely around information systems. These include eBay, a

largely auction marketplace; Amazon, an expanding electronic mall and provider

of cloud computing services; Alibaba, a business-to-business e-marketplace;

and Google, a search engine company that derives most of its revenue from keyword

advertising on Internet searches. Governments deploy information systems to provide

12 | P a g e
services cost-effectively to citizens. Digital goods such as electronic books, video

products, and software and online services, such as gaming and social networking, are

delivered with information systems. Individuals rely on information systems, generally

Internet-based, for conducting much of their personal lives: for socializing, study,

shopping, banking, and entertainment. As major new technologies for recording and

processing information were invented over the millennia, new capabilities appeared,

and people became empowered. The invention of the printing press by Johannes

Gutenberg in the mid-15th century and the invention of a

mechanical calculator by Blaise Pascal in the 17th century are but two examples.

These inventions led to a profound revolution in the ability to record,

process, disseminate, and reach for information and knowledge. This led, in turn, to

even deeper changes in individual lives, business organization, and human

governance. The first large-scale mechanical information system was Herman

Hollerith’s census tabulator. Invented in time to process the 1890 U.S. census,

Hollerith’s machine represented a major step in automation, as well as an inspiration

to develop computerized information systems. (Vladimir, 2011)

2.3.1 TYPES OF INFORMATION SYSTEM

Most businesses utilize six different information technology systems, each with

functionality that assists in managing a particular business unit or organizational level.

Because the business environment has a wide range of data requirements, business

intelligence technology systems help each department manage and organize all of their

data in a manner that helps unit members meet key objectives. If the data collected by

an Information System is relevant and accurate, the organization can use it to

13 | P a g e
streamline tasks, pinpoint inefficiencies, and enhance customer service. Successful

companies typically employ six different systems to ensure that every aspect of the

organization's data is properly managed and used to improve decision-making and

problem-solving. This allows a company to maintain a competitive edge, find growth

opportunities, and keep an accurate audit trail of financial and transactional data for

compliance purposes.

Here is an overview of the six types of information systems and how they work:

1. Transaction Processing System: A transaction encompasses all of the

purchases and sales of products and services, along with any daily business

transactions or activities required to operate a company. Quantities and the

types of transactions performed vary, depending on the industry and size/scope

of the company. Examples of typical transactions inc18lude billing clients,

bank deposits, new hire data, inventory counts, or a record of client-customer

relationship management data. A transaction processing system ensures that all

of the contractual, transactional, and customer relationship data is stored in a

safe location and accessible to everyone who needs it. It also assists in the

processing of sales order entries, payroll, shipping, sales management, or other

routine transactions needed to maintain operations. By utilizing a TPS,

organizations can have a high level of reliability and accuracy in their

user/customer data while minimizing the potential for human error.

2. Office Automation Systems: An office automation system is a network of

various tools, technologies, and people required to conduct clerical and

managerial tasks. Typical examples of functions performed by an OAS include

14 | P a g e
printing documents, mailing paperwork, and mailing, maintaining a company

calendar, and producing reports. Primarily, an office automation system assists

in enhancing communication among different departments so everyone can

collaborate to complete a task. An OAS can integrate with e-mail or word

processing applications to ensure all communication data is easily accessible

and in one centralized location. By utilizing an office automation system,

businesses can improve communication between workers, streamline

managerial activities, and optimize knowledge management.

3. Knowledge Management Systems: A knowledge management system stores

and extracts information to help users enhance their knowledge and optimize

collaboration efforts to complete tasks. Examples of documents found in a

knowledge management system include employee training materials, company

policies, and procedures, or answers to customer questions. A KMS is used by

employees, customers, management, and other various stakeholders involved

with the organization. It ensures that technical abilities are integrated

throughout the company while providing visuals to help employees make sense

of the data they see. This information system also provides intuitive access to

external information required by workers who need outside knowledge to

complete their roles. For example, a KMS may hold competitor data that helps

a sales team member optimize his/her strategy when pitching to a customer.

Because a KMS shares expertise and provides answers to essential questions,

using one can improve communication among team members and assist

everyone in meeting performance goals.

15 | P a g e
4. Management Information Systems: A management information system uses

various transaction data from a TPS to help middle management optimize

planning and decision-making. It retrieves TPS information, aggregates it, and

generates reports to help those at the management level know important details

of a situation. Summaries and comparisons are utilized to allow senior

managers to optimize the decision making process to achieve better results.

Most of the report formats encompass summaries of annual sales data,

performance data, or historical records. This provides a secure and systemized

way for managers to meet their targets and oversee business units.

5. Decision Support Systems: A decision support system processes data to assist

in management decision-making. It stores and gathers the information required

for management to take the proper actions at the correct time. For example, a

bank manager can use a DSS to assess the evolving loan trends to determine

which yearly loan targets to meet. Decision models are programmed into the IS

to analyze and summarize large quantities of information and put it into a

visual that makes it understandable. Because a DSS is interactive, management

can easily add or delete data and ask important questions. This provides the

evidence required for mid-management to make the right choices that will

ensure the company meets its targets.

6. Executive Support Systems: Executive support systems are similar to a DSS

but are primarily used by executive leaders and owners to optimize decision-

making. An expert system helps enterprise leaders find answers to non-routine

questions so they can make choices that improve the company's outlook and

16 | P a g e
performance. Unlike a DSS, an executive support system provides better

telecommunication functionality and a bigger computing functionality.

Graphics software is integrated within an ESS to display data about tax

regulations, new competitive startups, internal compliance issues, and other

relevant executive information. This allows leaders to track internal

performance, monitor the competition, and pinpoint growth opportunities.

(Lauren, 2021)

2.3.2 FUNCTIONS OF INFORMATION SYSTEMS

There are various functions of information systems, like the collection of input data,

storage, processing, and producing the output information. The functions also control

the information flow as well as the feedback loop. The following are the typical

functions of an information system:

1. Input: The input in an information system has two types:

i. Output is created with detailed data which is stored and processed.

ii. The specification of what type of analysis is done must be specified by the

user.

2. Storage: the storage of data should be done at the most detailed level possible.

Regular back-ups and various summaries should be completed to avoid losing

any important data due to errors. The backups should also be stored in a

geographically different location to avoid losing any important data due to

errors. The backups should also be stored in a geographically different location

to avoid any major disasters such as flooding or fires etc. which could impact on

both the original data storage and the backup data storage.

17 | P a g e
3. Processing: a process is a function which transforms data into information. A

simple process would be adding up a number of items sold by a business by a

variable such as the location of a store or the product or the time and date. More

complex processes are the functions that perform calculations and can make

assumptions about missing data in order to create information from the data

available.

4. Feedback/Control Loops: A feedback/control loop is what happens to output

when it is processed and produced. The system continuously repeats the same

processes depending on the output of the last loop which can then impact on the

input of the next data into the loop.

5. Output: There are two types of output in this context, graphical and textual:

i. Graphical output is usually used to look at information on a larger scale

which is then presented as charts, graphs, diagrams and pictures.

ii. Textual output is information on a smaller scale which is presented as

charters, text or numbers. (Sean, 2015)

2.3.3 COMPONENTS OF COMPUTER-BASED INFORMATION SYSTEMS

Information systems support operations, knowledge work, and management in

organizations. The basic components of computer-based information systems are:

1. Hardware: These are the devices like the monitor, processor, printer and

keyboard, all of which work together to accept, process, and show data and

information.

18 | P a g e
2. Software: These are the programs that allow/enable the hardware to

process the data; instructions that the system follows to accomplish a given

task.

3. Databases: These are a collection of associated/related files or tables

containing related data, consisting of rows (records) and columns (fields).

4. Networks: These are a connecting system that allows diverse computers

and computing devices to distribute resources between each other, including

information, printers and processing power.

5. Procedures: These are the commands for combining the components above

to process information and produce the preferred output.

The first four components (hardware, software, databases and networks) make

up what is known as the Information Technology (IT) platform. Information

technology workers could then use these components to create information

systems that watch over safety measures, risk and the management of data.

These actions are known as information technology services (procedures).

(Rainy, et al, 2012)

19 | P a g e
CHAPTER THREE

SYSTEM ANALYSIS AND DESIGN

3.1 INTRODUCTION

This chapter discusses the analysis and design of the system. The chapter further analyzes the

existing system in order to get relevant findings and facts, and identify the problems that will

assist us in the design of the new system. The aim of this chapter is to discover how to

improve the current system.

3.2 RESEARCH METHODOLOGY

The methodology adopted for this project is Rapid Application Development (RAD). The

RAD approach is a form of agile software development methodology which gives priority to

prototype releases and iterations. RAD system development was chosen because it provides

several advantages which are suitable for this project and it’s driven by user interface

requirements. RAD methodology has an enhanced flexibility and adaptability which allows

for quick adjustment during the development process. Unlike the waterfall methods, RAD

includes integration with other software early on in the software development process. This

methodology relies on a lot of involvement with the client and the end user. RAD

methodology also has a better risk control as the approach can focus in early on the key risk

factors and adjust them based on empirical evidence.

3.3 ANALYSIS OF THE EXISTING SYSTEM

20 | P a g e
The current system for managing students’ information is the paper-based system which is the

traditional or primary method of storing students’ records. Usually, it includes the processes

of maintaining and storing physical or hard-copy documents. A manual database system may

include a bundle of binders, file folders and filing cabinets where students’ documents are

arranged and organized either in alphabetical, hierarchical or chronological order. Once these

files are compiled in a vast state, searching for a record becomes a tedious task and time-

consuming than an electronic database. The paper documents take up a significant amount of

space in the staff office as the quantity of documents keep increasing day by day. Sometimes,

editing students’ information as a result of error or change, requires a total printing of new

document, hence, the need to write all the contents again. However, this will be repeated

every time one want to make more corrections.

When capturing students’ assignment data, the student buys a full scarp sheet or 2A paper to

provide the answer to the assignment given by the course lecturer. The course lecturer, on

reaching his/her office, will file the assignment documents aptly. The assignments will later

be graded in the assignment grading sheet. This is because assignment recording helps the

lecturer to make informed decision about every student in the department. A student with poor

assignment record of below 10% is liable to acquire more than 25% in the CA at the end of

the semester. Students also have to submit their course registration forms manually to the

secretary’s office of the departmental head. This method is not effective and efficient. It

stresses and consume students’ time a lot!

21 | P a g e
Fig. 3.1 Paper-based Management System

3.3.1 Disadvantages of the Existing System

The manual method of keeping students’ records is faced with the following disadvantages:

i. Lack of Storage Space: Paper documents can take up a significant amount of space in the

staff office, and the quantity of paper increases day by day. Additionally, documents will

typically need to be stored closely for easy retrieval.

ii. Time-Consuming: Searching for a specific record requires a lot of time especially

those that have been stored months back.

iii. Lots of Paper Work: All the papers are needed to generate report, so therefore, any

loss in a single record led to difficult situation and will affect the decision making

function of the department.

iv. Data Redundancy: The appearance of same piece of data in different files. Though

this approach is deliberately used for backup and recovery purposes, but this can cause

same piece of data to be repeated in different files, thereby leading to additional

storage space, additional cost and time, and additional energy of keeping students’

records up-to-date.

v. Data Inconsistency: The appearance of same piece of data in different files and in

different format. This problem is led by data redundancy especially when the file is to

be updated. The inconsistency of data makes data to be inaccurate.

vi. Data Insecurity: Data stored in a file is most likely susceptible to damage, theft and

misplacement.
22 | P a g e
3.4 Analysis of the Proposed System

The proposed system is a web application that is accessible anywhere provided you have an

internet connection. The system is based on 3-tier architecture which comprises of client,

application and server. The system is driven by a well-designed user interface that enhances

the user experience of the users. One of the features of the frontend of the system is the

mobile-first design. Mobile-first design means that other mobile devices such as mobile

phones and tablets other than laptops, desktops are taken into consideration when designing

the frontend of the system. The screen is responsive as the html elements adjust with the

current size of the screen. The responsiveness of the system was achieved using Bootstrap 5

technology which makes the system more user-friendly.

The system makes use of HTTPs (GET and POST) methods for request/response cycle

between the client and the server. When the client makes a request for a file from the server,

the server will query the database as a function of the written business logic in the application

layer to get the requested files, then responds back to the client with the requested file which

will be rendered for the user to see. The database provides an efficient way of retrieving

students’ information easily. MySQL server is the database server used to store all the records

of students which is reliable, robust and maintainable. The features that powered the

performance improvement of the proposed system include:

i. Assignment Submission Module: With this feature, students can efficiently submit

their assignment through the system from anywhere they are.

ii. Online Course Registration form Submission: This helps the students bypass the

stress and time of going to the secretary’s office of the departmental head to submit

their course registration form after printing their registered courses from the main

23 | P a g e
school system. Students can seamlessly upload their course forms from the comfort of

their home.

iii. Search Module: The admin and the lecturers can easily search and retrieve any

student record as at when needed from the database in an efficient manner.

With these features of the proposed system, we believe that the latter is more effective,

reliable, and efficient than the former.

3.4.1 Advantages of the proposed system

i. Well-designed user-interface: The proposed system has a friendly user-interface

which serves as point of interaction between the user and the system. However, its

design style helps a non-experience user to navigate easily through the web pages.

ii. Scalability: The new system is scalable because it can handle large number of users

request simultaneously. However, it can handle rapid changes to workloads and user

demands.

iii. Data integrity: Reduced data redundancy and data inconsistency. Improves the

accurateness of data.

iv. Seamless tracking of students’ record

v. More effective and efficient

vi. Security: Record stored in an electronic database is more secured than record stored

in offline database using office files and binders. Natural disasters like fire outbreak or

flood cannot affect record stored in an electronic database.

3.4.2 Architecture of the Proposed System

The architecture of the proposed system is based on 3-tier architecture. The underlying

structure of the proposed system is seen in the figure below:

24 | P a g e
Fig. 3.2 Architecture of the proposed system

25 | P a g e
3.4.3 Flowchart of the Proposed System

START

HOME PAGE

REGISTER

LOGIN
NO

IS
REGISTERED?

YES

STUDENT ADMIN LECTURER


DASHBOARD DASHBOARD DASHBOARD

LOGOUT

26 | P a g e
END
Fig. 3.3 System flowchart for the Proposed System

3.4.4 Justification of the Proposed System

Considering the benefits of the proposed system, and with the available resources in our

control, it is very possible to develop a student information system to automate such manual

processes.

3.5 SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

The Systems Development Life Cycle (SDLC) is a term used in systems engineering,

information systems and software engineering to describe a process for planning, creating,

testing, and deploying an information system. (Department of Health & Human Services -

USA, 2005). The systems development life cycle concept applies to a range of hardware and

software configurations, as a system can be composed of hardware only, software only, or a

combination of both. (Pendharkara et al, 2008)

In summary, the Systems Development Life Cycle (SDLC) explains the phases of creating a

software component that integrates with other software components to create the whole

system (Alwan, 2015).

3.5.1 PHASES (STAGES) OF SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

The system development life cycle framework provides a sequence of activities for system

designers and developers to follow. It consists of a set of steps or phases in which each phase

of the system development life cycle uses the results of the previous one. (Everatt & McLeod

Jr., 2007). Usually, there are six stages in this cycle: system planning, analysis, design,

27 | P a g e
implementation, testing and integration, and system maintenance; with different projects

emphasizing on different stages of the cycle.

3.5.1.1 SYSTEM PLANNING

The planning phase is the most crucial step in creating a successful system, during which this

phase you decide exactly what you want to do and the problems you’re trying to solve, by:

1. Defining the problems, the objectives and the resources such as personnel and costs.

2. Studying the ability of proposing alternative solutions after meeting with clients,

suppliers, consultants and employees, essentially the people going to be using the

system.

3. Studying how to make your product better than your competitors’.

After analyzing this data, you will have three choices depending on the result: develop a new

system, improve the current system or leave the system as it is (Alwan, 2015).

3.5.1.2 SYSTEM ANALYSIS

The end-user’s requirements should be determined and documented, what their expectations

are for the proposed system, and how it will perform. A feasibility study will be made for the

research project as well, involving determining whether it is organizationally, economically,

socially, or technologically feasible. It’s very important to maintain a strong communication

level with the clients to make sure you have a clear vision of the finished product and its

functions (Alwan, 2015).

28 | P a g e
3.5.1.3 SYSTEM DESIGN

The design phase comes after a good understanding of customer’s requirements, this phase

defines the elements of a system, the components, the security level, modules, architecture

and the different interfaces and type of data that goes through the system.

A general system design can be done with a pen and a piece of paper to determine how the

system will look like and how it will function, and then a detailed and expanded system

design is produced, and it will meet all functional and technical requirements, logically and

physically (Alwan, 2015)

3.5.1.4 IMPLEMENTATION AND DEPLOYMENT

This phase comes after a complete understanding of system requirements and specifications,

it’s the actual construction process after having a complete and illustrated design for the

requested system.

In the Software Development Life Cycle, the actual programming code is written here, and if

the system contains hardware, then the implementation phase will contain configuration and

fine-tuning for the hardware to meet certain requirements and functions as stated during

system analysis.

In this phase, the system is ready to be deployed and installed in the client’s premises, ready

to become running, live and productive and training may be required for end-users to make

sure they know how to use the system and to get familiar with it. The implementation phase

may take a long time and that depends on the complexity of the system and the solution it

presents (Alwan, 2015).

29 | P a g e
3.5.1.5 SYSTEM TESTING AND INTEGRATION

Bringing different components and subsystems together to create the whole integrated system,

and then introducing the system to different inputs to obtain and analyze its outputs and

behavior and the way it functions. Testing is becoming more and more important to ensure

client’s satisfaction, and it requires no knowledge in coding, hardware configuration or

design.

Testing can be performed by real users, or by a team of specialized personnel, it can also be

systematic and automated to ensure that the actual outcomes are compared and equal to the

predicted and desired outcomes (Alwan, 2015).

3.5.1.6 SYSTEM MAINTENANCE

In this phase, periodic maintenance for the system will be carried out to make sure that the

system won’t become obsolete, this will include replacing the old hardware and continuously

evaluating the system’s performance, it also includes providing latest updates for certain

components to make sure it meets the right standards and the latest technologies to face

current security threats (Alwan, 2015).

3.6 METHOD OF DATA COLLECTION

The fact-finding techniques used in this project for data collection are observation,

questionaires, and interview. In order to develop fault-free software that matches user

requirement, the researchers gathered data from difference sources using the following

aforementioned techniques.

3.7 SYSTEM DESIGN AND MODELING

30 | P a g e
According to Didacus, (2018), he defined system design as the process of defining the

elements of a system such as the architecture, modules and components, the different

interfaces of those components and the data that goes through that system. According to

Economic Times, (2022), software design is the process of defining, developing and

designing systems which satisfies the specific needs and requirements of a business or

organization.

The system design is like the blueprint for a building: it specifies all the features that are to be

in the finished product. System design is the necessary plans we make to design a new system

that will improve the performance of the existing system. Every good system design organizes

the program module in such a way that it is easy to develop and change if the need for

changes arises. System design focuses on the detailed and architectural design of the new

system that represents the system requirement document in the most effective and manageable

way. A programmer can implement the new system using the system design document

generated in the system design phase.

A systemic approach is required for a coherent and well-running system. Bottom-Up or Top-

Down approach is required to take into account all related variables of the system. A designer

uses the modeling languages to express the information and knowledge in a structure of

system that is defined by a consistent set of rules and definitions. The designs can be defined

in graphical or textual modeling languages. Economic Times, (2022)

The Unified Modeling Language (UML) is a graphical modeling language in the field of

software engineering intended to provide a standard way to visualize the design of a system.

UML is used to describe software both structurally and behaviorally with graphical notation.

31 | P a g e
UML offers a way to visualize a system's architectural blueprints in a diagram, including

elements such as:

 any activities (jobs);

 individual components of the system; and how they can interact with other software

components;

 how the system will run;

 how entities interact with others (components and interfaces);

 External user interface.

3.7.1 DATABASE SPECIFICATION

A NoSQL database called MongoDB was used for this project. NoSQL (also known as "not

only SQL" or "non-relational databases") are non-tabular databases which store data in a

different way other than relational tables. There are a myriad of NoSQL databases which are

classified based on their data model. The data structures used by NoSQL databases (for

example key-value pair, wide-column, graph, or document) are different from those used by

default in relational databases, hence making some operations faster in NoSQL. They offer

flexible schema and are more easily scalable with large amounts of data and high user loads.

NoSQL data models allow related data to be nested in a smaller number of collections. In

NoSQL databases, it is common to store actual foreign values along with the model’s data

instead of only storing foreign keys.

MongoDB was used throughout this application to collect, store, retrieve, and manage users’

information. MongoDB is a document-oriented database, meaning that it stores data in

documents similar to JSON (JavaScript Object Notation) objects in the database. Each

32 | P a g e
document in the database contains pairs of fields and values separated by a colon ":". The data

types of the values can come in different varieties, such as strings, numbers, Booleans, arrays,

or objects. In MongoDB, a group of documents forms a collection, while a group of

collections forms a database. Through replica sets, MongoDB provides high availability.

Secondary replicas maintain a copy of the data from the primary using built-in replication. To

choose which secondary replica should take the place of a failed primary replica, the replica

set automatically executes an election operation. By default, the primary replica is used for all

writes and reads. MongoDB is referred to as GridFS when used as a file system with load

balancing and data replication capabilities across several machines.

The collections for users, students, lecturers, courses, assignments, submitted-assignments,

submitted course forms, downloaded course forms, and student grades. The database was

fully accessed using RESTful APIs developed using Python Flask and WSGI server. Some of

the database tables are shown below.

3.7.1.1 Students Table: The students table stores only basic information about each student

once captured into the database. The information once entered cannot be altered by the

student or anyone else; only by the database administrator, unless only if the admin grants

permission to the user. The schema for the students’ table in the database is shown below:

Table 3.1 Students Schema in the Database

Field Name DataType Allow Nulls

StudentID ObjectId False

FirstName String False

33 | P a g e
MiddleName String False

LastName String False

Email String False

Gender String False

Level Number False

MatricNumber String False

YearOfEntry Number False

IsActive Boolean False

Image Binary False

State VARCHAR True

3.7.1.2 Lecturers Table: This table stores basic information about Lecturers in the

Department, including Senior and Junior Lecturers. The schema for the lecturers table is

shown below:

Table 3.2 Lecturers Schema in the Database

Field Name DataType Allow Nulls

LecturerID ObjectId False

34 | P a g e
Title String False

FirstName String False

MiddleName String False

LastName String False

Email String False

StaffNumber String False

Gender String False

Position String False

IsActive Boolean False

Image String False

State String True

3.7.1.3 Users Table: This table stores the sensitive information required to grant a user access

to the System such as the Matric. Number and Password, either student or lecturer. However,

it stores the information of registered users of the application. This information is auto-

generated by the DBMS, once basic information about a student or lecturer has been captured.

The schema for the Users table is below:

Table 3.3 Users Schema in the Database

35 | P a g e
Field Name Data Type Allow Nulls

UserID ObjectId False

MatricNumber String False

Password String False

3.7.1.4 Assignment Table: This table stores basic information related to assignment entity.

The schema for the assignment table is shown in table 3.4 below:

Table 3.4 Assignment Schema in the database

Field Name DataType Allow Nulls

AssignmentID ObjectId False

CourseCode String False

AssignmentImageFile String False

DateToBeSubmitted String False

DateRecorded String False

3.7.1.5 Course Form Table: This table stores all the course form documents submitted to the

HOD through the system by the students. The schema for the table is shown below:

Table 3.5 CourseForm Schema in the database

Field Name DataType Allow Nulls

36 | P a g e
CourseFormID ObjectId False

Level Number False

CourseFormImageFile String False

DateSubmitted String False

37 | P a g e
3.7.2 Use Case Diagram of the Student Information System

Login

Add/Delete
Student

Add/Delete
Course

Add/Delete
STUDENT
Staff

View/edit
profile
ADMIN

Upload
assignment

Record
assignment

Upload Course
Form

LECTURER
Change
Password

Logout

Fig. 3.4 Use Case Diagram for Student Information System

38 | P a g e
3.7.3 Level 0 Data Flow Diagram of the Student Information System (SIS)

STUDENT
MANAGEMENT

LOGIN COURSE FORM


MANAGEMENT MANAGEMENT

STUDENT
INFORMATION
SYSTEM

SYSTEM ADMIN ASSIGNMENT


MANAGEMENT MANAGEMENT

GENERATE
ASSIGNMENT
REPORT

Fig. 3.5 Level 0 Data Flow Diagram of the Student Information System

39 | P a g e
CHAPTER FOUR

SYSTEM IMPLEMENTATION AND TESTING

4.1 Introduction

This chapter discusses the implementation of the proposed system. In the implementation

phase, a working system with a good human computer interaction, robust, and high-

performance quality is developed from the theoretical design of the system. A system can

only be implemented when it has been thoroughly tested and it is confirmed that it conforms

to the system specifications by the Quality Assurance (QA) team.

4.2 Testing

The testing phase is an essential part of the software development process. In this phase, all

the individual programs are thoroughly tested to identify flaws and errors. System testing

involves testing all the programs together to ensure that the entire system performs according

to specifications. Exhaustive test data which include actual data is used to ensure that the

system handles errors correctly. Testing involves compiling, planning test data, code testing,

and documentation testing. The purpose of the test phase is to detect and remove design and

coding errors.

Program testing can be unit, integration, system, and acceptance testing.

i. Unit Testing: Unit testing is the first level of the software testing process. It is a

type of software testing where individual units or components of a software are tested.

The purpose is to validate that each unit of the software code performs as expected.

Unit testing is done during the development (coding phase) of an application by the

developers. Unit tests isolate a section of code and verify its correctness. A unit may

40 | P a g e
be an individual function, method, procedure, module, or object. (Thomas, 2022). The

system units were tested and some defects were identified and fixed. Some modules

such as the search module, login module, and signup module were tested and no error

was detected, it performs correctly as expected.

ii. Integration Testing: Integration testing is the second level of the software testing

process. It is a type of software testing in which the different units, modules or

components of a software application are tested by testers as a combined entity.

However, these modules may be coded by different programmers. The aim of

integration testing is to test the interfaces between the modules and expose any defects

that may arise when these components are integrated and need to interact with each

other. Integration testing involves integrating the various modules of an application

and then testing their behavior as a combined, or integrate unit. Verifying if the

individual units are communicating with each other properly and working as intended

post-integration is essential. To perform integration testing, testers use test drivers and

stubs, which are dummy programs that act as substitutes for any missing modules and

simulate data communications between modules for testing purposes. (Rahul, 2022).

iii. System Testing: System testing is the third level of the software testing process. It

is a type of software testing that is performed on a complete integrated system by

testers to evaluate the compliance of the system with the corresponding requirements.

In system testing, integration testing passed components are taken as input. The goal

of integration testing is to detect any irregularity between the units that are integrated

together. The test detects defects within both the integrated units and the whole the

system. The result of system testing is the observed behavior of a component or a

41 | P a g e
system when it is tested. The test is carried out on the whole system in the context of

either system requirement specifications or functional requirement specifications or in

the context of both. (GeeksforGeeks, 2019). This type of testing is very paramount in

the system lifecycle because it verifies that the application meets the functional,

technical requirements specified by the user, and it must be carried out before

implementation.

iv. Acceptance Testing: Acceptance testing is the last level in the software testing

process. It is performed by the end user or the client to verify/accept the software

system before moving the software application to the production environment. User

acceptance testing is done after unit, integration, and system testing is done. This test

is carried out to validate end to business flow. It does not focus on cosmetic errors,

spelling mistakes or system testing. It is a kind of black box testing where two or more

end-users will be involved. (Thomas, 2022). These end-users evaluate the application

to know if it matches their requirements specified in the requirement specifications.

4.3 IMPLEMENTATION

The Student Information System was developed with a HP laptop having a Windows 10

operating system installed. Python version 3.10.0 was downloaded and installed on the system

to write the script and build the server environment for the application. HTML, CSS,

BOOTSTRAP, and JAVASCRIPT was used for the user interface design of the system.

A text editor called Visual Studio Code was used as the Integrated Development Environment

to write the source code of the system. The IDE comes with powerful built-in tools and

features that allows the developer to write a robust, efficient, and maintainable codes.

Apparently, it has an intelligent tool that detects real-time syntax errors on program
42 | P a g e
statements as the developer is coding. It has an embedded Command Line Interface (CLI) and

a Git support to ease the implementation process for the developer. Additionally, it provides a

base for downloading and installing plugins into the text editor to ease the developer

experience during coding. Python package manager ‘PIP’ was used to install the myriad of

packages used throughout the coding phase. In addition, Python Flask framework was used as

the web application framework for the system. Web Application framework represents a

collection of libraries and modules that enables a web application developer to write

applications without having to worry about low-level details such as protocols, thread

management, etc. Flask is a micro framework based on the Werkzeug Web Server Gateway

Interface (WSGI) toolkit and Jinja2 template engine. Web Server Gateway Interface (WSGI)

is a standard web application development adopted as a specification for a universal interface

between the web server and the web applications. Werkzeug is a WSGI toolkit, which

implements requests, response objects, and other utility functions to enable building a web

framework on it. Jinja2 is a popular templating engine for Python used to combine a template

with a certain data source to render dynamic web pages. However, Flask framework aims to

keep the core of an application simple yet extensible, and it has support for extensions that

adds some functionalities such as database handling, form validation, object-relational

mappers, upload handling and various open authentication technologies to the application.

The source code of the project was stored and version controlled on Github.

The application has three front-ends; one for the lecturers, one for the students, and the other

for the admin (system manager). The goal of this project is to develop an online student

information system for efficient management of students’ data. The final version of the UI is

illustrated below:

43 | P a g e
A. Online SIS Homepage

Figure 4.1 Home Page of the Online Student Information System

Illustrated in the screenshot (fig. 4.1) above, is the landing page of the web application. This

is the first page a user will land when the user visits the website. From this page, a user can

easily create an account with system and also login to the system upon account creation.

44 | P a g e
B. Online SIS Signup Page

Figure 4.2 Online SIS Registration Page

The screenshot above (fig. 4.2) illustrates the Signup page. This page allows the user to create

an account with the system in order to use the system. The page contains a form which

captures students’ data like first name, middle name, last name, matriculation number, email

address, and password into the system and stores it in the database. This will allow the user to

be able to use the system the next time they visits the system.

45 | P a g e
C. Online SIS Login Page

Figure 4.3 Online SIS Login Page

The screenshot above (fig. 4.3) illustrates the login page of the system. The login page

contains the matriculation number and the password fields. These fields collect the user’s

information in order to authenticate whether the user exists in the database or not. If the user

exists, the system will allow the user entry into the system. However, if the user does not

exist, the system will throw an error to the user, requesting they create an account with the

system before using the system.

46 | P a g e
D. Online SIS Students’ Dashboard

Figure 4.4 Online SIS Students’ Dashboard

The above screenshot (fig. 4.4) shows the student dashboard of the system. The student user

uses this panel to manage his account. They carry out specific activities such as submitting

assignments, uploading course forms, and updating their profile from this page.

47 | P a g e
E. Online SIS Lecturers’ Dashboard

Figure 4.5 Online SIS Lecturers’ Dashboard

The above screenshot (fig. 4.4) shows the student dashboard of the system. The student user

uses this panel to manage his account. They carry out specific activities such as submitting

assignments, uploading course forms, and updating their profile from this page.

48 | P a g e
F. Add New Students’ Record Page of the System

Figure 4.6 Add New Student Record Page of the Student Information System

The above screenshot (fig. 4.6) shows the page that contains a form that allows the admin to

effectively capture students’ data into the database. Record of students in computer science

department are inserted into the database by the admin through this page.

49 | P a g e
G. Add New Lecturers’ Record Page of the System

Figure 4.7 Add Lecturers’ Page of the system

This page also contains a form that allows the administrator of the system to create a record

for every lecturer of the department from his own dashboard (the management panel).

50 | P a g e
H. Add New Course Records’ Page

Figure 4.8 Add New Course Record’s Page of the SIS

The screenshot (fig. 4.8) above illustrates the add course page of the system. This page allows

the system admin to add new course record to the database.

51 | P a g e
I. Upload Course Form Page of the SIS

Figure 4.9 Upload Course Form Page of the System

This screenshot displayed above in (fig. 4.9) illustrates the course form upload page of the

system. This page is found on the student’s dashboard and it allows the student to submit

course form to the Head of Department.

52 | P a g e
J. Add New Assignment Record Page

Figure 4.10 Add New Assignment Page of the Student Information System

The screenshot displayed in (fig. 4.1.0.) above illustrates add new assignment page which

allows the lecturers of the department to seamlessly add new assignment record to the

database.

4.4 MINIMUM HARDWARE AND SOFTWARE REQUIREMENTS

Apparently, for this project to be realistic, the following hardware and software components

were used:

A. Hardware Requirements

For an effective and efficient operation of the system, the software needed the following

hardware:

i. Intel Computer System

53 | P a g e
ii. At least 4GB RAM

iii. At least 100GB hard disk

iv. Colored monitor

v. An uninterruptible power supply (UPS) unit.

B. Software Requirements

The software requirements include;

i. A windows 7 or higher version for faster processing

ii. MongoDB Atlas or MySQL Database

iii. Python Programming Language

iv. Visual Studio Code or other text editors

v. A recent web browser (Google Chrome Preferably)

vi. Postman (For testing HTTP Get and Post Methods)

54 | P a g e
55 | P a g e
CHAPTER FIVE

CONCLUSION

5.1 Summary

Technological advancement has made the management of students’ information in colleges

and universities all over the world very easy and simple. In the context of business,

Management Information System has been adopted to enable business functions, in our case,

Student Information System. Student Information System has helped colleges and universities

manage large information about their students effectively and efficiently, hence, replacing the

traditional method of managing the students’ data. The proposed system is capable of

handling students’ data online and it is powered by the features; Assignment submission and

Course form submission modules. The system was implemented using a trending Python web

application framework technology called Flask, which makes the system more secured and

robust. The web application is free and easy to use, therefore making it an ideal system for the

university department.

5.2 Recommendations

This research work is recommended to colleges and universities who are concerned with

managing large information about their students. It is recommended because of its user-

friendliness, robustness, reliability, and good human engineering qualities. The Student

Information System can help reduce operational cost of the school that makes use of it, and

also reduce the time and space needed to perform the school activities manually. The system

is also recommended to be accessible from anywhere through the internet (the web) using

mobile phones, tablets, and laptops. Chrome and Firefox browsers are the most-preferred

56 | P a g e
browsers recommended for the system. A skilled System Administrator should be employed

by the department to manage the information of its students.

5.3 Conclusion

The Student Information System developed in this research study has been able to make the

handling of students’ data more secure, faster, and easier in colleges and universities. It

handles the activities of the department more effectively and efficiently. With the system,

students can easily submit their course form registration online without the hassle of going to

the head of department’s office to submit that. Secondly, students can also submit their

assignments online without the stress of submitting it manually. The record of every student is

stored in a cloud database which helps facilitate the easy access to and retrieval of students

records as at when needed, and significantly, it helps the lecturers in generating report about

every student in the department which apparently helps them in the decision making process

of the department.

57 | P a g e
REFERENCES

A.A. Eludire (August 30, 2015). Design and Implementation of Student Academic Record

Management System. Retrieved from Academia:

https://www.academia.edu/20105861/The_Design_and_Implementation_of_Student_

Academic_Record_Management_System

Abuka V. (May 2019). Design and Implementation of Student Information System. Retrieved

from Academia:

https://www.academia.edu/41948679/Design_and_Implementation_of_a_Student_Inf

ormation_System

Alwan, M. (2015, January 9). What is System Development Life Cycle? Retrieved from

Airbrake: https://airbrake.io/blog/sdlc/what-is-system-development-life-cycle

Didacus, (2018). What Does System Design Mean?. Retrieved from techopedia:

https://www.techopedia.com/definition/29998/system-design

Gagliordi, N. (2014, August 21). US universities at greater risk for security breaches than

retail and healthcare: BitSight. Retrieved from ZDNet:

https://www.zdnet.com/article/us-universities-at-greater-risk-for-security-breaches-

than-retail-and-healthcare-bitsight/

Everatt, et al., (2022). Chapter 2: The Software Development Life Cycle. In G. D. Everatt, &

R. McLeod Jr., Software Testing: Testing Across the Entire Software Development

Life Cycle (pp. 29-58). John Wiley & Sons.

58 | P a g e
GeeksforGeeks (2022, January 09). System Testing. Retrieved from geeksforgeeks:

https://www.geeksforgeeks.org/system-testing/

Keith, T. M. (2017, November 06). Disadvantages of Traditional File System | Databases |

File System. Retrieved from Scribd:

https://www.scribd.com/document/363596587/Disadvantages-of-Traditional-File-

System

K.Naga. (2019). Design and Implementation of Student Chatbot using AIML and LSA.

Retrieved from Researchgate:

https://www.researchgate.net/publication/341592140_Design_and_Implementation_of

_Student_Chat_Bot_using_AIML_and_LSA

Leedy (1985). What is Literature Review in research works. Retrieved from Scribbr:

https://www.scribbr.com/methodology/literature-review/

Luke. (2022, March 29). Student Information System. Retrieved from techlearning.com:

https://www.techlearning.com/news/student-information-systems

Ngawang (2016). Student Information System. Retrieved from Scientec:

http://scientec.cst.edu.bt/student-information-system/

Pendharkara, et al., (2018). An empirical study of the Cobb-Douglass production function

properties of software development effort. In P. C. Pendharkara, J. A. Rodgerb, & G.

H. Subramanian, Information and Software Technology (pp. 1181-1188).

Piccoli, et al., (2018). In G. Piccoli, & F. Pigni, Information Systems for managers: with

cases (p. 28). Prospect Press.

59 | P a g e
Rahul (2022). Integration testing or Integration and Testing (I&T). Retrieved from

Techtarget: https://www.techtarget.com/searchsoftwarequality/definition/integration-

testing

Rainer, et al., (2012). Introduction to Information System: Support and Transforming

Business. New Jersey: John Wiley and Sons, Inc.

Sean. (2015, November 23). Features and functions of information systems. Retrieved from

AnswerKid.co.uk: http://www.answerkid.co.uk/features-and-functions-of-information-

systems/

Shaimaa Q.S. (2017). Student and Alumni web portal. Retrieved from Researchgate:

https://www.researchgate.net/publication/320119228_Design_and_Implementation_of

_Student_and_Alumni_Web_Portal

Shona (January 2, 2023). How to write a literature review | guide, examples, & templates.

Retrieved from Scribbr: https://www.scribbr.com/methodology/literature-review/

Sparks, G. (2011, September 2). Database Modeling in UML (Unified Modeling Language).

Retrieved from Methods and Tools:

http://www.methodsandtools.com/archive/archive.php?id=9

Tang Yu-fang, et al., (2009). Design and Implementation of College Student Information

Management System Based on Web Services. School of Information Scince &

Engineering, Shandong Normal University, Jinan, 250014, China, 5.

The Economic Times (2023, January 23). What is ‘Systems Design’. Retrieved from

economictimes: https://economictimes.indiatimes.com/definition/systems-design

60 | P a g e
Thomas (2022, December 21). Unit Testing Tutorials – What is, Types & Test Example.

Retrieved from Guru99: https://www.guru99.com/unit-testing-guide.html

Zwass, V. (2011, December 27). Information system | Definition, Examples, & Facts |

Britannica.com. Retrieved from Britannica.com:

https://www.britnannica.com/topic/information-system/Operational-support-and-

enterprise-systems#accordion-article-history

61 | P a g e
APPENDIX

SOURCE CODES

MODULES

from app import app, mongo

from flask import render_template, request, url_for, redirect, flash, session

from werkzeug.utils import secure_filename

from flask import send_from_directory, abort

from flask_mongoengine import MongoEngine

import bson.binary

import urllib.request

import os, re

import datetime

from functools import wraps

# Login Route

@app.route("/login", methods=["GET", "POST"])

def login():

if request.method=='POST':

62 | P a g e
req = request.form

mat_no = str(req["mat_no"]).upper()

pswd = req["pswd"]

# checkuser = mongo.db.sign_up.find_one({"matric_number": mat_no})

checkuser = mongo.db.sign_up.find_one({mat_no:{"$exists":True}}, {"_id":0})

# x = re.search(pattern, string)

if not checkuser:

flash("Matric No./Password Incorrect!", "danger")

return render_template("public/index.html")

elif checkuser["activation_status"] != "1":

flash("Account not activated. Contact Admin!", "danger")

return render_template("public/index.html")

elif not pswd == checkuser["password"]:

flash("Matric No./Password Incorrect!", "danger")

return render_template("public/index.html")

else:

del checkuser["password"]

63 | P a g e
session["user"] = checkuser

session["login"]=True

if checkuser["user_type"] == "STUDENT":

flash("Logged in Successfully! Welcome to your Dashboard!!", "success")

return redirect(url_for("students_dashboard"))

elif checkuser["user_type"] == "STAFF":

flash("Logged in Successfully! Welcome to your Dashboard!!", "success")

return redirect(url_for("staff_dashboard"))

elif checkuser["user_type"] == "ADMIN":

flash("Logged in Successfully! Welcome to your Dashboard!!", "success")

return redirect(url_for("admin_dashboard"))

return render_template("public/index.html")

# Sign-up Route

@app.route("/sign-up", methods=["GET", "POST"])

def sign_up():

if request.method=='POST':

req = request.form

user_type = str(req["user_type"]).upper()

64 | P a g e
f_name = str(req["f_name"]).upper()

m_name = str(req["m_name"]).upper()

l_name = str(req["l_name"]).upper()

mat_no = str(req["mat_no"]).upper()

email = str(req["email"]).lower()

password = req["pswd"]

con_password = req["con_pswd"]

matric_number = mat_no.split('/')

if password != con_password:

flash("Password Confirmation Mismatched, Please Confirm Your Password!",

"danger")

return render_template("public/register.html")

elif matric_number[2] != 'CSI':

flash("Sorry, Wrong matric number format!", "danger")

return render_template("public/register.html")

elif matric_number[0] != 'FUO':

flash("Sorry, Wrong matric number format!", "danger")

return render_template("public/register.html")

65 | P a g e
# checkuser = mongo.db.sign_up.find_one({"matric_number":mat_no}, {"_id":0})

checkuser = mongo.db.sign_up.find_one({mat_no:{"$exists":True}}, {"_id":0})

if checkuser:

flash("Sorry, User already registered!", "danger")

return render_template("public/register.html")

# checkemail = mongo.db.sign_up.find_one({"email":email}, {"_id":0})

checkemail = mongo.db.sign_up.find_one({email:{"$exists":True}}, {"_id":0})

if checkemail:

flash("Sorry, User with email address already exists!", "danger")

return render_template("public/register.html")

mongo.db.sign_up.insert_one({"user_type": user_type, "first_name": f_name,

"middle_name": m_name, "last_name": l_name, "matric_number": mat_no, mat_no:mat_no,

"email": email, email:email, "password": password, "activation_status":"0", "signUp_date":

nigerian_time()})

flash("Account Created Successfully!", "success")

return redirect(url_for("index"))

else:

return render_template("public/register.html")

66 | P a g e
# Add Assignment Route

@app.route("/add-assignment", methods=['GET', 'POST'])

@login_required

def add_assignment():

if request.method=='POST':

req = request.form

course_code = req['course_code']

assignments = req['asgt']

submission_date = req['sub_date']

mongo.db.given_assignments.insert_one({"course_code": course_code, "assignments":

assignments, "submission_date": submission_date, "datetime_posted": nigerian_time()})

flash("Assignment Added Successfully!", 'success')

return render_template('public/add_assignment.html')

return render_template("public/add_assignment.html")

# Upload Course Form Route

@app.route("/upload-course-form", methods=['GET', 'POST'])

def upload_course_form():

67 | P a g e
if request.method == 'POST':

# if request.files:

mat_no = str(request.form['mat_no']).upper()

level = str(request.form['level'])

course_form = request.form["course_form"]

# if course_form.filename == "":

# flash("Image must have a name!", 'danger')

# return render_template("public/upload_course_form.html")

# elif not allowed_image(course_form.filename):

# flash("That Image Extension is not allowed!", 'danger')

# return render_template("public/upload_course_form.html")

# else:

# filename = secure_filename(course_form.filename)

mongo.db.Course_forms.insert_one({"matric_number": mat_no, "level": level,

"course_form": course_form, "datetime_posted": nigerian_time()})

flash("Course Form Submitted Successfully!", 'success')

return render_template("public/upload_course_form.html")

return render_template("public/upload_course_form.html")

68 | P a g e
69 | P a g e

You might also like