0% found this document useful (0 votes)
68 views

Survey Tool

The document discusses developing a survey tool for an organization to launch surveys, record user responses, and view results. It would allow new users to register, existing users to log in and perform tasks like entering surveys, viewing other surveys, updating details, withdrawing surveys, and checking survey status. The system is aimed to computerize the manual survey process and provide automated responses to user actions.

Uploaded by

k saikiran
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views

Survey Tool

The document discusses developing a survey tool for an organization to launch surveys, record user responses, and view results. It would allow new users to register, existing users to log in and perform tasks like entering surveys, viewing other surveys, updating details, withdrawing surveys, and checking survey status. The system is aimed to computerize the manual survey process and provide automated responses to user actions.

Uploaded by

k saikiran
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 74

PREFACE

A computer software succeeds-when it meets the needs of the people who use it,
when it performs flawlessly over a long period of time, when it is easy to modify and
even easier to use and when it does things for the better .But when it is difficult to
change and even harder to use, undesirable events may creep up. It is suggestible to
build a software application that makes things better, avoiding unwanted stuff that
lurk in the shadow of failed efforts.
Computer information systems are the heart of daily activities and a major
consideration in corporate decision making. The development of information system
involves both system analysts and those who will use the applications: it is end-users.
The objective of this documentation is to give system activity that is essential for the
design and development of business system. This documentation is divided in to 3
parts. This will guide through the system development life cycle and explains the
techniques used in each phase.

1
TABLE OF CONTENTS PAGE NO

1) INTRODUCTION 4

1.1) SURVEY IN AN ORGANIZATION

1.2) PROBLEM IN EXISTING SYSTEM

1.3) PURPOSE OF THE PROJECT

2) PROJECT ANALYSIS 5

2.1) STUDY OF THE SYSTEM

2.2) HARDWARE & SOFTWARE SPECIFICATIONS

3) SOFTWARE REQUIRMENT SPECIFICATION 9

3.1) REQUIREMENT SPECIFICATION

3.2) OUTPUT DESIGN

3.3) INPUT DESIGN

3.4) ERROR AVOIDANCE AND MAINTAINENCE

4) SELECTED SOFTWARE 17

4.1) JAVA SERVER PAGES

4.2) HTML & JAVASCRIPT

4.3) MICROSOFT ACCESS

4.4) APACHE TOMCAT 4.1 SERVER

2
5) PROJECT DESIGN 32

5.1) RAD MODEL

5.2) NORMALIZATION

5.3) DATA DICTIONARY

5.4) DATA FLOW DIAGRAMS

5.5) ER DIAGRAM

6) IMPLEMENTATION 50

7) TESTING 55

7.1) TESTING STRATEGIES

7.2) TEST APPROACH

8) RESULT ANALYSIS 62

9) MAINTAINENCE 68

10) FUTURE DEVELOPMENTS 69

11) CONCLUSION 70

12) BIBLIOGRAPHY 71

3
1. INTRODUCTION

1.1 SURVEY IN AN ORGANIZATION:


Generally in organizations such as colleges ,there exists
various departments.The principal is the head of the organization.All the departments will
be under the control of Dept HODS.Students,Faculty including teaching and
nonteaching staff etc are the members in the organization..
All the members of the organization have right to give their report or feedback
on the facilities provided by an organization.They can launch surveys on the facilities
such as Library usage,Hostel,Labs etc.These surveys can be at the Department level or
individual level.These surveys will be helpful in improving the facilities of the
organization.

1.2. PROBLEMS IN EXISTING SYSTEM:


Students will be given some feedback forms to give their feedback on the respective
Faculty.This includes lot of paper work
Counselling process will be done for the students in which their problems will be
noted.For this process separate faculty will be allotted.
CR meetings will be conducted for the classroom problems.
All these counseling processes and meetings consume lot of time.

1.3 PURPOSE OF THE PROJECT


This project is aimed at developing a Survey Tool that is of importance to
either an organization or a college. The Survey Tool System is an application that can be
accessed throughout the organization. This system can be used to launch surveys (such as
Hostel Feedback, Library Usage) and record user responses. All the students of the
organization are legally the users of the System. The Administrator can view the recorded
responses.Here the manual process is computerized.The surveys responses report is
automated.

4
2. PROJECT ANALYSIS

2.1.STUDY OF THE SYSTEM :

Project Title: Development of a feature-rich, practical Survey Tool For An


Organization.

Objective: This project is aimed at developing a survey Tool that I of importance to


either an organization or a college.The survey Tool System is an application that can be
accessed throughout an organization.This system can be used to launch surveys(such as
Hostel Feedback,Library Usage)and record user responsesThe Administrator can view the
recorded responses.
The complete system consists of the following modules

Home page & User Login


Newuser login
Change user details
Entry survey
View survey
Withdraw survey

DESCRIPTION:
Home Page & User Login:-

This project is aimed at developing a Survey Tool for a college. Here the
Home page includes two links for user login and Administrator login. Through these links
they can view their respective login forms. In order to launch a survey, one must register
as a user of the systems usual the members of the college are legally the users of the
system. Only the existing users can launch surveys. Whenever a user gives his correct
user-id and password then only he will login into the system and can launch surveys. If he

5
gives invalid user-id or password, he will be given an automated response that his login is
failure. Also for every entry, validations are made using JavaScript. As soon as gives
valid entries and submits, a form will be generated with various tasks that he can
perform.

New User Login:-


This project is aimed at developing a Survey Tool for a
college. If a new user wants to launch survey, he is a given a new user login form. It
includes username, user-id, password and Email-ID.As soon as he fills the entries in the
form and submits, his data will be saved in the database. An automated response will be
generated informing that his data is saved then he will become the user of the system.
Also for every entry validations are made using JavaScript. He can then launch surveys
on various facilities such as Hostel, Library usage, Transport; Canteen etc.He can submit
his survey on whatever problem that he faces in the college.
As soon as the user logins into the system, a form containing various
tasks is generated. The tasks that he can perform are changing details, entering a survey,
viewing a survey, withdrawing a survey and checking status of a survey.

Change User Details:-


If there exists any changes in the user details they can update
them. Here the system provides the facility to change their details such as username,
password, Email-ID etc.He cannot change his user-id because based on this other details
are updated. Here the user-id is made Read-only. As soon as he updates the details an
automatic response is generated that his details are updated.

Entry Survey:-
By selecting the Survey Entry task a user can enter his survey .surveys
may be on various topics such as Hostel feedback, Library usage, Transport facilities,
Canteen etc.A dropdown list will be displayed in this form containing various topics. He
can9 select the name of the survey and he can submit his report on it. As soon as he

6
submits a survey, an ID will be given to his survey. This is an automated response from
the system.

View Survey:-
By selecting the View Survey task, a user can view the surveys launched
by other users. In the View Survey form, a drop down list containing various survey
names will be displayed. In that list he can choose any survey he wants to see. As soon as
he selects particular survey name and submits, a list of reports will be generated. This list
includes Survey-id,User-id and his report on the survey.

