Sie sind auf Seite 1von 115

Alert Notifications for Staff & Students

ABSTRACT

“Alert Notifications for Staff & Students” is a web based application which is mainly used for
alerting the staff for their modified schedule and attendence shortage alert , drive exam alerts
for students.

The project is used to view the details of faculty and students and maintain their data base in an
efficient manner. So that their maintainence will be easy.
Admin will be adding Faculty,Students,Subjects for every semester and he is responsible for
maintaining and modifying the timetable.The Student attendance is maintained by the faculty.In
this the faculty can easily enter the day wise attendance and can send SMS if the student is
absent.Faculty is also involved in managing the job details and sending job alerts to the
students.They also have the facility to view their timetable. Students can be able to view their
attendance and job openings.

To provide security students,faculty and admin has different logins to access their respective
modules.

1
Alert Notifications for Staff & Students

1.INTRODUCTION

In a class,the faculty generally takes roll calls of the students and enters in a
registry whether the student is present or absent and they need to maintain the records for
calculating student’s attendance percentage manually which is a time consuming process.
The faculty Timetable will be maintained by the college management. For
example if the timetable changes then the faculty doesn’t know until and unless he/she
communicates with other faculty.There will be no intimation of the modified timetable.
Students will be having their placements so they need to be notified about the job
details.The manual system is not convenient because the college management will announce the
details or paste it in a notice board.
“Alert Notifications for Staff & Students” is a web based application which is
mainly used for alerting the staff for their modified schedule and attendence shortage alert , drive
exam alerts for students.
Admin will be adding Faculty,Students,Subjects for every semester and he is
responsible for maintaining and modifying the timetable.The Student attendance is maintained
by the faculty.In this the faculty can easily enter the day wise attendance and can send SMS if
the student is absent.Faculty is also involved in managing the job details and sending job alerts to
the students.They also have the facility to view their timetable. Students can be able to view their
attendance and job openings.
To provide security students,faculty and admin has different logins to access their
respective modules.

2
Alert Notifications for Staff & Students

1.1 About Project

Alert notifications for staff & students is a web based system developed for daily student
and staff attendance in schools, colleges and institutes.It facilitates to access the attendance
of students . Faculty can view there modified schedule and can post,notify about student
attendance.This system will also help in posting the job details.

1.2 Purpose

The purpose of developing alert notifications for staff & students is to computerized the
traditional way of taking attendance and modify the time table. Another purpose for
developing this website is to generate the report automatically at the end of session or in
between the session.

1.3 Scope

The scope of the project is the system on which the website can be accessed. i.e., the project
is developed as a web application and it will work for a particular institute.

3
Alert Notifications for Staff & Students

2.SYSTEM ANALYSIS

2.1 Existing system

Attendance of a student in a classroom or a seminar hall is important and can be considered as


this starting point towards attaining a good education. This process therefore requires the
attention the faculty. Among the classical methods of taking attendance are reading out the
students names and check whether there are present or absent in class.

The timetable of a class is discussed and prepared by the faculty members.In this system the
faculty may or may not be notified about changes done in the time table which is done at present
or previous day.The existing system contains lot of paper work and it is very time consuming
process.

2.2 Proposed System

Using this system one can easily get the information about attendance of staff and students in
college and can also get the attendance shortage SMS.In this system an online time table will be
generated and SMS will be sended to the faculty if any modifications are done.In this system a
placement eligibility list will be generated basing on students aggregate and placement
notifications are sended to the students via SMS.

2.3 Objective of the system

The objective of alert notification for staff and students is to provide better information for the
users of the system for better results for their feature prospective in today’s very compitative
world according to the qualification

4
Alert Notifications for Staff & Students

3.REQUIREMENT ANALYSIS

Requirement analysis is a software engineering task that bridges the gap between system
software allocation and software design.It provides system engineer to specify software function
and performance indicate software’s interface with other system elements and establish
constraints that software must need.The basic aim is to obtain a clear picture of the needs and
requirements of the end user and also the organization.The system requirements analysis aims at
studying the available resources and estimating how to use each of them.It gives a basic idea of
future requirements and makes the team to get prepared to acquire them in advance,As far as
computer projects are concerned two types of requirements are essential:

Analysis involves interaction between analysis and client.The analyst research the problem
from the question ask and reading existing documents.During Analysis,it is essential that a
complete and consistent set of specification emerge for the system.

The requirement phase basically consists of three activities:

 Requirement Analysis
 Requriement Specification
 Requirement Validation

3.1 Feasibility Study

All projects are feasible-given unlimited resources and infinite time!Unfortunately,the


development of computer-based system or product is more likely plagued by a scarcity of
resources and difficult delivery dates.It is both necessary and prudent to evaluate the feasibility
of a project at the earliest possible time.Months or years of effort,thousands or millions of dollars
and untold professional embarrassment can be averted if an ill-conceived system is recognized
early in the definition phase.

5
Alert Notifications for Staff & Students

Technical Feasibility

To determine whether the proposed system is technically feasible,we should take into
consideration the technical issues involved behind the system.E-Classifieds uses the web
technologies,which is rampantly employed these days worldwide.The world without the web is
incomprehensible.That goes to proposed system is technically feasible.

This application is going to be used in an Internet environment called www(World Wide


Web).HTML is used to display the content on the browser.It is very easy to develop a
page/document using HTML tools are provided to quickly design/develop our application.So
many objects such as buttons,textfields,text area etc are providing to capture the information
from the user.

We can use this website in any OS.They can have their own security .The back-end
MYSQL and front end are platform independent.so we can port this entire application in any
environment.Both are having their individual configutation to get better performance and backup
issues.

Economic Feasibility

To determine the operational feasibility of the system we should take into consideration the
awareness levels of the users.This system is operational feasible since the users are familiar with
the technologies and hence there is no need to gear up the personnel to use system.Also the
system is very friendly and to use.

Operational Feasibilty

In our application front end is developed using html.So it is very easy to the customers to
enter the necessary information.The user should have some knowledge for using web
applications before going to use our application.

6
Alert Notifications for Staff & Students

3.2Hardware and Software Specifications

The following is the environment and specifications in which the application is developed and is
the minimum configuration required to run the application.

SOFTWARE REQUIREMENTS

 Operating System : WINDOWS OS(XP/ 7 / 8 / Vista)

 Front end : HTML, CSS, JAVASCRIPT

 Backend : PHP

 Database : MYSQL

HARDWARE REQUIREMENTS

 RAM : 2 GB

 Processor : CPU 1.5GHz

 Hard Disk : 10 GB

7
Alert Notifications for Staff & Students

3.3 Vision Document

Admin:

The admin is responsible for adding faculty,students and subjects.He can add add or remove
the users from the database.Admin is mainly involved in maintaining the faculty timetable and
sending SMS to the faculty if any mofifications are made in the timetable.

Faculty:

Faculty mainly handles the student attendance and is responsible for sending SMS to absent
students.In this system there is also a facility of sending attendance shortage alert to the students
by the faculty.Faculty can also be able to view their Timetable.They are also responsible for
adding and sending SMS of new job details to the students.

Student:

Each and Every Student can be able to access the system using their Id and Password.They
can be able to view their attendance and also the job openings.No student is given a right to
make modifications.

8
Alert Notifications for Staff & Students

3.4 System Requirement Specifications

Module Description

Implementation is the stage of the project when the theoretical design is turned out into
a working system.Thus it can be considered to be the most critical stage in achieving a successful
new system and in giving the user,confidence that the new system will work and be effective.

The implementation stage involves careful planning,investigation of the existing system


and it’s constraints on implementation,designing of methods to achieve changeover and
evaluation of changeover methods.

Modules are,

1. ADMIN
2. FACULTY
3. STUDENT

Admin Module

Admin is one of the the management team of the institution.

Admin is responsible for:

 Posting the faculty attendance and sending SMS to them if they are absent.
 Modifying the Schedule as per Faculty Requirement.
 Add subjects,faculty,students.

Faculty Module
Faculty is responsible for:

 Posting the student attendance and sending SMS to them if they are absent.
 Viewing their schedule and modified schedule.
 Adding Jobs
 Sending SMS to the attendance shortage students

9
Alert Notifications for Staff & Students

Student Module

Student can be able to view

 Attendance.
 Job Openings.

3.5 Features of the New System


The new system has been designed as per the user requirements so as to fulfill almost all
of them.

3.5.1 User Friendly

The proposed system is a user friendly because the retrieval and storing of
data is fast and data is maintained efficiently.Moreover the graphical user interface is
provided in the proposed system,which provides user to deal with the system very easily.
3.5.2 Reports are easily generated
Reports can be easily generated in the proposed system so user can generate
The report as per the requirement (monthly) or in the middle of the session.User can give
notice to the students to be regular.
3.5.3 Very less paper work
The proposed system requires very less paper work.All the data is feted into

The computer immediately and reports can be generated through computers.Moreover

work becomes very easy because there is no need to keep data on papers.

3.5.4 Computer operator control:

Computer operator control will be there so no chance of errors.Moreover

storing and retrieving of information is easy.So work can be done efficiently in time.

10
Alert Notifications for Staff & Students

3.6 Software Requirement Specification

3.6.1 Glossary

Actors Description
Admin A person appointed by the management
Faculty A person registered by the admin
Student A person registered by the admin
Table 2.3.1 Glossary table

3.6.2 Functional Requrements

Input Design
The input design is the link between the information systems and the user.It

