Professional Documents
Culture Documents
Final Project PDF
Final Project PDF
Final Project PDF
Undergraduate Project
6/4/2018
Prepared by:
No Name ID
1. Tesfaalem Mesele ETS 1007/07
First of all, we would like to thank our God for helping through the whole process of this
documentation. And next, we would like to thank our advisor Mr. Chere Lemma. He has been a
huge help by guiding us, encouraging us and for his continuous consult through the documentation
of the proposed system and we wouldn’t have done it without him. And we would also like to
express our gratitude to the Department of Software Engineering for giving us the opportunity to
exercise the real-world experience as a software engineer. We would also want to extend our
gratitude to Dej Azmach Wondrad School and Akaki l’Esperance Boarding School for helping us
through the requirement gathering phase. Not only they helped us in requirement gathering, they
also helped us get a grip of the features that should be included to make the system much more
usable.
i
Table of Contents
Acknowledgment ........................................................................................................................................... i
List of Table ................................................................................................................................................. iv
Abbreviations ............................................................................................................................................... vi
Acronymic.................................................................................................................................................... vi
Abstract ....................................................................................................................................................... vii
Chapter one ............................................................................................................................................... 1
Introduction ............................................................................................................................................... 1
1.1 Background of The Organization .................................................................................................... 1
1.2 Statement of The Problem............................................................................................................... 2
1.3 Proposed System ............................................................................................................................. 3
1.4 Motivation ....................................................................................................................................... 4
1.5 Scope and Limitation of the Project ................................................................................................ 4
1.6 Objective ......................................................................................................................................... 5
1.7 Methodology ................................................................................................................................... 5
Chapter Two.............................................................................................................................................. 7
System Requirement Specification ........................................................................................................... 7
2.1 Background Overview .................................................................................................................... 7
2.2 Functional Reequipment ................................................................................................................. 7
2.3 Non-Functional Requirement .......................................................................................................... 9
2.4 System requirement....................................................................................................................... 10
2.5 Feasibility Study ........................................................................................................................... 10
Chapter Three.......................................................................................................................................... 12
System Analysis and Modeling .............................................................................................................. 12
3.1 Overview ....................................................................................................................................... 12
3.2 Scenario Based Modeling ............................................................................................................. 12
3.3 Behavioral/Dynamic Modeling ..................................................................................................... 52
3.4 Class-Based Modeling .................................................................................................................. 58
Chapter Four ........................................................................................................................................... 60
System Design ........................................................................................................................................ 60
4.1 Overview ....................................................................................................................................... 60
4.2 System Design .............................................................................................................................. 60
4.3 Deployment ................................................................................................................................... 68
4.4 Architecture of The System .......................................................................................................... 69
ii
4.5 Database Design............................................................................................................................ 71
4.6 User Interface Design.................................................................................................................... 72
Chapter 5 ................................................................................................................................................. 81
Implementation and Testing ................................................................................................................... 81
5.1 Implementation ............................................................................................................................. 81
5.2 Testing........................................................................................................................................... 86
Chapter 6 ................................................................................................................................................. 88
Conclusion and Future work ................................................................................................................... 88
6.1 Conclusion .................................................................................................................................... 88
6.2 Future work ................................................................................................................................... 88
References ................................................................................................................................................... 89
Questions for questioner and interview methods .................................................................................... 90
For school Director ............................................................................................................................. 90
For teacher .......................................................................................................................................... 90
For Parent ............................................................................................................................................ 90
For Student .......................................................................................................................................... 90
iii
List of Table
Table 1 use case identification 13
Table 2 Actor identification 15
Table 3 Register school stuff member use case Description 17
Table 4 modify school members account use case Description 19
Table 5 Register Student use case Description 21
Table 6 Produce identification card use case Description 23
Table 7 Generate classes timetable use case Description 25
Table 8 forum discussion use case description 27
Table 9 manage forum discussion use case description 29
Table 10 record student's attendance use case description 31
Table 11 Record Student's mark use case description 33
Table 12 view student report use case description 35
Table 13 view student report use case description 37
Table 14 Edit account use case description 39
Table 15 produce semester report card use case description 41
Table 16 view school report use case description 43
Table 17 Search use case description 44
Table 18 access control matrix for (SMS) 64
Table 19 Test case 87
iv
List of Figure
Figure 1 Use case Diagram ........................................................................................................... 14
Figure 2 Login to the SMS activity diagram ................................................................................ 45
Figure 3 manage user account activity diagram ........................................................................... 46
Figure 4 Registration Activity diagram ........................................................................................ 47
Figure 5 Forum discussion Activity diagram................................................................................ 48
Figure 6 record student mark activity diagram ............................................................................. 49
Figure 7 Generate student report card ........................................................................................... 50
Figure 8 Generate student report card Activity Diagram.............................................................. 51
Figure 9 Register Student mark sequence diagram....................................................................... 52
Figure 10 Register Student Sequence Diagram ............................................................................ 53
Figure 11 generate Student Report Card Sequence diagram ........................................................ 54
Figure 12 Generate Time table Sequence Diagram ...................................................................... 55
Figure 13 Student Forum Sequence Diagram ............................................................................... 56
Figure 14 Forum discussion Object State Diagram ...................................................................... 57
Figure 15 Account State Diagram................................................................................................. 57
Figure 16 SMS Class Diagram ..................................................................................................... 59
Figure 17 Subsystem Decomposition ........................................................................................... 62
Figure 18 Deployment diagram for SMS...................................................................................... 68
Figure 19 Architecture of the system ............................................................................................ 69
Figure 20 System Architecture ..................................................................................................... 70
Figure 21 Database Design diagram ............................................................................................. 71
Figure 22 system interface page flow ........................................................................................... 73
Figure 23 SMS login Interface ...................................................................................................... 74
Figure 24 class schedule interface ................................................................................................ 75
Figure 25 Student Registration interface ...................................................................................... 76
Figure 26Student forum interface ................................................................................................. 77
Figure 27 student report card interface ......................................................................................... 78
Figure 28 student management interface ...................................................................................... 79
Figure 30 Student Identification Card........................................................................................... 80
v
Abbreviations
Gov.t: Government
Acronymic
PHP: HTML embedded Web scripting language
vi
Abstract
Education is crucial to development which lays a foundation for sustained economic growth of
one country. But our country’s history in education focus have not that good considering where
the world is right now. And almost all of the primary and high schools teaching and learning
process are carried manually. Having this in mind, Ethiopian government has given special focus
to education to ensure the development of open minded citizens. The project’s objective is to
computerize those manually operated work for better efficiency. The proposed systems major
functionalities are Timetable preparation, Report preparation, and Forum discussion for students.
In order to use the system, every personnel must be registered first. Since our system is web based,
Users will only need to install a browser to access the system. After accessing the system user can
perform certain function depending on their privileged access. The proposed system’s architecture
is based on the Three-Tier client/server architectural style concept. And the proposed system is
modelled based on many Scenario based modellings like Sequence, Activity, State and Use Case
Diagrams are included in this document.
vii
Chapter one
Introduction
1.1 Background of The Organization
Education system forms the backbone of every nation [1] and crucial to development of one
country. And hence it is important to provide a strong educational foundation to the young
generation to ensure the development of open-minded global citizens securing the future for
everyone. Advanced technology available today can play a crucial role in streamlining education-
related processes to promote solidarity among students, teachers, parents and the school staff.
It is one of the most powerful instruments for reducing poverty and inequality and lays a foundation
for sustained economic growth. With this aim currently, Ethiopian government has given special
emphasis to the educational sector and professional skill improvement activities such as
continuous professional development for teachers, training and upgrading teachers and
capacitating schools with manpower and materials are among the major actions which have been
taken in both primary and secondary schools. In order to facilitate and simplify these actions one
of the major tool is to have automated school management system.
Accordingly, the proposed School Management System provide a means of completing main tasks
like Student registration, attendance record, producing report cards, student’s forum, provide a
secure entrance in to the school compound, preparing weekly timetable and producing different
reports for school and parents and it also provides a platform where students can make forum
discussion. But here we focused on developing a system to help the high school system.
And here we are determined to help our country lay a foundation to secure sustainable and
continuing growth by consolidating the High school system in order to pass on a well informed
and educated student to the higher educational sectors like Universities and Colleges.
Our clients are most of the high schools around Addis Ababa specially our focus is directed on
public schools because students in the public schools don’t get the same treatment as the privileged
students in a private school.
1
1.2 Statement of The Problem
1.2.1 Existing System
Currently, most of the schools in Ethiopia is operated manually. Each and every task starting from
registration to preparing a report card at the end is done by the responsible personnel. For example,
at the time of teacher registration into the school, the record officer registers the teacher
information into the school teachers document. The same applies to the student who wants to
register into the school. The student provides picture and pervious educational background.
Register officer check the eligibility of the student document and register the student information
into the school student document. It takes time to provide the students with their own identification
card since the whole process starts after registration. The weekly class timetable is prepared by a
person who manage it manually taking his/her time to avoid any conflict between the classes. In
every class teachers take students attendance manually by calling out their names. Even at the end
of each semester teachers have to take their time to formulate a grade report for each student.
Student’s documents are stored in a room which acts only as a storage unit. When a specific
information about a student is required, the record keeper have to go through all the documents in
that room to access it.
As we mentioned above, the existing system is operated manually which makes it prone to errors
and problems like: -
2
1.3 Proposed System
Every big change starts with the little one which affects the whole routine it works on. A good and
reliable building needs a well-built base ground to build the top on. The same applies to producing
a future bright generation. Students needs a good base knowledge they can build their future career
on. The current focus shifts towards the higher level educational facilities. There isn’t enough
effort underway to support the middle educational level.
And that’s exactly what we are proposing here. A system which helps the middle educational level.
The system is web-based application that allows the school to control and manage student activities
easily on the computerized system. And it also minimizes waste of time and human labor to
perform a certain task. Our system offers a reliable security by providing every student with an ID
card with a bar code function which they swipe at the gate to enter the school so that no intruder
will enter the compound unauthorized.
The aim of the proposed system is to provide the High school with a system that they can use to
administer the whole school with ease and to facilitate the teaching- learning process.
3
1.4 Motivation
In a developing country like Ethiopia, a firm and continuing stance is required on fundamental
development sectors like health sector, agriculture and educational sector. There are always
obstacles in this sector. But we are determined to improve educational sector to pave the way by
tackling those obstacles to produce a bright minded man power to insure a sustainable
development. The reason that motivated us education over other sectors is because education is a
basis to every other sector. Health sectors needs well-educated physicians, construction sector a
well-trained engineer and agricultural also requires an educated farmer for yield a good product.
All the above sectors depend on a well-organized education system so why not choose education.
But even our education system is taking so much hit that it is failing to deliver what’s promised to
other sectors. So, knowing a good education system is a best way to save all our problems, make
it much better by providing a system to manage the school environment.
The system basically includes registration activities, class time table preparation, report card
preparation and forum discussion platform.
The proposed school management system is determined to facilitate and enhance high school and
preparatory school management activates as well as teaching learning process.
The proposed system doesn’t handle activities related to Human Resource Management, finance
and procurement activities. And the system is designed only for high schools and preparatory
schools. Moreover, the system only supports English. There is no other version with different
languages.
4
1.6 Objective
1.6.1 General Objective
The general objective of this project is to design and develop web-based school management
system for Ethiopian high schools and preparatory schools.
1.7 Methodology
1.7.1 Data Collection Methodology
To clearly understand the work flow of the existing system and design the appropriate solution, it
is necessary collecting and analyzing all required data. Accordingly, we used the following
requirement determination methodologies.
• Questionnaire: - we choose questioner data collection method because this will help us to
point out user’s functional requirement. We prepare a question and give it to stockholders,
analysis their answer and point out the functional requirements.
• Interview: - we choose interview data collection method because to know about the
existing system deeply and to know the process flow of the existing system on the interview
time we ask all important questions about the existing system that can help us to develop a
5
complete school management system. The interview includes all stockholders the system
stockholders are: -
• School head
• School government
• Teachers
• Students
• Parents
The reason we chose both and not only one of them is because not one of them is capable of
gathering all the information needed all by itself. For instance, we can’t use Interview if the
stakeholder is very busy. We email them written questions (questioner) so that they can write us
back when they are free. And also, there are some situations where we can’t use Questioner
method. The stakeholder might not know how to read and write so Interview can be used here.
6
Chapter Two
System Requirement Specification
2.1 Background Overview
It’s no secret that education is a crucial element for every nations development. As a matter of fact,
it’s almost impossible to get a decent job without a proper degree. But not everyone with a degree
can contribute to the county’s growth. We need a well-educated citizen to fulfil our goals and reach
our dreams. And we can’t do that with a school system that is not well organized to provide a good
education to the little fellas who will take over our country’s future tomorrow.
Ethiopian high school at this time are not running on an automated system which can help run
things more smoothly. But instead, they are being operated fully on man power and intelligence.
and this can cause some problems as they:
▪ Don’t provide students their own discussion room for solving academic problems
The problems listed above clearly shows that the system we have been using barely meets our
minimum requirement to provide this student the means to become a competitive student in an
international level. This might have worked in the medieval times but now the world is changing
too fast that we are probably one of the few countries who haven’t been impacted by globalization.
So, we are here with an idea which can improve the efficiency of our high schools by providing
them with an automated School Management System.
7
The proposed school management system will have the following functionalities
1. Registration
This function will perform various registration starting from Student registration to teacher and
record officer registration. Some registration process will need prerequisites in order to be
performed. For instance, students will have to provide their previous school record to decide
whether they are qualified or not.
This function will be performed after Students registration process. It will provide student with
their own identification card. The identification card will have a bar code to minimize the risk of
exploitation using a fake id card.
This function will be performed by the system admin and it will prepare classes’ weekly
timetable. It will need classes, teachers and subjects as an input in order to prepare. It is set to
remove error or conflicts made when being prepared manually.
4. Record information
This function will record student’s information like attendance and grade result. All needed to
record student’s attendance is for students to swipe their id card at the gate. But their work
evaluation is submitted by their course teachers.
5. Report generation
This function will generate various reports about school’s general statistics and student’s status
report for parents, school and semester Report card. There are two types of Student report that
can be generated using the system. One is Transcript Report and the other is Report card at the
end of each semester.
6. Forum discussion
This function provides students with a platform for discussing solutions regarding their academic
problems. Any student struggling with any academic problems can post his/her question on the
8
forum and another student can post its respective answer. And if the problem stays unanswered,
teachers can scoop in to answer the question.
The system should have an average response and access time. This will be made possible by
making the proposed system’s architecture appropriate with the requirement and the proposed
system will have a well-structured and efficient coding system. And it should be capable of
handling big workload.
2. Security requirement
The system is much secure because all users have their own password plus the system use a high-
level password encryption method. Because of the system, classified data will be stored in the
database. User validation will be done during login to ensure that the user is valid and that the user
only has access to his or her permitted data. For all this reason we can say our system is secure.
3. Maintainability requirement
The system can be easily maintained by the developer or other authorized trained person and it
should respond as fast as possible in performing any kind of task concerning maintenance.
4. Utility requirement
The system should provide help to guide the user by providing, help document and tips which
clearly stage how the system works
5. Reliability requirement
The system should be reliable during a time where system encounters an error.
6. Usability requirement
9
The system’s interface should be easy to use and be easily understood by any new user who might
not have any clue before about the system. The user will only need basic computer skills to
understand how the system works because the prosed system is much user friendly.
Hardware requirements
Minimum Requirements
RAM: 2GB
Software requirements
Deals with defining software requirement resources requirements and prerequisites that need to
be installed on a computer to provide optimal functioning of an application.
Based on the gathered information and the made analysis of the system on the course of
development and after deployment, it is safe to say that the system is feasible from the following
point of views: -
▪ Operational feasibility
▪ Technical feasibility
10
▪ Economy feasibility
▪ Political feasibility
1. Operational feasibility
Operational feasibility studies whether the system can operate efficiently depending on its
surrounding environment like operating system, the availability of the environments required for
the system to operate on. Since our proposed system is a web-based, it can be operated on any
operating system.
2. Technical feasibility
Technical feasibility studies whether the organization has the technical expertise, the hardware and
the software requirement to handle and help the system run smoothly.
3. Economic feasibility
Economic feasibility studies if the system is financially viable. Economically, the system is
implementable. Since all we need is a Personal Computer and an internet connection, there won’t
be much difficulties. Financing the project in terms of cost capital, it may require some finance for
the work force.
4. Political feasibility
Political feasibility studies whether the system conflicts with legal requirements implied by the
country. Our system complies and is acceptable in accordance to the law.
11
Chapter Three
System Analysis and Modeling
3.1 Overview
This chapter will elaborate about the systems requirement modeling and the different ways
included in the requirement modeling. We will use different requirement modeling: - Scenario
based modeling, Behavioral modeling and Class-Based modeling.
To identify use cases on the proposed system the team used CRUD technique. It is an acronym for
▪ Create
▪ Read or report
▪ Update
▪ Delete
12
Use case Name Use case Actors
1. Register school stuff member System admin
2. Manage users account System admin, record officer, school head
3. Register student Record officer
4. Produce identification card Record officer
5. Generate classes time table School director (head)
6. Edit account Student, teacher, record-officer, school
director, school government
7. Forum discussion Teacher, student
8. Manage forum discussion Teacher
9. Record mark Teacher
10. Record attendance Student
11. Generate report card Record officer
12. View school report School Government, school director
13. View students report Parent, student, school head
13
Figure 1 Use case Diagram
14
3.2.3 Actor Identification
No Actors Description
1. System Admin Admin is a person who is responsible to register and control school stuff
system user’s members, maintain and system overall launch.
2. School director School director is a person registered to the system by the system admin
(head) and responsible to produce the timetable for each class by providing the
necessary parameters and view school and student report.
3. Record Officer A Record Officer is a person registered to the system by the system
admin and responsible on register students and manage students
account, prepare students identification card, generate student’s
semester report card.
4. Teacher Teacher is a person assigned by the school director to each class of
students to follow the students closely. He / She has the responsibility
of recording students mark to the system and access a forum discussion
to verify questions and answer before they post and to give there answer
when it’s in need.
5. Parent A Parent is a person who is registered as parent of the student and
responsible to follow the student in close contact with the school. He /
She can view the status of the student such as attendance and result of
the student online.
6. Student Student is a person who is register as a student in the school and
responsible on recording their attendance.
7. School a person who is registered as a legal concerned official from kebele or
government kifle-ketema to get reports on students, school, teachers of the school.
He or she will be viewing the report online.
15
3.2.4 Use Case Description
1. Register school stuff member
Trigger When school approved and hired a new School Management System user employee
for the school.
16
14. Generate temporary user name and
password for user
15. Register the new user data to the
database
16. Display the temporary user name and
password to the system admin
17. View the temporary user name
password
Exception 4. Login error: - takes the system admin back to sign in page to re-enter the correct
credential
12. Unable to register: - the system will redirect back to the new stuff members
registration form to enter a valid information.
To modify the registered user account see edit account
Post-condition the school stuff member has an access to use the system.
Priority High
17
2. Manage users account
Pre-condition
1) Log into the system
2) The user must receive user account modification letter from the school
3) there must be registered account
Trigger The school decide to modify some school stuff member account.
Main Scenario System administrator, record System
officer, school head
1. open the school management 2. Display the login interface
system
3. Enter user name and password
18
14. Fill the modification form
15. Click on update 16. Check the validation of the data
Exception
4. Login error: - takes the user back to sign in page to re-enter the correct credential
14. Unable to update the information: - the system will provide a new form for user
to submit the user information correctly.
To register new stuff member, see register school stuff member
Post-condition The user data will be modified
Priority Low
When available First increment
19
3. Register Students
20
14. Generate temporary user name and
password
15. Register the student data on the database
16. Display the temporary user name and
password
17. View the temporary user name
and password
Exception
4. Login error: - takes the system admin back to sign in page to re-enter the correct
credential
12. Invalid information provided: - the system will redirect back to the new student
registration form to enter a valid information of student.
To edit user name and password see the edit account use case
To manage registered account, see the manage account use case
Priority High
Frequency of use Twice per year (At the beginning of both semester)
21
4. Produce identification card
7. Choose student from listed 8. Display all school grades and section
SMS menu
9. Choose grade and section or 10. Display all available students in selected
enter the student id on the class section
search text box
11. Choose student from listed 12. Display student profile and other
class students functions
13. Click on prepare identification 14. Prepare student identification
card
15. Display the student identification card
16. View the identification card
22
Exception 4. Login error: - takes the record officer back to sign in page to re-enter the correct
credential
Post-condition Students have a school identification card
Priority Moderate
23
5. Generate classes timetable
Trigger The start of the academic year requires the school to formulate a weekly time table
24
14. Prepare the time table
15. Save the class weekly time table to the
data base
16. Enter user name and password on 17. Display the class weekly time table for
the space provide school director(head)
18. View the class weekly time table
19. Click on print
Exception 4. Login error: - takes the system admin back to sign in page to re-enter the correct
credential
12. Courses not Provided: – The system will require certain courses for a certain
classis so it will tell us to add courses to the class.
Post-condition All the school classes weekly time table will be produced
Priority High
When available First increment
Frequency of use Once per year two times per year on the beginning of two semesters
25
6. Forum discussion
Goal in context To provide student with a system where they can help each other
Trigger The student or teachers has academic question or academic answer to post on forum
26
Exception’
4. Login error: - takes the system admin back to sign in page to re-enter the correct
credential
12. Unsupported Format answer – The teacher will notify the students if they try to
post answer unsupported file and wrong question.
13. Unsupported Format question– The teacher will notify the students if they try
to post question unsupported file.
To see forum discussion verification, see forum discussion management
Post-condition Student answer or post question on the school forum discussion
Priority Moderate
27
7. Manage forum discussion
Goal in context To control questions and answers before they are being posted
Pre-condition
1) Login to the SMS
2) Students must send request to post questions or answer on the forum
28
Exception 4. Login error: - takes the teacher back to sign in page to re-enter the correct
credential
Postcondition Question and answers post to the forum discussion
Priority High
29
8. Record student’s attendance
Pre-condition
1) The student has to be a verified member of the school
2) The student must have identification card
3) Barcode must be plug in to the computer
Priority High
30
Frequency of use One times per day
Whenever student coming to the school at a class time
31
9. Record students Mark
Goal in context To record student’s grade into the system and to let students and their parents to see
the grade online
32
14. Submit the mark 15. Check the validity of the mark
16. Save the student mark
17. Display success message
18. View the updated mark
Exception 4. Login error: - takes the teacher back to sign in page to re-enter the correct
credential
14. Invalid Information provided – the system will redirect back to the form to
enter a valid student mark
.
Postcondition The student mark is registered into the system
Priority High
33
10. View student report
7. Choose report from listed SMS 8. Display all available reports to the user
menu
9. Choose student report 10. Display all available classes
34
Exception i. Login error: - takes the user back to sign in page to re-enter the correct
credential
Postcondition The teacher or school head see the student school report
Priority Moderate
When available First increment
35
11. View student report
Goal in context To see student daily activity in the school by family (parent)
36
Invalid identification card: - the system let the parent or student to enter valid
identification card
Priority Moderate
37
12. Edit account
Primary actor Record officer, teacher, student, parent, system admin, school government
Trigger User want to change his or her own SMS account password or username
38
4. Login error: - takes the user back to sign in page to re-enter the correct
credential
5. Invalid modification: - take the user back to modification form to make valid
update again
Postcondition User change his or her own account user name and password
priority Low
When available First increment
Frequency of use Many times, per year
Whenever the user wants to change his or her user name and password
39
13. Produce semester report card
Trigger Semester end and student want to receive semester grade report
40
16. Click on generate report card 17. process the report card
Postcondition Students has their own hard copy semester report card
Priority Moderate
41
14. View school report
Trigger The school head or the government want to see the school report
42
Exception 4. Login error: - takes the user back to sign in page to re-enter the correct
credential
Postcondition The system admin can see and also have a hard copy of the school report
Priority Low
43
15. Search
Use case Search
Primary actor school head, record officer
Goal in context To access specific user information simply
Pre-condition 3) Log into the SMS
44
3.2.5 Activity Diagram
An activity diagram presents a series of actions or flow of control in a system similar to a flowchart
or a data flow diagram. They can also describe the steps in a use case diagram. Activities modeled
can be sequential and concurrent. Next is diagrams prepared for certain activities [6] [7].
45
Figure 3 manage user account activity diagram
46
Figure 4 Registration Activity diagram
47
Figure 5 Forum discussion Activity diagram
48
Figure 6 record student mark activity diagram
49
Figure 7 Generate student report card
50
Figure 8 Generate student report card Activity Diagram
51
3.3 Behavioral/Dynamic Modeling
Behavioral models are used to represent the control structure of a system. They often describe a
modeled structure of the system changing from one state(form) to another. They can be represented
by Sequence diagrams and State diagrams. We have constructed those diagrams for our system
below.
52
Figure 10 Register Student Sequence Diagram
53
Figure 11 generate Student Report Card Sequence diagram
54
Figure 12 Generate Time table Sequence Diagram
55
Figure 13 Student Forum Sequence Diagram
56
3.3.2 State Diagram
State diagram or a State Machine diagram describes the behavior of a single object in response to
a series of events in a system. This behavior is represented and analyzed in a series of events that
occurs in one or more possible states.
57
3.4 Class-Based Modeling
3.4.1 Identifying Classes
1. System admin
2. Student
3. Record
4. Timetable
5. User profile
6. Grade
7. Record officer
8. Forum
9. Parent
10. Attendance
11. Teacher
12. Materials
58
3.4.2 Classes Diagram
59
Chapter Four
System Design
4.1 Overview
We have stated the functional and nonfunctional requirement of the system. We have also constructed
different UML diagrams based on the requirement we gathered and analyzed. And now in this chapter, we
will see System design, System decomposition into subsystems, the system architecture and the Database
design of the system.
Guide the decisions to be made by the developers [2] relying mostly on the non-functional
requirements of the system. This goal is one of the most important characteristics that developers
must keep in mind in the design phase of the development process.
▪ Performance
▪ Reliability
▪ Security
▪ Usability
Performance
One of the goals is getting the system a decent response time from a performance point of view.
Users usually gets frustrated when a page takes time to load the data they requested. A school
system gets awfully busy Another determinant of performance criteria is efficiency, meaning the
system must provide the best performance by using the smaller space and memory as much as
possible.
Reliability
The goal here is making the system very dependable and fault tolerant so that our users can depend
on our system without any worries. Making the system tolerant for errors is a very important
characteristic since most of our users are not expert on Computerized system.
60
Security
Here, it goes without saying. Since our system is all about managing school, good security is
obviously the most essential characteristic to keep in mind. We sometimes here about a student
that hacked into the school database to improve his grade. So, we aim to make our security a good
one.
Usability
It doesn’t matter if our system is a masterpiece if the interface to the system as complex as it gets.
We have observed an educational film about a software which have an outstanding compression
algorithm but a very complex interface which in turn contributed to their struggle to make their
system popular. So, its fundamental to make user friendly interface to increase the usability.
Subsystem decompositions reduces the complexity of a large system by slicing it into subsystems.
This independent function is then packed into a package as a component. Our school management
system is decomposed into subsystems. The system we decomposed have the following
subsystems. We came to the conclusion of choosing these as a sub system because each of are the
main reason for developing the system and most of them have enormous function themselves.
• Registration
• Record Student Information
• Report
• Student Forum
• Timetable
61
Next is a figure which shows the decomposition of the School Management System.
62
Component description
1. Registration
1.2 Student
3. Report
4. Time table
63
Required interface: - Class list, Registered teachers list, and course list
5. Forum discussion
Access control (AC) in the following diagram we show the access control matrix for School
management system (SMS).
Actors Subsystem
Time table Attendance Report Student forum Registration Record
Mark
System Admin
Record officer
Teacher
Student
Parent
School director(head)
School government
64
4.2.4 Object Specification
Student the class contains all the necessary informations of student operation to manuplate these
information
Student
~blockNo:string
~ClassYear:date
~Grade:int
~Question: string
+answerQuestion(int,string):void
+Post Question(int,string):void
+record Attendance (): void
+viewGradeReport():void
Attribute
▪ BlockNo This type of object described the number of block the students belongs to
▪ Class year: this type is date specify the student which learn what class year
▪ Grade: this type is int which give information of the student grade
▪ Question: this type is string which describe the student rise questions
Functions
▪ AnswerQuestion(): with the return type is void which invoked answer questions Attribute and
values
▪ Post Questions(): with the return type is void which invoked post question attribute and values
▪ Record Attendance(): with the return type is void which invoked the attribute and value of
record attendance
▪ ViewProfile(): with return type void which contain the value and attribute of record attendance
▪ ViewGradereport():
65
a. Invariants
Preconditions
Post condition
System Admin
This class contain all the necessary information about system admin and the operation System
Admin
Attribute
Functions
66
System Admin
+deleteuseraccount(string):void
~edituseraccount(string, string):void
-newpassword:string
newusername:string
~genertereport(string):void
~RegestorRecordOfficer():void
~RegistorTeachersinfo():void
~Schedule Timetable():void
+Set Username():void
SetUserpassword():void
+answerQuestion(int,string):void
+Post Question(int,string):void
+record Attendance():void
+viewGradeReport():void
a. Invariants
precondition
Postcondition
67
▪ RegistorTeacherid():the teacher attribute will be retrieved
▪ ScheduleTimeTable(): the recent attribute of the time table will be retrieved
▪ SetUserName():the attribute of user name will be retrieved
4.3 Deployment
The deployment design is where we decide which hardware/software configuration is suitable for
the subsystems to run on. Many large systems run on multiple computers to acquire high
performance needs. So, when we come to our system, it’s a three-tier client server-based system
which in turn makes the software configuration not much of a worry since all it needs is a
browser and can run on any operating system. And hardware wise, it requires a networked
environment configured to enable many clients connect to the server through an internet
connection. Since our system is web based, there will be two nodes named Client and Web
server which are represented in a UML deployment diagram below.
68
4.4 Architecture of The System
Our proposed system is set to use the three-tier client/server architectural style. A three-tier
client/server is a type of multi-tier computing architecture in which an entire application is
distributed across three different computing layers or tiers [4]. It divides the presentation,
application logic and data processing layers across client and server devices. The three layers/tier
are defined as follow: -
Presentation layer - provides the application’s user interface (UI). Typically, this involves the
use of Graphical User Interface for smart client interaction, and Web based technologies for
browser-based interaction.
Logic tier - pulled out from the presentation tier and, as its own layer; it controls an application’s
functionality by performing detailed processing. Logic tier is where mission- critical business
problems are solved. The components that make up this layer can exist on a server machine, to
assist in resource sharing.
Data tier - This tier consists of database servers, is the actual DBMS access layer. It can be
accessed through the business services layer and on occasion by the user services layer. Here
information is stored and retrieved. This tier keeps data neutral and independent from application
servers or business logic.
69
Figure 20 System Architecture
70
4.5 Database Design
71
4.6 User Interface Design
The School management system has two different websites using the same database. The first
one is the local website system that only work on the school boundary for the system admin,
record officer and teacher and the second one is school Web site that work world widely for
parents, student and other the school website visitors.
Here is the general flow or hierarchy of the school management system pages
72
Figure 22 system interface page flow
73
Here is some of the school management system local website system result interaction with the
system imaginary pictures and description.
74
Figure 24class schedule interface
The system produces a feasible timetable satisfying the constraints as shown in Figure 24 Due to
screen size we have limited the table to be displayed for print into a page per class/section, which
could be given to each class. The system also facilitates a timetable to be generated and printed
for each teacher. And accessed by system admin.
75
Figure 25 Student Registration interface
As we see the purpose of this form is to collect basic information of the student such as name
and address of the student and accessed by record officer, we can see on figure 25
76
Figure 26Student forum interface
The system produces a feasible timetable satisfying the constraints as shown in Figure 26 Due to
screen size we have limited the table to be displayed for print into a page per class/section, which
could be given to each class. The system also facilitates a timetable to be generated and printed
for each teacher. And accessed by system admin.
77
Figure 27 student report card interface
The other role of the record officer is to record marks and generate transcript and report cards.
These are routine tasks which take much of the times of the user, but once the marks are recorded
the tasks are simplified. When the user wants to generate report cards or transcripts, he/she selects
the corresponding sub menu from the “Reports” menu and a form is displayed to facilitate
generation of the reports. A screen shot of a report card is shown in Figure 27 and the transcript
report has a similar format.
78
Figure 28 student management interface
show the system admin interface for managing users account. The system admin can block, unblock or
Edit users using this interface also can search student with in any information of the user.
79
Figure 29 Student Identification Card
Figure 30 show the student Identification card that have a 128-bar code in it. This Identification card is
use to be in the school boundary.
80
Chapter 5
Implementation and Testing
5.1 Implementation
Implementation uses the structure created during architectural design and the results of system
analysis to construct system elements that meets the stakeholder’s requirements and system
requirements developed in the early life cycle phases.
Here, we will try to elaborate the different tools and development languages used in order to
implement the system.
Software Tools
Xampp – is a free and open source cross platform web server solution stack package developed
by Apache friends containing Apache server, MariaDB, PHP and Perl.
JetBrains Phpstorm – is a cross- platform IDE for php built on JetBrains IntelliJ IDEA platform.
Mozilla Firefox – is a free open source web browser developed by Mozilla and available for
Windows, macOS, Linux, and BSD operating systems.
Ozekin – is an open Short Message Peer to Peer protocol designed to provide a flexible data
communications interface.
Development language
Bootstrap - most popular framework with HTML, CSS, JavaScript languages. It is also free and
open-source front-end library.
PHP- Hypertext pre-processor, it is widely used open source general purpose scripting languages
suited for web development and can be embedded into HTML.
MySQL- it is an open source relational database management system, Structured Query
Language. It works well with other languages like PHP and makes integration simple.
81
Source Code
Login validation checking model
if (empty($users)===false) {
if ($users->blocking==="false"){
if ($users->user_type=='security') {
$this->db->select('*');
$this->db->from('student');
$data['students']=$this->db->get();
$this->load->view('templete/include');
$this->load->view('templete/security');
$this->load->view('body/list_of_students',$data);
}
if ($users->user_type=='teacher') {
$this->db->select('*');
$this->db->from('teacher');
$this->db->where(array('id' => $users->id));
$result = $this->db->get();
$data['teacher_data'] = $result->row_array();
$this->load->view('templete/include');
$this->load->view('templete/teacher',$data);
}
if ($users->user_type=='student') {
$this->db->select('*');
$this->db->from('student');
$this->db->where(array('id' => $users->id));
$result = $this->db->get();
$data['student_data'] = $result->row_array();
$this->load->view('templete/include');
$this->load->view('templete/student',$data);
}
82
if ($users->user_type=='head') {
$this->db->select('*');
$this->db->from('head');
$this->db->where(array('id' => $users->id));
$result = $this->db->get();
$data['head_data'] = $result->row_array();
$this->load->view('templete/include');
$this->load->view('templete/head',$data);
$this->load->view('body/school_report');];
}
if ($users->user_type=='officer') {
$this->db->select('*');
$this->db->from('officer');
$this->db->where(array('id' => $users->id));
$result = $this->db->get();
$data['record_officer_data'] = $result->row_array();
$this->load->view('templete/include');
$this->load>view('templete/record_officer',$data);
$this->load->view('body/students');
$_SESSION['key']='officer';
$_SESSION['profile'] = $data['record_officer_data'];
}
}
else {
redirect('Login');
}
}
else {
redirect('Login');
}
}
To display Classes schedule controller
<?php
class display_schedule extends CI_Controller{
public function student(){
$this->load->model('post_model');
$data=$this->post_model->profile();
$data['grade'];
$data['section'];
$this->load->model('post_model');
$this->post_model->display_schedule_for_student($data);
}
83
public function head(){
$this->load->model('post_model');
$data['section']=$this->post_model->student_section();
$data['schedule']=$this->post_model->schedule_info();
$this->load->view('templete/include');
$this->load->view('templete/head');
$this->load->view('body/display_class_schedule',$data);
}
public function officer(){
$this->load->model('post_model');
$data['section']=$this->post_model->student_section();
$data['schedule']=$this->post_model->schedule_info();
$this->load->view('templete/include');
$this->load->view('templete/record_officer');
$this->load->view('body/display_class_schedule',$data);
}
}
?>
To generate Barcode 128 Library
<?php
class Barcode
{
function bar128($text) {
$char128asc=' !"#$%&\'()*+,-
./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
wxyz{|}~';
$char128wid =
array('212222','222122','222221','121223','121322','131222','122213','122312','132212','221213',
'221312','231212','112232','122132','122231','113222','123122','123221','223211','221132',
'221231','213212','223112','312131','311222','321122','321221','312212','322112','322211',
'212123','212321','232121','111323','131123','131321','112313','132113','132311','211313',
'231113','231311','112133','112331','132131','113123','113321','133121','313121','211331',
'231131','213113','213311','213131','311123','311321','331121','312113','312311','332111',
'314111','221411','431111','111224','111422','121124','121421','141122','141221','112214',
'112412','122114','122411','142112','142211','241211','221114','413111','241112','134111',
'111242','121142','121241','114212','124112','124211','411212','421112','421211','212141',
'214121','412121','111143','111341','131141','114113','114311','411113','411311','113141',
'114131','311141','411131','211412','211214','211232','23311120' );
$w = $char128wid[$sum = 104];
$onChar=1;
for($x=0;$x<strlen($text);$x++)
if (!( ($pos = strpos($char128asc,$text[$x])) === false )){
84
$w.= $char128wid[$pos];
$sum += $onChar++ * $pos;
}
$w.= $char128wid[ $sum % 103 ].$char128wid[106];
$html="<table cellpadding=0 cellspacing=0><tr>";
for($x=0;$x<strlen($w);$x+=2
$html .= "<td><div class=\"b128\" style=\"border-left-
width:{$w[$x]};width:{$w[$x+1]}\"></div>";
echo " .";
return "$html<tr><td colspan=".strlen($w)."</table>"; }} ?>
To Display class schedule view
<table class="table">
<thead class="thead-dark">
<tr>
<th>Period</th>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
</tr>
</thead>
<tbody>
<?php
for ($a = 0; $a <= 34; $a) {
for ($b = 1; $b <= 7; $b++) {?>
<tr>
<td><?php echo $q; ?></td><?php
for ($c = 1; $c <= 5; $c++) {
$k='t'.$a;
?>
<td><?php echo $schedule_result->$k; ?></td><?php
$a++;
} ?>
</tr>
<?php
$q++;
}
}
?>
</tbody>
</table>
85
5.2 Testing
Testing is the process of executing a program with an intent of finding software bug. It can also be
stated as the process of validating and verifying a product to decide whether it meets the business
and technical requirements that guided its design and development. So, it is all about reducing the
errors and defects of a software in order to keep user’s interaction with the system at a good level.
86
database then records
the attendance.
10 Student An ID and An invalid ID Invalid Card Invalid Card The system read Id’s
Attendance Barcode card reading detected detected barcode information
Recording Reader and checks the
information in the
database then displays
an invalid ID
message.
87
Chapter 6
Conclusion and Future work
6.1 Conclusion
Education is the base of development to one country. We believe the automation on School
Management System will improve the teaching and learning process and it is important that
schools are using automated system and digitalizing their work. We expect our system will have
good impact on the teaching and learning process of our country and help our educational system
on the digital world.
As software engineering graduates, we believe automation of systems like Education is
necessary. We trust that our system will do good on the educational advancement of the country.
88
References
[1] School Management System Literature review, Degif Teka, Former Undergraduate of AAU.
[2] Object-Oriented Software Engineering Using UML, Patterns, and Java™ Third Edition,
[4] https://alitarhini.wordpress.com/2011/01/22/concepts-of-three-tier-architecture/
89
Questions for questioner and interview methods
For school Director
1. Do you have a system that manages Learning and Management Systemin your School?
2. If No, was there an attempt to enhance or automate the Learning and Management System?
3. Kind of information do you need from this system that you don’t have now?
4. What desired functionalities do you need from the system?
5. What are the current problems you are facing today without such systems?
6. What do you have to do manually that you would like to be automated?
7. Which report do you currently use? And what on the report is important?
8. Who is in charge of creating departments?
For teacher
1. How do you manage assignments process with your students?
2. How do you give evaluation marks to your students?
3. What desired functionalities do you need from the system?
4. What are the current problems you are facing today without such systems?
5. What do you have to do manually that you would like to be automated?
6. Which report do you currently use? And what on the report is important?
7. How do you explain your communication with your students? Please rate from 0-10?
8. How do you give teaching materials to your students?
9. Is there an online solution to give teaching materials to students?
10. How do you manage assignments process with your students?
For Parent
1. What kind of information do you need from this system that you don’t have now?
2. What desired functionalities do you need from the system?
3. What are the current problems you are facing today without such systems?
For Student
4. What kind of information do you need from this system that you don’t have now?
For Student
1. What are the current problems you are facing today without such systems?
2. What desired functionalities do you need from the system?
3. What kind of information do you need from this system that you don’t have now?
4. What do you have to do manually that you would like to be automated?
90