0% found this document useful (0 votes)
213 views56 pages

Major Project Report3

This document summarizes a major project report on developing a vaccination scheduler using Java. The project aims to create a software system that can send alerts via email or message to registered users about upcoming vaccinations for their children based on scheduled dates. The objectives are to computerize vaccination-related tasks, solve existing problems faced by parents like maintaining paper records and schedules, and provide easy access to vaccination information and specialists. The system was developed using a prototyping model, with requirements gathered from quick initial prototypes that were refined based on customer evaluation before final development.

Uploaded by

Gaurav Jaglan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
213 views56 pages

Major Project Report3

This document summarizes a major project report on developing a vaccination scheduler using Java. The project aims to create a software system that can send alerts via email or message to registered users about upcoming vaccinations for their children based on scheduled dates. The objectives are to computerize vaccination-related tasks, solve existing problems faced by parents like maintaining paper records and schedules, and provide easy access to vaccination information and specialists. The system was developed using a prototyping model, with requirements gathered from quick initial prototypes that were refined based on customer evaluation before final development.

Uploaded by

Gaurav Jaglan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Major Project Report

On
[ VACCINATION SCHEDULER]
Submitted in fulfillment of the requirements
For the award of the degree of
Bachelor of Technology
(Information Technology)

Submitted by:
Manish Kr. Gupta
(40116401514)

Under the esteemed guidance of


Dr. R.K Purwar
(Assoc. Prof.)

University School of Information and Communication Technology


GGS Indraprastha University, Delhi –110078

(2014-2018)

1
D E C L A R AT I O N
I hereby certify that the work which is being presented in the project report entitled
"Vaccination Scheduler Using Java" in partial fullment of degree of Bachelor
of Tech-nology in Computer Science and Engineering, submitted at University School
of Information, Communication & Technology, Guru Gobind Singh In-
draprastha University, Delhi is an authentic record of my own work carried under
the supervision of Dr. R.K Purwar, U.S.I.C.T., G.G.S.I.P.U., Delhi.

Date:

Manish Kr. Gupta


40116401514

I certify that the above statement made by the student is correct to the best of my
knowledge and belief.

Date:

Dr. R .K P urwar
(Assoc. Prof.)
University School of Information,
Communication & Technology,
G.G.S.I.P.University, Delhi

2
ABSTRACT

This project documents the process of designing, building & testing a software system for child
vaccination. This vaccination scheduler project is developed to solve the problem regarding child
vaccination of Parents. The main aim of this project is to create a working software system which can
send the alert in form of mail/message for the child who is registered in the vaccination scheduler on the
web site.
The system will keep a log of the spares available and also be intelligent enough which spares have been
taken from which vaccine and in which time plus the different to individual parent child under what
requirement. It will also indicate how many vaccine will be available for individual child and what should
be the remaining vaccine so that we give them in time.

1
AC K N OW L E DG M E N T
I wish and express my heartfelt gratitude to my project guide Dr.R.K Purwar, Associate
Professor for his guidance and suggestions throughout the project, without which I would not
have been able to complete this project successfully.
With profound gratitude, I thank Dr. Arvinder Kaur, Dean, University School of Information,
Communication and Technology, New Delhi, for the encouragement extended by her.
I wish to sincerely thank my parents, all my friends, and faculties of USICT for their valuable
suggestions and ideas while carrying out this project.

MANISH KR. GUPTA


40116401514
B.Tech.(I.T)
8th Semester USICT,
GGSIPU

6
INTRODUCTION

Childhood vaccination is usually provided as a routine service in maternal-child health clinics or other
health facilities. Children should receive the vaccinations they need at the right age during scheduled or
drop-in clinic visits. Most countries have a recommended vaccination schedule, that is, the ages at which
children should receive each does of various vaccines.

Vaccinations can also be delivered in campaigns where vaccine teams try to vaccinate all eligible persons
within a few days or weeks in the targeted area. Such campaigns sometimes deliver only one vaccine,
but sometimes include other vaccinations and/or other preventive health interventions, such as vitamin
A supplementation. These campaigns usually send health workers to the community to vaccinate children
at local places, such as school, churches, or mosques, and do not rely on parents to bring their children
to a health facility.

Vaccinations in emergencies are often delivered both ways, in routine clinic visits as part of primary
health care and in campaigns meant to rapidly provide maximum protection to the population. In most
emergencies, the vaccine-preventable disease of greatest concern is measles. Large outbreaks of measles
have occurred in displaced populations. Such outbreaks can have a very high case-fatality rate, as high
as 10-20%, in malnourished populations of children. Therefore, the Sphere recommends that a mass
vaccination campaign be done emergently for children 6 months - 15 years of age if fewer than 90% of
this group has immunity. Such a campaign should vaccinate at least 95% of eligible children, and at least
95% of new children entering the population should be vaccinated against measles as they enter.
Thereafter, vaccination should be made part of routine maternal-child care.

7
Overview
This project synopsis documents the process of designing, building & testing a software system to we
used for child vaccination. This vaccination scheduler project is developed to solve the problem regarding
child vaccination for Parents. The main aim of this project is to create a working software system which
can send the alert in form of mail/message for the child who is registered in the vaccination scheduler web
site.

8
Exiting systems
Vaccination is very essential & initial treatment for the child, but unfortunately this is forgotten by parents
due to lack of knowledge. But among them if some parents have knowledge then they are facing so
many problems like-

 Generally, parents are busy in their office work.


 If some parents have time then they have to maintain the paper work like details about the