Withdraw Survey:-
By selecting the Withdraw Survey task, a user can withdraw his
survey which he was previously launched. This form includes a drop down list of
Survey-IDs.If a user wants to withdraw his survey on any reason he can withdraw by
selecting his survey-ID in the list. As soon as he selects and submits, a form will be
generated. This form includes survey name, user-id, report, survey-ID and status. If the
administrator approves his survey, it is impossible for him to withdraw his surveys, he
must withdraw his survey before the administrator views. By clicking the WITHDRAW
button that is provided in the form, his survey will be withdrawn and he is given an
automated response that his survey is withdrawn successfully.

Status check of Survey:-


The system provides the facility that a user can check his status
of the survey launched. By selecting the Check Status task, a form will be displayed
containing a drop down list of Survey-IDs.As soon as he selects his Survey-ID in the list
and submits, a form will be displayed. It contains the details such as Survey name, User-
id, Report, Survey-ID and status.If the administrator viewed and approved his survey
then status will be APPROVED.If he doesnt approve, then status will be NOT
APPROVED. If the survey is not viewed by the administrator, then the status will be
NOT KNOWN.

7
Administrator Login:-
The Administrator will maintain all the users in the
system. Administrator Login form contains login-id and password fields. Change in the
login-id and password are not allowed for Administrator. If he gives invalid entries, an
automated response will be generated that his login is unsuccessful. Once he logins
successfully a form containing a drop down list of survey names is displayed. If he
selects a particular survey name and submits, a list of Survey-IDs on that survey will be
displayed. Then he can select a particular Survey-ID so that all the information regarding
that survey will be displayed. It includes Survey name, user-id, Survey report, Survey-ID,
Survey status, Assign status.If the user withdraws his survey before the administrator
views the survey status will be NOT KNOWN. If the administrator views then he can
approve or disapprove the survey. Depending on his decision, status will be assigned. An
automated response generates displaying that the status is assigned.

2.2. HARDWARE AND SOFTWARE REQUIREMENTS:

HARDWARE REQUIREMENTS: -
Pentium IV.
256 MB Ram
Hard disk 2 GB
Microsoft Compatible 101 or more Key Board

SOFTWARE REQUIREMENTS: -

Operating System : Windows XP/98


Front End : JSP,HTML,Java script.
Back End : MS Access 2003
Web Server : Apache Tomcat 4.1

8
3. SOFTWARE REQUIREMENT SPECIFICATION

3.1. REQUIREMENT SPECIFICATION:

INTRODUCTION

Purpose: The main purpose for preparing this document is to give a general insight into
the analysis and requirements of the existing system or situation and for determining the
operating characteristics of the system.

Scope: This Document plays a vital role in the development life cycle (SDLC)
As it describes the complete requirement of the system. It is meant for use by the
developers and will be the basic during testing phase. Any changes made to the
requirements in the future will have to go through formal change approval process.

Developers Responsibilities Overview:

The developer is responsible for:

1) Developing the system, which meets the SRS and solving all the requirements of the
system?

2) Demonstrating the system and installing the system at client's location after the
acceptance testing is successful.

3) Submitting the required user manual describing the system interfaces to work on it and
also the documents of the system.

4) Conducting any user training that might be needed for using the system.

5) Maintaining the system for a period of one year after installation.

9
3.2. FUNCTIONAL REQUIREMENTS:

OUTPUT DESIGN

Outputs from computer systems are required primarily to communicate the


results of processing to users. They are also used to provides a permanent copy of the
results for later consultation. The various types of outputs in general are:

. External Outputs, whose destination is outside the organization.


. Internal Outputs whose destination is with in organization and they are the
users main interface with the computer.
. operational outputs whose use is purely with in the computer department.
. Interface outputs, which involve the user in communicating directly with

OUTPUT DEFINITION:
The outputs should be defined in terms of the following points:

Type of the output


Content of the output
Format of the output
Location of the output
Frequency of the output
Volume of the output
Sequence of the output
It is not always desirable to print or display data as it is held on a
computer. It should be decided as which form of the output is the most
suitable.

For Example
. Will decimal points need to be inserted
. should leading zeros be suppressed.

10
OUTPUT MEDIA:

In the next stage it is to be decided that which medium is the most appropriate for
the output. The main considerations when deciding about the output media are:

.The suitability for the device to the particular application.


The need for a hard copy.
The response time required.
The location of the users
The software and hardware available.
The cost.

Keeping in view the above description the project is to have outputs


mainly coming under the category of internal outputs. The main outputs desired
according to the requirement specification are:

The outputs were needed to be generated as a hot copy and as well as queries to be
viewed on the screen. Keeping in view these outputs, the format for the output is taken
from the outputs, which are currently being obtained after manual processing. The
standard printer is to be used as output media for hard copies.

INPUT DESIGN:
Input design is a part of overall system design. The main objective during the input
designing is as given below:

To produce a cost-effective method of input.


To achieve the highest possible level of accuracy.
To ensure that the input is acceptable and understood by the user.

11
INPUT STAGES:
The main input stages can be listed as below:

Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction

INPUT TYPES
It is necessary to determine the various types of inputs. Inputs can be categorized as
follows:

External inputs, which are prime inputs for the system.


Internal inputs, which are user communications with the system.
Operational, which are computer departments communications to the
system?
Interactive, which are inputs entered during a dialogue.
INPUT MEDIA:

At this stage choice has to be made about the input media. To conclude about the
input media consideration has to be given to;

Type of input
Flexibility of format
Speed
Accuracy

12
Verification methods
Rejection rates
Ease of correction
Storage and handling requirements
Security
Easy to use
Portability

Keeping in view the above description of the input types and input media, it can
be said that most of the inputs are of the form of internal and interactive. As
Input data is to be the directly keyed in by the user, the keyboard can be considered to be
the most suitable input device.

ERROR AVOIDANCE:

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

ERROR DETECTION:

Even though every effort is make to avoid the occurrence of errors, still a small
proportion of errors is always likely to occur, these types of errors can be discovered by
using validations to check the input data.

DATA VALIDATION;

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

13
Whenever an invalid data is keyed in, the system immediately prompts the user and the
user has to again key in the data and the system will accept the data only if the data is
correct. Validations have been included where necessary.

The system is designed to be a user friendly one. In other words the system has
been designed to communicate effectively with the user. The system has been designed
with pop up menus.

USERINTERGFACE DESIGN:

It is essential to consult the system users and discuss their needs while designing
the user interface:

USER INTERFACE SYSTEMS CAN BE BROADLY CLASIFIED AS:

1. User initiated interface the user is in charge, controlling the progress of the
user/computer dialogue. In the computer-initiated interface, the computer
selects the next stage in the interaction.
2. Computer initiated interfaces

In the computer initiated interfaces the computer guides the progress of the
user/computer dialogue. Information is displayed and the user response of the
computer takes action or displays further information.

USER_INITIATED INTERGFACES:

User initiated interfaces fall into tow approximate classes:

1. Command driven interfaces: In this type of interface the user inputs


commands or queries which are interpreted by the computer.

14
2. Forms oriented interface: The user calls up an image of the form to
his/her screen and fills in the form. The forms oriented interface is
chosen because it is the best choice.

COMPUTER-INITIATED INTERFACES:

The following computer initiated interfaces were used:

1. The menu system for the user is presented with a list of alternatives
and the user chooses one; of alternatives.
2. Questions answer type dialog system where the computer asks
question and takes action based on the basis of the users reply.