comprises the developing specification and the procedures for data preparation and those

steps are necessary to put transaction data in to a usable form for processing can be achieved

by inspecting the computer to read data from a written or printed document or it can occur

by having people keying the data directly into the system.The design of input focuses on

controlling the amount of input required,controlling the errors,avoiding delay,avoiding extra

steps and keeping the process simple.The input is designed in such away so that it provides

security and ease of use with retaining the privacy.Input design considers the following

things.

 What data should be given as input?

 How the data should be arranged or coded?

 The dialogue to guide the operating personnel in providing input.

 Methods for preparing input validations and steps to follow when error occur.

11
Alert Notifications for Staff & Students

Objectives

 Input design is the process of converting a user-orientation description of the input into a

computer-based system.This design is important to avoid errors in the data input process

and show the correct direction to the management for getting correct information from

the computerised system.

 It is achieved by creating user friendly screens for the data entry to handle large volume

of data.The goal of designing input is to make data entry easier and to be free from

error.The data entry screen is designed in such a way that all that data manipulates can be

performed.It also provides record viewing facilities.

 When the data is entered it will check for its validity.Data can be entered with the help of

screens.Appropriate messages are provided as when needed so that user will not be in

 maize of instant.Thus the ojective of input design is to create an input layout that is easy

to follow.

Output Design
A quality output is one,which meets the requirements of the end userand presents the

information clearly.In any system results of processing are communicated to the users and to

other system through outputs.In output design it is determined how the information is to be

displaced for immediate need and also the hard copy output.It is the most important and

direct source information to the user.Efficient and intelligent output design improves the

system’s relationship to help user decision making.

12
Alert Notifications for Staff & Students

 Designing computer output should proceed in an organized,well thought manner;the right


output must be developed while ensuring that each output element is designed so that
people will find the system can use easily and effectively.
 When analysis design computer output,they should identify the specific output that is
needed to meet the requirements.
 Select methods for presenting information.
 Create document,report or other formats that contain information produced by the
system.
 The output form of an information system should accompliash one or more of the
following objectives.
 Convey information about past activities,current status or projections of the Future.
 Signal important events,opportunities,problems or warnings.
 Trigger an action.
 Error avoidance

Error avoidance

At this stage care is to be taken to ensure that input data remains accurate from the stage
at which it is recorded up to the stage in which the data in which the data is accepted by the
system.This can be achieved by means of careful control each time the data is handled.

Error detection
Even though every afford is made to avoid the occurrence of errors,still small
proportion of errors are likely to occur ,these types of errors can be discovered by using
validations to check the input data.
Data Validation

Procedures are designed to detect errors in data at a lower level of detail.Data validations
have been included in the system in almost every area where there is possibility for the user to
commit errors.The system will not accept invalid data. Whenever an invalid data is keyed in the

13
Alert Notifications for Staff & Students

system immediately prompts the user and the user has to again key in the data and the system
will accept the data only if the data is correct.

3.6.3 Non-functional requirements

Reliability:

The system has been developed by considering every single quality factor.Due to this
reason the system is highly secure from the crash down problem.Moreover,the system is
highly reliable due to the security and integrity features.

Availability:

The system has been developed so that we can report complaints at any time round the
clock and the administrator will respond within 24 hours.

Security:

The system has been developed so that only the admin and faculty can edit and delete
the details.Student doesn’t have any permissions to modify the details.

Portability:

For programs to be dynamically downloaded to all the various types of platforms


connected to the Internet,some means of generating portable executable code is needed.As
you will see.The same mechanism that helps ensure security also helps create portability.

Performance:

The system has been developed so that the user can enter into the original system within
minutes when he entered through the login page.This requirement analysis is helpful for
better understanding about the system.Mainly the fuctional requirements are most essential
and useful for the system for further proceeding.The phases play a vital role in the system
output.The better understanding the sytem gives a better output for the system.

14
Alert Notifications for Staff & Students

3.6.4 Database Requirement

We selected MYSQL because of its rich qualities in maintaining data or information in


deliberate manner.MYSQL is used because of its important features

3.6.5 System Functions


Table 3.6.5.1 System Functions

S.NO SYSTEM FUNCTION DESCRIPTION


ADMIN
1 S1.1 Login to the system
2 S1.2 Add Faculty
3 S1.3 Add Students
4 S1.4 Add Subjects
5 S1.5 Modify Timetable
6 S1.6 Send schedule SMS
7 S1.7 Logout
FACULTY
8 S2.1 Login to the system
S2.2 Post Student Attendance
10 S2.3 Send absent SMS
11 S2.4 Send attendance shortage SMS
12 S2.5 Add Jobs
13 S2.6 Send job SMS
14 S2.7 View Modified Timetable
15 S2.8 Logout
STUDENT
16 S3.1 Login to the system
17 S3.2 View Attendance
18 S3.3 View Job Openings
19 S3.4 Logout

15
Alert Notifications for Staff & Students

4.System Design

4.1 Unified Modeling Language

The development of UML began in late 1994 when Grady Booch and jim Rum Bough of
Rational Software Corporation began their work on unifying the Booch and OMT (object
Modeling Technique) methods.

Forward engineering is the generation of code from a UML model into a programming language.
The reverse is also possible: you can reconstruct a model From an implementation back into
UML. Reverse engineering is not magic. Unless you encourt the information in the
implementation, information is lost when moving forward from models to code. Reverse
engineering thus requires tool support with human intervention. Combining these two paths
forward code generation and reverse engineering yields round-trip engineering, meaning the
ability to work in either a graphical or textual view, while tools keep the two views consistent.

The unified engineering language allows the software engineer to express an analysis model
using the modeling nation that is governed by a set of syntactic and semantic and pragmatic
rules.

Relationships:

Associative: A semantic connection between two instance.

Generalization: A relationship between the elements and sub elements that may be
substituted for it.

Dependency: The user of one element by another.

Refinement: A shift in level of abstraction.

A UML system is represented using five different views that described the system form distinctly
different perspective. Each view is defined by a set of diagram, which is follow as.

16
Alert Notifications for Staff & Students

User Model View:

 This view represents the system from the users perspective.


 The analysis representation describes a usage scenario from the end-user perspective

Structural Model View:

 In this model the data and functionality are arrived from inside the system.
 This model view models the static structure.

Behavioral Modal View :

It represent the dynamic of behavioral as parts of the system, depicting the interactions
of collection between various structural elements described in the user model and structural
model view.

Structural Model View:

In this the structural and behavioral as part of system are represented as they are to be
built.

4.1.1 Uml Diagrams:

Structural Diagram:

A type of diagram that depicts the element of specification that are irrespective of time. This
includes class, composite structure, component , deployment, object and package diagrams.

 Class Diagram:

Shows a collection of static model elements such as classes and types, their contents
and relationships.

 Object Diagram:

Depicts object and their relationships at a point in time, typically a special case of
either a class diagram or a communication diagram.

17
Alert Notifications for Staff & Students

 Packages Diagram:

Show how model elements are organized into packages as well as the dependencies
between packages . Higher-level model organization.

Behavioral Diagram :

A type of diagram that depicts behavioral feature of a system or business process. This
include activity, state machine and use case diagrams as well as the four interaction diagrams.

 Sequence Diagram: models in the sequential logic, in effect the time ordering of
messages between classifiers. Time ordered sequences of interacting objects.
 Collaboration diagram: Object-centered interaction of a society of objects.
 State transition diagram: Describes the states an objects or interaction may be in, as
well as the transition between states. Formerly referred to as a state diagram, state chart
diagram, or a state-transition diagram. The life history of a single object
 Activity diagram : Depicts high-level business processes, including data flow, or to
model the logic of complex logic within a system. Procedural flow of control within an
overall interaction

Implementation Diagrams

 Component diagram : Depicts the components that compose an application, system, or


enterprise. The components, their interrelationships, interactions, and their public
interfaces are depicted. The dependencies among software units
 Deployment diagram : Shows the execution architecture of systems. This includes
nodes, either hardware or software execution environments, as well as the middleware
connecting them. The distribution and interaction of components and objects on
computational nodes
 Interaction diagrams : A subject of behavior diagrams which emphasize object
interactions. This includes communication, interaction overview, sequence, and timing
diagram.

18
Alert Notifications for Staff & Students

Advantages

Provide users with a ready-to-use, expressive visual modeling languages so they can
develop and exchange meaningful models.Provide extensibility and specialization mechanisms
to extend the core concepts.

 Be independent of particular programming languages and development processes.


 Provide a formal basis for understanding the modeling language.
 Encourage the growth of the OO tools market.
 Support higher-level development concepts such as collaborations, frameworks,
patterns and practices.

19
Alert Notifications for Staff & Students

4.2 Diagrams:

4.2.1 Use Case Diagrams

Use case diagrams are created to visualize the relationships between actors and use cases. A use
case is a pattern of behavior the system exhibits. Each use case is a sequence of related
transactions performed by an actor and the system. A use case defines the interactions between
external actors and the system under consideration of accomplish a goal. Actors must be able to
make decisions, but need not be human: “An actor might be a person , a company or
organization, a computer program, or a computer system – hardware, software or both.
Diagrammatically actor and use case are represented by

Symbols:

Actor
use case

Relationships:

20
Alert Notifications for Staff & Students

Use case diagram for Admin:

Login

Add_Faculty

Add_Students

Admin Add_Subjects

