Major Project Report3
Major Project Report3
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)
(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:
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.
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-
9
Objectives
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
Software design
o
Programming
o
Testing
o
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
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.
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
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 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.
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 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: –
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:-
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
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
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
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.
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.
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:-
Admin Module.
Registration Module:-
28
Login Module:-
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:-
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.
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:-
This sub module will provide the facility to adding the information about vaccine which is necessary
for baby.
This sub module will responsible to manage the vaccination schedule for baby according to his/her
date of birth.
Management of Database: -
32
Implementation
ScreenShot
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:
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:
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:-
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:-
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
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:-
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
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
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
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
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 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.
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.
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
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.
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
54
List of Figures:
List of Symbols/Abbreviations
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:
56
57
58