Right from the start the system is going to be menu driven, the opening menu displays the
available options. Choosing one option gives another popup menu with more options. In
this way every option leads the users to data entry form where the user can key in the
data.

ERROR MESSAGE DESIGN:

The design of error messages is an important part of the user interface design. As
user is bound to commit some errors or other while designing a system the system should
be designed to be helpful by providing the user with information regarding the error
he/she has committed.

This application must be able to produce output at different modules for different
inputs.

3.3. Performance Requirements:

Performance is measured in terms of the output provided by the application.

15
Requirement specification plays an important part in the analysis of a system.
Only when the requirement specifications are properly given, it is possible to design a
system, which will fit into required environment. It rests largely in the part of the users
of the existing system to give the requirement specifications because they are the people
who finally use the system. This is because the requirements have to be known during
the initial stages so that the system can be designed according to those requirements. It is
very difficult to change the system once it has been designed and on the other hand
designing a system, which does not cater to the requirements of the user, is of no use.

The requirement specification for any system can be broadly stated as given
below:

The system should be able to interface with the existing system


The system should be accurate
The system should be better than the existing system

The existing system is completely dependent on the user to perform all the duties.

16
4. SELECTED SOFTWARE
4.1 :Java Server Pages (JSP)

Java server Pages is a simple, yet powerful technology for creating and maintaining
dynamic-content web pages. Based on the Java programming language, Java Server
Pages offers proven portability, open standards, and a mature re-usable component
model .The Java Server Pages architecture enables the separation of content
generation from content presentation. This separation not eases maintenance
headaches, it also allows web team members to focus on their areas of expertise.
Now, web page designer can concentrate on layout, and web application designers on
programming, with minimal concern about impacting each others work.

Steps in the execution of a JSP Application:

1. The client sends a request to the web server for a JSP file by giving the name of
the JSP file within the form tag of a HTML page.

2. This request is transferred to the JavaWebServer. At the server side


JavaWebServer receives the request and if it is a request for a jsp file server gives
this request to the JSP engine.
3. JSP engine is program which can understands the tags of the jsp and then it
converts those tags into a Servlet program and it is stored at the server side. This
Servlet is loaded in the memory and then it is executed and the result is given
back to the JavaWebServer and then it is transferred back to the result is given
back to the JavaWebServer and then it is transferred back to the client.

17
Java Database Connectivity

What Is JDBC?

JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a
trademarked name and is not an acronym; nevertheless, JDBC is often thought of as
standing for Java Database Connectivity. It consists of a set of classes and interfaces
written in the Java programming language. JDBC provides a standard API for
tool/database developers and makes it possible to write database applications using a pure
Java API.
Using JDBC, it is easy to send SQL statements to virtually any relational database. One
can write a single program using the JDBC API, and the program will be able to send
SQL statements to the appropriate database. The combinations of Java and JDBC lets a
programmer write it once and run it anywhere.
What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:


Establish a connection with a database
Send SQL statements
Process the results.

Two-tier and Three-tier Models

The JDBC API supports both two-tier and three-tier models for database access.

In the two-tier model, a Java applet or application talks directly to the database. This
requires a JDBC driver that can communicate with the particular database management
system being accessed. A user's SQL statements are delivered to the database, and the
results of those statements are sent back to the user. The database may be located on
another machine to which the user is connected via a network. This is referred to as a
client/server configuration, with the user's machine as the client, and the machine housing
the database as the server. The network can be an Intranet, which, for example, connects
employees within a corporation, or it can be the Internet.

18
In the three-tier model, commands are sent to a "middle tier" of services, which then send
SQL statements to the database. The database processes the SQL statements and sends
the results back to the middle tier, which then sends them to the user. MIS directors find
the three-tier model very attractive because the
middle tier makes it possible to maintain control over access and the kinds of updates that
can be made to corporate data. Another advantage is that when there is a middle tier, the
user can employ an easy-to-use higher-level API which is translated by the middle tier
into the appropriate low-level calls. Finally, in
many cases the three-tier architecture can provide performance advantages.
Until now the middle tier has typically been written in languages such as C or C+
+, which offer fast performance. However, with the introduction of optimizing compilers
that translate Java byte code into efficient machine-specific

Java applet or
Client machine (GUI)
Html browser

HTTP, RMI, or CORBA calls

Application
Server (Java) DBMS-proprietary
) protocol
JDBC

Database server

DBMS

code, it is becoming practical to implement the middle tier in Java. This is a big
plus, making it possible to take advantage of Java's robustness, multithreading, and
security features. JDBC is important to allow database access from a Java middle tier

JDBC Driver Types

The JDBC drivers that we are aware of at this time fit into one of four categories:

JDBC-ODBC bridge plus ODBC driver


Native-API partly-Java driver
JDBC-Net pure Java driver
Native-protocol pure Java driver

19
JDBC-ODBC Bridge

If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver.
This completely eliminates the client configuration required by ODBC. It also
eliminates the potential that the Java VM could be corrupted by an error in the native
code brought in by the Bridge (that is, the Bridge native library, the ODBC driver
manager library, the ODBC driver library, and the database client library).

What Is the JDBC- ODBC Bridge?

The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by


translating them into ODBC operations. To ODBC it appears as a normal application
program. The Bridge implements JDBC for any database for which an ODBC driver
is available. The Bridge is implemented as the sun.jdbc.odbc Java package and
contains a native library used to access ODBC. The Bridge is a joint development of
Intersolv and JavaSoft.

4.2 : HTML
Hyper Text Markup Language (HTML) is an application widely used to create
web pages. HTML is basically a formatting language and not a programming language.
HTML is a language that is easy to write, easy to understand and highly portable. HTML
is not a compiled language and is directly interpreted by a browser. HTML is the set of
instructions. Each instruction is called as an element or Markup.

The <INPUT> Element


The <INPUT> tag provides some type of data entry in the form depending on the
value of its type attribute.
Attributes
Name-The NAME attribute is used to specify the name of the field.
Value-The VALUE attribute is used to specify a default value for the field.
Type The TYPE attribute is used to specify what type of input mechanism is to be
drawn on the screen. The permissible values are as follows:
Text - The TEXT value is one line-text field.

20
Password - The PASSWORD value is used for entering a password. The text
typed in the box is not displayed.
Checkbox - The CHECKBOX value provides the user with two choices, selected
or not selected.
Radio - The RADIO value is used to select one of many from a set of choices.
Hidden - The HIDDEN value is used to hide information on the form. This data
is not displayed but is returned to the server when submit button is selected.
Submit - The SUBMIT value is used to draw a button on the screen that the user
can select once the form is completed.
Reset - The RESET value is used to draw a button on the screen that a user can
select to reset the form to its original default values.
Select - The SELECT value is used to select any one of the available options. It is
a drop down list and the values are placed in SELECT using OPTION element.
Text area - The TEXTAREA allows entering multiple lines of text.
The <A> Element

The <A>tag is used to insert a hyperlink. Hyperlink is a feature of HTML,


which allows to link to any document or external files from the current page.
Attributes
HREF - The HREF attribute of the Anchor element specifies a URL.

THE LIST ELEMENT

HTML supports several list elements. Most list elements are composed of one
or more <li> (list item) elements.