vaccination & time period of vaccination. But if suppose they lose his papers, it will create a
problem for child.
 Parents must have knowledge about doctors, the facing the problem if they have no any about
ideas about child specialist doctors.
 Problem to keep the information about vaccine.
 Problem to manage the vaccination schedule time period on paper work.

9
Objectives

The objective of this project as follows:-

 To computerize the vaccination related problems.


 Solve the existing problems which are occurring in the real world.
 Provide the alerts in the form of mail/message to the registered user.
 Suggest the information about possible nearest hospital.
 Information about child specialist doctors.
 Information about Vaccine.
 Reduce the paperwork.
 To provide the easy to use and simple information.
 To save the time for parents.
 Regular awareness of vaccination without doing any effort

10
SYSTEM DEVELOPMENT STRATEGY
SYSTEM ENGINEERING
The software development life cycle (SDLC) is the entire process of formal, logical steps taken to develop
a software product. Within the broader context of Application Lifecycle Management (ALM), the SDLC
is basically the part of process in which coding/programming is applied to the problem being solved by
the existing or planned application.

The phases of SDLC can vary somewhat but generally include the following:

 Conceptualization
o

 Requirements and cost/benefits analysis


o

 Detailed specification of the software requirements


o

 Software design
o

 Programming
o

 Testing
o

 User and technical training


o
 Maintenance

o
11
Prototyping Model
The goal of prototyping based development is to counter the first two limitations of the waterfall model.
The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a
throwaway prototype is built to understand the requirements.

Development of the prototype obviously undergoes design, coding and testing. But each of these phases
is not done very formally or thoroughly. By using this prototype, the client can get an "actual feel" of the
system, since the interactions with prototype can enable the client to better understand the requirements
of the desired system. In such situations letting the client "plan" with the prototype provides invaluable
and intangible inputs which helps in determining the requirements for the system.

start
Requirement Building
Quick Design
gathering Prototype

stop Engineer Refining Customer


Product Prototype evaluation

Fig. Prototyping Model Architecture

12
Architecture
A three-tier architecture is any system which enforces a general separation between the following three
parts:
 Client Tier or user interface
 Middle Tier or business logic
 Data Storage Tier
Applied to web applications and distributed programming, the three logical tiers usually correspond to the
physical separation between three types of devices or hosts:
 Browser or GUI Application
 Web Server or Application Server
 Database Server (often an RDBMS or Relational Database) However, inside of the application
server, there is a further division of program code into three logical tiers. This is kind of fractal: the
part (app server object design) resembles the whole (physical system architecture). In a
classic JSP/Servlet system, these objects are usually implemented as:
 JSPs or Servlets responsible for creating HTML or WML user interface pages
 Servlets or JavaBeans responsible for business logic
 Servlets, JavaBeans, or Java classes responsible for data access. These objects usually use JDBC to
query the database.

Fig. 3-Tier Architecture of Vaccination Scheduler

13
SYSTEM AMALYSIS
USE CASE DIAGRAM
Use case diagrams give a graphic overview of the actors involved in a system, different functions needed
by those actors and how these different functions are interacted. It gives the behavioral aspect of the system

Fig: USE CASE diagram for Vaccination Scheduler project.

Use case diagrams are usually referred to as behavior diagrams used to describe a set of actions that some
system or systems (subject) should or can perform in collaboration with one or more external users of the
system (actors). Each use case should provide some observable and valuable result to the actors or other
stakeholders of the system..
Use case diagrams are in fact twofold - they are both behavior diagrams, because they describe behavior
of the system, and they are also structure diagrams.

14
TOOLS AND TECHNOLOGY USED

TOOLS USED

JSP - JAVA SERVER PAGE:

JSP technology of Java Server Pages technology is an extension of Java programming technology. JSP
includes a scripting language that is Java based. A JSP page on compilation generates a servlet. Web
applications that are developed by using JSP demonstrate platform and Web Server allows Java to be
embedded directly into an HTML page by using special tags.

Although JSP clearly defines the work profiles of a web designer and a web developer or programmer,
facilitating easy application development, there some instances that require explicit use of servlets. File
type format support to extend web servers functionality: To add support for a new file format, a servlet
can easily be mapped to the specified format, as is the case in the compilation cycle of a JSP page. The
servlet is simply mapped to the JSP files. As a result, files with jsp extension are parsed and complied to
generate servlets. The servlet is subsequently processed to generate the response that is sent back to the
browser.

The JSP is a presentation centric application development tool that can be used to handle both static and
dynamic contents of a Web application.

On the basis of functional requirements of the proposed system, JSP seems to be appropriate tool for the
development. With the advent of the Internet, the monolithic application architecture changed to the multi-
tiered client-server architecture. The need for server-side scripting gradually began to dominate aspects of
Web programming.

Language Used: JAVA


Java is a purely object-oriented language. Java language allows you to build very complete exception trapping and
exception handling into your programs using its try-catch syntax. Java language is Portable, Extensible, Persistent
and Robust. A java language also supports a both side architecture Client side and server side.

Application Server: Apache Tomcat 9.0

Application server is implemented based on the J2EE standards and acts a platform for implementing
various server-side technologies, such as servlets, Java Server Pages (JSP). The server contains a set of
policies and APIs that help to implement the same. The solutions that are offered by J2EE are not specific
to a particular vendor or any API. For a JSP page or html page to be accessible from client, first it has to
be deployed on the web server. A JSP page can be deploy in J2EE Server. JAVA 2 Enterprise Edition
(J2EE) is a set of specification that defines the standards for creating distributed objects. J2EE also
specifies how these technologies can be integrated to provide a complete solution. It is also a standard
architecture that defines a multi-tier programming model. The Java 2, Enterprise Edition (J2EE) server is
a product from Sun Microsystems that is based on the Java2 Enterprise Edition (J2EE). The server is used
to deploy servlets and JSP files and enable users to access the same by implementing appropriate security.

