Professional Documents
Culture Documents
(EMS)
A dissertation presented to
Mam Bushra Almas
By
Azhar Ghafoor
&
Anish
Internal Examiner
2|Page
This is to certify that Mr. Anish Registration No. 04161513053 has effectively finished
the final project thesis as “Education Management System” from Quaid-i-Azam
University, Islamabad to satisfy the partial prerequisite of the degree “Bachelor of
Sciences in Information Technology.”
Internal Examiner
3|Page
“I want to dedicate this work to my parents,
teachers and friends for their endless love, support
and encouragement.”
4|Page
ACKNOWLEDGEMENT
First of all, I would like to pay my thankfulness to Almighty Allah for giving me courage and patience
to finish this project effectively. I am thankful to my parents and family who were always there with
support and encouragement. My success became possible only due to prayers of my mother, whose love
and affection has been inspirational throughout my life.
I want to express my sincere gratitude and appreciation to my supervisor Mam Bushra Almas. Her
supervision guided and supported me from starting to the ultimate level and empowered me to improve
an understanding of the project.
I am also deeply grateful to all the teachers of department. They always remains source of inspiration for
me. I also express my honest gratefulness and appreciation to all my seniors who gave me moral support
and helped me throughout my BS.
At the end, I want to praise my friends especially Saad Rasool, Ali Haider and Anish Dadlani and my
class fellows who were always with me in the hour of agony. I will always cherish the moments we spent
together.
All these people helped me a lot otherwise I would not have been capable of finishing this project in
time.
Azhar Ghafoor
5|Page
ACKNOWLEDGEMENT
First of all, I would like to pay my thankfulness to Almighty Allah for giving me courage and patience
to finish this project effectively. I am thankful to my parents and family who were always there with
support and encouragement. My success became possible only due to prayers of my mother, whose love
and affection has been inspirational throughout my life.
I want to express my sincere gratitude and appreciation to my supervisor Mam Bushra Almas. Her
supervision guided and supported me from starting to the ultimate level and empowered me to improve
an understanding of the project.
I am also deeply grateful to all the teachers of department. They always remains source of inspiration for
me. I also express my honest gratefulness and appreciation to all my seniors who gave me moral support
and helped me throughout my BS.
At the end, I want to praise my friends especially Saad Rasool, Ali Haider and Azhar Ghafoor and
my class fellows who were always with me in the hour of agony. I will always cherish the moments we
spent together.
All these people helped me a lot otherwise I would not have been capable of finishing this project in
time.
Anish
6|Page
ABSTRACT
Information Technology (IT) can be an important constituent for innovation as enables e-learning and it
can provide conditions for an organization to be able to work with new businesses and improved
processes. In this regard, Education Management Systems (EMS) allow communication and interaction
between teachers and students in virtual spaces. However, studies indicate that there are gaps in research,
especially concerning the use of information technology for the management of e-learning. To this end,
we have applied different learning methods to get an optimal teaching and learning approach. This
approach will integrate e-learning, traditional learning and other educational assistive technologies to
hinder all weaknesses of teachers and students. .Physically challenged students were not entertained
properly in older systems, considering their all misfortunes they may face, this system will help every
student to access all facilities online.
7|Page
Table of Contents
9|Page
List of Figures
11 | P a g e
List of Tables
12 | P a g e
Table 5.6: Message Table ...................................................................................................................................... 62
Table 5.7: Notification Table ................................................................................................................................ 61
Table 5.8: Notification Read Student Table ........................................................... Error! Bookmark not defined.
Table 5.9: Notification Read Teacher Table .......................................................... Error! Bookmark not defined.
Table 5.10: Year Table .......................................................................................................................................... 59
Table 5.11: Student Table ..................................................................................................................................... 59
Table 5.12: Student-Assignment Table ................................................................................................................. 61
Table 5.13: Subject Table ...................................................................................................................................... 60
Table 5.14: Teacher Table ..................................................................................................................................... 59
Table 5.15: Teacher Class Table ........................................................................................................................... 60
Table 5.16: Teacher-Announcement Table ........................................................................................................... 61
Table 5.17: Teacher-Class-Student Table ............................................................................................................. 61
Table 5.18: Teacher-Notification Table ................................................................................................................ 62
Table 5.19: Users Table......................................................................................................................................... 59
Table 7.1: Test Case of User Registration ............................................................................................................. 70
Table 7.2: Test Case of User Login ....................................................................................................................... 70
Table 7.3: Test Case of Admin Adding Teacher and Student ............................................................................... 70
Table 7.4: Test Case of Admin Adding Department ............................................................................................. 71
Table 7.5: Test Case of Admin Adding Program .................................................................................................. 71
Table 7.6: Test Case of User Viewing Content ..................................................................................................... 71
Table 7.7: Test Case of User Uploading Content .................................................................................................. 72
Table 7.8: Test Case of User Downloading Content ............................................................................................. 72
Table 7.9: Test Case of User Sending Message .................................................................................................... 72
Table 7.10: Test Case of User Receiving Message ............................................................................................... 73
Table 7.11: Test Case of Creating Announcements .............................................................................................. 73
Table 7.12: Test Case of Modifying Announcements ........................................................................................... 73
Table 7.13: Test Case of View Announcements ................................................................................................... 74
Table 7.14: Test Case of Deleting Announcements .............................................................................................. 74
Table 7.15: Test Case of Voice Search ................................................................................................................. 75
Table 7.16: Test Case of User Logout ................................................................................................................... 75
13 | P a g e
Chapter 01
14 | P a g e
1.1 Introduction
Education provides a roadmap for the betterment of individuals as well as for the economic prosperity
of whole society. There are two modes of education, one is traditional learning like schools, colleges and
universities etc. and the other one is distance learning named as e-learning or digital learning. Traditional
fashion of learning is costly and backbreaking especially for physically challenged students (like deaf,
handicapped and blind), students facing challenges like shortage of time and other obligatory resources
to complete their education. E-learning provides a helping hand to students in situations, where it seems
to be impossible for them to get education. It provides an economical and hasty mode of learning as it
has equipped to deal with such circumstances.
In Pakistan like country where with a heavy heart; we have most horrible education signs worldwide i.e.
world’s 2nd highest number of children out of school are in Pakistan, approximately 5.1 million that is
1 in 12 of the world’s out-of-school children in 2010. We are spending very low on education i.e. 7
times more budget is reserved for military than on primary education, where we have widespread
education dissimilarities in the world i.e. In 2007, one quarter of 7-16-year-olds had never been to school,
with extensive differences by region, wealth, status and gender., where neglecting children’s education
is among top worst countries i.e. in the Education Development Index Pakistan ranks 113 out of 120
countries, where 13% of girls and 11% of boys do not go to schools because schools are far away from
their homes, where 34% of girls and 6% of boys do not study because of family restrictions, where people
living in poverty every so often depend on their kids to contribute to the family’s income and they do not
allow them to get education instead, where 15% of girls do not study because of educational expenses
while 19% boys are facing such challenges and many more serious issues are there, in such places it is
only e-learning which could impede all such tribulations and pains by providing every student equal
chances of gaining information from wide sea of knowledge.
With the passage of time and advancement in technology especially with the advent of websites
delivering educational content online, e-learning has groomed much in last few decades. As, these
systems make best use of audio and visual aids to enhance learning-teaching interactions between
students and instructors; providing a set of teaching tools which enable media-rich instructions and
motivations for the students to learn better, faster and to retain information longer.
Students have many things to do in parallel therefore it is unrealistic for them to sit in library for study
purpose all the time. Teachers face problems in delivering and students in getting the course relevant
materials such as slides, notes, video lectures, assignment and quiz announcements etc. This thing
motivated us to build a system which could impede all such tribulations and provide a smoother way of
learning.
15 | P a g e
1.2 Existing Systems
After the origination of Internet and World Wide Web, the world has been converted to a global village.
In past, it was very challenging to share knowledge worldwide but nowadays it is very stress-free to
share and learn by using the Internet. Internet has supported education a lot by familiarizing us with the
concept of e-learning based Education Management Systems (EMS). Technology has transformed the
scenarios within teaching and learning as classes which earlier to the digital era were limited to lectures,
talks and physical objects, no longer have to be considered in that manner. Teachers and students now
have digital computes to teach and learn from online available resources like digital textbooks and other
online platforms, we term all it as digital education.
It is expected that the market of online education management systems will cost over $15.72 billion in
new future. It is more than obvious that e-learning has modernized and transformed the way that we look
at knowledge and skill earning. Thereby, there is a growing demand for Education Management
Systems to systematically deploy and manage e-learning; having many features to choose from, that’s
why we can definitely say that Education Management Systems are here to stay!
Students have also shown willingness to embrace digital learning technologies and practices. According
to a survey held in 2015, nearly 49% of the students indicated that they have taken at least one course in
last few months using these online modes of education.
There are thousands of such systems available today like Litmos, Create LMS, Totara Learn, eFront,
BizLibrary, Google Class Room, Moodle, iTunes U, Edmodo, Easy LMS, OpenEdX, NEO LMS and
many more due to which it is expected that half of all colleges will be e-learning-based by 2020.
Software is something which simplifies tasks and makes it easier to run colleges and higher education
institutions like universities, but frequently it becomes a source of hassle and expense only. The proper
online education system helps institutes to manage education process, track students’ progress by
generating their performance reports, notify stakeholders in real-time, class management and provide
user friendly environment. While selecting the wrong software can throw the education system into a bin
that will be at unnecessary cost, time-consuming and counter-productive.
Similarly, if all existing systems have some benefits, then they also have some limitations as well. These
systems provide an interface where we type something from our keyboard and they respond relevantly.
For students with some disabilities (like if they are blind, deaf, hearing impairments, low vision or
handicapped) it is almost impossible for them to interact with these systems. Because some of the
students especially physically challenged students were not treated like other learners, this thing originate
a feeling of diffidence in them. Keeping all this in mind we thought that at least we have to try our best
to reduce some of their pains and pangs. These were some prominent factors, which influenced us to this
system.
16 | P a g e
Chapter 02
Proposed System
2.1 Problem Statement
Traditional learning is difficult and time consuming for students as they must be present all the time in
the class room to know about announcements regarding quizzes, assignments, class schedules and all
other class activities. Physically challenged students are not entertained properly while developing such
systems, considering their all misfortunes they may face. This system will help every student to access
these facilities online.
In this study we will apply different learning methods to get an optimal teaching and learning approach.
This approach will integrate e-learning, traditional learning and other educational assistive technologies
to hinder all weaknesses of students they face in traditional learning.
One method is developing a web-oriented system which faculty and students of an institute can use for
file sharing by. It will be useful as students and faculty both can access files from anywhere. This system
will work both for registered and unregistered users. Unregistered users will visit the website and be able
to see events details and also they could watch and download all available video lectures. To login, users
will have to enter their username usually registration number for students and employee id for admin and
instructors and their password. Admin will create the class, courses and add respective instructors.
Instructor will upload course content, make announcements (students will be notified by an alert
message), mark their assignments and quizzes, at the end of semester they will upload the results and
attendance of entire class. When a video lecture will be played, systems will automatically generate
subtitles of the lecture to enhance readability and understanding of the lecture.
To make disable students equally able to use the system, audio recognition feature will be added so that
they could command by just speaking without having any mouse or keyboard in hand. This system will
make teacher and student interactions easy and will allow students to participate in each of their class
activity even not being inside the class. Students will be capable to directly send and receive messages
to their teachers and class fellows to discuss any query related to the course.
Admin will have a dashboard panel which will be helpful for him to find out that how many users are
currently using the system. Students will be able to upload their assignments within a due date and they
will also be able to see their class fellows and course offered by the department.
18 | P a g e
Search Video Content
VISITORS
Upload
content and
Verification
Group Co
nte
Creation nt
irm
Up
nf
loa
Co
din
g
Upload
Confirm
rify
Ve
View/
Login to
INSTRUCTOR Login Details Link, URL, Search Download
Account
Content
STUDENT
Login Details
This study aims to build a system that is necessary for students when they are facing challenges like
shortage of time and they have to prepare for exams. In such situations it would be feasible for them to
have all helping material available at single location. Main objective of this project is to promote a user-
friendly, efficient and safe way for instructors to upload, students to download and view files of every
course without being physically present at the university.
19 | P a g e
2.4 Objectives
Main objective of this study is to build a system which will help students by providing them their study
material online. Primarily this study intends to;
Develop an efficient system for uploading and downloading of every course related material.
To make use of e-learning very easy for each user
Secure All Data
Transform IT for Higher Education
Increase Efficiencies and Reduce Costs
Make easy Account Maintenance
Make the user of the database enable to see all information.
Make easy implemented routine for students and teachers.
Provide easy solution
Develop a system which will work like many other systems with some additional features like
voice search also allowing them to save video lectures so that they will be able to watch it later
when needed along with their subtitle files.
In this system users will be divided in two types. First those who will be authorized to upload something
on the website and second those who have restrictions. Before publishing something onto the website
users will be authenticated against their accounts; only verified users would be allowed to take
administrative actions such as publishing something onto the system.
Additional features will be provided, like quiz and assignment announcements also generating and
sending an alert message to students after their announcement automatically, public and private
directories, special privileges to students and faculty, restrictions on content’ visibility, uploading
attendance, results, assignments and other course relevant material, downloading the content, grading
the assignments and viewing the results, final analytical reports of the class performance. It will take
audio as input from video lectures converting and showing it in a side window in text format; enhancing
visualization and understanding of the lecture.
20 | P a g e
Visitor Search, view, Account Details Content uploading,
INSTRUCTOR
download Video Task Scheduling, Creating class,
Content Grading, Send and Receive
Messages
Video Content
Account Verification
Available Contents Education management
System
Account Details, Downloading
Material, Assignment Submission,
View Result and Announcements, Send
and Receive Messages
2.6.2 Admin
Verification (Uploaded Content)
Responsible for taking administrative actions
2.6.3 Student
Join class
View Uploaded Content
View announcements, results and reports
Upload assignments
Download uploaded content
21 | P a g e
2.6.4 Teacher
Make announcements
Add Class
Upload content
Mark result of assignments
Share links of online video lectures
2.6.5 Login
User name
Pin code
2.6.7 Upload
Assignments
Other course content
Results
22 | P a g e
Table 2.1: User Classes and Characteristics
Uploading content,
Making announcements,
01
Instructor Grading assignments
Generating reports
Uploading assignment
Student Downloading
02
Exploring course content.
Class creation
Course creation
Admin
03 Adding instructors
Adding Department
Students can get access to every course material in the fastest time in several varying formats. If students
have access to the internet, they can train themselves anytime from anywhere. Every student, who is part
time student or is working full time, can take benefit. It is a very suitable and flexible opportunity; most
of all, students don't have to depend on anyone for anything. Not only they can train themselves on a day
to day basis, but additionally on weekends or whenever they have the free time. There is no hard and fast
rule. This system will also be beneficial for the instructors by the follow-up of students, share course
material, announce quizzes, assignments and evaluate student performance. Students can rewind, stop
and watch lectures later if they do not understand the topic very first time.
23 | P a g e
2.8 Assumptions and Dependencies
Everything around the world is composed of many other sub modules and entities which are dependent
on each other and performs a required functionality coordinating with each other. Similarly, here in this
system each function will be performed using many modules at the same time. By the way a good internet
connection and a microphone will be most essential obsessions of this system.
24 | P a g e
Chapter 03
Requirement Analysis
25 | P a g e
3.1 Introduction
Requirement analysis is one of the most sensitive process in Software Development Life Cycle (SDLC).
Different tasks are led to ascertain various needs of stakeholders of the system that is to be
built or reformed. In this process user gathers, examines, outline and document the requirements that
are associated to a specific business objective. These requirements may be functional and nonfunctional
requirements, user requirements, software/hardware requirements or business requirements etc. From
these, high-grade requirements are extracted which are actionable, quantifiable, testable
and observable. These requirements are then documented to help to recognize business
opportunities and to facilitate system design. Requirements analysis is conducted iteratively to
improve requirements for documented functions, and to verify that product can satisfy to customer.
Effective requirement analysis encompasses four types of activities.
3.1.4 Reviews
This step is conducted to make enhancements in the process going forward.
Stakeholder requirements describe ‘what’ the customer need the output product to have. These
requirements are important to understand because stakeholders does not state that how their requirements
will be implemented but they just give an idea of what they require from the final product. As a Business
Analyst we must safeguard against these requirement statements at initial stages of the project, which
describe “how” to deliver all these requirements. For example, our stakeholder requires that each
department must have an admin to manage all activities of the department, students must be notified
when a new announcement is made by the instructor of the course or any audio or video lecture which is
to be played must also show its transcription along. Stakeholders assume you know that they needs an
admin panel, student notification and video transcription and all they are concerned with is how it will
look. We must keep this in mind when we speak to our stakeholders in future about their requirements.
26 | P a g e
3.3 Solution Requirements
Example 1: “I want to have an admin panel for each department” – Stakeholder raising this requirement
is from administration.
Example 2: “I want to generate result and attendance report of students” – Stakeholder raising this
requirement is the instructor of the course.
Solution Requirement Example 4: “The admin panel must have a dashboard.” – Stakeholder who raised
this requirement is the admin of a department.
These requirements define ‘how’ the stakeholders want that their requirements should be implemented.
Here the stakeholder requirements are concerned of having an admin panel, has now been prolonged
with more detailed solution requirements involving how these requirements must be implemented. Take
note here that with advancement our requirements analysis is digging into more specific and detailed
requirements.
Some requirements may have been specified and documented but it is quite possible that they may be
reflected as inacceptable all through a requirement validation session with all stakeholders within the
room. It is good to capture all requirements, but it is more essential to validate and ensure that each one
stakeholder agree about which requirements are in fact valid. In this situation, the validation criteria may
include budget, time and scope limitations, which may be the reason why the instructor cannot have
reports after all.
Different tasks that we want a system to accomplish are usually defined as functional requirements. An
easy way to remember this type requirements is to consider what we want from our system to be capable
of. In this context, an example of our system would be that a functional requirement exists to have video
lectures, which can have transcriptions, be watched and saved but not allowing everyone to upload them.
This is something that we want the system to be able to perform. The major inputs, outputs and significant
jobs of the system are as follows:
27 | P a g e
o Instructors will made announcements regarding quizzes, assignments or class rescheduling etc.
and students will be notified by an alert message.
o Students can only view their grades and then send their queries to the respective teacher within a
specified time.
o Admin will have a dashboard to check how many students and instructors have joined the course
and class etc.
o Users can use the feature of voice search to find the lectures available in the directory.
o Students can see and chat with their class fellows.
o There may be a lot more.
The non-functional requirement defines the features that you want the system to have. In the scenario of
our system it would be a non-functional requirement relating the need to have a backup-system installed
to be used in the happening of a disaster to avoid unnecessary data loss. The non-functional type of
solution requirement therefore defines the attributes a system or process should possess and not a
function that the system must perform. Significant nonfictional requirements of the system are as follows:
o The system shall protect the privacy of all users using the system.
o The system shall stop access to abortive functions while providing access to all presently
working functions.
o The system should be available 24‐hours a day but in case of any failure and maintenance it
shall not be shut down more than once in a 24‐hour period.
o The system must be able to interface with any HTML (Hypertext Markup Language) browser.
o Except the system is non‐operational, the system shall present a user with notification
informing them that the system is inaccessible.
o And there may be many others.
28 | P a g e
3.4 Software Requirements
29 | P a g e
Chapter 04
30 | P a g e
4.1 Introduction
System analysis and design is primarily gathering, analyzing, and validating the information about the
system as well as defining the requirements and prototypes of the system. Before designing a new system,
we verify the alternatives and prioritize our requirements. On the basis of these requirements we inspect
the information needs of end-user and then on need we enhance the system goal line. A Software
Requirement Specification (SRS) document, which postulates the software, hardware, functional, and
network requirements of the system is prepared at the end of this phase to start design.
When SRS is finalized then we made the design of application, network, databases, user interfaces, and
system interfaces. We convert the SRS document into logical structure, which holds detailed and
complete set of specifications that can be implemented in a programming language. At the end, proposed
design is reviewed to confirm that final design meets the requirements specified in SRS document.
Finally, a design document is prepared which is used during next phases. To explain the system, we use
different kind of diagrams which are:
Registration
Search Video
Content
VISITOR
Download Video
Content
31 | P a g e
Registration
Login
Create Class
Add Department
Add Courses
Add Year/Session
Sign Out
32 | P a g e
Registration
Login
Search Content
View Content
Upload Content
Download Content
STUDENT
Join Class
View Result
Upload Assignment
Sign Out
33 | P a g e
Registration
Login
View Content
Upload Content
Create Annoucements
View Annoucements
Update Annoucements
INSTRUCTOR
Delete
Annoucements
Upload Result
View Result
View Assignments
Join Class
Sign Out
Use Case ID 01
Use Case ID 02
Post Condition User can acquire relevant content as per the query.
Basic Flow User enters the query in search bar and gets relevant content.
35 | P a g e
Table 4.3: Use Case View Video Content
Use Case ID 03
Actor Visitors
Basic Flow User can scroll down to find the content manually.
Use Case ID 04
Actor Visitors
Select the content user want to download, providing destination path and
Basic Flow
hit download button.
36 | P a g e
Table 4.5: Use Case Login
Use Case ID 05
User accesses the website, click on “Login”, and provide user id and
Basic Flow
password to access the account.
Exceptional Flow Unregistered account, unsuccessful login, incorrect user id and password.
Use Case ID 06
Post Condition User can acquire relevant content as per the query.
Basic Flow User enters the query in search bar and gets relevant content.
37 | P a g e
Table 4.7: Use Case View Content
Use Case ID 07
Basic Flow User can scroll down to find the content manually.
Use Case ID 08
Pre-Condition User provides basic details about the content he/she is uploading.
User clicks on upload button, provide details about the content after
Basic Flow
selection and the click on share button to share in the class.
Error in uploading content because of uploading unauthorized content or
Exceptional Flow
uploading failed.
38 | P a g e
Table 4.9: Use Case Download Content
Use Case ID 09
Select the content user want to download, providing destination path and
Basic Flow
hit download button.
Use Case ID 10
Actor Admin
Description Admin can create the class for course relevant activities.
After login, admin is provided with the option to create the class, by
Basic Flow clicking the class creation option he provide all necessary information
about the class and click ok button.
39 | P a g e
Table 4.11: Use Case Add Courses
Use Case ID 11
Actor Admin
Admin after creating class, clicks on add courses and enter the names of
Basic Flow
all courses then hit ok button
Use Case ID 12
Actor Admin
Basic Flow Admin after login, clicks on programs section and enters the program.
40 | P a g e
Table 4.13: Use Case Add Instructor
Use Case ID 13
Actor Admin
Admin after login, clicks on teachers’ section and enters the teachers
Basic Flow
name.
Use Case ID 14
Actor Admin
Admin after login, clicks on department section and enters the department
Basic Flow
name and person in charge name.
41 | P a g e
Table 4.15: Use Case View Result
Use Case ID 15
Basic Flow User can go to result section to view the result manually.
Use Case ID 16
Actor Instructor
Basic Flow User can go to assignment section to upload marks the manually.
42 | P a g e
Table 4.17: Use Case Upload Assignment
Use Case ID 17
Actor Student
User clicks on upload button, provide name for the assignment and then
Basic Flow
click on send button to send to the instructor.
Use Case ID 18
Actor Instructor
Instructor clicks on assignment folder option and then he can see all of the
Basic Flow
available assignments.
43 | P a g e
Table 4.19: Use Case Join Class
Use Case ID 19
Post Condition User searches for the class and then join the class.
After logging into the system, click on join class, choose class and then
Basic Flow
press the ok button
Use Case ID 20
Actor Instructor
44 | P a g e
Table 4.21: Use Case Update Announcement
Use Case ID 21
Actor Instructor
Post Condition User edits the announcement, and then shares it in class.
Use Case ID 22
Actor Instructor
45 | P a g e
Table 4.23: Use Case View Announcement
Use Case ID 23
Use Case ID 24
Exceptional Flow If the user doesn’t click on logout button, session is not destroyed.
46 | P a g e
4.2 Activity Diagram
Activity diagram is another significant diagram in UML to define the vibrant features of the system.
Activity diagram is mainly a flowchart to symbolize the flow from one activity to another activity.
Activity by itself can be termed as an operation of the system. The control flow is drawn from one
operation to another. This flow can be progressive, diverged, or parallel. Activity diagrams deal with all
type of flow control by using diverse elements such as fork, join, etc.
Provide Details
Veriy_User_ID
Incorrect_Details
Not Valid
User_ID_Already_Taken
Valid
Verify_Every_Field
Not Valid
Valid
User_Registered
Login_Page
47 | P a g e
Provide_User_ID, Password
Veriy_User_ID, Password
Not Valid
Valid
Login_Successful
Homepage
48 | P a g e
Main Page
No
No
Yes
Yes Yes
Add View
Upload Manage Join
Upload View / Download View
Join Send/Receive
Send/Receive
Class
Programs
Content Result Class
Result
Class Courses Department
Announcements Content Messages
Messages
Announcements
Content
49 | P a g e
4.3 Class Diagram
Class diagram represents the static view of an application. Class diagram is not only used for picturing,
relating, and recording different features of a system but also for making executable code of the software
application.
Class diagram defines the attributes and operations of a class and also the restrictions enforced on the
system. The class diagrams are extensively used in displaying the object-oriented systems for the reason
that they are the only UML diagrams, which can be plotted directly with object-oriented languages. Class
diagram shows a group of classes, interfaces, relations, alliances, and constraints. It is also identified as
a structural diagram.
Users
Register_Users
Unregistered_User
-user_id : int
-user_name : string
-email : string +search_videos() : void
-phone_no : int +register() : void
-dept : string
-user_password : int
+register() : void
Admin Class
-user_id : int -class_id : int
-user_name : string -class_name : string
-dept : string
Login +create_class() : void
+add_courses() : void
-user_id : int
+assign_teachers() : void
-user_password : int
+add_dept() : void
+login() : void
Course
-course_id : int
Result -course_name : string
Student
-user_id : int Instructor
-user_name : string +upload_result() -user_id : int
-dept : string +view_result() -user_name : string
+view_courses() : void +view_courses() : void
+view_content_of_course() : void +view_content() : void
+join_class() : void +view_assignments() : void
+upload_assignment() : void +upload_content() : void
+view_result() : void +upload_result() : void
+view_A() : void +manage_annoucements() : object Content
+view_P() : void -content_id : int
+view__annoucenment() : void -content_name : string
-content_description : string
-file_type
Annoucenments
-id : int
-name : string
-description : string
+create_annoucenment() : void
+update_annoucenment() : void
+delete_annoucenment() : void
+view_annoucenment() : void
50 | P a g e
4.4 Sequence Diagram
create_class()
created
add_courses()
courses_added
add_teachers()
added
view_courses()
add_class()
course_list
added
upload_content()
uploaded
add_student()
added
view_courses()
course_list
view_content_of_courses()
content_list
join_class()
approved
upload_content()
uploaded
create_announcement()
students_notified()
upload_assignment()
uploaded
view_assignment()
shown
upload_result()
uploaded
view_result()
displayed
manage_annoucenments()
successful
51 | P a g e
4.5 Entity Relationship Diagram (E.R.D)
An ER diagram displays the affiliation amid entity sets. An entity set is a collection of alike entities and
these entities can have attributes. In terms of DBMS, an entity is a table or attribute of a table in database,
so by displaying relationship between tables and their attributes, ER diagram displays comprehensive
logical structure of a database.
52 | P a g e
4.6 Data Flow Diagram (D.F.D)
Data flow diagrams are used to realistically symbolize the flow of data in an information system. DFD
defines the routes that are involved in a system to handover data from the input to the file storage and
reports generation. Data flow diagrams can be alienated into logical and physical. The logical data flow
diagram defines flow of data through a system to execute certain functionality of a business. The physical
data flow diagram defines the employment of the logical data flow.
Class Created
Create Class Class
Added
Add Dept Department
View Content
Viewed
Content
53 | P a g e
Uploaded
Assignments
Upload Assignments
View / Content Displayed
Download Content
Content Details
Database
Content Name
Content Details
Join Class
Class Joined
Class
View Result
Send/Receive Msg
Result Shown
Result
Sent/Received
Message
54 | P a g e
Content Displayed
Content Name View Content
Content Details
Database
Content Details
Content Uploaded
Content Details Upload Content
Students Notified
Make Announcements Announcement
Result Marked
Mark Result Result
View Assignment
Shown
Assignments
Add Class
Added
Class
55 | P a g e
Result
Result
Displayed
Result
Login
Course
View Result
Login Details Course List
Invalid
Login
Content List
Sent / Received
Message
56 | P a g e
Result
Students
Announcem Notified
Result
ent Marked
Result
Make Announcements
Login
Msg Received
Course
Invalid Login
Name
Viewed / Replied
Message Content
Content Content
List
Content
Select Name View Viewed
Content Content
57 | P a g e
Chapter 05
Relational Schema
58 | P a g e
5.1 Introduction
A relational schema for a database is a framework of how data is structured. It can be a graphic illustration
or another kind of chart used by programmers to understand how each table is laid out, including the
columns and the types of data they hold and how tables connect.
A database schema usually specifies which columns are primary keys in tables and which other columns
have special constraints such as being required to have unique values in each record. It also usually
specifies which columns in which tables contain references to data in other tables, often by including
primary keys from other table records so that rows can be easily joined.
59 | P a g e
Table 5.5: Year Table Table 5.9: Contents Table
60 | P a g e
Table 5.12: Teacher-Class-Student Table Table 516: Student-Assignment Table
61 | P a g e
Table 5.20: Message Table Table 5.12: Teacher-Notification Table
62 | P a g e
Chapter 06
63 | P a g e
6.1 Introduction
Subsequently completing the design stage, we step forward to implementation phase to transform our
design into an executable and working product. Implementation is basically grasping the technical
requirements of the system and then deploying them using various tools and technologies available at
large extent in the world of internet. As we know that this system is web based, so it is needed to decide
which tools and technologies we have to opt for system development. In this chapter we will discuss
about all possible options necessary for development and deployment of the system and which
programming languages and tools we have used throughout the implementation phase.
It may not be a tough task for an experienced developer to choose from a never-ending list of tools and
technologies, but for a beginner having no experience in the field, surely it becomes a grim task. Having
some knowledge and research about various technologies, we will now be using different kind of
software’s, languages, web browser, servers and database management tools for the development of this
system. Tool that I will be using for developing this system are Microsoft Visual Code, tools through
which our database is designed and managed are MySQL Workbench and XAMPP, Windows 2007 or
above as operating system, XAMPP as server and Microsoft Visio as diagraming tool. To make it
compatible with environment in which it is running, accessible to all users, making fast load times,
achieving Browser Consistency, Effective Navigation, user friendly interface, Good Error Handling, and
user-friendly color contrasts; I have chosen distinguished languages of their time like PHP, HTML,
JavaScript, Bootstrap, jQuery and SQL etc. This system will be used on mobile phones, laptops, desktops
etc. having a good internet connection and an active Microphone to use voice search feature.
Visual Studio Code is a source-code editor developed by Microsoft for Windows, Linux and macOS. It
includes support for debugging, GitHub, syntax highlighting, intelligent code completion, snippets,
and code refactoring. It is highly customizable, allowing users to change the theme, keyboard shortcuts,
preferences, and install extensions that add additional functionality. In the Stack Overflow 2019
Developer Survey, Visual Studio Code was ranked the most widespread developer environment tool,
with 50.7% of 87,317 respondents claiming to use it.
MySQL Workbench is an integrated graphical tool for database designers, developers, and DBAs as it
works without a glitch for various web development and designing tasks. MySQL Workbench relief’s
users with development, design, database migration, database administration and performance
improvement. No matter what device you’re working on, MySQL Workbench promises to be a top-
contender in management of MySQL databases. The MySQL developer tools team declares 8.0.16 as
their general available (GA) for MySQL Workbench 8.0 on April 25, 2019.
64 | P a g e
6.2.3 XAMPP
XAMPP is most dominant, free an open source cross-platform which is one solution to run your web
services. XAMPP is developed by Apache Friends and released in May 2002. XAMPP Stands for Cross
Platform(X), Apache (A), and MySQL (M) also Sometimes (M) refers to Maria DB, PHP (P) and Pearl
(P).
Where, Cross-platform means it is accessible to multiple operating systems like, windows, Linux and
MacOS. Generally, PHP developers prefer XAMPP tool while developing their web applications or
projects. XAMPP tool offers easiest solution to run server and database which is of assistance for web
developers to host their web application locally.
Microsoft Office Visio is a diagramming and vector graphics application and is part of the Microsoft
Office family. It was initially hosted in 1992 by the Shapeware Corporation. Later on, it was developed
by Microsoft in 2000. Microsoft released their latest version v16.0; Standard and Professional in 2019.
6.2.5 PHP
It was originally created by Rasmus Lerdorf in 1994 and now it is produced by The PHP Group. PHP
initially stood for Personal Home Page, but now it stands for the PHP: Hypertext Preprocessor. It is a
widely-used open source general-purpose scripting language that is specifically apposite for web
development and can be implanted into HTML.
6.2.6 HTML
HTML was developed by WHATWG in 1993. It is the standard markup language for making Web pages.
It stands for Hyper Text Markup Language and styles the structure of a Web page which consists of a
series of HTML elements. These elements tell the browser how to display the content and are represented
by different tags. These tags label pieces of content such as "heading", "paragraph", and “table. Browsers
use these tags to render the content of the page.
2.6.7 SQL
SQL stands for Structured Query Language. SQL is used to converse with a database. According to
ANSI, it is the standard language for relational database management systems. SQL statements are used
to carry out tasks such as update data on a database or retrieve data from a database. Some common
relational database management systems that use SQL are: Oracle, Sybase, Microsoft SQL Server,
Access, Ingres, etc. The standard SQL commands such as "Select", "Insert", "Update", "Delete",
"Create", and "Drop" are mostly used to achieve nearly all tasks that one may need to do with a database.
65 | P a g e
2.6.8 JavaScript
It was designed by Brendan Eich and developed by Netscape Communications Corporation, Mozilla
Foundation, Ecma International in December 4, 1995. It is frequently shortened as JS and it is a high
level, interpreted programming language having curly-bracket syntax. Along with HTML and CSS,
JavaScript is one of the essential technologies of the WWW. JavaScript empowers interactive web
pages that’s why it is an important part of web application. The enormous majority of websites use it and
main web browsers have a dedicated JavaScript engine to execute it.
2.6.9 Bootstrap
Bootstrap is a free front-end framework for faster and less difficult web development which includes
HTML and CSS based design templates for design, forms, buttons, tables, navigation, modals, image
containers and many other, as well as optional JavaScript plugins. Bootstrap additionally offers the
ability to easily create responsive designs which is; creating those web sites that automatically adjust
themselves to look good on all devices, from small phones to large desktops.
2.6.10 CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the appearance of a document
written in a markup language like HTML. CSS is a bedrock technology of the World Wide Web,
alongside HTML and JavaScript. It was developed by World Wide Web in Consortium on December 17,
1996. CSS is designed to enable the parting of appearance and content, including layout, colors,
and fonts.
66 | P a g e
2.6.11 Voice Search (Google API)
<script>
function startDictation()
{
if (window.hasOwnProperty('webkitSpeechRecognition'))
{
recognition.continuous = false;
recognition.interimResults = false;
recognition.onresult = function(e) {
document.getElementById('transcript').value = e.results[0][0].transcript;
recognition.stop();
document.getElementById('labnol').submit();
};
recognition.onerror = function(e) {
recognition.stop();
}
}
}
</script>
67 | P a g e
Chapter 07
System Testing
68 | P a g e
7.1 Introduction
Software testing is a procedure to assess the functionality of a software application intending to discover
whether the developed software met specified requirements or not and to detect the faults to confirm that
the product is fault free in order to produce the quality product.
Manual testing is the procedure of testing the software by hand to find the faults. Tester should have
knowledge of the viewpoint of end-users to confirm that all features are working as stated in the software
requirement document. In this course of testing, tester executes the test cases and generate the reports by
hand deprived of using any automatic tools.
Automation testing is the procedure of testing a software using an automatic tool to discover faults. In
this procedure, tester executes the test scripts and generate the test outcomes automatically by using
various tools. Some of the well-known automation testing tools for functional testing are QTP/UFT and
Selenium.
It is also termed as Glass Box, Clear Box, and Structural Testing. This testing is grounded on
applications’ internal code structure. In white-box testing, a core viewpoint of the system as well as
programming skills are used to design test cases. This testing is generally done at the unit level.
69 | P a g e
Table 7.1: Test Case of User Registration
70 | P a g e
Table 7.4: Test Case of Admin Adding Department
71 | P a g e
Table 7.7: Test Case of User Uploading Content
72 | P a g e
Table 7.10: Test Case of User Receiving Message
73 | P a g e
Table 7.13: Test Case of View Announcements
Tester Anish
Status Success.
Tester Anish
Status Success.
74 | P a g e
Table 7.15: Test Case of Voice Search
Tester Anish
Procedure Click on search bar and say something you want to search.
Status Success.
Tester Anish
Status Success.
75 | P a g e
Chapter 08
Interfaces
76 | P a g e
8.1 Introduction
The user interface is a vital facet of any product and is often, as important as the functionality of system.
Graphical User Interfaces uses portraits and visuals as an alternative of just words to exemplify the input
and output of any software package. The program displays firm icons, buttons, dialogue boxes etc. on
the screen and the user controls the program primarily by hovering a pointer on the screen and choosing
assured objects by pressing buttons, etc. The purpose of a Graphical User Interface is to aid the
management of an application by means of graphical features.
Designing an upright user interface is a repetitive process. First, we plan and device a user interface using
apposite techniques. Then we assess the design. The domino effect of the assessment feeds the next
design and implementation steps. It is worthy to note that if we have diverse user communities (or the
same user with different jobs), we may need unalike user interfaces, customizable user interfaces or both.
77 | P a g e
Figure 8.3: User Signup Page
78 | P a g e
Figure 8.5: Teacher Signup Page
79 | P a g e
Figure 8.7: Programs Page
80 | P a g e
Figure 8.9: Students Page
81 | P a g e
Figure 8.11: Uploaded Content List Page
82 | P a g e
Figure 8.13: Student Notification Page
83 | P a g e
Figure 8.15: Student Uploading and Downloading Content Page
84 | P a g e
Figure 8.17: Student Announcement Viewing Page
85 | P a g e
Figure 8.19: Teacher Content Uploading and Downloading Page
86 | P a g e
Figure 8.21: Teacher Announcements Creating Page
87 | P a g e