Unordered List - Items in this list start with a list mark such as a bullet.
Ordered List - the browser numbers Items in this list automatically.
Definition List Each item in this list consists of one or more Definition Terms
followed by one or more Definition Descriptions.

21
The <Table> Element

Table allows to create boundaries that make tables position easier in the
creation of web pages. The <TABLE> element has four sub elements. They are Table
Row<TR>, Table Header<TH>, Table Data<TD> and Caption<CAPTION>.

Attributes
Border The <BORDER> attribute sets the border of the table.
Cell Spacing- It represents the space between the cells.
Cell Padding It represents the space between the cell border and the cell contents.
Width The <WIDTH> attribute sets the width of the table and its cells.

Adding interest to your pages with images


Images can be used to make your Web pages distinctive and greatly help to get
your message across. The simple way to add an image is using the <img> tag

Adding links to other pages


What makes the Web so effective is the ability to define links from one page to
another, and to follow links at the click of a button. A single click can take you right
across the world. Links are defined with the <a> tag. The text between the <a> and the
</a> is used as the caption for the link.
Preformatted Text
One of the advantages of the Web is that text is automatically wrapped into lines fitting
within the current window size. Sometimes though, you will want to disable this
behavior. You do this using the pre element
<pre>
Preformatted text

</pre>

Preformatted text is generally rendered using a monospaced font where each


character has the same width. If you define a style rule for the pre element, some

22
browsers forget to use the monospace font, necessitating the use of the font-family
property.

ADVANTAGES

A HTML document is small and hence easy to send over the net. It is
small because it does not include formatted information.
HTML is platform independent.
HTML tags are not case-sensitive.

Flowing text around images

With HTML, you can choose whether any given image is treated as part of the
current text line or is floated to the left or right margins. You control this via the align
attribute. If the align attribute is set to left the image floats to the left margin. If it is set to
right the image floats to the right margin.

JAVA SCRIPT
Java Script is Netscapes crossplatform, object-based scripting language for
client server application.
Types of Java Script
Navigator Java Script also called client-side Java Script.
Live Wire Java Script also called server-side Java Script.
Using Java Script, dynamic HTML pages can be created that process user input and
maintain persistent data using special objects, files and relational databases. Browser
interprets JavaScript statements embedded in an HTML page. Netscape Navigator 2.0
and Internet Explorer 3.0 versions and later recognize Java Script. Through JavaScript
Live Connect functionally, application can access Java and CORBA distributed-object
applications. Navigator 3.0 and later versions supports Live Connect.

23
Feature of JavaScript (JS)
Browser interprets JS
JS is object based and uses built-in, extensible objects and have no classes or
inheritance
JS is loosely typed language
In JS object reference are checked at runtime
JS is designed to supplement the capabilities of HTML with script that are capable
of responding to web pages events. JS has access to some extent of aspects of the
web browser window.
JS control browser and content but cannot draw graphics or perform networking.
<SCRIPTS>..</SCRIPT>.

<SCRIPT LANGUAGE = JavaScript>

JavaScript statements
</SCRIPT>
Server-side and client-side share the same core language (ECMA-262), the
scripting language standardized by the European standards body that contains core
objects, other features like expressions, statements and operators.
Client-Side JavaScript Features
Controls Documents appearance and content
Control the browser
Interact with the HTML forms
Interact with the user
Read and write client state with cookies
Server- Side JavaScript Features
Embedded in HTML page
Executed at the server
Pre-complied for faster response

Here are a few things we can do with JavaScript :

24
Validate the contents of a form and make calculations.
Add scrolling or changing messages to the Browsers status line.
Animate images or rotate images that change when we move the mouse
over them.
Detect the browser in use and display different content for different
browsers.
Detect installed plug-ins and notify the user if a plug-in is required.
We can do much more with JavaScript, including creating entire application.

4.3 : MICROSOFT ACCESS:

MSAccess allows to manage all the information from a single database


file. A database is a collection of data and objects related to a particular topic or purpose.
With in this file we can divide data and store in different tables. The data in the table can
be viewed, modified, added or deleted. We can analyze or print data in a specific layout
by using reports. We can find and retrieve data that meets a criterion, using query.
MSAcess is a relational database management program or RDBMS.
RDBMS is a set of two dimensional tables in which data is represented in rows and
columns. A relation between tables can be built. When a report has to be generated, a
relationship can be built between tables and also fields from different tables can be
combined together to form the report. In this manner only the data required is displayed.
An Access database consists of objects such as tables, which contain data, forms, and
queries and reports. These objects are used to manage the data in the database.

Starting MSAccess:
To start Access, click on the start button on the task bar and place the
pointer on the programs items. A sub menu of the programs items is displayed. In this
menu click on the items which shows MicroSoft Access. A dialog box is displayed with
the option of creating a new database or opening an existing database.

25
Creating a DataBase:
The access dialog box appears as soon as the application window opens.
Access includes a database wizard that allows customizing one of the predesigned
databases from scratch, choosing blank database and clicking Ok. We are now asked to
type the file name and location for the database. Database must be saved before creating
tables.

Access DataBase includes seven types of objects:


Table : holds information
Forms : allows to view, print and edit the information.
Report : used for summary and printing data.
Pages : allows to view, access data with Internet Explorer
Queries: allows to extract information from database
Macros : allows to perform common tasks with out human intervention
Modules : these are programs written to automate and customize database
function.

Creating a blank Database:


To create a blank data base, click on the new database or Ctrl+N option
in the file menu. New dialog box is displayed.
In the general tab, select the database on click on the Ok button. The file
new database dialog box is displayed. Here the user has to specify the name of the
database and the folder in which the database is to be stored and click on the Create
button. The name can be up to 256 characters and can contain blank spaces.

Navigating in Access:
When a database is opened or created, a database window is displayed.
This window consists of all the objects that make up the database.
Database window is the main tool for navigating in access. With the
database window displayed,we click on the objects for viewing a list of tables, forms,
queries, reports , across pages and modules.

26
The buttons on the tool bar are New, Design and open which can be used
to work with the objects. Select the objects with which we have to work and then use the
three buttons.
New for creating a new object of the selected type
Design for opening the object in the design mode to
make any changes
Open - for viewing the selected objects and entering

Tables:
All the information we enter in an access database gets stored in a table. Click the
table button on the left navigation bar to cause the table page to open in the database
window.
In the database window, three methods are listed:
Create Table in design view.
Create Table by using wizard.
Create Table by entering data.

Select create tables in design view and click on New button. The following list is
displayed in the Table dialog box.
Datasheet view
Design view
Table wizard
Import Table
Link Table

Creating Table using Design view:


Design view is the view in which the user defines the field names
and the data type of the field. This is also called as designing the table. Some

27
fields contain text numbers, date/time and so on. In the database window, click
tables under objects and then click New on the database window tool bar, and
then Double Click design view.
The design view contains three columns, namely field name,
data type and description. The name of the field specified in the field name
column appears as a single row. These rows in the design view get mapped as
columns in the datasheet view.
A new field can be inserted between the existing fields by
clicking the cursor in to the row, and selecting insert rows from the insert
menu.
To delete the field, click any where in the row and choose delete
rows from the edit menu or delete key.
From a data base the retrieval of the data can be faster with the
help of a primary key. A primary key is a field that uniquely identifies each
record in a table. Usually this field is sequentially numbered. It is best to create
primary key with data type Auto Number.