15
JDBC:
In 1996, Java Soft released its first version of the JDBC kit. JDBC stands for Java database Connectivity.
This is actually an API, which consists of a set of Java classes, interfaces and exceptions bound to a
specification. JDBC driver vendors and developers who use JDBC must adhere to this specification when
developing applications. Applications developed with Java JDBC are platform and database vendor
independent i.e. the same Java program can simply by changing the JDBC middleware.
An idea similar to Microsoft’s Open Database Connectivity [ODBC] is the JDBC underlay. JDBC [and
ODBC] are based on the X/Open SQL Call level Interface [CLI], which is the basis for the ODBC standard
for database connectivity. Programs written using the JDBC API communicate with a JDBC driver
manager, which uses driver specifically loaded to communicate with the DB engine.
JDBC is today a mature and well-accepted table data, access and standard. RDBMS [Relational Database
Management Systems] or third-party vendors develop database specific driver, which adhere to the JDBC
specification. Application developers use these drivers in their applications, to access appropriate database
tables.
Developers use these drivers to develop applications, which access the respective database. The JDBC
application developers can easily replace one driver for their application with another better one without
having to alter the application as the drivers are adhered to JDBC specification. If some proprietary API
provided by some RDBMS vendor is used for developing Java applications, it becomes mandatory to
modify a substantial amount of application in order to switch to other driver and/or database.
With JDBC in place the developers can develop Java data access applications without having to learn and
use proprietary APIs provided by different RDBMS. The developer only needs to learn JDBC and the data
access applications can be developed conveniently that can access different RDBMS and/or using different
JDBC drivers.
Although relational databases are most common databases, JDBC can be used with any kind of database.
The main reason behind this is JDBC concepts common database functions into a set of common classes
and methods. Database specific code is contained in a code library, which is called as a driver library.
With the driver library for a database, JDBC API can be used to send commands to the database and
extract data from the database.

Advantages of JDBC:
The following are the advantages of JDBC:
 While using JDBC, businesses are not limited to any proprietary architecture and can proceed to use
their installed databases and to access information, which may be stored on the same or different
DBMS.
 The combination of Java API and the JDBC API results into the easy and economically more efficient
application development. JDBC overcomes with complexity of many data access tasks. JDBC API is
simple to learn, easy to deploy and inexpensive to maintain as it simplifies enterprise development.

 With JDBC API, no configuration is required to establish a connection with a driver written in Java
Naming and Directory Interface [JNDI] naming service which defines all the information required to
establish a connection with written in Java programming language.

16
 JDBC API is available everywhere on the Java EE 5 platform, which provides support for Write Once,
Run Anywhere paradigm as the developers can actually write database application once and access
data anywhere.
 The JDBC API facilitates the development of sophisticated applications by providing metadata access.
These sophisticated applications are needed to recognize essential facilities and capabilities of a
database connection.

Java Virtual Machine:

Java applications can run in the context of a Java Virtual Machine. A Java Virtual Machine is a runtime
environment that executes a special from of Java binary code called byte code and converts this into
appropriates calls for the local operating system.

The JVM byte code is what makes application code that is write once, run anywhere possible. As long as
a JVM is available for a hardware-based platform Java application byte code will run on the hardware
platform.

The Java API is a large collection of ready-made software components that provide many useful
capabilities such as Graphical User Interface [GUI] widgets and so on. The Java API is grouped into
packages of related components.

HTML:

Hypertext Markup Language was developed by a consortium of organizations, the World Wide Web
consortium (W3C). HTML is a set of tags and elements used to create Web pages. Web pages are
documents that you view on the Web. Web pages are stored as files with the extension .htm or .html.
HTML is a web-based language. It is very easy to learn and use.

JAVA SCRIPT:

Java script is a scripting language. To develop interactive Web sites, you need to create a Web interface
for accepting data from users. The data accepted can be stored for further processing and validation. So,
we use the Java Script. You will also be able to write Java Script code to validate the data entered by users
on the Web sites, handle run-time and execution errors in Web documents, and communicate with the
users by displaying messages. To create interactive Web documents, the language used is Hypertext
Markup Language (HTML). However, HTML does not support data processing on the client computer.
Therefore, any data in HTML that needs to be validated is sent for processing to the server, causing delay.
To facilitate data validated is sent for processing to the server.

CSS:

CSS stands for Cascading Style Sheet. It defines a way how the information is presented by all the
browsers on the web. A style sheet is a set of rules that controls the formatting of HTML elements on one
or more web pages. Thus, the appearance of a Web page can be changed by changing the style sheet
associated with it. There is no need to make detailed changes within the Web page to change how it looks.
As one style sheet can be used for a whole web site, it normally means that the overall size of the website
is smaller and downloads required for each page can be decreased by up to 40%.

17
BACK-END: RDBMS:

The proposed system falls under RDBMS (Relational Database Management System) category. I have
adopted JSP as front end for the software and PostgreSQL as back end. JSP is at present one of the most
popular development platform for Web based system in both side Client-Side and Server-Side.

