Designand Implementationof Student Information System
Designand Implementationof Student Information System
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
redundant, inaccurate, inefficient, inconsistent, difficult to access, and insecure. So, for
The concept of database model was adopted to enhance the efficient record-keeping of
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
Management System (SMS), or Student Records System (SRS) and all are created to
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
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
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
an institution. Most SIS offer open interfaces and integration with other campus
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
instantly about any student, therefore delaying the decision making process that is
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
i. Fire outbreak might occur and damage the students’ records, leading to
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
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.
3|Page
1. To build a non-relational database management system using MongoDB which
such as HTML (for creating the web pages), CSS (for styling the web pages),
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.
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
The study provides solutions to practical problems using knowledge gained from the
and web design in my undergraduate studies in computer science and informatics. The
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.
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
department. The admin controls what the lecturers and students see on their
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’
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
future. The lecturer has the right to upload the grade about the assignment so
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
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.
knowledge in someone.
System: A set of interrelated components that works together to achieve a specific goal.
Efficiency: The extent to which time is well used for the intended task.
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
Information System. Related research work has been carried out before now by other
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
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
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
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
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
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
built by (Dechen Wangmo, 2015) using the PHP Laravel framework and MySQL
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
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,
The research carried out by K.Naga et al, (2019) on the “DESIGN AND
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
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
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.
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,
human resources, and to reach their potential customers with online promotions. Many
major companies are built entirely around information systems. These include eBay, a
and Google, a search engine company that derives most of its revenue from keyword
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
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
mechanical calculator by Blaise Pascal in the 17th century are but two examples.
process, disseminate, and reach for information and knowledge. This led, in turn, to
Hollerith’s census tabulator. Invented in time to process the 1890 U.S. census,
Most businesses utilize six different information technology systems, each with
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
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
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:
purchases and sales of products and services, along with any daily business
safe location and accessible to everyone who needs it. It also assists in the
14 | P a g e
printing documents, mailing paperwork, and mailing, maintaining a company
and extracts information to help users enhance their knowledge and optimize
throughout the company while providing visuals to help employees make sense
of the data they see. This information system also provides intuitive access to
complete their roles. For example, a KMS may hold competitor data that helps
using one can improve communication among team members and assist
15 | P a g e
4. Management Information Systems: A management information system uses
generates reports to help those at the management level know important details
way for managers to meet their targets and oversee business units.
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
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
but are primarily used by executive leaders and owners to optimize decision-
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
(Lauren, 2021)
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
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.
any important data due to errors. The backups should also be stored in a
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
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.
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
5. Output: There are two types of output in this context, graphical and textual:
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.
5. Procedures: These are the commands for combining the components above
The first four components (hardware, software, databases and networks) make
systems that watch over safety measures, risk and the management of data.
19 | P a g e
CHAPTER THREE
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
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
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
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
21 | P a g e
Fig. 3.1 Paper-based Management 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
ii. Time-Consuming: Searching for a specific record requires a lot of time especially
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
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
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
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
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
i. Assignment Submission Module: With this feature, students can efficiently submit
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
With these features of the proposed system, we believe that the latter is more effective,
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.
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
The architecture of the proposed system is based on 3-tier architecture. The underlying
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
LOGOUT
26 | P a g e
END
Fig. 3.3 System flowchart for 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.
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
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
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
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.
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).
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
level with the clients to make sure you have a clear vision of the finished product and its
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
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
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
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
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
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.
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
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
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
individual components of the system; and how they can interact with other software
components;
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
MongoDB was used throughout this application to collect, store, retrieve, and manage users’
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,
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
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
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:
33 | P a g e
MiddleName String False
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:
34 | P a g e
Title String False
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.
35 | P a g e
Field Name Data Type Allow Nulls
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:
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:
36 | P a g e
CourseFormID ObjectId 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
38 | P a g e
3.7.3 Level 0 Data Flow Diagram of the Student Information System (SIS)
STUDENT
MANAGEMENT
STUDENT
INFORMATION
SYSTEM
GENERATE
ASSIGNMENT
REPORT
Fig. 3.5 Level 0 Data Flow Diagram of the Student Information System
39 | P a g e
CHAPTER FOUR
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
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.
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
ii. Integration Testing: Integration testing is the second level of the software testing
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
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
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
41 | P a g e
system when it is tested. The test is carried out on the whole system in the context of
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
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)
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
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
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
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
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
46 | P a g e
D. 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
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
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
The screenshot (fig. 4.8) above illustrates the add course page of the system. This page allows
51 | P a g e
I. Upload Course Form Page of the SIS
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
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.
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:
53 | P a g e
ii. At least 4GB RAM
B. Software Requirements
54 | P a g e
55 | P a g e
CHAPTER FIVE
CONCLUSION
5.1 Summary
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
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
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
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
58 | P a g e
GeeksforGeeks (2022, January 09). System Testing. Retrieved from geeksforgeeks:
https://www.geeksforgeeks.org/system-testing/
https://www.scribd.com/document/363596587/Disadvantages-of-Traditional-File-
System
K.Naga. (2019). Design and Implementation of Student Chatbot using AIML and LSA.
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
http://scientec.cst.edu.bt/student-information-system/
Piccoli, et al., (2018). In G. Piccoli, & F. Pigni, Information Systems for managers: with
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
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.
Sparks, G. (2011, September 2). Database Modeling in UML (Unified Modeling Language).
http://www.methodsandtools.com/archive/archive.php?id=9
Tang Yu-fang, et al., (2009). Design and Implementation of College Student Information
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.
Zwass, V. (2011, December 27). Information system | Definition, Examples, & Facts |
https://www.britnannica.com/topic/information-system/Operational-support-and-
enterprise-systems#accordion-article-history
61 | P a g e
APPENDIX
SOURCE CODES
MODULES
import bson.binary
import urllib.request
import os, re
import datetime
# Login Route
def login():
if request.method=='POST':
62 | P a g e
req = request.form
mat_no = str(req["mat_no"]).upper()
pswd = req["pswd"]
# x = re.search(pattern, string)
if not checkuser:
return render_template("public/index.html")
return render_template("public/index.html")
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":
return redirect(url_for("students_dashboard"))
return redirect(url_for("staff_dashboard"))
return redirect(url_for("admin_dashboard"))
return render_template("public/index.html")
# Sign-up Route
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:
"danger")
return render_template("public/register.html")
return render_template("public/register.html")
return render_template("public/register.html")
65 | P a g e
# checkuser = mongo.db.sign_up.find_one({"matric_number":mat_no}, {"_id":0})
if checkuser:
return render_template("public/register.html")
if checkemail:
return render_template("public/register.html")
nigerian_time()})
return redirect(url_for("index"))
else:
return render_template("public/register.html")
66 | P a g e
# Add Assignment Route
@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']
return render_template('public/add_assignment.html')
return render_template("public/add_assignment.html")
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 == "":
# return render_template("public/upload_course_form.html")
# return render_template("public/upload_course_form.html")
# else:
# filename = secure_filename(course_form.filename)
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