Student Database Management System
Student Database Management System
Introduction
1.1 Introduction
Student Management System deals with all kind of student details, academic related
reports, college details, course details, curriculum, batch details and other resource related
details too. It tracks all the details of a student from the day one to the end of his course
which can be used for all reporting purpose, tracking of attendance, progress in the course,
completed semesters years, coming semester year curriculum details, exam details, project
or any other assignment details, final exam result etc.
Our design can facilitate us to explore all the activities happening in the college, even we
can get to know which faculty is assigned to which course, the current status of a student,
attendance percentage of a student and upcoming requirements of a student. The student
management system is an automated version of manual Student Management System. It can
handle all details about a student. The details include college details, subject details, student
personnel details, academic details, exam details etc.
In case of manual system they need a lot of time, manpower etc. Here almost all work is
computerized. So the accuracy is maintained. Maintaining backup is very easy. It can do
with in a few minutes. Our system has two type of accessing modes, administrator and user.
Student management system is managed by an administrator. It is the job of the
administrator to insert update and monitor the whole process. When a user log in to the
system. He/she would only view details of the student. He/she can’t perform any changes.
Our system has seven modules, they are administrator, student, course, department, exam,
attendance, and section. These modules and its attributes with entity relationship module
presented in the ER diagram section.
Chapter 2
Project Review
1
2.1 Project management
Project management skills are put to good use for this project. Having gone through project
management modules in Time Series Analysis, Optimization and with two interns Project
Management for Business and IT respectively, they enhanced my knowledge on managing a
project. Project management focuses on achieving the objectives by applying five processes
presented in Figure below.
2
Chapter 3
Resources
There are five phases in this model and the first phase is the planning stage. The
planning stage determines the objectives of the project and whether the project should be
given the green light to proceed. This is where the proposal submission comes into picture.
After obtaining the approval, the next phase is analysis. Gathering and analysing the system
and user requirements is essential for entry to the design step.
With the user requirements gathering completed, there is a need to prepare the
resources for the project. Be it software or hardware components, careful consideration and
selection is to be taken care at this stage. The decision on the appropriate resources to be
used is further elaborated under the subsections below. The next step is to design the
system and database structure.
Results from the analysis and preparation that were concluded from the previous stage
are put into action. With the user requirements in mind, the flow of the system is planned
and the user interface is designed to suit their easy navigation needs. In addition, the
number of tables, attributes, primary and unique keys of the database is listed.
3
After completing the design, actual coding begins. Database is created and codes are
written. Some of the codes required amendments and improvement to it so these are being
developed at this fourth stage of the waterfall model. With the development completed,
testing will begin. The codes and database are tested to ensure the results obtained are as
intended. More time is spent on both development and testing stages because it is
inevitable to have errors and issues and buffer time is allocated for troubleshooting.
4
run on different platforms. Moreover PHP can access MySQL database directly without the
need to go through ODBC (Open Database Connectivity).
To conclude, PHP script is able to run faster with MySQL database and the processing
time will definitely be shorter. The pre-school does not require complex and costly software
for its database management system hence MySQL is the ideal database for this project.
Chapter 4
5
4.1 Use case analysis
In order to provide a clearer picture of the functionality provided by the student
management module, we have done a use case analysis. Figure below is a use case diagram
to present the functionality in the student management module.
6
Figure 4.2: Student registration process
Besides the registration for a single student, there is a new feature added to the system.
That is to ’export’ bulk students from a class to another. This new feature is created to
minimize the time required to register students to a new class. The school has many
programs ranging from beginner to intermediate levels thus with this new feature, the
administrator can easily enrol those students to their next level. The interface of this
function is shown in Figure below.
Other than the ’export’ feature, the system has been modified to allow a couple of search
attributes at the family registration part. The name attribute includes the first and last
name whereas contact number means mobile, office and home number.
Figure below present functionality at registration page.
7
Figure 4.4: Search attributes for registration process
Figure below present the functionality to add student to class module from the existing
one.
For the attendance marking system the following functionality has been added
8
Figure 4.6: Legend and attendance system
In order to fulfil the second objective on minimizing human error, there are a few error
checking functions being implemented for the student management module. Firstly, at the
family registration page, all the fields except the entry date, referral and remarks fields have
been coded to do validation check. This is to ensure that all the relevant information are
collected and inserted into the database in an orderly manner.
The contact fields are designed to prompt an error message if none of the three fields has
been input. The school requires at least one valid number. In addition, contact number
should not contain alphabets so this has been taken into consideration for the error
checking. As for surname, name and nationality fields, checks are implemented to make
sure the fields are not empty. On the other hand, the postal code which should not contain
alphabet; there will be message to alert any error as well.
Other than error checks on family registration page, the student registration page also
checks for the surname and name fields. After retrieving the class details at the same page,
users will be alerted if no class is selected for the enrolment. This is also implemented at the
bulk student enrolment process. If the targeted class code is not provided, error message
will appear.
The codes for the system design are provided under Appendix A.
9
Chapter 5
10
STUDENT (id, family-id, name, surname, sex, dob, status)
Where STUDENT.family-id must exist in FAMILY.id
STUDENT-CLASS (id, student-id, class-schedule-id, remark)
Where STUDENT-CLASS.student-id must exist in STUDENT.id
And STUDENT-CLASS.class-schedule-id must exist in CLASS-SCHEDULE.id
INSERT INTO curricula (grp, theme) VALUES (’1’, ’Math’), (’2’, ’Phy’), (’3’, ’Che’), (’4’, ’CSE’);
11
Figure 5.2: Table creation in phpMyAdmin
Figure below shows the interface for creating the attributes in the table.
After completing the creation, Figure below depicts the contents of the database,
providing information like the number of tables in the database and the number of records
in each of them. The MySQL server, phpMyAdmin, has many other features such as the
deletion of tables, attributes and database. It also provides a mean for exporting or
importing data into another database easily just by selecting the desired option seen at the
top of the table in Figure below.
12
Figure 5.4: Total number of tables in a database
To view the data in one of the table, this can be done by clicking on the table name listed
on the left menu as per Figure below. The figure illustrates the educator table and there are
three records in it.
Chapter 6
13
System and Database Testing
Test 1
Purpose: Test the error checking functions
Location: Family Registration
Condition: All mandatory fields need to be filled up
Result
14
Figure 6.2: Test1
Test 2
Purpose: Test the error checking functions
Location: Family Registration
Condition: At least one contact number is required Result:
Test 3
Purpose: Test the error checking functions
Location: Family Registration
15
Condition: Contact number should contain numbers only Result:
Test 4
Purpose: Test the error checking functions
Location: Family Registration
Condition: Email address must be valid Result:
Test 5
Purpose: Test the error checking functions
Location: Family Registration
16
Condition: Postal Code should contain numbers only Result:
Test 6
Purpose: Test the Search function
Location: Family Registration
Condition: No search value is input
Result:
17
Figure 6.7: Test6
Test 7
Purpose: Test the Search function
Location: Family Registration
Condition: Search using NRIC
Result:
Test 8
Purpose: Test the Search function
Location: Family Registration Condition:
Search using any contact number Result:
18
Figure 6.9: Test8
Test 9
Purpose: Test the Search function
Location: Family Registration
Condition: Search using name
Result:
19
Figure 6.10: Test9
Test 10
Purpose: Update of family details
Location: Family Registration
Database: Family table
Condition: All data are valid Result:
In the system:
20
Figure 6.11: Test10
Test 11
Purpose: Update of family details
Location: Family Registration
Database: Family table
Condition: No update is done (status quo) Result:
In the system:
21
Figure 6.12: Test11
Test 12
Purpose: Create family
Location: Family Registration
Database: Family table
Condition: All data are valid Result:In
the system:
Test 13
Purpose: Create student (After creating the family)
Location: Student Registration
Condition: All mandatory fields are required
Test 14
Purpose: Create student (After creating the family)
22
Location: Student Registration Condition: All
mandatory fields are required Result:
Test 15
Purpose: Create student (After creating the family)
Location: Student Registration
Condition: Need to select the class after retrieve class Result:
Test 16
Purpose: Create student (After creating the family)
23
Location: Student Registration
Database: Student and Student-class tables
Condition: All data are valid Result: In the
system:
Test 17
Purpose: Delete student
Location: Student Registration Database:
Student and Student-class tables Result: In
the system:
Test 18
Purpose: To test the export function
Location: Export students Condition: A
valid class code is required.
Result:
24
Figure 6.19: Test18
Test 19
Purpose: To test the export function
Location: Export students
Database: Student-class table
Condition: Selected student to be exported from TRY-01 to class TRY-02
Result: In the system
Test 20
Purpose: To test the list students function
Location: List Student
Database: Student and Family tables
Condition: Search for students with name ’Bhai’ and list out the family information Result:
25
Figure 6.21: Test20
Test 21
Purpose: To test the list students function
Location: List Student
Database: Student and Family tables
Condition: List all students in the school by the order of Date of Birth Result:
Test 22
Purpose: To test the list students function
Location: List Student
Database: Student and Family tables
Condition: List all students in the school by the order of Surname Result:
26
Figure 6.23: Test22
Test 23
Purpose: To test the attendance taking function
Location: Take Attendance
Database: Attendance table
Result: In the system:
27
Figure 6.24: Test23
Chapter 7
Project Management
28
Figure 7.1: Risk Assessment Matrix
29
Chapter 8
Conclusions
8.1 Conclusions
Simplicity is never simple. As we have seen in this project, the process of creating a user-
friendly and straightforward platform that facilitates the administrator’s job is one filled
with complexity. From understanding user requirements to system design and finally
system prototype and finalization, every step requires in-depth understanding and
commitment towards achieving the objectives of the project.
Although the student database management module is not fully integrated to the system
and used on real time, the system prototype demonstrates easy navigation and data are
stored in a systematic way. Overall, efficiency has improved and work processes simplified.
Although all the objectives have been met, the system still has room for improvement. The
system is robust and flexible enough for future upgrade using advanced technology and
devices.
Being a novice in PHP language, I had difficulty in understanding the basic to write php
files. Therefore I took longer time to understand how and why PHP works. I researched too
much online. Went through several examples, tutorials etc.
Still I am not good enough in PHP language. In this entire project I have used only PHP
and HTML languages. but later I realized that there are multiple languages which can
support in designing a good database project. Those are CSS, JavaScript. There may be more
but truly speeking I really don’t know any more.
Eventually with more hands-on exposure throughout this project, I managed to gain
some understanding of PHP language.
Discipline played an important role for the completion of this project. Using the project
management skills taught in class, I was able to apply them to this project.
Besides project management skills, I had also applied the database knowledge that I had
learnt in the class to this project. From analysing of database structure and their relations to
creating the database and tables, all these have strengthened my understanding. However
when doing part of the codes, I would still research online and find solutions, for example,
the usage of ’Ignore’ command to avoid duplication of data from inserting into the database.
This command did not work on MyISAM storage engine thus I had to change my database
storage to InnoDB in order for that to work.
30
31
32
33
34
LOGIN INFORMATION
35
ADMIN LOGIN
36
INVALID LOGIN INFORMATON
37
38
39
40