PostgreSQL is at present the most reliable and secure RDBMS tool. PostgreSQL works to efficiently
manage its resource, a database of information, among the multiple clients requesting and sending data in
the network. PostgreSQL has many important features that make it not only an exceptional database
management system but also an excellent database server choice for client/server database computing. So,
the overall system will prove too reliable, secure and efficient for the organization.

Various Tools
Eclipse IDE:
While the Eclipse IDE for Java development is widely known, Eclipse open source community is much
bigger. Currently it consists of more than 150 projects covering different aspects of software development.
For example, Eclipse projects provide tooling for JavaScript development and runtime Components, like
the popular Jetty webserver.

PostgreSQL: –

PostgreSQL Server is a relational database management system developed by a computer science


professor Michael stonebraker. As a database, it is a software product whose primary function is to store
and retrieve data as requested by other software applications, be it those on the same computer or those
running on another computer across a network (including the Internet). There are at least a dozen different
editions of PostgreSQL Server aimed at different audiences and for different workloads (ranging from
small applications that store and retrieve data on the same computer, to millions of users and computers
that access huge amounts of data from the Internet at the same time).

Apache Tomcat Server: -

The Apache Tomcat software is an open source implementation of the Java Servlet, Java Server Pages,
Java Expression Language and java Web Socket technologies. The Java Servlet, Java Server Pages, Java
Expression Language and java Web Socket specifications are developed under the Java Community
Process.

18
TIME FRAME:-

TIME FRAME REQUIRED FOR VARIOUS STAGES OF PROJECT

Sr. No. PHASES TIME DURATION

1. Software Requirement Specification 2 weeks

2. System Design 3 weeks

3. Coding 4 weeks

4. Implementation 5 weeks

5. Testing 1 week

Fig. Table Time frame for complete software life cycle development

19
SYSTEM DESIGN
System design is a solution, how to approach to the creation of a new system. This important phase is
composed of several steps. It provides the understanding and procedural details necessary for
implementation of the system recommended in the feasibility study. Emphasis is on translating the
performance requirements in to design specification. Design goes through logical and physical stages of
development. Logical design reviews the present physical system. Prepares input and output specification,
makes edit security and control specification details, and the implementation plan prepares a logical design
walkthrough.

The design phase is transition from user-oriented document to a document to the programmers or database
personnel. It describes the input, compatible to database and procedures all in a format compatible to user
requirements. The logical design also specifies input, output, files and screen layouts. Physical design
produces the working system by defining the design specification that tells the programmers exactly what
the system should do in turn.

E-R DIAGRAM:-
An entity-relationship diagram (ERD) is a data modeling technique that graphically illustrates an
information system’s entities and the relationships between those entities. An ERD is a conceptual and
representational model of data used to represent the entity framework infrastructure.
The elements of an ERD are:

 Entities
 Relationships
 Attributes

Steps involved in creating an ERD include:

 Identifying and defining the entities


 Determining all interactions between the entities
 Analyzing the nature of interactions/determining the cardinality of the relationships
 Creating the ERD

20
Fig. Entity Relationship Diagram for Vaccination Scheduler Project

21
DATA FLOW DIAGRAM

Account User
Management
Management

Notification Scheduled
Management
Management
Vaccination
Scheduler
Info
Event
Management Management

Chart Password
Management
Management

Fig. Zero level data flow diagram

22
First Level DFD (Administrator)

Administrator

Login

Login
Insert the
vaccine
schedule

Vaccination
Scheduler

Member
Visitor

23
First Level DFD (Member):-

Member

Login

Login
Get the
Vaccine
Info
chedule

Vaccination
Scheduler

Administrator
Visitor

24
Activity Diagram

Home

Login Signup

Is admin

user admin

Vaccination Ask Query Account Send email User account Vaccination


chart view
setting notification management scheduling

logout

25
CLASS DIAGRAM:
The class diagram is the main building block of object-oriented modelling. It is used for
general conceptual modelling of the systematic of the application, and for detailed modelling
translating the models into programming code. Class diagrams can also be used for data modeling.
The classes in a class diagram represent both the main elements, interactions in the application, and
the classes to be programmed.
In the diagram, classes are represented with boxes that contain three compartments:

 The top compartment contains the name of the class. It is printed in bold and centered, and
the first letter is capitalized.
 The middle compartment contains the attributes of the class. They are left-aligned and the
first letter is lowercase.
 The bottom compartment contains the operations the class can execute. They are also left-
aligned and the first letter is lowercase.

A class with three compartments.


In the design of a system, a number of classes are identified and grouped together in a class diagram
that helps to determine the static relations between them. With detailed modelling, the classes of the
conceptual design are often split into a number of subclasses.
In order to further describe the behaviour of systems, these class diagrams can be complemented by
a state

Fig: Class Diagram of Vaccination Scheduler

26
SEQUENCE DIAGRAM
Important to note that they show the interactions for a particular scenario. The processes are
represented vertically and interactions are show Sequence diagrams in UML show how objects
interact with each other and the order those interactions occur. It’s as arrows.

Fig: Sequence diagram for Vaccination Scheduler .

A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and
classes involved in the scenario and the sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence diagrams are typically associated with use
case realizations in the Logical View of the system under development. Sequence diagrams are
sometimes called event diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live
simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in
which they occur. This allows the specification of simple runtime scenarios in a graphical manner.

27
MODULE DESCRIPTION & PROCESS LOGIC
There are six basic module in this web application, which is fallows:-

 Login& Registration Module.

 Vaccination Schedule and Info Module.

 Alerts or Reminder Module.

 Available Child Specialist doctor Module.

 Admin Module.

 Counting Hits Module.