Data types:
The following are the data types with Access:
Text holds up to 255 characters.
Memo holds text up to 65000 characters.
Numbers holds numbers used in calculations.
Date/Time holds dates and times.
Currency holds numbers used as amount of currency
Auto Number- holds sequential numbers which are entered by
access .
Yes/No holds any two values.
OLE Object- holds data from other window applications that
supports object linking and embedding .

28
Hyperlink - holds the address of an object, document or web
page, which can be displayed by clicking the field.
Look up wizard the user chooses values from a list of this field.

Every field has properties that control how the field contents
are displayed, stored, controlled or validated. In the design views, the field
properties are shown at the bottom of the window. All data types except Auto
Number have the properties Format, Caption, Default values, Validation rule,
Validation text, Field size, Input mask, Allow zero length, Indexed and
Unicode compression.
We can add, edit, delete records in a table, sort the records in either
ascending or descending order, filter the record, move, resize, hide/unhide,
freeze the columns etc., in Access.

4.4 : Apache Tomcat Server

Apache Tomcat is the servlet container that is used in the official Reference
Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet
and JavaServer Pages specifications are developed by Sun under the Java Community
Process.

Apache Tomcat is developed in an open and participatory environment and released


under the Apache Software License. Apache Tomcat is intended to be a collaboration of
the best-of-breed developers from around the world. We invite you to participate in this
open development project.

Apache Tomcat powers numerous large-scale, mission-critical web applications across a


diverse range of industries and organizations.

29
Client Server

Over view:

With the varied topic in existence in the fields of computers, Client Server is one, which
has generated more heat than light, and also more hype than reality. This
technology has acquired a certain critical mass attention with its dedication
conferences and magazines. Major computer vendors such as IBM and DEC,
have declared that Client Servers is their main future market. A survey of DBMS
magazine reveled that 76% of its readers were actively looking at the client
server solution. The growth in the client server development tools from $200
million in 1992 to more than $1.2 billion in 1996.
Client server implementations are complex but the underlying concept is simple and
powerful. A client is an application running with local resources but able to request the
database and relate the services from separate remote server. The software mediating this
client server interaction is often referred to as MIDDLEWARE.

The typical client either a PC or a Work Station connected through a network to a more
powerful PC, Workstation, Midrange or Main Frames server usually capable of handling
request from more than one client. However, with some configuration server may also act
as client. A server may need to access other server in order to process the original client
request.

The key client server idea is that client as user is essentially insulated from the physical
location and formats of the data needs for their application. With the proper middleware,
a client input from or report can transparently access and manipulate both local database
on the client machine and remote databases on one or more servers. An added bonus is
the client server opens the door to multi-vendor database access indulging heterogeneous
table joins.

What is a Client Server ?

Two prominent systems in existence are client server and file server systems. It is
essential to distinguish between client servers and file server systems. Both provide
shared network access to data but the comparison dens there! The file server simply

30
provides a remote disk drive that can be accessed by LAN applications on a file by file
basis. The client server offers full relational database services such as SQL-Access,
Record modifying, Insert, Delete with full relational integrity backup/ restore
performance for high volume of transactions, etc. the client server middleware provides a
flexible interface between client and server, who does what, when and to whom.

Why Client Server ?

Client server has evolved to solve a problem that has been around since the earliest days
of computing: how best to distribute your computing, data generation and data storage
resources in order to obtain efficient, cost effective departmental an enterprise wide data
processing. During mainframe era choices were quite limited. A central machine housed
both the CPU and DATA (cards, tapes, drums and later disks). Access to these resources
was initially confined to batched runs that produced departmental reports at the
appropriate intervals. A strong central information service department ruled the
corporation. The role of the rest of the corporation limited to requesting new or more
frequent reports and to provide hand written forms from which the central data banks
were created and updated. The earliest client server solutions therefore could best be
characterized as SLAVE-MASTER.

Front end or User Interface Design

The entire user interface is planned to be developed in browser specific environment with
a touch of Intranet-Based Architecture for achieving the Distributed Concept.

The browser specific components are designed by using the HTML standards, and the
dynamism of the designed by concentrating on the constructs of the Java Server Pages.

31
Communication or Database Connectivity Tier

The Communication architecture is designed by concentrating on the Standards of


Servlets and Enterprise Java Beans. The database connectivity is established by using the
Java Data Base Connectivity

5. PROJECT DESIGN

5.1. SOFTWARE ENGINEERING PARADIGM APPLIED- (RAD-MODEL):

The two design objectives continuously sought by developers are reliability


and maintenance.

Reliable System:
There are two levels of reliability. The first is meeting the right requirements. A
careful and through systems study is needed to satisfy this aspect of reliability. The
second level of systems reliability involves the actual working delivered to the user. At
this level, the systems reliability is interwoven with software engineering and
development. There are three approaches to reliability.

1. Error avoidance: Prevents errors from occurring in software.


2. Error detection and correction: In this approach errors are recognized whenever
they are encountered and correcting the error by effect of error, of the system does not
fail.
3. Error tolerance: In this approach errors are recognized whenever they occur, but
enables the system to keep running through degraded perform or by applying values
that instruct the system to continue process.

Maintenance:
The key to reducing need for maintenance, while working, if possible to do essential
tasks.

32
1. More accurately defining user requirement during system development.
2. Assembling better systems documentation.
3. Using more effective methods for designing, processing, login and communicating
information with project team members.
4. Making better use of existing tools and techniques.
5. Managing system engineering process effectively.

One of the most important factors of an information system for the user is the
output the system produces. Without the quality of the output, the entire system may
appear unnecessary that will make us avoid using it possibly causing it to fail. Designing
the output should process the in an organized well throughout the manner. The right
output must be developed while ensuring that each output element is designed so that
people will find the system easy to use effectively.

The term output applying to information produced by an information system


whether printed or displayed while designing the output we should identify the specific
output that is needed to information requirements select a method to present the
formation and create a document report or other formats that contains produced by the
system.

Types of output:

Whether the output is formatted report or a simple listing of the contents of a


file, a computer process will produce the output.

A Document
A Message
Retrieval from a data store
Transmission from a process or system activity
Directly from an output sources

Layout Design:

33
It is an arrangement of items on the output medium. The layouts are building a
mock up of the actual reports or document, as it will appear after the system is in
operation. The output layout has been designated to cover information. The outputs are
presented in the appendix.

Input design and control:

Input specifications describe the manner in which data enter the system for
processing. Input design features will ensure the reliability of the systems and produce
results from accurate data, or thus can be result in the production of erroneous
information. The input design also determines whenever the user can interact efficiently
with this system.

Objectives of input design:


Input design consists of developing specifications and procedures for data
preparation, the steps necessary to put transaction data into a usable from for
processing and data entry, the activity of data into the computer processing. The five
objectives of input design are:

Controlling the amount of input


Avoiding delay
Avoiding error in data
Avoiding extra steps
Keeping the process simple

Controlling the amount of input:

Data preparation and data entry operation depend on people, because labor
costs are high, the cost of preparing and entering data is also high. Reducing data

34
requirement expense. By reducing input requirement the speed of entire process from
data capturing to processing to provide results to users.