Modify_faculty_schedule

Logout

Fig 4.2.1.1: Use case diagram for Admin

Use case diagram for Faculty:

Login

Post_student_attendance

Add_jobs

Faculty
View_Timetable

Logout

Fig 4.2.1.2: Use case Diagram for Faculty

21
Alert Notifications for Staff & Students

Use case diagram for Student

Login

View_attendance

Student View_job_openings

Logout

Fig 4.2.1.3: Use case diagram for Student

22
Alert Notifications for Staff & Students

4.2.2 Class Diagrams:


Class diagram is a static diagram. It represents the static view of an application. Class diagram
is not only used for visualizing, describing, and documenting different aspects of a system but
also for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed
on the system. The class diagrams are widely used in the modeling of objectoriented systems
because they are the only UML diagrams, which can be mapped directly with object-oriented
languages.
Class diagram shows a collection of classes, interfaces, associations, collaborations, and
constraints. It is also known as a structural diagram.

Faculty
Admin
id : string
id : string password : string
password : string
login()
login() add_jobs()
add_faculty() post_student_attendance()
add_students() 1 send_absent_sms()
1..*
add_subjects() send_attendance_shortage_sms()
modify_timetable() view_timetable()
send_schedule_sms() view_modified_timetable()
logout() send_job_sms()
1 logout()

1..*

1..* 1..*
Student
id : string
password : string

login()
view_attendance()
view_job_openings()
logout()

Fig 4.2.2.1: Class Diagram

23
Alert Notifications for Staff & Students

4.2.3 Sequence Diagrams:

UML sequence diagrams are used to show how objects interact in a given situation. An
important characteristics of a sequence diagram is that time passes from top to bottom: the
interaction starts near the top of the diagram and ends at the bottom.

A popular use for then is to document the dynamics in an object-oriented system. For each key
collaboration, diagrams are created that show how objects interact in various representative
scenarios for that collaboration.

Symbols:

Destructor:

life line

Message:

24
Alert Notifications for Staff & Students

Sequence Diagram for Admin

Admin Faculty Alert Notifications for Staff &


Students
login

verify

validate & authenticate_details

add_faculty

add_students

add_subjects

modify_timetable

send_sms_if_timetable changes

logout

Fig 4.2.3.1: Sequence Diagram for Admin

25
Alert Notifications for Staff & Students

Sequence Diagram for Faculty

Faculty Student Alert Notifications for Staff &


Students

login

verify

validate & authenticate details

post_student_attendance

send_sms_if_absent

add_jobs

send_job_sms

send_sms_if_attendance_shortage

logout

Fig 4.2.3.2 Sequence diagram for Faculty


Sequence Diagram for Student

Student
Alert Notifications for Staff &
Students
login

verify

validate & authenticate details

view_attendance

view_job_openings

logout

Fig: 4.2.3.3 Sequence diagram for Student

26
Alert Notifications for Staff & Students

4.2.4 Collaboration Diagram


The collaboration diagram shows the object organization as seen in the following diagram. In
the collaboration diagram, the method call sequence is indicated by some numbering technique.
The number indicates how the methods are called one after another. We have taken the same
order management system to describe the collaboration diagram.

Method calls are similar to that of a sequence diagram. However, difference being the sequence
diagram does not describe the object organization, whereas the collaboration diagram shows the
object organization.

Collaboration Diagram for Admin

1: login
4: add_faculty 2: verify
6: add_subjects
5: add_students
7: modify_timetable
9: logout
Admin Alert Notifications for
Staff & Students

3: validate & authenticate_details

8: send_sms_if_timetable changes
Faculty

Fig 4.2.4.1 Collaboration Diagram for Admin

Collaboration Diagram for Faculty

27
Alert Notifications for Staff & Students

2: verify
1: login
4: post_student_attendance
6: add_jobs
9: logout
Faculty Alert Notifications for
Staff & Students
3: validate & authenticate details

5: send_sms_if_absent
7: send_job_sms
8: send_sms_if_attendance_shortage
Student

Fig 4.2.4.2 Collaboration Diagram for Faculty

Collaboration Diagram for Student

1: login 2: verify
4: view_attendance
5: view_job_openings
6: logout
Student Alert Notifications for
Staff & Students
3: validate & authenticate details

Fig 4.2.4.3 Collaboration Diagram for Student

4.2.5 Activity Diagram

28
Alert Notifications for Staff & Students

Activity diagrams are graphical representation of workflows of stepwise activities


and actions with support for choice, iteration and concurrency. In this, activity diagram
can be used to describe the business and operational step-by-step workflows of
components in a system. An activity diagram shows the overall flow of controls.

Symbols:

Start: Stop:

Activity Diagram for Admin

Admin login

[ invalid ]

[ valid ]

add_faculty modify_timetable add_subjects

add_students send_schedule
_sms

logout

Fig 4.2.5.1 Activity Diagram for Admin

Activity Diagram for Faculty

29
Alert Notifications for Staff & Students

Faculty login

[ invalid ]

[ valid ]

post_student_ Add_jobs view_timetable


attendance

send_sms_to_ send_job
student sms_if_eligible

logout

Fig 4.2.5.2 Activity Diagram for Faculty

Activity Diagram for Student

Student login

[ invalid ]

view_attendance

view_job_openings

logout

Fig 4.2.5.3 Activity Diagram for Student

4.3Data Dictionary:
30
Alert Notifications for Staff & Students

After carefully understanding the requirements of the candidate the entire data storage
requirements are divided into tables. The below tables are normalized to avoid any
anomalies during the course of data entry.

The volume if data in most information system application is substantially more than a
single user can easily keep track of data dictionaries are an integral component of
structural analysis, since data flow diagrams by themselves do not fully describe the
subject of investigation . The data dictionary provides additional information about the
system.

What is data dictionary?

A data dictionary a repository of the element in a system. As the name suggests, these elements
center around data and the way they are structured to meet user requirements and organization
needs. In a data dictionary we will find a list of all elements composing the data flowing through
a system. The major elements are data flows, data stores and process the data dictionary stores
details and descriptions of these elements.

Why is a data dictionary important?

 To manage the details in large system.


 To communicate a common meaning for all elements.
 To document the features of the system.
 To locate errors and omissions in a system.
 The data base consists of following tables

Admin login table:


31
Alert Notifications for Staff & Students

S.NO Column name Data type Size NULL Constraints


1 name varchar 30 No ----------
2 password varchar 10 No ----------

Table 4.3.1 Admin login table

Faculty login table:

S.NO Column name Data type Size NULL Constraints


1 faculty_number varchar 10 No PRIMARY KEY
2 f_pass varchar 50 No ----------

Table 4.3.2 Faculty login table

Student login table:

S.NO Column name Data type Size NULL Constraints


1 st_id varchar 20 No PRIMARY KEY
2 pass varchar 50 No ----------

Table 4.3.3 Student login table

Add Faculty table:

S.NO Column name Data type Size NULL Constraints


1 faculty_number varchar 10 No PRIMARY KEY
2 name text - No ----------
3 alias varchar 10 No ----------

32
Alert Notifications for Staff & Students

4 designation varchar 30 No ----------


5 contact_number varchar 15 No ----------
6 emailed varchar 50 No ----------
7 f_pass varchar 50 No ----------

Table 4.3.4 Add Faculty table

Add Student table:

S.NO Column name Data type Size NULL Constraints


1 st_id varchar 20 No PRIMARY KEY
2 name varchar 100 No ----------
3 pass varchar 50 No ----------
4 couse varchar 50 No ----------
5 dept varchar 50 No ----------
6 mobile varchar 50 No ----------
7 seamil varchar 50 No ----------
8 coursed int 10 No ----------
9 ayear varchar 20 No ----------

Table 4.3.5 Add Student table

Add Subject table:

S.NO Column name Data type Size NULL Constraints


1 subject_code varchar 10 No PRIMARY KEY
2 subject_name varchar 50 No ----------
3 course_type varchar 15 No ----------
4 semester int 1 No ----------
5 department varchar 50 No ----------

33
Alert Notifications for Staff & Students

6 isalloted int 1 No ----------


7 allotedto text - No ----------
8 allotedto2 text - No ----------
9 allotedto3 text - No ----------

Table 4.3.6 Add Subject table

Attendance table:

S.NO Column name Data type Size NULL Constraints


1 attendance_id int 11 No PRIMARY KEY
2 timestamp longtext - No ----------
3 year longtext - No ----------
4 class_id int 11 No ----------
5 student_id varchar 11 No ----------
6 staff_id varchar 20 No ----------
7 status int 11 No ----------

Table 4.3.7 Attendance table

Add Jobs table:

S.NO Column name Data type Size NULL Constraints


1 J_id varchar 20 No PRIMARY KEY
2 J_Title varchar 100 No ----------
3 J_desc varchar 200 No ----------
4 J_company varchar 100 No ----------
5 J_qua varchar 100 No ----------
6 J_Skill varchar 100 No ----------
7 J_opens varchar 100 No ----------
8 J_close varchar 100 No ----------

34
Alert Notifications for Staff & Students

9 J_venue varchar 100 No ----------

Table 4.3.8 Add Jobs table

Semester table

S.NO Column name Data type Size NULL Constraints


1 day varchar 10 No PRIMARY KEY
2 period1 varchar 30 No ----------
3 period2 varchar 30 No ----------
4 period3 varchar 30 No ----------
5 period4 varchar 30 No ----------
6 period5 varchar 30 No ----------
7 period6 varchar 30 No ----------