Description and process logic of each module is described below:-

Registration Module:-

Fig. Registration Module for new users.

28
Login Module:-

Fig. Login Page for Users.

Snapshot description:
This showcase the front page of the project. Following functionalities are provided.
This module provides the functionality of login process. The module prevents access of the
application to unauthorized users by taking user id and password as input and verifying it with the
user id & password stored in the login table. If user id & password is correct, an interface will appear
according to the user type. Else, if user id and password is incorrect, proper error message will be
displayed.

29
Vaccination Schedule and Info Module:-

Fig. Vaccination Schedule Module.

Information Module:-

Fig. Vaccination Scheduler Chart for Information Module.

Snapshot description:
This showcase the front page of the project. Following functionalities are provided.
This Module provides the functionality of vaccination schedule and Info for the visitors and members
both. Any person can search and view the vaccination schedule and info of vaccine for his/her child.
This module has all the schedule time for vaccination as per baby age. Means age wise schedule is
30
displayed for the baby vaccination. Apart from these if she/he can want to see only information about
vaccine, they can easily search.

Alerts or Reminder Module:-

Fig. Alerts & Reminder Module for Registered Users.

This module provides the functionality of Alerts or Reminder to the registered member in the form of
mail/msg.Only those users can get the Alerts who is registered.
This module has fallowing sub Modules:-

 Mail/Message Sending:-This sub module will provide the facility to send the
mail/msg for registered members. Theses mail/msg are regarding to his /her child
vaccination schedule.
 Alerts Cost Management: - This sub module will provide the facility to
add/update/delete the Alerts cost details by the administrator.

31
Admin Module:-

Fig. Admin module with different functionality.

Admin module is responsible to do the fallowing sub module:-

 Adding the Vaccine Info: -

This sub module will provide the facility to adding the information about vaccine which is necessary
for baby.

 Adding the Vaccination Schedule Details: -

This sub module will responsible to manage the vaccination schedule for baby according to his/her
date of birth.

 Adding the Info about Doctors: -

This sub module is adding the details of child specialist doctors.

 Management of Database: -

This sub module is responsible to manage the database of child Information.

32
Implementation

ScreenShot

Registration page for new user:

Fig:6. Registration page for Vaccination Scheduler System

Snapshot description:
This showcase the front page of the project. Following functionalities are provided.
1) This page takes full information of child parents.
2) All detail information is carried out and send it to the database to maintain the record so
that it can further schedule about the vaccine.
3) Validation is used in every blank form.Such as, password conformation and it cant be
less than 4 digits,mobile no. it only takes int type,email id,etc.
4) All the frontend validation is used using JSP,Servlet,JavaScript.

33
Logging the page without entering the Password:

Fig:7. Login without entering the Password(Validating)

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) In this page website is not allowing user to enter inside the next page without entering
the password field.
2) It is also a part of validation.

34
Registered Parents Information in the PostgreSQL:

Fig: PostgreSQL database server.

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This PostgreSQL database server carrying the detail information about each and every
information regarding the child of parents regarding the Schedule for the Vaccination.
2) It maintains the detail information about the child regarding each vaccine.
3) It provides proper notification regarding the vaccine before it schedule through the
email.

35
Vaccine Schedule Chart:-

Fig. Vaccination Schedule Data Stored in Postgresql Database

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This Vaccination Scheduler gives the detail information regarding the vaccine.
2) Through this information it notify the registered user by sending him/her emails.
3) It provides proper notification regarding the vaccine before it schedule through
the email

36
Vaccine Schedule Information chart:-

Fig. Vaccine information schedule of different vaccine

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This Vaccination Scheduler gives the detail information regarding the vaccine.
2) Through this information it notify the registered user by sending him/her emails.
3) It provides proper notification regarding the vaccine before it schedule through
the email

37
Services

Fig. Service providing to the users

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This mail service automatically send notification to all registered users for the
schedule of their chil vaccine.
2) It automatically give alert to different registered users for their different vaccine
schedule to be taken in time.
3) It provides proper notification regarding the vaccine before it schedule through
the email.

38
Sending Mail All Registered Users:-

Fig. Sending mail to all registered users

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This mail service automatically send notification to all registered users for the
schedule of their chil vaccine.
2) It automatically give alert to different registered users for their different vaccine
schedule to be taken in time.
3) It provides proper notification regarding the vaccine before it schedule through
the emai

39
Registered User Received Notification

Fig. Registered users receiving mail regarding its vaccination schedule

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This screenshot show the detail information regarding notification.
2) Admin send email to all registered users regarding their schedule of vaccine.
3) After this notification users are carefull regarding their remaining vaccine.

40
In Case Of Forget Password

Fig. Sending link through email

Link Send To Registered Email-ID

Fig. Successfully link is send to registered email


41
Link Received To Registered Email-ID

Fig. Link is received to registered email

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This vaccination scheduler provies services regarding forget password.
2) In this forget password service admin provides link through the registered email.
3) After receving the email where link gives facility to reset the password and
conform.
4) In this way users reset the password when he/she forget password

42
Reset Password

Fig. Resetting new password

Snapshot description:
This showcase the front page of the project. Following functionalities are provided:
1) This vaccination scheduler provies services regarding forget password.
2) In this forget password service admin provides link through the registered email.
3) After receving the email where link gives facility to reset the password and
conform.
4) In this way users reset the password when he/she forget passwo

43
TESTING

The development of software systems involves a service of production activities where