Avoiding delay:
The processing delay resulting from data preparation or data entry
operations is called bottlenecks. Avoiding bottlenecks should be one objective of
input.

Avoiding extra steps:


The designer should avoid the input design that cause extra steps in
processing saving or adding a single step in large number of transactions saves a lot
of processing time or takes more time to process.

Keeping process simple:


If controls are more people may feel difficult in using the systems. The best-
designed system fits the people who use it in a way that is comfortable for them.

5.2) NORMALIZATION:

It is a process of converting a relation to a standard form. The process is


used to handle the problems that can arise due to data redundancy i.e. repetition of data in
the database, maintain data integrity as well as handling problems that can arise due to
insertion, updating, deletion anomalies.

Decomposing is the process of splitting relations into multiple relations to


eliminate anomalies and maintain anomalies and maintain data integrity. To do this we
use normal forms or rules for structuring relation.

Insertion anomaly: Inability to add data to the database due to absence of other data.
Deletion anomaly: Unintended loss of data due to deletion of other data.

35
Update anomaly: Data inconsistency resulting from data redundancy and partial update
Normal Forms: These are the rules for structuring relations that eliminate anomalies.

First Normal Form:


A relation is said to be in first normal form if the values in the relation are atomic for
every attribute in the relation. By this we mean simply that no attribute value can be a set
of values or, as it is sometimes expressed, a repeating group.

Second Normal Form:

A relation is said to be in second Normal form is it is in first normal form and it


should satisfy any one of the following rules.

Third Normal Form:

A relation is said to be in third normal form if their exits no transitive


dependencies.

Transitive Dependency: If two non key attributes depend on each other as well as on
the primary key then they are said to be transitively dependent.
5.3) Data Dictionary:

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

Field Name Data Type Description


Username Text Name of the student
Userid Text Roll no of the student
Password Text Password for the student
Email Text Email id of the student

36
ARCHITECTURE

37
Login

Administrator User

Change Check
Details Status
View Assign
Survey Status

Entry Withdraw
Survey

View
Survey

38
Elaborated diagram for : Users

Login Enter user Authenticate Enter Authenticate


Screen name user name password password

Request by Enter the Validate


new user reqd data user id Store
Provide
the reqd
previlages
to access.
Request Enter the Correlate
for Data for user id and
Change change data Store

Request for Enter the Display of survey


User View survey Survey name details

Request for Enter the Display of


Entry survey report Store Survey ID

Request for Enter the Verify if According


Withdraw Survey ID Approved deletion
or not of survey

Request for Enter the Check the 39


Check status Survey ID status of
survey
DATA FLOW DIAGRAM:

A data flow diagram is graphical tool used to describe and analyze movement of
data through a system. These are the central tool and the basis from which the other
components are developed. The transformation of data from input to output, through
processed, may be described logically and independently of physical components
associated with the system. These are known as the logical data flow diagrams. The
physical data flow diagrams show the actual implements and movement of data between
people, departments and workstations. A full description of a system actually consists of
a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson
notation develops the data flow diagrams. Each component in a DFD is labeled with a
descriptive name. Process is further identified with a number that will be used for
identification purpose. The development of DFDs is done in several levels. Each
process in lower level diagrams can be broken down into a more detailed DFD in the next
level. The lop-level diagram is often called context diagram. It consists a single process
bit, which plays vital role in studying the current system. The process in the context level
diagram is exploded into other process at the first level DFD.

The idea behind the explosion of a process into more process is that
understanding at one level of detail is exploded into greater detail at the next level. This
is done until further explosion is necessary and an adequate amount of detail is described
for analyst to understand the process.

Larry Constantine first developed the DFD as a way of expressing system


requirements in a graphical from, this lead to the modular design.

A DFD is also known as a bubble Chart has the purpose of clarifying system
requirements and identifying major transformations that will become programs in system
design. So it is the starting point of the design to the lowest level of detail. A DFD
consists of a series of bubbles joined by data flows in the system.

40
DFD SYMBOLS:

In the DFD, there are four symbols

1. A square defines a source(originator) or destination of system data


2. An arrow identifies data flow. It is the pipeline through which the information flows
3. A circle or a bubble represents a process that transforms incoming data flow into
outgoing data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

Source or Destination of data

Data flow

Data Store

CONSTRUCTING A DFD:

41
Several rules of thumb are used in drawing DFDs:

1. Process should be named and numbered for an easy reference. Each name should be
representative of the process.

2. The direction of flow is from top to bottom and from left to right. Data Traditionally
flow from source to the destination although they may flow back to the source. One
way to indicate this is to draw long flow line back to a source. An alternative way is
to repeat the source symbol as a destination. Since it is used more than once in the
DFD it is marked with a short diagonal.
3. When a process is exploded into lower level details, they are numbered.
4. The names of data stores and destinations are written in capital letters. Process and
dataflow names have the first letter of each work capitalized

A DFD typically shows the minimum contents of data store. Each data store should
contain all the data elements that flow in and out.

Questionnaires should contain all the data elements that flow in and out. Missing
interfaces redundancies and like is then accounted for often through interviews.

SAILENT FEATURES OF DFDs

1. The DFD shows flow of data, not of control loops and decision are controlled
considerations do not appear on a DFD.
2. The DFD does not indicate the time factor involved in any process whether the
data flows take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD.

42
TYPES OF DATA FLOW DIAGRAMS
1. Current Physical
2. Current Logical
3. New Logical
4. New Physical

CURRENT PHYSICAL:

In Current Physical DFD process label include the name of people or their
positions or the names of computer systems that might provide some of the overall
system-processing label includes an identification of the technology used to process the
data. Similarly data flows and data stores are often labels with the names of the actual
physical media on which data are stored such as file folders, computer files, business
forms or computer tapes.

CURRENT LOGICAL:

The physical aspects at the system are removed as mush as possible so that the
current system is reduced to its essence to the data and the processors that transforms
them regardless of actual physical form.

NEW LOGICAL:

This is exactly like a current logical model if the user were completely happy with
he user were completely happy with the functionality of the current system but had
problems with how it was implemented typically through the new logical model will
differ from current logical model while having additional functions, absolute function
removal and inefficient flows recognized.

43
NEW PHYSICAL:

The new physical represents only the physical implementation of the new system.

RULES GOVERNING THE DFDS

PROCESS
1) No process can have only outputs.
2) No process can have only inputs. If an object has only inputs then it must be a
sink.
3) A process has a verb phrase label.

DATA STORE
1) Data cannot move directly from one data store to another data store, a process
must move data.
2) Data cannot move directly from an outside source to a data store, a process,
which receives, must move data from the source and place the data into data
store
3) A data store has a noun phrase label.

SOURCE OR SINK
The origin and /or destination of data.

1) Data cannot move direly from a source to sink it must be moved by a process
2) A source and /or sink has a noun phrase land

44
LEVEL-0 DFD

Survey report
User SURVEY TOOL
FOR AN
ORGANIZATION

Administrator Survey status

LEVEL-1 DFD

Survey Survey
User

User Change Entry View Check Withdraw


Survey Survey Status

Survey Survey

45
LEVEL-2 DFD

Change module

Change
User User data is
changed

User

Entry Survey module

Survey report
Entry to administrator
User Survey

Survey

46
ER DIAGRAM