Table 4.3.9 Semester table

4.4 Logical Database Design

4.4.1 Normalization
If a database design is not perfect, it may contain anomalies, which are like a bad dream
for any database administrator. Managing a database with anomalies is next to impossible.

 Update anomalies − If data items are scattered and are not linked to each other properly,
then it could lead to strange situations. For example, when we try to update one data
item having its copies scattered over several places, a few instances get updated properly
while a few others are left with old values. Such instances leave the database in an
inconsistent state.

35
Alert Notifications for Staff & Students

 Deletion anomalies − We tried to delete a record, but parts of it was left undeleted
because of unawareness, the data is also saved somewhere else.
 Insert anomalies − We tried to insert data in a record that does not exist at all.

Normalization is a method to remove all these anomalies and bring the database to a consistent
state.

4.4.2 First Normal Form

First Normal Form is defined in the definition of relations (tables) itself. This rule defines that
all the attributes in a relation must have atomic domains. The values in an atomic domain are
indivisible units.

We re-arrange the relation (table) as below, to convert it to First Normal Form.

Alert Notifications for Staff & Students

Each attribute must contain only a single value from its pre-defined domain.

4.4.3 Second Normal Form


Before we learn about the second normal form, we need to understand the following −

36
Alert Notifications for Staff & Students

 Prime attribute − An attribute, which is a part of the candidate-key, is known as a prime


attribute.
 Non-prime attribute − An attribute, which is not a part of the prime-key, is said to be a
non-prime attribute.

If we follow second normal form, then every non-prime attribute should be fully functionally
dependent on prime key attribute. That is, if X → A holds, then there should not be any proper
subset Y of X, for which Y → A also holds true.

Alert Notifications for Staff & Students

We see here in Student_Project relation that the prime key attributes are Stu_ID and Proj_ID.
According to the rule, non-key attributes, i.e. Stu_Name and Proj_Name must be dependent
upon both and not on any of the prime key attribute individually. But we find that Stu_Name
can be identified by Stu_ID and Proj_Name can be identified by Proj_ID independently. This is
called partial dependency, which is not allowed in Second Normal Form.

37
Alert Notifications for Staff & Students

We broke the relation in two as depicted in the above picture. So there exists no partial
dependency.

4.4.4 Third Normal Form


For a relation to be in Third Normal Form, it must be in Second Normal form and the following
must satisfy −

 No non-prime attribute is transitively dependent on prime key attribute.

 For any non-trivial functional dependency, X → A, then either −

o X is a superkey or,
o A is prime attribute.

Alert Notifications for Staff & Students

38
Alert Notifications for Staff & Students

We find that in the above Student_detail relation, Stu_ID is the key and only prime key
attribute. We find that City can be identified by Stu_ID as well as Zip itself. Neither Zip is a
superkey nor is City a prime attribute. Additionally, Stu_ID → Zip → City, so there
exists transitive dependency.

To bring this relation into third normal form, we break the relation into two relations as follows

5.SYSTEM IMPLEMENTATION

5.1 Selected Software:


5.1.1 HTML:

39
Alert Notifications for Staff & Students

HTML stands for Hypertext Markup Language, and it is the most widely used
language to write Web Pages.  Hypertext refers to the way in which Web pages (HTML
documents) are linked together. Thus, the link available on a webpage is called Hypertext.  As
its name suggests, HTML is a Markup Language which means you use HTML to simply "mark-
up" a text document with tags that tell a Web browser how to structure it to display. Originally,
HTML was developed with the intent of defining the structure of documents like headings,
paragraphs, lists, and so forth to facilitate the sharing of scientific information between
researchers. Now, HTML is being widely used to format web pages with the help of different
tags available in HTML language.

Basic HTML Document

<! DOCTYPE html>

<html>

<head>

<title>This is document title</title>

</head>

Alert Notifications for Staff & Students

<body>

<h1>This is a heading</h1>

</body>

</html>

Alert Notifications for Staff & Students

HTML Tags

40
Alert Notifications for Staff & Students

As told earlier, HTML is a markup language and makes use of various tags to format the content.
These tags are enclosed within angle braces<Tag name> . Except few tags, most of the tags have
their corresponding closing tags. For example,<html> has its closing tag</html>and <body>
tag has its closing tag </body> etc.

Above example of HTML document uses the following tags:

Alert Notifications for Staff & Students

5.1.2 PHP

41
Alert Notifications for Staff & Students

Php is a acronym for hyper text pre processer. Php is an open source general purpose
serverside scripting language originally designed for web development to produce dynamic web
pages. It is one of the first developed serverside scripting languages to be embedded into a html
source document rather then calling an external file to process date. The code is interpreted by a
web server with a php processor module which generates the resulting web page. It also evolved
to include a commandline interface capability and can be used in standalone graphical
applications.

Constants:

A constant is a value that cannot be modified throughout the exaction of a


program. Constants are divided into three types. They are numeric constants, Boolean constants
and character constants.Numeric constants are again divided into two types, integer constants
and floating constants. Character constants are also divided into two types they are single
character constants and multiple character constants.

Integer constants example: 90,76,154,66,

Floating constants example: 90,76,154,33.2

Single character constants example:’1’,’Z’,*’

Multiple character constants example:”hello” “,how”, “where”.

Variables:

Variables are the names of memory location in which constant values are stored
and are denoted withdoller sign($).

Local variable:

A variable declared in a function is called local variable. It can be referenced


only in that function.

42
Alert Notifications for Staff & Students

Function parameters:

Function parameters are declared after the function name with in parenthesis.

Global variables:

Global variable can be accessed through out the program. To make a variable
global the variable should be placed with GLOBAL keyword in front of it.

Static variable:

A static variable does not lose its value even if the function execution completes. A
static variable is declared by placing STATIC keyword in front of it.

Rules:

1. Variables in PHP must start with “$” symbol.


2. Variable name should start with an alphabet or underscore.
3. A variable name must not start with a digit.
4. A variable name should not contain operators or white spaces.

5.1.3 Bootstrap

 Bootstrap is a free front-end framework for faster and easier web development
 Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as optional
JavaScript plugins
 Bootstrap also gives you the ability to easily create responsive designs

5.1.4 MYSQL

Database:

43
Alert Notifications for Staff & Students

Database is a collection of heterogeneous information or related information. PHP uses


MYSQL to connect to database and to provide an interface between web pages and databases.

To work with databases one should follow these steps:

 Create connection object


 Create the database (only once)
 Select the database
 Create the table
 Insert, delete, update, retrieve the records
 Close the connection

It is a database product, open source, works along with any programming language.
In order to create database and to manipulate them, we generally use command line tools in
Mysql. XAMPP is a free online to use which we can combinely install a web server
(Apache), a server side programming language (php) and a data base product (mysql).
XAMPP provides a browser interface for Mysql called “PHP My admin” using which we can
create and manipulate databases in mysql server.

Connection for Database:

Before accessing a database one should create a connection to database within mysql _connect ()
statement.

$con _var = mysql _connect (server name, id, password);

If the connection is established successfully then will get true otherwise it gets false.

Once the database is created it should be opened with syntax


mysql _select _db (database name, $con _var);
Once the database is created, tables must be created in database with the statement
mysql _query ();
and with create table command as per the syntax
$query=”create table table name (field1 type1, field2 type2………fieldntypen)”;
mysql _query ($query string, $con _var);

44
Alert Notifications for Staff & Students

5.1.5 Java Script:

JavaScript is a script-based programming language that was developed by Netscape


Communication Corporation.JavaScript was originally called Live Script and renamed as
JavaScript to indicate its relationship with java.JavaScript supports the development of both
client and server components of Wed-based applications.On the client side,it can be used to write
programs that are executed by a Web browser within the context of a Web page.On the server
side,it can be used to write Web server programs that can process information submitted by a
Web browser and the updates the browser’s display accordingly.Even though JavaScript supports
both client and server Web programming, we prefer JavaScript at Client side programming since
most of the browsers supports it.JavaScript is almost as easy to learn as HTML, and JavaScript
statements can be included in HTML documents by enclosing the statements between a pair of
scripting tags

<SCRIPT>..</SCRIPTS>

<SCRIPT LANGUAGE =”JavaScript”>

JavaScript ststements

</SCRIPT>

Here are a few things we can do with JavaScript:

 Validate the contents of a form and make calculations.


 Add scrolling or changing messages to the Browser’s status line.

 Animate images or rotate images that chane when we move the mouse over them.
 Detect the browser in use and display different content for different browsers.
 Detect installed plug_in and notify the user if a plug-in is required.

JavaScript and java are entirely different languages.A few of the most glaring differences are:

45
Alert Notifications for Staff & Students

 Java applets are generally displayed in a box within the web document;JavaScript can
affect any part of the web document itself.
 While JavaScript is best suited to simple applications and adding interactive features to
web pages; java can be used for incredibly complex applications.

There are many other differences but the important thing to remember is that JavaScript and Java
are separate languages.They are both useful for different things;in fact they can be used together
to combine their advantages.

Advantages

 JavaScript can be used for Server-side and Client-side scripting.


 It is more flexible than VBScript
 JavaScript is the default scripting languages at client-side since all the browsers supports
it.

5.1.6 jQuery

jQuery is a lightweight, "write less, do more", JavaScript library.