opportunities for injection of human fallibilities are enormous. Errors may begin to occur at the very
inception of the process where the objectives may be erroneously or imperfectly specified, as well as
later design and development stages. Because of human inability to perform and communicate
with perfection, software companies are accompanied by a quality assurance activity.
Testing is to determine errors in a software code. It is crucial element of software quality assurance and
represents the ultimate review of specifications, design and coding. The increasing visibility of a
software as a system element and the attendant “costs” associated with a software failure are motivating
forces for well planned through testing. Usually software development organizations expend between
30 to 40 percent of total project effort on testing. . Our goal is to design a series of test cases that have
a high likelihood of finding errors.
To test the software, there are so many testing techniques which provide systematic guidance for
designing tests that exercise the internal logic of software components and exercise the input and output
domains of the program to uncover errors in program function, behavior and performance.
If testing is conducted successfully, it will uncover errors in the software. As the secondary benefits,
testing demonstrates that software functions appear to be working according to specification,
that behavioral and performance requirements appear to have been met
Testing Principlesp:-

All tests should be traceable to customer requirements.


Tests should be planned long before testing begins.
Tests should begin with “in the small” and progress toward testing “in the large”
Exhaustive testing is not possible.
To be more effective an independent third party should conduct testing.

44
TESTING TECHNIQUES

Software design is a critical element of software quality assurance and represents the ultimate review of
specification, design and code generation. Once source code has been generated, software must be
tested to uncover as many as errors as possible before delivery to the customer. Our goal is to
design a series of test cases that have a high likelihood of finding errors. To test the software, there
are so many testing techniques which provide systematic guidance for designing tests that exercise
the internal logic of software components and exercise the input and output domains of the program
to uncover errors in program function, behavior and performance.
If testing is conducted successfully, it will uncover errors in the software. As the secondary benefits,
testing demonstrates that software functions appear to be working according to specification, that
behavioral and performance requirements appear to have been met. The software can be tested by one
of the two ways: -
A. Knowing the specified function that a product has been designed to perform, tests can be
conducted that demonstrate each function is fully operational while at the same time
searching for errors in each function.
B. Knowing the internal working of the product, tests can be conducted to ensure that internal
operations are performed according to specifications and all internal components
have been adequately exercised.
The first approach is called white – box testing and the second, black – boxtesting.

White Box Testing:-

White box testing is a test case design method that uses the control structural of the
procedural design to derive test cases. It is also called glass box testing. Using this method, we can
derive test cases that-
Guarantee that all independent paths within a module have been exercised at least
once.
Exercise all logical decisions on their true and false sides Executes all loops at their
boundaries and within their operational bounds.
Execute all loops at their boundaries and within their operational bounds.
Exercise internal data structures to ensure their validity.

What is White Box Testing?

The purpose of any security testing method is to ensure the robustness of a system in the face of
malicious attacks or regular software failures. White box testing is performed based on the
knowledge of how the system is implemented. White box testing includes analyzing data flow, control
flow, information flow, coding practices, and exception and error handling within the system, to test
the intended and unintended software behavior. White box testing can be performed to validate whether
code implementation follows intended design, to validate implemented security functionality, and
to uncover exploitable vulnerabilities.

45
White box testing requires access to the source code. Though white box testing can be performed any
time in the life cycle after the code is developed, it is a good practice to perform white box testing
during the unit testing phase.

Black Box Testing:-


Black – box testing focuses on the functional requirements of the software i.e. it enables the software
engineer to derive sets of input conditions that will fully exercise all functional requirements for
a program. It is also called behavioral testing.
It attempts to find errors in the following areas:
Incorrect or missing functions Interface errors
Errors in data structures or external database access Performance errors
Initialization errors
This software is developing as a product to be used by many customers, it is impractical to perform formal
acceptance tests with each one. So out software product builders will use a process called Alpha and
Beta testing to uncover errors that only the end-user seems able to find.

Advantages of Black Box Testing

more effective on larger units of code than glass box testing


tester needs no knowledge of implementation, including specific programming languages
tester and programmer are independent of each other
tests are done from a user's point of view
will help to expose any ambiguities or inconsistencies in the specifications test cases can
be designed as soon as the specifications are complete

Disadvantages of Black Box Testing

only a small number of possible inputs can actually be tested, to test every possible input stream
would take nearly forever
without clear and concise specifications, test cases are hard to design
there may be unnecessary repetition of test inputs if the tester is not informed of test cases the
programmer has already tried
may leave many program paths untested
cannot be directed toward specific segments of code which may be very complex (and
therefore more error prone)
most testing related research has been directed toward glass box testin

46
A. Alpha Testing:-
The Alpha test is conducted at the developer’s site by a customer. The software is used in a
natural setting with the developer “ looking over the shoulder” of the user and recording errors
and usage problem. Alpha test are conducted in controlled environment.
B. Beta Testing:-
The Beta-test is conducted at one or more customer sites by the end-user of the software.Unlike
Alpha testing, the developer is generally not present. Therefore, the Beta-test is a “live” application
of the software in an environment that cannot be controlled by the developer. The customer
records all problems ( real or imagined ) that are encountered during Beta testing and reports
there to the developer at regular intervals. As a result of problems reported during Beta-tests,
software engineers make modifications and then prepare for release of the software product to the
entire customer base.
In this project we will performed incremental testing in which components and subsystem of the
system are tested separately before integrating them to form the system from system testing

47
TESTING STRATEGIES
Designing effective test cases is important but so is the strategy we use to execute them. A strategy
for software test case design methods that result in the successful construction of software. The
strategy provides a road map that describes the steps to be conducted as a part of testing.
There are a number of testing strategies, which have the following generic characteristics: -