47
Password Password
E-mail
Userid User
User E-mail
Name
Name
User Data Change
Updated
Entry Details
Survey
Name
Userid Report Survey
Report
name

Survey Withdraw Entry Surveyid


details Survey survey
Surveyid
Surveyid Survey Userid
Survey
Name Report
Survey Check Survey
View information
Status status
survey
Status
Survey
name
Userid Report Userid
Survey
Report
Survey Surveyid Survey
Surveyid
name Name
Data Select
Administrator Survey
Entry survey

Userid Password

N
Not Assign
approved Status
Y

Approved

48
6. IMPLEMENTATION
SAMPLE CODE:
CODE FOR ENTERING A SURVEY
<%@ page import="java.sql.*;" session="true" %>
<%
String userid=(String)session.getValue("uid");
%>
<html><title>New Survey </title>
<head>
</head>
<body background="hari2.jpg">
<form method="post" action="surveyentry.jsp">
<br><br><br><br><font size="5" face="Verdana, Arial, Helvetica, sans-serif"
color=red><center><strong><u> Survey Entry</strong></font>
<br><br><br><center><br><br><br>
<table border="0" cellspacing="10" cellpadding="10" style=" background:dodgerblue">
<tr><th><td>
<INPUT TYPE=HIDDEN VALUE=<%=userid%> name="uid">
<b>Survey Name:</b> <select name="surveyname"><option>Library </option>
<option>Canteen </option>
<option>Hostel </option>
<option>Faculty </option>
<option>Transport </option>
<option>Labs </option>
<option>Sports</option>
<option>Syllabus</option>
</select>
</td></th></tr>
<tr><th><b> Report:</b></th><td><textarea rows=8 cols=60
name="repsurvey"></textarea></td></tr>
<tr><th><td>

49
<b><input type = submit style="font-weight: bold" value = " ok " size=10></th>
<b><input type = reset style="font-weight: bold" value = " clear " size=10></th></tr>
</table>
</center>
</form>
</body>
</html>
CODE FOR VIEW SURVEY
<%@ page import="java.sql.*" %>
<body bgcolor="bisque">
<%
String sidr=request.getParameter("survey");
out.println("<H3><center> <u>View For Survey :"+sidr+"</u></center></H3>");
out.println("<pre> <b> SURVEYID USERID REPORT </pre></b>");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cnn=DriverManager.getConnection("jdbc:odbc:harsha");
String qry="SELECT * FROM SURVEY WHERE NAME=? AND STATUS=?";
PreparedStatement pst=cnn.prepareStatement(qry);
pst.setString(1,sidr);
pst.setString(2,"APPROVED");
ResultSet rs=pst.executeQuery();
while(rs.next())
{
String uname=rs.getString("name");
String uid=rs.getString("userid");
String ureport=rs.getString("report");
String usid=rs.getString("sid");
String ustatus=rs.getString("status");
%>

50
<FORM METHOD="POST">
<CENTER>
<INPUT TYPE=HIDDEN VALUE=<%=usid%> NAME="surid">
<INPUT TYPE="BUTTON" VALUE=<%=usid%>
<%=uid%> <TEXTAREA ROWS=2 COLS=50 NAME="urep"><%=ureport
%></TEXTAREA><BR>
</CENTER>
</FORM>
<%
}
cnn.close();
}
catch(SQLException ee)
{
out.println("error"+ee);
}
%>
CODE FOR WITHDRAW SURVEY
<%@ page import="java.sql.*;" session="true" %>
<%
String userid=(String)session.getValue("uid");
%>
<html><title>Check Status </title>
<head>
</head>
<body background="hari2.jpg">
<form method="post" action="wdstatus.jsp">
<br><br>
<Br><br><font size="5" face="Verdana, Arial, Helvetica, sans-serif"
color=red><center><strong><u>Withdraw Survey</strong></font>
<br><br><br><br>

51
<center><br><br><br>
<table border="0" cellspacing="10" cellpadding="10" style=" background:dodgerblue">
<tr><th><td>
SURVEY ID <select name="survey">
<%
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cnn=DriverManager.getConnection("jdbc:odbc:harsha");
String qry="SELECT * FROM SURVEY WHERE USERID=?";
PreparedStatement pst=cnn.prepareStatement(qry);
pst.setString(1,userid);
ResultSet rs=pst.executeQuery();
while(rs.next())
{
out.println("<option>"+rs.getString("sid"));
}
cnn.close();
}
catch(SQLException ee)
{
out.println("error"+ee);
}
%>
</select>
</td></th></tr>
<tr><th><td><b>
<CENTER>
<input type = submit style="font-weight: bold" value = " Ok "
size=10></b></td></th></tr>
</CENTER>

52
</table>
</form>
</body>
</html>
CODE FOR ASSIGNING STATUS FOR THE SURVEY
<body bgcolor="bisque">
<%@ page import="java.sql.*" %>
<%
String sidr=request.getParameter("usid");
out.println("<H3><center> VIEW FOR SURVEY NO. "+sidr+"</H3>");
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cnn=DriverManager.getConnection("jdbc:odbc:harsha");
String qry="SELECT * FROM SURVEY WHERE SID=?";
PreparedStatement pst=cnn.prepareStatement(qry);
pst.setString(1,sidr);
ResultSet rs=pst.executeQuery();
while(rs.next())
{
String uname=rs.getString("name");
String uid=rs.getString("userid");
String ureport=rs.getString("report");
String usid=rs.getString("sid");
String ustatus=rs.getString("status");
%>
<FORM METHOD="POST" ACTION="chgstat.jsp">
<DIV ALIGN=CENTER><font size="3" face="Verdana, Arial, Helvetica, sans-serif"
><center><strong>
<br><br>
SURVEY NAME: <INPUT TYPE=TEXT VALUE=<%=uname%> NAME="suname"
READONLY> <BR><BR>

53
USER ID: <INPUT TYPE=TEXT VALUE=<%=uid%> NAME="suid" READONLY>
<BR><BR> SURVEY REPORT: <TEXTAREA ROWS=2 COLS=50 NAME="urep"
READONLY><%=ureport%></TEXTAREA><BR><BR>
SURVEY ID: <INPUT TYPE=TEXT VALUE=<%=usid%> NAME="usid"
READONLY> <BR><BR>
SURVEY STATUS: [ <%=ustatus%> ]<BR><BR>
ASSIGN STATUS :<SELECT NAME="ustat">
<OPTION>APPROVED
<OPTION>NOT APPROVED
</SELECT></strong></font>
<br><br><br> <INPUT TYPE="SUBMIT" VALUE="ASSIGN">
</DIV>
</FORM>
<%
}
cnn.close();
}
catch(SQLException ee)
{
out.println("error"+ee);
}
%>

54
7. TESTING
SYSTEM TESTING

Testing is the process of detecting errors. Testing performs a very critical role for
quality assurance and for ensuring the reliability of software .The results of testing are
used later on during maintenance also.

TESTING OBJECTIVES
The main objective of testing is to uncover a host of errors, systematically
and with minimum effort and time. Stating formally, we can say,Testing is a process of
executing a program with intent of finding an error a successful test is one that uncovers
an as yet undiscovered error. A good test case is one that has a high probability of finding
an error, if it exists. The tests are inadequate to detect possibly present errors. The
software more or less confirms to the quality and reliable standards.

