Survey Tool
Survey Tool
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
2) PROJECT ANALYSIS 5
4) SELECTED SOFTWARE 17
2
5) PROJECT DESIGN 32
5.2) NORMALIZATION
5.5) ER DIAGRAM
6) IMPLEMENTATION 50
7) TESTING 55
8) RESULT ANALYSIS 62
9) MAINTAINENCE 68
11) CONCLUSION 70
12) BIBLIOGRAPHY 71
3
1. INTRODUCTION
4
2. PROJECT ANALYSIS
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.
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.
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.
HARDWARE REQUIREMENTS: -
Pentium IV.
256 MB Ram
Hard disk 2 GB
Microsoft Compatible 101 or more Key Board
SOFTWARE REQUIREMENTS: -
8
3. SOFTWARE 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.
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.
9
3.2. FUNCTIONAL REQUIREMENTS:
OUTPUT DESIGN
OUTPUT DEFINITION:
The outputs should be defined in terms of the following points:
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 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:
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:
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:
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:
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:
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.
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.
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 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.
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.
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?
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
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
The JDBC drivers that we are aware of at this time fit into one of four categories:
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).
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.
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
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.
</pre>
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.
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>.
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
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.
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.
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
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.
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.
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.
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.
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.
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
5. PROJECT DESIGN
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.
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.
Types of 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 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.
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.
5.2) NORMALIZATION:
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.
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
36
ARCHITECTURE
37
Login
Administrator User
Change Check
Details Status
View Assign
Survey Status
Entry Withdraw
Survey
View
Survey
38
Elaborated diagram for : Users
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.
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:
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.
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.
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
LEVEL-1 DFD
Survey Survey
User
Survey Survey
45
LEVEL-2 DFD
Change module
Change
User User data is
changed
User
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
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.
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.
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
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.
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.
LEVELS OF TESTING:
In order to uncover the errors present in different phases we have the
concept of levels of testing.
58
Code Unit Testing
UNIT TESTING
The unit testing checks whether that one component performs
as desired.
59
INTEGRATION TEST
This testing activity can be considered as testing the design and hence emphasis on
testing module interactions
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 .
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
www.w3schools.com
74