Testing begins at the component level and works “outward” toward


integration of the entire computer–based system.
Different testing techniques are approximate at different points in time.
Testing is conducted by the developer of the software and (for large p rojects) an
independent test group.
Testing and debugging are different activities, but debugging must be
accommodated in any testing strategy.

TESTING
I STRATEGY

Initially, system engineering defines the role of software and leads to software requirement
analysis where the information domain, function, behavior, performance, constraints and
validation criteria for software are established. Moving inward along the spiral, we come to the
design and finally to coding. There are a number of testing strategies, which are given below: -

Unit testing:-
In the unit testing interfaces, local data structures, boundary conditions, independent
paths, error-handling paths are tested. Test cases should be design to uncover errors due to
erroneous computations, incorrect comparisons, or improper control flow. For this purpose basis
path and loop testing is done. After source level code has been developed, reviewed and verified
for correspondence to component level design, unit test case design begins. In unit test application
‘drivers’ are developed which are programs, accept test case data, passes such data to the
component to be tested and prints relevant results. ‘Stubs’ are also developed which serve to
replace modules, that are subordinate the component to be tested.

Six Rules of Unit Testing:-

o Write the test first


o Never write a test that succeeds the first time
o Start with the null case, or something that doesn't work
o Don't be afraid of doing something trivial to make the test work 5. Loose coupling and
testability go hand in hand
o Use mock objects

48
Limitations of unit testing:-

Testing, in general, cannot be expected to catch every error in the program. The same is true for unit
testing. By definition, it only tests the functionality of the units themselves. Therefore, it may not catch
integration errors, performance problems, or other system-wide issues. Unit testing is more effective
if it is used in conjunction with other software testing activities.

Like all forms of software testing, unit tests can only show the presence of errors; it cannot show the
absence of errors.

Software testing is a combinatorial problem. For example, every boolean decision statement requires
at least two tests: one with an outcome of "true" and one with an outcome of "false". As a result, for
every line of code written, programmers often need 3 to 5 lines of test code. Therefore, it is unrealistic to
test all possible input combinations for any non-trivial piece of software without an automated
characterization test generation tool such as JUnit Factory used with Java code or many of the tools
listed in List of unit testing frameworks.

To obtain the intended benefits from unit testing, a rigorous sense of discipline is needed
throughout the software development process. It is essential to keep careful records, not only of

49
the tests that have been performed, but also of all changes that have been made to the source code of this
or any other unit in the software. Use of a version control system is essential. If a later version of the
unit fails a particular test that it had previously passed, the version-control software can provide a list of
the source code changes (if any) that have been applied to the unit since that time.

It is also essential to implement a sustainable process for ensuring that test case failures are
reviewed daily and addressed immediately. If such a process is not implemented and ingrained into
the team's workflow, the application will evolve out of sync with the unit test suite—-increasing
false positives and reducing the effectiveness of the test suite.

Integration testing:-

Integration testing is systematic technique for constructing the program structure while at the
same time conducting the tests to uncover errors associated with interfacing. The objective is to
take unit tested components and build a program structure that has been dictated by design.
There are two types of integration – Bottom up integration and Top down integration. Regression
and smoke testing are done in integration testing strategy.

Validation testing:-

Next step is the validation testing where requirements established as part of software
requirements analysis are validated against the software that has been constructed. At the
culmination of integration testing, software is completely assembled as a package, interfacing errors
has been uncovered and corrected, and a final series of software tests i.e. validation testing
begins. Validation succeeds when software functions in a manner that can be reasonably
expected by the customer.
Software validations can be achieved through a series of black-box tests that
demonstrate conformity with requirements. Configuration review, alpha testing and beta
testing techniques are conducted to enable the customer to validate all requirements.
Acceptance tests are conducted by the end-users over a period of weeks or months.

System testing:-
Finally, we arrive at system testing where the software and other system elements are tested as a whole.
System testing verifies that all elements mesh properly and that overall system function / performance
is achieved. Ultimately software is incorporated with other system elements and a series of system
integration and validation tests are conducted.

50
TEST CASES

T E S T C A S E -1

TEST NO: 1
TEST TYPE : UNIT TESTING
INPUT : PASSWORD
OBJECTIVE : CHECKING PASSWORD SECURITY
EXPECTED OUTPUT : ACCESS TO AUTHORIZED USERS ONLY
ACTUAL OUTPUT : PASSWORD SECURITY SUCCESSFUL
RESULT : ACCESS TO ONLY AUTHORIZED USERS

T E S T C A S E -2

TEST NO. : 2
TEST TYPE : UNIT TESTING
INPUT : DATA ENTRY TO REGISTER FORM
OBJECTIVE : TO STORE VALID DATA IN THE TABLE
EXPECTED OUTPUT : SUCCESSFUL DATA STORAGE
ACTUAL OUTPUT : SUCCESSFUL DATA STORAGE
RESULT : DATA STORED

TE S T C A S E : 3

TEST NO. : 3
TEST TYPE : UNIT TESTING
INPUT : DATA ENTRY TO VARIFICATION OF USER TYPE
OBJECTIVE : TO OPEN USER OR ADMIN PAGE
EXPECTED OUTPUT : SUCCESSFUL OPEN USER HOME PAGE
ACTUAL OUTPUT : SUCCESSFUL OPEN USER HOME PAGE
RESULT : ACKNOWLEGMENT

T E S T C A S E -4