7.1 TESTING STRATAGIES

1. Unit Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the
module. Using the detailed design and the process specification testing is done to uncover
errors with in the boundary of the module. All modules must be successful in the unit test.

2. System Testing
Here the entire software system is tested. The reference document
for this process is the requirements document, and the goal OS to see a software meets
its requirements.

3. Acceptance Testing

55
Acceptance test is performed with realistic data of the client to
demonstrate that the software is working satisfactorily. Testing here is focus on external
behavior of the system; the internal logic of program is not emphasized.

4. White Box Testing


This is the unit testing method where a unit will be taken at a time and tested
thoroughly at a statement level to find the maximum possible errors.We tested step wise
every piece of code, taking care that every statement in the code is executed at least once,
The white box testing is also called GLASS BOX Testing.

5. Black Box Testing


Here the module will be treated as a black box that will take some input and
generate output. Output for a given set of input combinations are forwarded to other
module.
We have performed black box testing by taking different combinations of
inputs such that the input passed will be transferred to different modules and is used
correctly.

TEST PLAN
Testing commence with a test plan and terminates with acceptance testing. Test
plan is a general document for the entire project that defines the scope, approach to be
taken and the schedule of testing as well identifies the test item for the entire testing
process and the personal responsible for the different activities of testing. The test
planning can be done in parallel with the coding and design phases. The inputs forming
the test plan are
Test unit specification
Features to be tested
Approaches for testing
Test deliverables
Schedule

56
Personal allocation
The test unit is a set of one or more modules; together with associated data that are from
single computer program and that are objects of testing

Test Plan Document


A test plan is a general document for a entire project, which defines the scope,
approach to be taken and the schedule of testing, as well as identifying the test items for
entire testing process and the personal responsible for the different activities of testing.
A test plan should contain the following:

Test Unit Specification


A test unit is a set of one or more modules together with associated data which
are from a single program and which are the object of testing. Test unit may be a module,
a few modules or a complete program. Different units are usually specified for unit
integration and system testing. In our project test unit is a module.

Features to Be Tested
Features to be tested include all software features and combination of features
that should be tested. A software feature is software characteristics specified or simplified
by the requirements of design documents. These may include functionality, performance,
design constraints and attributes.
All the functional features specified in the requirements document are tested .No
testing will be done for the performance.

APPROACH FOR TESTING


The approach for testing specifies the over all approach to be followed in the current
project. This is sometimes called testing criteria.
All the testings are done one by one in an order as mentioned above.

Schedule

57
The test log provides chronological record of relevant details about the execution
of test case. Different activities of testing and testing of different units that have
identified. Different test cases are identified and applied to each module of the project do
that each and every case of the project is verified correctly and is working well.

Test Case Report


Here we specify all the test cases that are used for the system testing.
The different conditions that need to be tested along with the test cases used for testing
those conditions and the expected outputs are given. The goal is to test the different
function requirements, a specified in the requirement documents.
Test cases have been selected for both valid and invalid inputs.

LEVELS OF TESTING:
In order to uncover the errors present in different phases we have the
concept of levels of testing.

The basic levels of testing are:

Client Needs Acceptance testing

Requirements System Testing

Design Integration Testing

58
Code Unit Testing

SYSTEM TEST PLAN:


The entire software system is tested.
Test Condition Description of Expected results Covered by script
ID coverage
1 Verification of a If a particular This type of test in
particular record record already {$verify} procedure in every
exists it displays a asp file where a record is
message inserted via an interface

UNIT TESTING
The unit testing checks whether that one component performs
as desired.

Test Description of Expected results Covered by script


Condition ID coverage
1 Transaction entries Should not allow Should not allow
should allow the duplicate records duplicate records
administrator to add the
academic details of the
students.
2 Transaction updates Should not allow to The respective fields
should allow the user change the important are disabled before
(the student and the details such as group allowing them to
administrator) to modify bank transactions and update
some of the details only etc.
to be updated

59
INTEGRATION TEST

This testing activity can be considered as testing the design and hence emphasis on
testing module interactions

Test Description of Expected results Covered by script


Condition coverage
ID
1 Completeness of Should not allow A proper message has
details: Whether all entering the details to be displayed for
the required values are if required details requesting all details.
provided are not are not provided.
2 Correctness of Details: Should not allow to Proper message has to
insert the details if be displayed for
the entered details requesting exact details.
are invalid in terms
of date or entry
method
3 Transfer of data: Should not allow Message has to be
Whether the data duplicate values to displayed after
given is being be transferred. transferring data
transferred between between modules is
modules correctly with complete.
out any loss or not.

7.2 TEST APPROACH

60
Testing can be done in two ways:
Bottom up approach
Top down approach

Validation Testing
The system has been tested and implemented successfully and thus ensured that all the
requirements as listed in the software requirements specification are completely fulfilled.
In case of erroneous input corresponding error messages are displayed. In this we have to
do in JavaScript, as only you have to enter the Varchar type. In this case if we have
entered numeric then it shows error. Whenever user logins into their form he/she must fill
every field otherwise it shows an error.

61
8. RESULT ANALYSIS

62
63
64
65
66
67
68
69
70
9. MAINTENANCE
Maintenance the last phase in the software engineering process. As more programs are
developed, a distributing trend has emerged the amount of effort and a resource expended
on software maintenance is growing. In total project development maintenance takes 65%
of effort. In software maintenance there are four types. They are
1. Adaptive Maintenance
2. Corrective Maintenance
3. Perfective Maintenance
4. Preventive Maintenance
Adaptive Maintenance is applied when changes in the external environment precipitate
modifications to software. It deals with adapting the software to new environments.
Perfective Maintenance incorporates enhancements that are requested by user
community. It deals with updating the software according to changes in user
requirements.
Corrective Maintenance acts to correct errors that are uncovered after the software is in
use. It deals with fixing bugs in the code.
Preventive Maintenance improves future maintainability and reliability and provides a
basis for future enhancement. It deals with updating documentation and making the
software more maintainable. Tasks performed during the software engineering process
define maintainability and have an important impact in the success of any maintenance
approach. Reverse Engineering and Reengineering are the tools and techniques used to
maintain the project.
There are four major problems that can slow down the maintenance process
1. Unstructured Code
2. Maintenance programmers having insufficient knowledge of the system
3. Documentation being absent
4. Out of Date, or at best insufficient
The success of the maintenance phase relies on these problems being fixed earlieR

71
10. Future Developments

Email notifications regarding the surveys can be sent to the target audience
automatically.

Dept wise surveying can be done with HOD as Dept Administrator so that more
interactivity can be achieved .

A summary report of the survey results can be generated( in excel or word)

72
11. CONCLUSION
.
The system provides an excellent support for the users as they can directly submit
the surveys launched to the Administrator.
Lot of paperwork, time intended for counseling process can be reduced..
Computerized surveying system provides an easy,fast access and support for the
users.
The usage of software increases the efficiency, decreases the effort
It has been thoroughly tested and implemented.

73
12. BIBLIOGRAPHY

References for the Project Development were taken from the


f o l l o w i n g B o o k s a n d We b S i t e s .

JSP Complete Reference


HTML Black Book by Steven Holzner

Software Engineering by Roger Pressman

www.w3schools.com

74

You might also like