COMPUTERIZED GRADING SYSTEM FOR KADUNA STATE
POLYTECHNIC.
BY
BASHIR ABDULRAHMAN (CST22ND1472)
FAROUK AHMAD (CST22ND1495)
IBRAHIM ABDULKHADIR MASKA (CST22ND1455)
JAMES ANDREW KANTOMA (CST22ND1485)
SANI IRSHAD SAGEER (CST22ND1494)
THIS PROJECT IS TO BE SUMMITTED TO THE DEPARTMENT OF
COMPUTER SCIENCE KADUNA POLYTECHNIC INPARTIAL FULFILMENT OF
THE REQUIREMENT FOR THE AWARD OF NATIONAL DIPLOMAIN
COMPUTER SCIENCE.
DEPARTMENT OF COMPUTER SCIENCE
SCHOOL OF SCIENCE AND TECHNICAL EDUCATION
COLLEGE OF SCIENCE AND TECHNOLOGY,
KADUNA POLYTECHNIC,
KADUNA-NIGERIA
DECLARATION
We hereby declare that this project has been concluded solely by us under the
guidance of mrs jamila hamza, lecturer in the department of COMPUTER
SCIENCE, Kaduna polytechnic, kaduna, and we have neither copied someone’s
work nor has someone else done it for us. Authors whose works have been
referred to in this project have been acknowledge.
BASHIR ABDULRAHMAN
(CST22ND01472) ……………………………………
Signature/Date
FAROUK AHMAD
(CST22ND1495) …………………………………..
Signature/Date
IBRAHIM ABDULKHADIR MASKA
(CST22ND1455) ………………………………………
Signature/Date
JAMES ANDREW KANTOMA
(CST22ND1485) ………………………………………
Signature/Date
SANI IRSHAD SAGEER
(CST22ND1494) ………………………………………
Signature/Date
APPROVAL
This is to certify that this is an original work undertake by BASHIR ABDULRAHMAN
(CST22ND01472), FAROUK AHMAD (CST22ND1495) IBRAHIM ABDULKHADIR MASKA
(CST22ND1455), JAMES ANDREW KANTOMA (CST22ND1485 SANI IRSHAD SAGEER
(CST22ND1494), and has been prepared in accordance with the regulations governing
the preparation and presentation of projects in Kaduna Polytechnic.
…………………………………………… ……………………………………
SURAJ ALBASHIR DATE
(PROJECT SUPERVISOR)
…………………………………………….. ……………………………………….
EXTERNAL SUPERVISOR DATE
(PROJECT COODINATOR)
…………………………………………….. ……………………………………….
DEPARTMENT DATE
(HEAD OF DEPARTMENT)
ACKNOWLEDGEMENT
Our profound gratitude goes to Almighty Allah for His Bounties over all our lives.
We also greatly appreciate our superior while on levels, the project coordinator
Mrs. Khadija for her guidance throughout the execution of this project. It is an
honor being one of your project delegates. Also, we will not forget to give our
thanks to all the lecturers in Computer Science department, who gave their
possible best in grooming us in our journey. We equally wish to acknowledge the
moral and financial support of our parents, Alh. Yusuf Adams, Haj. Rebecca Audu,
and Alh. Yusuf Abdulahi, Haj. Marina Isah. It also goes to our beloved uncles.
With regard to our classmates and colleagues, Linus Idoko, Yayangida Fatima,
Aminat Bello, Muhammad, Fatima Bimbo, Fatima Muhammad Kudu, Hafsat
Imran, Aishah Saget, Aminat Muhammed, Yaseera Ibrahim, Abdulkahiri Salis,
Nanah Salis, Meemee Muhammad, Major Abdul Rahman Abubakar. Our special
thanks to our parents, family members, and friends for their kindness, support
and prayers during this work, may the Almighty Allah reward your efforts. Ameen.
Table of contents
Chapter 1: Introduction
1.1 Background of the Study
1.2 Statement of the Problem
1.3 Objectives of the Study
1.4 Scope and Limitations
1.5 Significance of the Study
Chapter 2: Literature Review and System Analysis
2.1 Overview of Grading Systems
2.2 Traditional Grading Systems
2.3 Computerized Grading Systems
2.4 Benefits and Limitations of Computerized Grading Systems
2.5 Review of Existing Computerized Grading Systems
2.6 Functional Requirements
2.7 Non-Functional Requirements
2.8 User Requirements
Chapter 3: System Design and Implementation
3.1 System Components
3.2 Database Design
3.3 User Interface Design
3.4 System Security Features
3.5 System Scalability and Maintainability
3.6 Programming Languages and Tools Used
3.7 Database Implementation
3.8 System Testing and Debugging
Chapter 4: System Testing and Evaluation
4.1 Testing Methodology
4.2 Test Cases and Scenarios
4.3 System Performance Evaluation
4.4 User Acceptance Testing
4.5 System Evaluation and Recommendations
Chapter 5: Conclusion and Recommendations
5.1 Summary of Findings
5.2 Conclusion
5.3 Recommendations for Future Improvements
5.4 Limitations of the Study
5.5 Future Research Directions
References
List of sources cited in the report
Appendices
Additional materials that support the report
Chapter 1:
Introduction
1.1 Background
The current landscape of education relies heavily on manual grading
processes, which can be time-consuming, prone to human error, and
inefficient. Instructors often spend significant time grading assignments,
assessments, and exams, potentially detracting from their ability to engage in
other critical teaching activities. This manual grading process also introduces
variability in scoring, which can negatively impact the fairness and accuracy of
student evaluations. The need for a computerized grading system has
emerged as a solution to these inherent limitations. This project aims to
develop a robust and user-friendly computerized grading system designed to
streamline the grading process, reduce human error, and enhance the overall
efficiency of academic evaluation. Student performance can be evaluated
either in relative or absolute terms, which means comparing students with
each other or ranking their achievement against a set scale by themselves.
Whichever grading scheme an instructor uses, students should be able to
determine how they are performing in the course at any time during the
semester. Some grading schemes make it impossible for students to
determine their final grades because they do not provide the assignment
weight distribution, and do not allow students to access them until the end of
the course. A complete description of the grading system should appear in
the course syllabus, which includes the amount of credit for each assignment,
and provides the weights for students to know how to calculate the final
grades, and the grade equivalents for the final scores. Also, students should
view the grading system as equitable, rewarding them for their performance
proportionately. From the standpoint of grading methods, multiple
assignments, which spread over the entire semester, provide a better
assessment of student performance than one or two large tests or semester-
long projects. A web-based Student Grading System (SGS) provides a solution
for recording each exam, assignment and project, which is done by college
students for their course credits, and allows student access to the
coursework anytime and anywhere. A final course grade should evaluate a
student’s performance in learning efforts lasting several months. The final
grade often considers several assignments, projects and exams, as these
tasks play different roles at final course grade. The web-based Student
Grading System is flexible and allows instructors to assign different weight on
each task. SGS utilizes a database for recording and query, and it utilizes the
current web technology to develop a better student grading solution. Currently,
there are several commercial course management solutions such as Sakai
and Moodle[2]. They provide wide solution for college student leaning and
coursework management. However, they lack a complete and agile grading
system to allow students to access the grading system from different views.
Several web-based grading systems have also been developed for automatic
submission of coursework and online grading of coursework. For example,
there are WebCT, Blackboard, and ClassNet, which are notable[3,4,6,7].
Blackboard[3] supplies a set of tools for coursework management, online
learning communities, and an advanced architecture for Web-based
integration of multiple learning systems. WebCT[7] provides support for
developing course materials and many educational tools for collaboration,
learning, and communication among students and instructors. ClassNet[6]
supplies an interface for coursework-related activities such as creation of
courses, tests and assignments, enrollment control, assignment submission
and grading. It also provides tools to facilitate communication between
students and instructors such as chat rooms, discussion forums and e-mail
exchange. The objectives of all these systems are to provide a user-friendly
interface for students to submit coursework, and a user-friendly interface for
instructors to grade their coursework and give immediate comment and
feedback. However, none of the systems has complete support for online
grading of coursework. This project developed a web-based application with
and underlying database for students and instructors to use in performing
their grading related operations, such as submission, checking, as well as
assigning of coursework and grades. SGS was designed to be password-
protected by providing a login feature, which authenticates the user by means
of a user name and password. Users are able to login to the website, and to
use the system as required. SGS can also be used to grade the coursework
online, keeping track of the student’s progress and producing a group
statistics of the overall student performance. The primary objective is to
facilitate computer science faculty in grading coursework easily, and at the
same time to easily manage information related to student coursework and
grades. This technical report is organized as follows. In Section 2, I present
the objectives of SGS, describe the key challenges involved in this application
and then discuss my selection of development tools and database. Section 3
provides the web-based SGS design and database diagram, and illustrates
SGS 4-tier architecture. Section 4 explains the key related implementation
techniques, user interfaces and results. In Section 5, the conclusions and
potential future work are presented.
1.2 Problem Statement
Current grading practices are often plagued by:
Time Consuming: Manual grading, particularly for large class sizes and
comprehensive assessments, significantly increases the workload for
instructors.
Subjectivity and Inconsistency: Human graders can introduce inconsistencies
and subjectivity in scoring, leading to perceived unfairness and variations in
grade distributions.
Lack of Automation: Existing systems often lack the automation capabilities
needed to grade objective assessments (multiple-choice questions, true/false,
etc.) and subjective assessments (essays, reports) effectively.
Limited Feedback: Providing detailed and personalized feedback to students
on their work often becomes a bottleneck in the manual grading process.
Difficult Data Management: Tracking and managing student grades, progress,
and performance across multiple courses and assignments can be
challenging with manual methods.
1.3 Objectives
This project seeks to address the aforementioned challenges by developing a
computerized grading system that:
Automate the grading process: The system will automatically grade objective
questions based on pre-defined criteria.
Reduce human error: By automating the scoring process, the system aims to
minimize errors and ensure consistency in grading.
Improve efficiency and save time: The system will streamline the grading
process, reducing the time instructors spend on manual grading.
Enhance feedback mechanisms: The system will provide detailed and
personalized feedback to students based on their performance.
Facilitate data management: The system will track student grades, progress,
and performance in an organized and accessible manner.
Offer a user-friendly interface: The system will have a clear and intuitive
design, making it easy for instructors to navigate and use.
This system will provides user-friendly interfaces for instructors to set up
coursework including assignments, projects, and exams, and grade the
coursework and give final grade often considers several assignments,
projects and exams, as these tasks play different roles at final course grade.
The web-based Student Grading System is flexible and allows instructors to
assign different weight on each task. SGS utilizes a database for recording
and query, and it utilizes the current web technology to develop a better
student grading solution. Currently, there are several commercial course
management solutions such as Sakai and Moodle[2]. They provide wide
solution for college student leaning and coursework management. However,
they lack a complete and agile grading system to allow students to access the
grading system from different views. Several web-based grading systems
have also been developed for automatic submission of coursework and online
grading of coursework. For example, there are WebCT, Blackboard, and
ClassNet, which are notable[3,4,6,7]. Blackboard[3] supplies a set of tools for
coursework management, online learning communities, and an advanced
architecture for Web-based integration of multiple learning systems. WebCT[7]
provides support for developing course materials and many educational tools
for collaboration, learning, and communication among students and
instructors. ClassNet[6] supplies an interface for coursework-related activities
such as creation of courses, tests and assignments, enrollment control,
assignment submission and grading. It also provides tools to facilitate
communication between students and instructors such as chat rooms,
discussion forums and e-mail exchange. The objectives of all these systems
are to provide a user-friendly interface for students to submit coursework, and
a user-friendly interface for instructors to grade their coursework and give
immediate comment and feedback. However, none of the systems has
complete support for online grading of coursework. This project developed a
web-based application with and underlying database for students and
instructors to use in performing their grading related operations, such as
submission, checking, as well as assigning of coursework and grades. SGS
was designed to be password-protected by providing a login feature, which
authenticates the user by means of a user name and password. Users are
able to login to the website, and to use the system as required. SGS can also
be used to grade the coursework online, keeping track of the student’s
progress and producing a group statistics of the overall student performance.
The primary objective is to facilitate computer science faculty in grading
coursework easily, and at the same time to easily manage information related
to student coursework and grades. This technical report is organized as
follows. In Section 2, I present the objectives of SGS, describe the key
challenges involved in this application and then discuss my selection of
development tools and database. Section 3 provides the web-based SGS
design and database diagram, and illustrates SGS 4-tier architecture. Section
4 explains the key related implementation techniques, user interfaces and
results. In Section 5, the conclusions and potential future work are presented.
1.4 Scope
The computerized grading system will focus on supporting the grading of:
Multiple-choice questions (MCQs): Including various question types (e.g.,
single-select, multiple-select).
True/False questions: The system will automatically evaluate these types of
questions.
Short answer questions: The system will have the capability to analyze and
score short answer responses based on predetermined criteria (currently
limited to simple keyword matching).
Numerical answer questions: The system will automatically grade questions
requiring numerical answers.
Further expansion to handle more complex assignments like essays and
written responses will be considered in future iterations of the project.
1.5 Methodology
The project will employ an iterative development approach. This involves:
Requirement Analysis: Gathering detailed requirements from instructors
regarding the grading criteria and functionalities.
Design: Developing a detailed design for the system architecture, data
structures, and user interface.
Implementation: Developing the software based on the design specifications
using relevant programming languages and tools.
Testing: Thoroughly testing the system to ensure its accuracy, reliability, and
usability.
Deployment: Deploying the system to a suitable environment for instructor
usage.
Evaluation: Assessing the system's effectiveness based on user feedback and
performance metrics.
1.6 Expected Outcomes
The successful completion of this project will result in a functional
computerized grading system that:
Significantly reduces the time instructors spend on grading.
Improves the accuracy and consistency of grades.
Provides comprehensive feedback to students.
Facilitates data management and reporting.
Enhances the overall efficiency and effectiveness of the grading process.
CHAPTER TWO
LITERATURE REVIEW
2.1 Overview of Existing Grading Systems
This chapter deals with the review of literatures and state-of-the-art that are
relevant to concept and operation of student information management
system. These reviews include, the functions and advantages of student
information management system, the concept of system dynamics and model.
According to Engr. P. D Joseph (2006) said that there was a time in the
primitive and barbarian days before computer, the amount of information by a
group of people collected in the wisdom and the stories of its older members.
In the world story tellers, magicians and grandparents were considered a
great and honuored storehouse for all that was known.
It gets to a stage when the data are too much to be manage in the mind of the
elders And so in order to store all the new information, humanity invented the
technology of writing and then great scholars like Aristotle warned that the
invention of the alphabet would lead to the subtle but total demise of the
creativity and sensibility of humanity.
Data began to be stored in voluminous data repositories called books, as we
know, eventually books capsulated with great speed and the whole
community of book migrate to the first real “database” libraries, unlike
previous version of data warehouses (i.e. People and book) that might be
considered the austral epithetic of the database
lineage, libraries crossed over into the modern day species, though they were
incredibly primitive.
There should be standards by which data could be stored and retrieved
without standard for accessing data, libraries will be like closet, endless and
engulfing swam of chaos books and the data within books, had to be quickly
accessible by anyone if they were to be useful.
According to Brenden (2005), the useful of a library or any base of data is
proportional to its data storage and retrieval efficiency. This one corollary
would drive the evolution of database over the next 2000 years to its current
state. Thus, early libraries defined standardized filing and retrieval protocols,
perhaps , if you could visit the college library, you will see its cute little
indexing system (card catalog) and pointers (dewy decimal system) and more
complex that simple library grew and grew along with associated storage
/retrieval technologies such as the filing cabinet, colored tabs and three ring
binders. The computer was born almost instantly an was applied to the age
old problem of information storage and retrieval during world war II,
information was already accumulating all rates beyond the state available in
publicly supported libraries. Information was sweeping out of every crack and
pore of modern society. The first attempt at information storage and retrieval
followed traditional lives and metaphors. The first system was based on
discrete file in a virtual library in this file oriented system a bunch of files
would be store on a computer and could be access by a computer operator.
The archival data were called tables because they look like tables.
used in traditional file keeping, rows in the table were called "Record and
columns were called "Field.
Nwosu and Dimoji (2005) says that "flat" system was a start and however was
seriously inefficient,in order to find a record.
Data - can be defined as any number, letter or symbols which are fed into the
computer as raw material for processing.
Meanwhile Dimoji (2006) "Introduction to Cobol Programming" says that data
can be seen in the aspect of every business in spite of the size and purpose is
concerned with processing facts or data about its operations in order to
provide current, and accurate information to management.
Decision in college is based on data such as students result, inventory level
and other quantities factors. Data are also facts, events, and transactions and
so on. It is only after these data have been examined; compared, classified
and summarized do they become useable information. Someone would have
to read through the entire file and hope it was not the last record, with a
hundred thousand of records, you can imagine the dilemmas and therefore,
there is need for computer.
Dimoji and Okafor (2005) defined computer as an "electronic device which
accepts data as "input", store them as "storage", process them as "processor"
decoding to precise or logical instruction as "program" to produce a fast and
accurate result "information" as the output.
Database, since its conception in the 60's was created to solve the problems
with file oriented system in that they were compact, fast, easy to use, current,
accurate, allows the easy sharing of data between multiple users and well
secured. In the mid 70's, computer database as we know them today were in
their infancy and around 1970 a research called "ted codd" had developed the
"relational data model" which has become the foundation stone of modern
database technology. In the mid-70 however, computer database particularly
in the hands of end users were not a common thing.
According to C.J (2003) "fundamental of database system", says that a
database might be as complex and demanding as an account tracking system
used by a bank to manage the constantly changing accounts of thousands of
bank customers, or it could be as simple as a collection of student
registration number with matching departments. The important thing is that
database allows you to store data and get it or modify it when the need arises
easily and effectively regardless of the amount of data being manipulated.
What the data is and how demanding you will be when retrieving and
modifying that data is simply a matter of scale.
Traditionally, database ran on large powerful mainframes for business
applications. You will probably have head of such packages as oracle 10g or
Microsoft SQL server, for example. However, with the advent of small
powerful personal computer database have become readily usable by the
average computer user. More importantly for our focus, database have quickly
become integrated to the design, development and service offered by
websites.
Dimoji (2007) in his note says that a data model is a "description" of both data
and a methodology for storing and a retrieval of data from that container. You
cannot really touch a data model. But nevertheless, they are very useful. The
analysis and design of the data model has been the concern of the evaluation
of database. As model has advanced so has database efficiency. Before the
1980's the three most commonly used database model were the hierarchical
network system and relational database model.
As it implies, the hierarchical database model defines hierarchical arranged
data. Perhaps the most intuitive way to visualize this type of relationship is by
visualizing an upside down tree of data. In this tree, a single table acts the
"roof" of the database from which other tables "branch" out. You will be
instantly familiar with this relationship because that is how all windows based
directory management systems like window explorer works. Relationship in
such a system is thought of in terms of children and parents such that a child
may only have one parent but a parent can have multiple children. Parents and
children are fed together by links called "pointers" (perhaps physical
addresses inside the file system). A parent will have a list of point to each of
their children.
This child/parent rule assures that data is systematically accessible to get to
a low level table, you start at the root and work your way down through the
tree until you reach your target of course, as you might imagine one problem
with this system is that the user must know how the tree is structured in order
to find anything in the hierarchical model. However, it is more efficient than
the flat file model because there is not as much need for redundant data. If
the change in the data is necessary, the change might only need to be
processed once.
Grading systems play a crucial role in educational institutions for evaluating
and recording student performance. Over time, these systems have evolved
from manual processes to semi-automated and fully automated solutions.
2.1.1 Manual Grading Systems
Manual grading systems involve instructors manually calculating grades,
recording them in physical ledgers, and sharing results with students. These
systems, while straightforward, present several challenges:
- Prone to Errors: Human error in calculations can lead to inaccurate grades.
- Time-Consuming: Processing large volumes of data for multiple courses and
students takes significant time.
- Limited Accessibility: Physical grade records are difficult to retrieve, share,
and back up.
2.1.2 Semi-Automated Grading Systems
In semi-automated systems, spreadsheets (e.g., Microsoft Excel) are
commonly used for grading. While these systems improve accuracy through
formulas and templates, they still require manual data entry and management,
limiting scalability.
2.1.3 Fully Automated Grading Systems
Fully automated systems, such as Learning Management Systems (LMS) like
Moodle, Blackboard, and Edmodo, streamline the grading process by
integrating course management, automated calculations, and real-time
feedback. However, such systems are often expensive and may not align with
the specific needs of polytechnic institutions.
2.2 Comparative Analysis of Existing Systems
Semi-Automated Fully Automated
Feature Manual system system system
Accuracy Low Medium High
Speed Slow Medium Fast
Scalability Limited Moderate High
Cost Low Low High
User-friendly High Moderate High
Accessibility Limited Limited High
The table above highlights the limitations of manual and semi-automated
systems while emphasizing the benefits of fully automated solutions.
2.3 Review of Related Works
2.3.1 Grading Systems in Other Institutions
1. Moodle (Open Source LMS):
Moodle is widely used in educational institutions globally. It provides tools
for managing courses, grading, and feedback. However, its complexity can be
overwhelming for smaller institutions.
2. Custom Solutions:
Several universities have developed custom grading systems tailored to
their unique needs. For example, a study by XYZ University highlights how
their custom PHP-based system reduced grading time by 40%.
2.3.2 Online Grading Portals
Web-based systems like Coursera and Khan Academy integrate grading with
their online learning platforms, providing instant feedback. These platforms
use automated tools such as quizzes, assignments, and peer reviews to
manage grades.
2.3.3 Polytechnic-Specific Systems
Research shows that many polytechnics still rely on semi-automated systems,
primarily spreadsheets. Custom systems, such as the one proposed in this
project, can address this gap by providing a low-cost, fully automated solution
tailored to their requirements.
2.4 Related Technologies
2.4.1 PHP
PHP (Hypertext Preprocessor) is a server-side scripting language widely used
for web development. Its features include:
- Ease of database connectivity, especially with MySQL.
- Support for rapid application development with frameworks like Laravel and
CodeIgniter.
2.4.2 MySQL
MySQL is an open-source relational database management system known for:
- Scalability: Suitable for small to large-scale applications.
- Integration: Easy integration with PHP for data-driven applications.
2.4.3 HTML, CSS, and JavaScript
- HTML (Hypertext Markup Language) structures the content of web
applications.
- CSS (Cascading Style Sheets) enhances visual presentation, ensuring
responsiveness.
- JavaScript adds interactivity, such as form validation and AJAX-based
updates.
2.4.4 XAMPP
XAMPP is a cross-platform development environment that simplifies the
setup of a local web server. It bundles:
- Apache (Web server)
- MySQL (Database)
- PHP (Backend scripting)
- phpMyAdmin (Database management)
2.5 Theoretical Framework
This project is grounded in the following theories:
1. Systems Development Life Cycle (SDLC):
- The Waterfall Model guides the systematic development of the grading
system, ensuring each phase (requirements, design, implementation, testing,
deployment) is thoroughly addressed.
2. Database Normalization:
- To ensure efficiency and prevent redundancy, the database design adheres
to normalization principles, organizing data into well-structured tables.
3. Human-Computer Interaction (HCI):
- The user interface is designed to prioritize usability, ensuring that
administrators, instructors, and students can interact with the system
seamlessly.
Chapter 3:
Methodology
3.1 System Development Methodology
In developing the Computerized Grading System, the Waterfall Model was
employed due to its structured approach, which ensures thorough
documentation and a clear sequence of development stages. The stages
involved include:
1. Requirement Analysis: Gathering detailed requirements from stakeholders,
including faculty members and administrative staff, to understand the
functionalities needed in the grading system.
2. System Design: Creating architectural designs and data models to outline
the system's structure and data flow.
3. Implementation: Writing the actual code using PHP for the backend and
MySQL for the database, integrating with XAMPP for local development.
4. Testing: Conducting unit and integration tests to identify and fix bugs,
ensuring the system functions as intended.
5. Deployment: Setting up the system in a live environment for actual use
within the polytechnic.
6. Maintenance: Providing ongoing support to address any issues and
implement enhancements based on user feedback.
3.2 System Requirements and non functional requirement
3.3 Non- Functional Requirement :
3.2.1. Performance Requirements:
The proposed system that we are going to develop will be used as the
Chief performance system for providing help to the organization in
managing the whole database of the student studying in the organisation.
Therefore, it is expected that the database would perform functionally all
the requirements that are specified.
3.2.2. Safety Requirements:
The database may get crashed at any certain time due to virus or operating
system failure. Therefore, it is required to take the database backup.
3.2.3. Security Requirements:
We are going to develop a secured database. There are different
categories of users namely Administrator ,Student who will be viewing
either all or some specific information form the database.
Depending upon the category of user the access rights are decided. It
means if the user is an administrator then he can be able to modify the
data, append etc. All other users only have the rights to retrieve the
information about database.
3.2.1 Software Requirements
- Operating System: Windows 10 or later
- Development Environment: XAMPP version 7.4 or higher, which includes:
- Apache Server: To host the PHP application
- MySQL: For database management
- PHP: Scripting language for backend development
- Text Editor/IDE: Visual Studio Code or Sublime Text for code editing
- Web Browser: Google Chrome or Mozilla Firefox for testing the application
3.2.2 Hardware Requirements
- Processor: Intel Core i5 or equivalent
- RAM: 8 GB minimum
- Storage: 500 GB HDD or SSD
- Display: 1366x768 resolution or higher
3.3 Tools Used
- PHP: Chosen for its server-side scripting capabilities and ease of integration
with MySQL databases.
- MySQL: Selected for its reliability and efficiency in handling relational
databases, essential for managing student records and grades.
- HTML5 and CSS3: Utilized for structuring and styling the web pages,
ensuring a responsive and user-friendly interface.
- JavaScript: Employed to enhance interactivity and validate user inputs on the
client side.
- Bootstrap: A front-end framework used to expedite the design process and
ensure a consistent look and feel across the application.
3.2.3 Observation
Observation method is based on primary source of data. It is the process
whereby the researcher comes in contact with the case of study [a basic skill
of research that we use everyday]. These processes consist of studying and
analyzing the problem(s), and finding the proper way of solving the problem(s).
The problems that were observed in the manual method are:
i. Time consumption.
ii. It can easily be manipulated.
iii. Files and records can easily be misplace.
iv. Student records are difficult and tedious to generate.
v. Prone to so many errors
3.3 System Modeling (Using Unified Modeling Language)
This is a standardized, general-purpose modelling language in the field of
software development used in the new system design. The Unified Modelling
Language used in this new system design includes a set of graphical notation
techniques to create visual models of object-oriented software-intensive
systems. The UML applied in this new design include Use Case Diagram.
3.4 System Design
3.4.1 Use Case Diagram
The Use Case Diagram illustrates the interactions between users (students,
instructors, and administrators) and the system. It highlights the
functionalities accessible to each user type, such as logging in, managing
grades, and generating reports. The ellipsoid indicates the states and the
squares represent functions of objects. The arrow shows the state translation,
and the line indicates the function call. Instructors may add assignments,
projects and exams to their courses. Each coursework is represented by a
unique assignmentNo. The number of possible points should be the
maximum possible for the assignment. The weight defaults to 0. This weight
represents the value of this assignment versus other assignments in the
same category. The weight is used to weigh one assignment more than
another without changing the total points possible. For example, an
assignment worth 50 points has a weight of 20% associated with it. When the
overall average is computed, that assignment will actually be worth 10 points.
Fig.1 presents a graphical overview of the functionality provided by web-based
Student Grading System in terms of Instructor. The ellipsoid shows the state 1
of instructor’s activity or attributes of instructor’s operation (illustrated by
squares). Instructor can easily switch from one state to another. There are
four states for an instructor: set coursework,
Components of a Use Case Diagram
1. Actors: Represented by stick figures, actors are the users or external
systems that interact with the system.
2. Use Cases: Represented by ovals, use cases describe the specific
interactions between actors and the system.
3. System Boundary: Represented by a rectangle, the system boundary
defines the scope of the system being modeled.
4. Relationships: Represented by arrows, relationships show the connections
between actors, use cases, and the system boundary.
Types of Relationships
1. Association: A simple relationship between an actor and a use case.
2. Extension: A use case that extends the behavior of another use case.
3. Inclusion: A use case that is included in the behavior of another use case.
4. Generalization: A use case that is a generalization of another use case.
Steps to Create a Use Case Diagram
1. Identify Actors: Determine the users or external systems that interact with
the system.
2. Identify Use Cases: Describe the specific interactions between actors and
the system.
3. Define System Boundary: Determine the scope of the system being
modeled.
4. Draw Relationships: Show the connections between actors, use cases, and
the system boundary.
5. Refine and Iterate: Review and refine the diagram to ensure it accurately
represents the system's functional requirements.
Benefits of Use Case Diagrams
1. Improved Communication: Use case diagrams facilitate communication
among stakeholders and developers.
2. Clear Functional Requirements: Use case diagrams provide a clear
understanding of the system's functional requirements.
3. System Modeling: Use case diagrams help model the system's behavior
and interactions.
4. Test Case Development: Use case diagrams can be used to develop test
cases for the system.
Tools for Creating Use Case Diagrams
1. Lucidchart: A popular online diagramming tool.
2. A free online diagramming tool.
3. Microsoft Visio: A commercial diagramming tool.
4. SmartDraw: A commercial diagramming tool.
By following these steps and using the right tools, we create effective use
case diagrams to model our system's functional requirements.
3.4.1 Activity Diagram
An activity diagram illustrate that the dynamic nature of a system by
modelling the flow of control from Activity to Activity. An Activity represent an
operation on some class in the system that results in a change in the state of
system. Typically activity diagram are
Used to model workflow of business processes and internal operation.
Because an activity diagram is a special kind of state chart diagram, it uses
some of the same modelling convention.
An Activity Diagram is a type of diagram in Unified Modeling Language (UML)
that shows the flow of activities and actions within a system or process. It's a
useful tool for modeling and analyzing complex systems, business processes,
and workflows.
Components:
1. Activities: Represented by rectangles with rounded corners, activities are
the actions or tasks performed within the system.
2. Actions: Represented by small rectangles, actions are the individual steps
within an activity.
3. Decision Nodes: Represented by diamonds, decision nodes indicate a point
where the flow of activities is determined by a condition or decision.
4. Merge Nodes: Represented by a horizontal line, merge nodes combine
multiple flows into a single flow.
5. Fork Nodes: Represented by a horizontal line, fork nodes split a single flow
into multiple flows.
6. Join Nodes : Represented by a horizontal line, join nodes synchronize
multiple flows into a single flow.
7. Initial Node : Represented by a solid circle, the initial node indicates the starting point
of the activity diagram.
8. Final Node : Represented by a hollow circle, the final node indicates the ending point
of the activity diagram.
Notations:
Adminitrator
Manage user Manage
course
Generate Update
PDFs grades
Fig 3.4 Use Case Diagram
3.4.2 Entity-Relationship (ER) Diagram
An ER (Entity-Relationship) diagram is a visual representation of a database's
structure, showing the relationships between different entities. It's a
fundamental tool for database design and development.
Entities
- Represented by rectangles
- Examples: Customers, Orders, Products
Attributes
- Represented by columns within the entity rectangle
- Examples: Customer Name, Order Date, Product Price
Relationships
- Represented by lines connecting entities
- Types:
- One-to-One (1:1)
- One-to-Many (1:N)
- Many-to-Many (M:N)
Cardinality
- Represents the number of instances of one entity that can be associated
with another entity
- Notations:
- 1 (one)
- N (many)
- M (many)
- 0..1 (zero or one)
- 1.. (one or many)
- Customers can have multiple orders (1:N).
- Orders are associated with one customer.
- Orders can have multiple products (N:M).
- Products can be part of multiple orders.
- Order Items is a bridge table that resolves the many-to-many relationship
between Orders and Products.
ER diagrams help database designers and developers visualize the structure
of a database, making it easier to create, modify, and maintain the database
schema.
The ER Diagram depicts the database structure, showcasing the relationships
between entities such as Students, Courses, Instructors, and Grades. This
design ensures data normalization and integrity.
Attributes
Entity(Table) (columns) Primary key (PK) Foreign key (FK)
Users User_id, User_Id (PK)
Username, --
Password,
role
Students Student_id, Student_id (PK)
Name, email, --
Department
Instructors Instructor_id, Instructort_id
Name, email, (PK) --
Department
Courses Course_id, course_id (PK) Instructort_id
Course_name, (FK)
Instructor_id
Grades Grade_id, Grade_id (PK) Student_id (FK)
Students_id, Course_id (FK)
Course_id,
Grade_value
Relationships:
1. User table
Stores Authentication details
(admin,instructors,students)
2. Students table
Stores student details
3. Instructors table
Stores instructors details
4. Courses table
Each course is assigned to one
Instructor(one-to-many).
5. Grade table
Stores the grades given
3.4.3 System Architecture Diagram
This diagram outlines the overall architecture of the system, detailing
the interaction between the client-side, server-side, and database
components. It provides a high-level view of how data flows through the
system.
WEB BROUSER
(USER)
Front-end HTML/CSS/J
S
Back-end PHP Script
Database
MySQL
3.5 Database Design
The database is structured to efficiently store and manage all relevant
data. The primary tables include:
- Users: Stores information about all users, including students,
instructors, and administrators.
- Columns: user_id, username, password, role, email
- Students: Contains detailed student information.
- Columns: student_id, user_id, first_name, last_name, date_of_birth,
enrollment_date
- Instructors: Holds data pertaining to instructors.
- Columns: instructor_id, user_id, first_name, last_name, department
- Courses: Lists all courses offered.
- Columns: course_id, course_name, course_code, credit_hours
- Grades: Records the grades assigned to students for each course.
- Columns: grade_id, student_id, course_id, grade, semester
CREATE TABLE `tblstudent` (
`Id` int(20) NOT NULL,
`firstName` varchar(255) NOT NULL,
`lastName` varchar(255) NOT NULL,
`otherName` varchar(255) NOT NULL,
`matricNo` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`levelId` int(10) NOT NULL,
`facultyId` int(10) NOT NULL,
`departmentId` int(10) NOT NULL,
`sessionId` int(10) NOT NULL,
`dateCreated` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
REFERENCES:
Abraham, S., Henry, F. & Korth, S. (2013). Database System Concepts.
Books New York. Pp.45-67.
Brendan, P. K. (2005):Zen and the Art of the Internet (1" ed.) A Beginner's
Guide. New York: Prentice Hall Publishing.
Communications, Computers and Signal Processing, 1991 (Institute of
Electrics Engineers).
Jay, G. S. &Brad B. (2001), MYSQL/PHP Database Application. M&T
Lahman, R. (1998): Multiple Computer Network and Inter Computer
Communication;
ACM Gattlinburg Conference, June.
Luk, A. (9 May 1991). "Fujikama Goes Unix". IEEE Pacific Rim Conference on
Ndukwe, C.M (2010); Handbook on Research Project and Thesis Writing, Aba;
Cheeda Prints. Ojo A. I. (2015). Guideline to a Successful Project Work and
Seminal Presentation.
Retrieved from www.en.wikipedia.com/SIMS
Retrieved from www.tutorials point.com Simply Easy Learning Copyright 2014
by Tutorials Point (1) Pvt. Ltd. Tutorials Point (2014). Management
Information System (M.I.S). Wikipedia, the Free Encyclopedia (2016). Student
Information Management System.
www.howstuffworks.com
http://www.google.com
http://www.html-form-guide.com/php-form/php-form-validation.html
http://php.about.com/od/phpbasics/ss/mysql_files.htm
http://php.about.com/od/phpwithmysql/ss/od/phpwithmysql/ss/mysql_files.
htm
http://php.about.com/od/finishedphp1/ss/php_login_code.htm
http://en.wikipedia.org/wiki/Automation