TEST NO. : 4
TEST TYPE : UNIT TESTING
INPUT : DATA ENTRY TO USER DETAIL
OBJECTIVE : FOR USER
EXPECTED OUTPUT : SUCCESSFUL USER INSERT IN DATABASE
ACTUAL OUTPUT : SUCCESSFUL USER INSERT IN DATABASE
RESULT : ACKNOWLEGMENT

51
T E S T C A S E -5

TEST NO. : 5
TEST TYPE : UNIT TESTING
INPUT : SECLECT USERS CATEGORY
OBJECTIVE : TO SAVE DATA INTO THE DATABASE
EXPECTED OUTPUT : SAVE DETAILS
ACTUAL OUTPUT : SAVE DETAILS
RESULT : OK

TEST CASE – 6

TEST NO : 6
TEST TYPE : UNIT TESTING
INPUT : SELECT USER
OBJECTIVE : EDIT ACCOUNT SETTING
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

TEST CASE – 7

TEST NO : 7
TEST TYPE : INTEGERATION TESTING
INPUT : SELECT USERS
OBJECTIVE : FOR NOTIFICATION
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

TEST CASE – 8

TEST NO : 8
TEST TYPE : INTEGERATION TESTING
INPUT : SELECT USER
OBJECTIVE : FOR ADDING NEW SCHEDULE
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

52
TEST CASE – 9

TEST NO : 9
TEST TYPE : INTEGERATION TESTING
INPUT : SELECT USER
OBJECTIVE : FOR ACCOUNT RESETTING
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

TEST CASE – 10

TEST NO : 10
TEST TYPE : INTEGERATION TESTING
INPUT : SELECT USERS
OBJECTIVE : FOR FORGET PASSWORD
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

TEST CASE – 11

TEST NO : 12
TEST TYPE : INTEGERATION TESTING
INPUT : SELECT USER
OBJECTIVE : FOR EMAIL MANAGEMENT
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

TEST CASE – 12

TEST NO : 12
TEST TYPE : VALIDATION TESTING
INPUT : SELECT SYSTEM
OBJECTIVE : FOR VALIDATING SYSTEM
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK

TEST CASE – 13
TEST NO : 13
TEST TYPE : SYSTEM TESTING
INPUT : SELECT SYSTEM
OBJECTIVE : FOR PLATFORM NATURE OF SYSTEM
EXPECTED OUTPUT : BETTER MATCHING PROJECT
ACTUAL OUTPUT : BETTER MATCHING PROJECT
RESULT : OK
53
Conclusion

In this short undertaking, we have digitized computer paper work issues of nationwide vaccination
program. This resolves the existing problems which are occurring in the real world. The information
is provided to all the Users (Parents) who have to keep timely vaccination records of their child, in
digitized form, by having remote access to the vaccination server. The centralized system reduces the
paperwork, providing modern database functionalities like concurrency, transaction processing, easy
storage and accessibility of records. The system also provides information about child specialist
doctors. The user interface is simple, providing ease of access. Regular awareness of vaccination has
been achieved, without doing any effort, as the system is automated.

Future Work

 The notification of vaccination schedule is prompted to the user by email.


 This project provides the alerts in the form of sms/messages to the registered user.
 This project is done on struts, but can be implemented on java – spring, having better features.
 It gives best user interaction when project build in spring which makes the loose coupling
between the other functionality and provides easy interaction with others when some other
functionality have any errors.

54
List of Figures:

1. Fig:1. USE CASE diagram for Vaccination Scheduler System.


2. Fig: 2. Class diagram for Vaccination Scheduler System
3. Fig:3. Sequence diagram for Vaccination Scheduler System
4. Fig.:4.Three Tier Architecture for Vaccination Scheduler System(MVC)
5. Fig:5.Login page for Vaccination Scheduler System
6. Fig:6. Registration page for Vaccination Scheduler System
7. Fig:7. Login without entering the Password
8. Fig:8.Validating the Password in the Login page
9. Fig:9.Requesting for new password to reset through email
10. Fig:10.Filling the details of new register child parents
11. Fig:11.PostgreSQL database server.
12. Fig.12 Email sending to the registered users
13. Fig.13 Link sent to registered email-id
14 . Fig.14 Vaccination Chart
15. Fig 15 Service to the users

List of Symbols/Abbreviations

1.) JSP: Java Server Page


2.) CSS: Cascading Style Sheets
3.) HTML: Hyper Text Markup Language
4.) JDBC: Java Dtabase Connectivity
5.) XML: eXtensive Markup Language

55
References

Books
1) Naughton, Patrick, and Herbert Schildt. Java: the complete reference.
Osborne/McGraw-Hill, 1996
2) Sierra, Kathy, and Bert Bates. Head First Java: A Brain-Friendly Guide. O'Reilly
Media, Inc., 2005.
3) Lea, Douglas. Concurrent programming in Java: design principles and patterns.
Addison-Wesley Professional, 2000.
4) McMillan, Mike. "Advanced java programming." (2012).

Website resources:

Core java Concepts Available: https://www.javatpoint.com/java-tutorial


https://www.tutorialspoint.com/java/
JSP programming concepts: Available: https://www.javatpoint.com/jsp-tutorial
Struts Concepts Available: https://www.javatpoint.com/struts-2-tutorial
HTML,CSS, JavaScript Available: https://www.w3schools.com/html/default.asp
https://www.w3schools.com/css/default.asp
https://www.w3schools.com/js/default.asp
PostgreSQL Concepts Available: https://www.javatpoint.com/postgresql-tutorial

56
57
58

You might also like