The purpose of jQuery is to make it much easier to use JavaScript on your website.

jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish,
and wraps them into methods that you can call with a single line of code.

jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM
manipulation.

The jQuery library contains the following features:

 HTML/DOM manipulation
 CSS manipulation
 HTML event methods
 Effects and animations
 AJAX
 Utilities

5.2 SAMPLE CODE


Index.php:

46
Alert Notifications for Staff & Students

<?php
if (isset($_GET['generated']) && $_GET['generated'] == "false") {
unset($_GET['generated']);
echo '<script>alert("Timetable not generated yet!!");</script>';
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>TimeTable Management System</title>
<!-- BOOTSTRAP CORE STYLE CSS -->
<link href="assets/css/bootstrap.css" rel="stylesheet"/>
<!-- FONT AWESOME CSS -->
<link href="assets/css/font-awesome.min.css" rel="stylesheet"/>
<!-- FLEXSLIDER CSS -->
<link href="assets/css/flexslider.css" rel="stylesheet"/>
<!-- CUSTOM STYLE CSS -->
<link href="assets/css/style.css" rel="stylesheet"/>
<!-- Google Fonts -->

<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,300' rel='stylesheet'


type='text/css'/>

47
Alert Notifications for Staff & Students

</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top " id="menu">
<div class="container">
<div align="center">
<h3 align="center">ALERT NOTIFICATIONS FOR STAFF & STUDENTS </h3>
</div>
</div>
</div>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators" style="margin-bottom: 160px">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
<li data-target="#myCarousel" data-slide-to="3"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="assets/img/152.jpg" alt="Chania">
</div>
<div class="item">
<img src="assets/img/1153.png" alt="Chania">
</div>
<div class="item">
<img src="assets/img/162.jpg" alt="Flower">

48
Alert Notifications for Staff & Students

</div>
<div class="item">
<img src="assets/img/images (1).jpg" alt="Flower">
</div>
<div class="item">
<img src="assets/img/images (2).jpg" alt="Flower">
</div>
</div>
</div>
<script type="text/javascript">
function genpdf() {
var doc = new jsPDF();
doc.addHTML(document.getElementById('TT'), function () {
doc.save('demo timetable.pdf');
});
window.alert("Downloaded!");
}
</script>
<div align="center" STYLE="margin-top: 30px">
<button data-scroll-reveal="enter from the bottom after 0.2s"
id="teacherLoginBtn" class="btn btn-info btn-lg">Faculty LOGIN
</button>
<button data-scroll-reveal="enter from the bottom after 0.2s"
id="adminLoginBtn" class="btn btn-success btn-lg">ADMIN LOGIN
</button>
<button data-scroll-reveal="enter from the bottom after 0.2s"
id="stuLoginBtn" class="btn btn-warning btn-lg">Student LOGIN

49
Alert Notifications for Staff & Students

</button>
</div>
<br>
<!-- The Modal -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times</span>
<h2 id="popupHead">Modal Header</h2>
</div>
<div class="modal-body" id="LoginType">
<!--Admin Login Form-->
<div style="display:none" id="adminForm">
<form action="adminFormvalidation.php" method="POST">
<div class="form-group">
<label for="adminname">Username</label>
<input type="text" class="form-control" id="adminname" name="UN"
placeholder="Username ...">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="PASS"
placeholder="Password ...">
</div>
<div align="right">
<input type="submit" class="btn btn-default" name="LOGIN" value="LOGIN">
</div>

50
Alert Notifications for Staff & Students

</form>
</div>
</div>
<!--Faculty Login Form-->
<div style="display:none" id="facultyForm">
<form action="facultyformvalidation.php" method="POST" style="overflow: hidden">
<div class="form-group">
<label for="facultyno">Faculty No.</label>
<input type="text" class="form-control" id="facultyno" name="FN" placeholder="Faculty
No. ...">
<label for="facultyno">Password.</label>
<input type="password" class="form-control" id="facultypass" name="FP"
placeholder="Faculty password. ...">
</div>
<div align="right">
<button type="submit" class="btn btn-default" name="LOGIN">LOGIN</button>
</div>
</form>
</div>
<div style="display:none" id="stuForm">
<form action="stuFormvalidation.php" method="POST">
<div class="form-group">
<label for="adminname">Username</label>
<input type="text" class="form-control" id="adminname" name="UN"
placeholder="Username ...">
</div>
<div class="form-group">
<label for="password">Password</label>

51
Alert Notifications for Staff & Students

<input type="password" class="form-control" id="password" name="PASS"


placeholder="Password ...">
</div>
<div align="right">
<input type="submit" class="btn btn-default" name="LOGIN" value="LOGIN">
</div>
</form>
</div>
</div>
</div>
<script>
// Get the modal
var modal = document.getElementById('myModal');
// Get the button that opens the modal
var teacherLoginBtn = document.getElementById("teacherLoginBtn");
var adminLoginBtn = document.getElementById("adminLoginBtn");
var stuLoginBtn = document.getElementById("stuLoginBtn");
var heading = document.getElementById("popupHead");
var facultyForm = document.getElementById("facultyForm");
var adminForm = document.getElementById("adminForm");
var stuForm = document.getElementById("stuForm");
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks the button, open the modal
adminLoginBtn.onclick = function () {
modal.style.display = "block";
heading.innerHTML = "Admin Login";

52
Alert Notifications for Staff & Students

adminForm.style.display = "block";
facultyForm.style.display = "none";
stuForm.style.display="none";
}
stuLoginBtn.onclick = function () {
modal.style.display = "block";
heading.innerHTML = "Student Login";
stuForm.style.display="block";
adminForm.style.display = "none";
facultyForm.style.display = "none";
}
teacherLoginBtn.onclick = function () {
modal.style.display = "block";
heading.innerHTML = "Faculty Login";
facultyForm.style.display = "block";
adminForm.style.display = "none";
stuForm.style.display="none";
}
// When the user clicks on <span> (x), close the modal
span.onclick = function () {
modal.style.display = "none";
adminForm.style.display = "none";
facultyForm.style.display = "none";

}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function (event) {

53
Alert Notifications for Staff & Students

if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
<!--HOME SECTION END-->
<!--HOME SECTION TAG LINE END-->
<div id="faculty-sec">
<div class="container set-pad">
<div class="row text-center">
<div class="col-lg-8 col-lg-offset-2 col-md-8 col-sm-8 col-md-offset-2 col-sm-offset-2">
<h1 data-scroll-reveal="enter from the bottom after 0.1s" class="header-line">OUR FACULTY
</h1>
</div>
</div>
<!--/.HEADER LINE END-->
<div class="row”
<div class="col-lg-4 col-md-4 col-sm-4" data-scroll-reveal="enter from the bottom after 0.4s">
<div class="faculty-div">
<img src="assets/img/faculty/dean.jpeg" class="img-rounded"/>
<h3 align="center">SESHA REDDY</h3>
<hr/>
<h4 align="center">Chairman<br/></h4>
</div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4" data-scroll-reveal="enter from the bottom after 0.5s">
<div class="faculty-div">
<img src="assets/img/faculty/principal.jpeg" class="img-rounded"/>

54
Alert Notifications for Staff & Students

<h3 align="center">PROF. ABC</h3>


<hr/>
<h4 align="center">Principal<br/> ZHCET</h4>
</div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4" data-scroll-reveal="enter from the bottom after 0.6s">
<div class="faculty-div">
<img src="assets/img/faculty/chairman.jpeg" class="img-rounded"/>
<h3 align="center">PROF. YBC</h3>
<hr/>
<h4 align="center">Chairman<br/>Computer Engineering Department</h4>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row set-row-pad">
<div class="col-lg-4 col-md-4 col-sm-4 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 "
data-scroll-reveal="enter from the bottom after 0.4s">
<h2><strong>Our Location </strong></h2>
<hr/>
<div>
<h4>Jntu,
Kakinada,
Andhra Pradesh
</h4>

55
Alert Notifications for Staff & Students

<h4>India - 000000</h4>
<h4><strong>Call:</strong> 2700920, 2400921 Ext.1121 </h4>
<h4><strong>Email: </strong>controller.jntuk@jntuk.ac.in</h4>
</div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-lg-offset-1 col-md-offset-1 col-sm-offset-1"
data-scroll-reveal="enter from the bottom after 0.4s">
<h2><strong>Social Conectivity </strong></h2>
<hr/>
<div>
<a href="#"> <img src="assets/img/Social/facebook.png" alt=""/> </a>
<a href="#"> <img src="assets/img/Social/google-plus.png" alt=""/></a>
<a href="#"> <img src="assets/img/Social/twitter.png" alt=""/></a>
</div>
</div>
</div>
</div>
<!-- CONTACT SECTION END-->
<div id="footer">
<!-- &copy 2014 yourdomain.com | All Rights Reserved | <a href="http://binarytheme.com"
style="color: #fff" target="_blank">Design by : binarytheme.com</a>
--></div>
<!-- FOOTER SECTION END-->
<!-- Jquery Core Script -->
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- Core Bootstrap Script -->
<script src="assets/js/bootstrap.js"></script>
<!-- Flexslider Scripts -->

56
Alert Notifications for Staff & Students

<script src="assets/js/jquery.flexslider.js"></script>
<!-- Scrolling Reveal Script -->
<script src="assets/js/scrollReveal.js"></script>
<!-- Scroll Scripts -->
<script src="assets/js/jquery.easing.min.js"></script>
<!-- Custom Scripts -->
<script src="assets/js/custom.js"></script>
</div>
</body>
</html>

addjobs.php:
<?php
session_start();
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>TimeTable Management System</title>
<script type="text/javascript" src="assets/jsPDF/dist/jspdf.min.js"></script>
<script type="text/javascript" src="assets/js/html2canvas.js"></script>
<!-- BOOTSTRAP CORE STYLE CSS -->
<link href="assets/css/bootstrap.css" rel="stylesheet"/>

57
Alert Notifications for Staff & Students

<!-- FONT AWESOME CSS -->


<link href="assets/css/font-awesome.min.css" rel="stylesheet"/>
<!-- FLEXSLIDER CSS -->
<link href="assets/css/flexslider.css" rel="stylesheet"/>
<!-- CUSTOM STYLE CSS -->
<link href="assets/css/style.css" rel="stylesheet"/>
<!-- Google Fonts -->
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top " id="menu">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-
collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse move-me">
<ul class="nav navbar-nav navbar-left">
<li><a href="facultypage.php">Home </a></li>
<li><a href="#">Hello <?php echo $_SESSION['loggedin_name']; ?></a></li>
<li><a href="openings.php">addjobs</a></li>
<li><a href="attend.php">attendance</a></li>
<li><a href="attendancereport.php">attendance report</a></li>
<li><a href="attendsms.php">attendance SMS</a></li>
</ul>

58
Alert Notifications for Staff & Students

<ul class="nav navbar-nav navbar-right">


<li><a href="index.php">LOGOUT</a></li>
</ul>
</div>
</div>
</div>
<!--NAVBAR SECTION END-->
<br><br><br><br><br>
<!--Algorithm Implementation-->
<div class="container">
<div class="row">
<form action="addjob.php" method="post">
<div class="form-group" >
<label for="teachername">Job Id</label>
<input type="text" class="form-control" id="teachername" name="JN"
placeholder="Teacher's Name ...">
</div>
<div class="form-group">
<label for="TF">job Tile</label>
<input type="text" class="form-control" id="facultyno" name="JT" placeholder="Job
Name ...">
</div>
<div class="form-group">
<label for="TF">Job Company</label>
<input type="text" class="form-control" id="alias_name" name="JC"
placeholder="Company..">
</div>
<div class="form-group">

59
Alert Notifications for Staff & Students

<label for="designation">Job Description</label>


<input type="text" class="form-control" id="facultyno" name="DC" placeholder="Job
Description ...">
</div>
<div class="form-group">
<label for="TF">job Qualifications</label>
<input type="text" class="form-control" id="facultyno" name="QF"
placeholder="B.Tech,MCA ...">
</div>
<div class="form-group">
<label for="TF">Job Skill</label>
<input type="text" class="form-control" id="alias_name" name="SK" placeholder="C,C+
+,Phython..">
</div>
<div class="form-group">
<label for="teachercontactnumber">Opeming Date.</label>
<input type="text" class="form-control" id="teachercontactnumber" name="OP"
placeholder="openings Date">
</div>
<div class="form-group">
<label for="teacheremailid">Close Date</label>
<input type="text" class="form-control" id="teacheremailid" name="CD"
placeholder="Clsoe Date">
</div>
<div class="form-group">
<label for="teacheremailid">Jab Venue</label>
<input type="text" class="form-control" id="teacheremailid" name="jv"
placeholder="Clsoe Date">

60
Alert Notifications for Staff & Students

</div>
<div align="right">
<input type="submit" class="btn btn-default" name="ADD" value="ADD">
</div>
<button type="submit" id="ADD" name="ADD" class="btn btn-success btn-lg" style="margin-
top: 5px">Save JOBS OPENINGS
</button>
</div>
</form>
</div></div>
<!--HOME SECTION END-->
<!--<div id="footer">
<!-- &copy 2014 yourdomain.com | All Rights Reserved | <a href="http://binarytheme.com"
style="color: #fff" target="_blank">Design by : binarytheme.com</a>
-->
<!-- FOOTER SECTION END-->
<!-- Jquery Core Script -->
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- Core Bootstrap Script -->
<script src="assets/js/bootstrap.js"></script>
<!-- Flexslider Scripts -->
<script src="assets/js/jquery.flexslider.js"></script>
<!-- Scrolling Reveal Script -->
<script src="assets/js/scrollReveal.js"></script>
<!-- Scroll Scripts -->
<script src="assets/js/jquery.easing.min.js"></script>
<!-- Custom Scripts -->
<script src="assets/js/custom.js"></script>

61
Alert Notifications for Staff & Students

</body>
</html>

Facultypage.php:
<?php
session_start();
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>TimeTable Management System</title>
<script type="text/javascript" src="assets/jsPDF/dist/jspdf.min.js"></script>
<script type="text/javascript" src="assets/js/html2canvas.js"></script>
<!-- BOOTSTRAP CORE STYLE CSS -->
<link href="assets/css/bootstrap.css" rel="stylesheet"/>
<!-- FONT AWESOME CSS -->
<link href="assets/css/font-awesome.min.css" rel="stylesheet"/>
<!-- FLEXSLIDER CSS -->
<link href="assets/css/flexslider.css" rel="stylesheet"/>
<!-- CUSTOM STYLE CSS -->
<link href="assets/css/style.css" rel="stylesheet"/>
<!-- Google Fonts -->
</head>

62
Alert Notifications for Staff & Students

<body>
<div class="navbar navbar-inverse navbar-fixed-top " id="menu">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-
collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse move-me">
<ul class="nav navbar-nav navbar-left">
<li><a href="facultypage.php">Home </a></li>
<li><a href="#">Hello <?php echo $_SESSION['loggedin_name']; ?></a></li>
<li><a href="openings.php">addjobs</a></li>
<li><a href="attend.php">attendance</a></li>
<li><a href="attendancereport.php">attendance report</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php">LOGOUT</a></li>
</ul>
</div>
</div>
</div>
<!--NAVBAR SECTION END-->
<br>
<!--Algorithm Implementation-->

63
Alert Notifications for Staff & Students

<form action="facultypage.php" method="post">


<div style="margin-top: 100px" align="center">
<select name="select_teacher" class="list-group-item">
<option selected disabled>Select Teacher</option>
<?php
$q = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM teachers ");
while ($row = mysqli_fetch_assoc($q)) {
echo " \"<option value=\"{$row['faculty_number']}\">{$row['name']}</option>\"";
}
?>
</select>
<button type="submit" id="viewteacher" class="btn btn-success btn-lg" style="margin-top:
5px">VIEW TIMETABLE
</button>
</div>
</form>
<form action="facultypage.php" method="post">
<div align="center" style="margin-top: 10px">
<select name="select_semester" class="list-group-item">
<option selected disabled>Select Semester</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>

64
Alert Notifications for Staff & Students

<button type="submit" id="viewsemester" style="margin-top: 5px" class="btn btn-success btn-


lg">VIEW TIMETABLE
</button>
</div>
</form>
<div>
<br>
<style>
table {
margin-top: 20px;
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 2px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #ffffff;
}
tr:nth-child(odd) {
background-color: #ffffff;
}
</style>
<div id="TT" style="background-color: #FFFFFF">
<table border="2" cellspacing="3" align="center" id="timetable">

65
Alert Notifications for Staff & Students

<caption><strong><br><br>
<?php
if (isset($_POST['select_semester'])) {
echo "COMPUTER ENGINEERING DEPARTMENT SEMESTER " .
$_POST['select_semester'] . " ";
$year = (int)($_POST['select_semester'] / 2) + $_POST['select_semester'] % 2;
$r = mysqli_fetch_assoc(mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * from classrooms
WHERE status = '$year'"));
echo " ( " . $r['name'], " ) ";
} else if (isset($_POST['select_teacher'])) {
$id = $_POST['select_teacher'];
$r = mysqli_fetch_assoc(mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * from teachers
WHERE faculty_number = '$id'"));
echo $r['name'];
} else if (isset($_SESSION['loggedin_name'])) {
echo $_SESSION['loggedin_name'];
}
?>
</strong></caption>
<tr>
<td style="text-align:center">WEEKDAYS</td>
<td style="text-align:center">8:00-8:50</td>
<td style="text-align:center">8:55-9:45</td>
<td style="text-align:center">9:50-10:40</td>
<td style="text-align:center">10:45-11:35</td>
<td style="text-align:center">11:40-12:30</td>

66
Alert Notifications for Staff & Students

<td style="text-align:center">12:30-1:30</td>
<td style="text-align:center">1:30-4:00</td>
</tr>
<tr>
<?php
$table = null;
if (isset($_POST['select_semester'])) {
$table = " semester" . $_POST['select_semester'] . " ";
} else if (isset($_POST['select_teacher'])) {
$table = " " . $_POST['select_teacher'] . " ";
} else if (isset($_SESSION['loggedin_id'])) {
$table = " " . $_SESSION['loggedin_id'] . " ";
} else
echo '</table>';
if (isset($_POST['select_semester']) || isset($_POST['select_teacher']) ||
isset($_SESSION['loggedin_id'])) {
$q = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM" . $table);
$qq = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM subjects");
$days = array('MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY',
'SATURDAY');
$i = -1;
$str = "<br>";
if (isset($_POST['select_semester'])) {
while ($r = mysqli_fetch_assoc($qq)) {
if ($r['isAlloted'] == 1 && $r['semester'] == $_POST['select_semester']) {
$str .= $r['subject_code'] . ": " . $r['subject_name'] . " ";

67
Alert Notifications for Staff & Students

if (isset($r['allotedto'])) {
$id = $r['allotedto'];
$qqq = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM teachers WHERE faculty_number = '$id'");
$rr = mysqli_fetch_assoc($qqq);
$str .= " " . $rr['alias'] . ": " . $rr['name'] . " ";
}
if ($r['course_type'] !== "LAB") {
$str .= "<br>";
continue;
} else {
$str .= ", ";
}
if (isset($r['allotedto2'])) {
$id = $r['allotedto2'];
$qqq = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM teachers WHERE faculty_number = '$id'");
$rr = mysqli_fetch_assoc($qqq);
$str .= " " . $rr['alias'] . ": " . $rr['name'] . ", ";
}
if (isset($r['allotedto3'])) {
$id = $r['allotedto3'];
$qqq = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM teachers WHERE faculty_number = '$id'");
$rr = mysqli_fetch_assoc($qqq);
$str .= " " . $rr['alias'] . ": " . $rr['name'] . "<br>";
}

68
Alert Notifications for Staff & Students

}
}
} else if (isset($_POST['select_teacher']) || isset($_SESSION['loggedin_id'])) {
if (isset($_POST['select_teacher'])) {
$tid = $_POST['select_teacher'];
} else {
$tid = $_SESSION['loggedin_id'];
}
while ($r = mysqli_fetch_assoc($qq)) {
if ($r['isAlloted'] == 1 && $r['allotedto'] == $tid) {
$str .= $r['subject_code'] . ": " . $r['subject_name'] . " <br>";
} else if ($r['isAlloted'] == 1 && isset($r['allotedto2']) && $r['allotedto2'] == $tid) {
$str .= $r['subject_code'] . ": " . $r['subject_name'] . " <br>";
} else if ($r['isAlloted'] == 1 && isset($r['allotedto3']) && $r['allotedto3'] == $tid) {
$str .= $r['subject_code'] . ": " . $r['subject_name'] . " <br>";
}
}
}
while ($row = mysqli_fetch_assoc($q)) {
$i++;
echo "
<tr><td style=\"text-align:center\">$days[$i]</td>
<td style=\"text-align:center\">{$row['period1']}</td>
<td style=\"text-align:center\">{$row['period2']}</td>
<td style=\"text-align:center\">{$row['period3']}</td>
<td style=\"text-align:center\">{$row['period4']}</td>
<td style=\"text-align:center\">{$row['period5']}</td>

69
Alert Notifications for Staff & Students

<td style=\"text-align:center\">LUNCH</td>
<td style=\"text-align:center\">{$row['period6']}</td>
</tr>\n";
}
echo '</table>';
$sign = "GENERATED VIA TIMETABLE MANAGEMENT SYSTEM, COMPUTER
ENGINEERING DEPARTMENT.";
echo "<div align=\"center\">" . "<br>" . $str . "<br>
<strong>" . $sign . "<br></strong></div>";
}
?>
</div>
</div>
<script type="text/javascript">
function gendf() {
var doc = new jsPDF();
doc.addHTML(document.getElementById('TT'), function () {
doc.save('<?php
if (isset($_POST["select_semester"])) {
echo "ttms semester " . $_POST["select_semester"];
} else if (isset($_POST["select_teacher"])) {
echo "ttms " . $_POST["select_teacher"];
} else if (isset($_SESSION["loggedin_id"])) {
echo "ttms " . $_SESSION["loggedin_id"];
}
?>' + '.pdf');
alert("Downloaded!");
});

70
Alert Notifications for Staff & Students

}
</script>
<!--HOME SECTION END-->
<!--<div id="footer">
<!-- &copy 2014 yourdomain.com | All Rights Reserved | <a href="http://binarytheme.com"
style="color: #fff" target="_blank">Design by : binarytheme.com</a>
-->
<!-- FOOTER SECTION END-->
<!-- Jquery Core Script -->
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- Core Bootstrap Script -->
<script src="assets/js/bootstrap.js"></script>
<!-- Flexslider Scripts -->
<script src="assets/js/jquery.flexslider.js"></script>
<!-- Scrolling Reveal Script -->
<script src="assets/js/scrollReveal.js"></script>
<!-- Scroll Scripts -->
<script src="assets/js/jquery.easing.min.js"></script>
<!-- Custom Scripts -->
<script src="assets/js/custom.js"></script>
</body>
</html>

generatetimetable.php
<?php
// Start the session

71
Alert Notifications for Staff & Students

session_start();
if (isset($_GET['success'])) {
echo "<script type='text/javascript'>alert('Time Table Generated');</script>";
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>TimeTable Management System</title>
<script type="text/javascript" src="assets/jsPDF/dist/jspdf.min.js"></script>
<script type="text/javascript" src="assets/js/html2canvas.js"></script>
<!-- BOOTSTRAP CORE STYLE CSS -->
<link href="assets/css/bootstrap.css" rel="stylesheet"/>
<!-- FONT AWESOME CSS -->
<link href="assets/css/font-awesome.min.css" rel="stylesheet"/>
<!-- FLEXSLIDER CSS -->
<link href="assets/css/flexslider.css" rel="stylesheet"/>
<!-- CUSTOM STYLE CSS -->
<link href="assets/css/style.css" rel="stylesheet"/>
<!-- Google Fonts -->
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,300' rel='stylesheet'
type='text/css'/>
</head>
<body>

72
Alert Notifications for Staff & Students

<div class="navbar navbar-inverse navbar-fixed-top " id="menu">


<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-
collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse move-me">
<ul class="nav navbar-nav navbar-left">
<li><a href="addteachers.php">ADD Faculty</a></li>
<li><a href="addstudent.php">ADD Student</a></li>
<li><a href="addsubjects.php">ADD Subjects</a></li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" aria-
expanded="false">ALLOTMENT
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li>
<a href=allotsubjects.php>THEORY COURSES</a>
</li>
<li>
<a href=allotpracticals.php>PRACTICAL COURSES</a>
</li>
<li>
<a href=allotclasses.php>CLASSROOMS</a>
</li>

73
Alert Notifications for Staff & Students

</ul>
</li>
<li><a href="generatetimetable.php">GENERATE TIMETABLE</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php">LOGOUT</a></li>
</ul>
</div>
</div>
</div>
<!--NAVBAR SECTION END-->
<br>
<!--Algorithm Implementation-->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times</span>
<h2 id="popupHead">Assign Substitute</h2>
</div>
<div class="modal-body" id="AssignSubstitute">
<!--Admin Login Form-->

<div style="display:block" id="assignSubstituteForm">


<form method="post" action="assignSubstituteFormValidation.php">
<div class="form-group">
<label for="substitute">Substitute</label>

74
Alert Notifications for Staff & Students

<select class="form-control" id="substitute" name="SB">


</select>
<input type="hidden" id="cell_number" class="btn btn-default" name="CN">
</div>
<div align="right" class="form-group">
<input type="submit" id="submit" class="btn btn-default" name="ADD" value="CHECK">
</div>
</form>
</div>
</div>
</div>
</div>
<script>
var assignsubstitueForm = document.getElementById("assignSubstitueForm");
// Get the <span> element that closes the modal
var modal = document.getElementById('myModal');
var span = document.getElementsByClassName("close")[0];
span.onclick = function () {
modal.style.display = "none";
assignsubstitueForm.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function (event) {
if (event.target == modal) {
modal.style.display = "none";
assignsubstitueForm.style.display = "none";
}

75
Alert Notifications for Staff & Students

}
</script>
<form action="algo.php" method="post">
<div align="center" style="margin-top: 50px">
<button type="submit"
id="generatebutton" class="btn btn-success btn-lg">GENERATE
</button>
</div>
</form>
<form action="generatetimetable.php" method="post">
<div align="center" style="margin-top: 30px">
<select name="select_teacher" class="list-group-item">
<option selected disabled>Select Teacher</option>
<?php
$q = mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * FROM teachers ");
while ($row = mysqli_fetch_assoc($q)) {
echo " \"<option value=\"{$row['faculty_number']}\">{$row['name']}</option>\"";
}
?>
</select>
<button type="submit" id="viewteacher" class="btn btn-success btn-lg" style="margin-top:
5px">VIEW TIMETABLE
</button>
</div>
</form>
<form action="generatetimetable.php" method="post">
<div align="center" style="margin-top: 20px">

76
Alert Notifications for Staff & Students

<select name="select_semester" class="list-group-item">


<option selected disabled>Select Semester</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
<button type="submit" id="viewsemester" class="btn btn-success btn-lg" style="margin-top:
5px">VIEW TIMETABLE
</button>
</div>
</form>
<script>
var index = -1;
function Substitute() {
var table = document.getElementById("timetable");
var cells = table.getElementsByTagName("td");
// window.alert(cells[3].innerHTML.toString());
for (i = 0; i < cells.length; i++) {
if (i % 8 == 6 || i % 8 == 7 || parseInt(i / 8) == 0 || i % 8 == 0) {
continue;
}
var currentCell = cells[i];
//var b = currentRow.getElementsByTagName("td")[0];
var createSubstituteHandler =
function (cell, i) {

77
Alert Notifications for Staff & Students

return function () {
document.getElementById('cell_number').value = i;
index = i;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var modal = document.getElementById('myModal');
modal.style.display = "block";
document.getElementById("substitute").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "getcellindex.php?i=" + i, false);
xmlhttp.send();
};
};
currentCell.onclick = createSubstituteHandler(currentCell, i);
}
}
</script>
<div>
<br>

echo " ( " . $r['name'], " ) ";


} else if (isset($_POST['select_teacher'])) {
$id = $_POST['select_teacher'];
$r = mysqli_fetch_assoc(mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * from teachers
WHERE faculty_number = '$id'"));

78
Alert Notifications for Staff & Students

echo $r['name'];
} else if (isset($_GET['display'])) {
$id = $_GET['display'];
$r = mysqli_fetch_assoc(mysqli_query(mysqli_connect("localhost", "root", "", "ttms"),
"SELECT * from teachers
WHERE name = '$id'"));
echo $r['name'];
}
?>
</strong></caption>
<tr>
<td style="text-align:center">WEEKDAYS</td>
<td style="text-align:center">8:00-8:50</td>
<td style="text-align:center">8:55-9:45</td>
<td style="text-align:center">9:50-10:40</td>
<td style="text-align:center">10:45-11:35</td>
<td style="text-align:center">11:40-12:30</td>
<td style="text-align:center">12:30-1:30</td>
<td style="text-align:center">1:30-4:00</td>
</tr>
<tr>
<?php
-->
<!-- FOOTER SECTION END-->
<!-- Jquery Core Script -->
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- Core Bootstrap Script -->
<script src="assets/js/bootstrap.js"></script>

79
Alert Notifications for Staff & Students

<!-- Flexslider Scripts -->


<script src="assets/js/jquery.flexslider.js"></script>
<!-- Scrolling Reveal Script -->
<script src="assets/js/scrollReveal.js"></script>
<!-- Scroll Scripts -->
<script src="assets/js/jquery.easing.min.js"></script>
<!-- Custom Scripts -->
<script src="assets/js/custom.js"></script>
</body>
</html>
Sendsms.php

<?php
//session_start();
require_once 'dbase/dbconn.php';
$mobile=$_POST["text1"];
$msg=$_POST["text2"];

//sending SMS
$url11 = 'http://sms.tajcomputers.in/API/pushsms.aspx?'.http_build_query(array(
'loginID' => 'samtaj123',
'password' => '12345678',
'mobile' => $mobile,
'text' => $msg,
'senderid' => 'STUSMS',
'route_id' =>'2',
'Unicode' => '0'

80
Alert Notifications for Staff & Students

));
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url11 );
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Connection: close'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
echo $data;
//End of Sending SmS

6.SYSTEM TESTING

81
Alert Notifications for Staff & Students

6.1 Introduction
Testing is evaluation of the software against requirements gathered from users and system
specifications. Testing is conducted at the phase level in software development life cycle or at
module level in program code. Software testing comprises of Validation and Verification.

System Testing is a black box testing technique performed to evaluate the complete system
the system's compliance against specified requirements. In System testing, the functionalities of
the system are tested from an end-to-end perspective.

System Testing is usually carried out by a team that is independent of the development team in
order to measure the quality of the system unbiased. It includes both functional and Non-
Functional testing.

Black Box Testing

Black box testing is a type of software testing in which the functionality of the software is not
known. The testing is done without the internal knowledge of the products.

Black box testing can be done in following ways:

 Syntax Driven Testing – This type of testing is applied to systems that can be
syntactically represented by some language. For example- compilers,language that can be
represented by context free grammar. In this, the test cases are generated so that each
grammar rule is used at least once.
 Equivalence partitioning – It is often seen that many type of inputs work similarly so
instead of giving all of them separately we can group them together and test only one
input of each group. The idea is to partition the input domain of the system into a number
of equivalence classes such that each member of class works in a similar way, i.e., if a
test case in one class results in some error, other members of class would also result into
same error.

White Box Testing


82
Alert Notifications for Staff & Students

White box testing (also known as Clear Box Testing, Open Box Testing, Glass Box Testing,
Transparent Box Testing, Code-Based Testing or Structural Testing) is a software testing
method in which the internal structure or design or implementation of the item being tested is
known to the tester. The tester chooses inputs to exercise paths through the code and determines
the appropriate outputs. Programming know-how and the implementation knowledge is
essential. White box testing is testing beyond the user interface and into the nitty-gritty of a
system.

Code Testing

This examines the logic of the program.For example,the logic for calculating profit,rate taking
the percentagesentered by employeewas tested and verified with the data that was carried out by
manual methods.

Specification Testing

Executing the specification starting what the program should do and how it should perform
under various conditions.Test cases for various situations and combination of condition in all
the modules were tested.

Module Testing

Module testing is defined as a software testing type, which checks individual subprograms,
subroutines, classes, or procedures in a program. Instead of testing whole software program at
once, module testing recommends testing the smaller building blocks of the program.It is
largely a white box oriented. The objective of doing Module, testing is not to demonstrate
proper functioning of the module but to demonstrate the presence of an error in the module.

Test data and Output

For all types to test,dummy data were keyed in and after the testing was over live data wer keyed
in from the soured documents and concerned department people wer followed to key in and work
on the system.

Unit Testing

83
Alert Notifications for Staff & Students

Unit testing is a level of software testing where individual units or components of a software
are tested. The purpose is to validate that each unit of the software performs as designed. A unit
is the smallest testable part of any software. It usually has one or a few inputs and usually a
single output. In procedural programming, a unit may be an individual program, function,
procedure, etc.

Integration Testing
Integration testing is a level of software testing where individual units are combined and tested
as a group. The purpose of this level of testing is to expose faults in the interaction between
integrated units. Test drivers and test stubs are used to assist in Integration Testing.

Top-Down Integration Testing


Top-down integration testing is an integration testing technique used in order to simulate the
behaviour of the lower-level modules that are not yet integrated. Stubs are the modules that act
as temporary replacement for a called module and give the same output as that of the actual
product.

Bottom Up Testing
In Bottom Up Testing each component at lower hierarchy is tested individually and then the
components that rely upon these components are tested.

Acceptance Testing
Acceptance testing, a testing technique performed to determine whether or not the software
system has met the requirement specifications. The main purpose of this test is to evaluate the
system's compliance with the business requirements and verify if it is has met the required
criteria for delivery to end users.

Validation Testing
The process of evaluating software during the development process or at the end of the
development process to determine whether it satisfies specified business requirements.It ensures
that the product actually meets the client's needs. It can also be defined as to demonstrate that
the product fulfills its intended use when deployed on appropriate environment.

6.2 Test Plan


84
Alert Notifications for Staff & Students

Admin/Faculty/Student login:

TEST
EXPECTED ACTUAL
CASE INPUT DESCRIPTION PASS/FAIL
RESULT RESULT
ID
Displays Displays
blank A blank Username
invalid invalid
1 username & and Password given pass
username and username and
password by the user
password password
valid Displays
A valid Username Displays
username & invalid
2 and blank Password invalid pass
blank username and
given by the user password
password password
blank Displays
A blank Username Displays
username & invalid
3 and valid Password invalid pass
valid username and
given by the user username
password password
valid Displays
A valid Username
username & Login invalid
4 and valid Password pass
valid Successfully username and
given by the user
password password
username A Username with Displays
with numbers numbers and valid Displays invalid
5 pass
& valid Password given by invalid user username and
password the user password
username A Username with Displays
with %,#,$ & symbols and valid Displays invalid
6 pass
valid Password given by invalid user username and
password the user password
7 username A Username with Displays Displays pass
with spaces spaces and valid invalid user invalid

85
Alert Notifications for Staff & Students

& valid Password given by username and


password the user password
invalid An invalid Displays
username & username & invalid Displays invalid
8 pass
invalid password invalid user username and
password given by the user password

7.SCREEN SHOTS

Home page:

86
Alert Notifications for Staff & Students

Admin login:

Faculty login:

87
Alert Notifications for Staff & Students

Student login:

Faculty page:

88
Alert Notifications for Staff & Students

Add faculty:

89
Alert Notifications for Staff & Students

Add student:

Add subject:

Course allotement
90
Alert Notifications for Staff & Students

Generate Timetable

Faculty Timetable:

91
Alert Notifications for Staff & Students

Add jobs:

Post attendance

92
Alert Notifications for Staff & Students

Student attendance:

8.CONCLUSION AND FURURE SCOPE

93
Alert Notifications for Staff & Students

Conclusion

Using this project we can maintain all the information of the staff,students and their academic
progress that are stored in database.

This project is a web application which runs on a web server so that users of any platfor can
access the system to utilize its resources and features.

We have given centralized control of the system to the admin so that he can act as a moderator
between users and members of the system and they can can have total abstractions of the internal
details.

This project can be helpful for maintaining large number of records.

We have fulfilled all the requirements that are specified in the project abstract and all the
necessary steps are taken for future development.

Future Scope

 In future this application can be developed effectively with security implementation.

 In future this application becomes more useful by adding advance features for students

and faculty

 In future it can also be implemented to provide more security.

9.BIBLIOGRAPHY

94
Alert Notifications for Staff & Students

Websites

https://code-projects.org/

95
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

96
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

97
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

98
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

99
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

100
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

101
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

102
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

103
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

104
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

105
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

106
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

107
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

108
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

109
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

110
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

111
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

112
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

113
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

114
Alert Notifications for Staff & Students

Alert Notifications for Staff & Students

115