You are on page 1of 59

Table of Contents

Abstract
E-Classified is a web application which is dealing with various
advertisement submitted by the admin of the website or by the
customers. There are two types of customers here one who is the
owner and the second who wants the details or the guest. The
owner has to register the information into the site and after
becoming a member he/she can post the advertisements in the site.
The advertisement can also be posted by the admin of the website.

The advertisement has various category such as Rental, Used


Vehicle, News Paper, Hotels, Tourism, Books, Entertainment,
Movies, Shopping, Electronics etc. All the item information has to
register, the guest can open the site and view all the ads and can
also request for each item.

The guest can also send a feedback to the admin of the site and
also send feedback to the owner of the item. If any item he/she
wants to purchase guest can also purchase online or can order.

Customer can also search for the job and apply online. They can
choose any course and send a request to the institutions for
learning or can apply for online examination.

All can be done by browsing from a single website and staying in


one room.
Introduction(Requirements Gathering)
1.1. Purpose
E-Classified is a web application which is dealing with various
advertisement submitted by the admin of the website or by the
customers. There are two types of customers here one who is the owner
and the second who wants the details or the guest. The owner has to
register the information into the site and after becoming a member
he/she can post the advertisements in the site. The advertisement can
also be posted by the admin of the website.
The advertisement has various category such as Rental, Used Vehicle,
News Paper, Hotels, Tourism, Books, Entertainment, Movies, Shopping,
Electronics etc. All the item information has to register, the guest can
open the site and view all the ads and can also request for each item.
The guest can also send a feedback to the admin of the site and also send
feedback to the owner of the item. If any item he/she wants to purchase
guest can also purchase online or can order.
Customer can also search for the job and apply online. They can choose
any course and send a request to the institutions for learning or can apply
for online examination.

2.2 Scope
It is very difficult to the user to find out the details of the item at
what time they require in the city. This classified contains all details regarding all
types of advertisement from real estate to matrimony and from news paper to
news channels. With a short period of time we can fulfill all our requirements and
can buy or purchase the products.

We can also post our ads and can purchase the existing or we can search
for any item. This site also includes the coaching classes, jobs, loan/finance.

2.3Goals
The main aim of this project was to make online business and to make customers
easy puschase or buy.

This project is useful to customers when he was busy and want to purchase any
classifieds though online.

This project is benefit to owner so that his project is advertised globally.

The Admin can have Benefit so that he can earn easily without strain.

2.4Features of ur project ( Advantages)

 Retain more visitors ,Interest, traffic and adds more interaction to the
website
 Creates new potential revenue streams
 Provides automated way to allow users to develop content for your site
 Allows quicker time to market
 Delivers advanced technical capabilities
 Delivers cost savings associated with end-to-end automated web-based
processes
 Requires no commissions or ad revenue sharing fees
 Scales to millions of classified ads
 Provides immediate access to products with years of research and
development experience.

3.0. SYSTEM ANALYSIS AND DECRIPTION

3.1. Existing system

 The classification is made with news paper. So, in different


news paper different ads are coming. The owners getting
confuse where to give their ads. So, the customers loose the
opportunity.
 Coming to website also various website are there to display the
classified but all are having separate category.
 Owners/Organisation can’t register their self to the site and
post their advertisement.
 Owners/Organisation can’t get the response from the
customers

3.2. Proposed system

 A single website used for customer, admin and the


Organisation or Owner of the item.
 A healthy relationship between all the different users
 Customer can select any product and purchase online.
 Customer can search for the job vacancy and apply for job.
 Customer can select any course and apply for online
examination.
 A single website contain all different category so, by staying in
a single room we ‘ll get all information.

3.3Overall description

3.3.1Product Perspective:

E-Classified is a web application which is dealing with various


advertisement submitted by the admin of the website or by the customers. There
are two types of customers here one who is the owner and the second who wants
the details or the guest. The owner has to register the information into the site
and after becoming a member he/she can post the advertisements in the site. The
advertisement can also be posted by the admin of the website.

3.3.2 Product Features:

o Add Classified
o Buy/Purchase
o Search for Item
o Post Ads
o Make Payment

3.3.3 User Classes and Characteristics:

E-Classified makes it possible that all the customer of the site can search for
any ad and can get the information with in a short period of time without wasting
the time on different websites. The website has many users such as admin, owner
and customers.

3.3.4 Operating Environment:

Software Requirements are Windows as Operating System. HTML,


Cascading Style Sheets and JavaScript as Front-End designing tools. Orale is used
as Database Sever. Tomcat 6.0 server is the Web server. Java, JSP and Servlets are
used as Scripting languages.

Hardware Requirements are P2 or a better processor, 128MB+ of main


memory (RAM) and 100MB hard disk and data base memory.

3.3.5 Design and Implementation Constraints:

This project will be developed using the technologies like Java, JSP,
Servlets, HTML, CSS, Javascript, Oracle and Web for all which I need to fetch
knowledge on all of them in order to code for the project. Also I’ll be learning
clearly about Software Development Life Cycle.

3.3.6 Assumptions and Dependencies:

This software is to be used in a server so that the all members, admin and
users can get the information of accounts. Every member should have their user
id and password. Administrator should have all the rights to remove or add
anything. Each user should be visible to the Administrator. Low End users should
not be able to access the accounts of other users.

3.4 Modules & Functionalities


Admin

 Add the New Ads


 Modify the Ads
 Delete the Ads
 Register Owner

Owner

 Register Ads
 Modify the Ads
 Delete the Ads
 View Customer Request
 Collect Payment

Customer

 Search Ads
 Request an Item
 Edit Profile

Transaction

 Buy/Purchase Product
 Book Ticket
 Reservation

Admin
In this module the admin will response for the request from owner for
adding classifieds and post Ads to the Customers. Payment from the
customer will be taken from customer and gives to the owner on
percentage discussed. Delete the classifieds which are bought.
Owner
In this module the owner keeps request to the admin for account and for
post Ads for classifieds.Takes the Percentage discussed from Admin.
Customer
In this module customer will select the Classifieds and put request for
admin to buy and pays money in online.
Transaction
In this module customer buy or purchase the classifieds.books the
ticket.For reservation will be available here.

3.5. Feasibility Study

The next step in analysis is to verify the feasibility of the proposed system. “All
projects are feasible given unlimited resources and infinite time“. But in reality
both resources and time are scarce. Project should confirm to time bounce and
should be optimal in there consumption of resources. This places a constant are
approval of any project.

Feasibility has applied to E- Classified pertains to the following areas:

 Technical feasibility
 Operational feasibility
 Economical feasibility
3.5.1 TECHNICAL FEASIBILITY:

To determine whether the proposed system is technically feasible, we should


take into consideration the technical issues involved behind the system.

E- Classified uses theweb technologies, which is rampantly employed these days


worldwide. The worldwithout the web is incomprehensible today. That goes to
proposed system

is technically feasible.

3.5.2 OPERATIONAL FEASIBILITY:

To determine the operational feasibility of the system we should take


into consideration the awareness level of the users. This system is operational
feasible since the users are familiar with the technologies and hence there is no
need to gear up the personnel to use system. Also the system is very friendly and
to use.

3.5.3 ECONOMIC FEASIBILITY

To decide whether a project is economically feasible, we have to consider


various factors as:

 Cost benefit analysis


 Long-term returns
 Maintenance costs

The proposed E- Classified is computer based. It requires average


computing capabilities and access to internet, which are very basic requirements
and can be afforded by any organization hence it doesn’t incur additional
economic overheads, which renders the system economically feasible.

4.0. SOFTWARE REQUIREMENT SPECIFICATIONS

4.1 Software interfaces

We use JAVA, JSP’s and servlets for coding the project. HTML for creating
the web pages, using GUI for login screens and interacting with database. MS-
Access is used for creating the local and global database (server). Net Beans IDE
for writing the programs. We need a good operating environment such as Windows
XP, Linux etc.

Server: 1GB RAM

40GB Hard disk

3GHz Processor

Client: 128MB RAM

2GHz Processor

20GB Hard disk


An Internet connection with a minimum bandwidth of 128
kbps is preferable so that the communication is performed at ease between the
user and the mail server

5.0. Languages of implementation.

INTRODUCTION TO JAVA:

In the early days of the web, a server could dynamically construct a page by
creating a separate process to handle each client request. The process would
open connection to one or more databases in order to obtain the necessary
information. It communicated with the web server via an interface known as the
Common Gateway Interface (CGI) .CGI allowed the separate process to read data
from HTTP request and write data to the HTTP response. A variety of different
languages were used to build CGI programs including C, C++ and Perl.

1.1.1.1.1.1.1.1.1 Features added by Java 1.1


Version1.1 added some important elements to Java. Most of the
addition occurred in the Java library. However, a few new language
features were also included. Here is a list of the important features added
by 1.1:

 Java Beans, which are software components that are written in Java.
 Serialization, which allows you to save and restore the state of an
object.
 Remote Method Invocation, which allows a Java, objects to invoke
the methods of another Java object that located on a different machine.
This is an important facility for building distributed applications.
 Java Database Connectivity (JDBC), which allows programs to access
SQL, databases from many different vendors.
 The Java Native Interface (JNI), which provides a new way for your
programs to interface with code libraries written in other languages.
 Reflection, which is a process of determining the fields, constructors
and methods of a java object at run time.

 Various security features, such as digital signatures, messages


digests, and access control lists and key generation.
 Built in support for 16-bit character streams that handle Unicode
characters.
 Significant changes to event handling that improve the way in which
events generated by graphical user interface (GUI) components are
handled.
 Inner classes, which allow one class to be defined within another.

1.1.1.1.1.1.1.1.2 Features added by java 2.0


Building upon 1.1, java 2.0 adds many important new features. Here
is a partial list.

 Swing is a set of user interface components that is implemented


entirely in java You can use a look and feel that is either specific to a
particular operating system or uniform across operating systems. You can
also design your own look and feel.
 Collections are group of objects. Java 2.0 provides several types of
collection, such as linked lists, dynamic arrays and hash tables for use.
Collections offer a new way to solve several common-programming
problems.
 Digital certificates provide mechanism to establish the identity of a
user. You may think of them as electronic passports. Java programs can
parse and use certificates to enforce security policies.
 Text components can now receive Japanese, Chinese and Korean
characters from keyboard. Using a sequence of keystrokes to represent one
character does this.

 The Common Object request Broker Architecture (CORBA) defines an


Object request Broker (ORB) and an Interface Definition Language (IDL).
Java 2.0 includes an ORB and an IDL to java compiler. The latter generates
code from an IDL specification.
 Performance improvements have been made in several areas. A Just-
In-Time (JIT) compiler is included in JDK.
 Many browsers include a Java Virtual Machine that is used to execute
applets. Unfortunately, browsers JVM’s typically do not include the latest
java features. The java Plug-in solves this problem. It directs a browser’s
JVM .The JRE is a subset of the JDK.It does not include the tools and classes
that are used in a development environment.
Various tools such as Javac, Java and Javadoc have been enhanced.
Debugger and Profiler interfaces for the JVM arte available.

Java’s Magic: The Byte Code:

The key that allows java to solve both the security and the portability
problems just described is that, the output of the java compiler is not an
executable code. Rather, it is Byte Code. Byte Code is a highly optimized set
of instructions designed to be executed by virtual machine that the java
Run-time system emulates. However, the fact that a java program is
interpreted helps solve the major problems associated with downloading
the program over the Internet.

Here is why java was designed to be interpreted language. Because java


programs are interpreted rather than compiled .It is easier to run them in
wide variety of environments. Only the java runtime system needs to be
implemented for each platform.
Once the runtime package exists for a given system any java program can
run on it. If java were a compiled language then different versions of the
same program will have to exist for each type of CPU connected to the
Internet. Thus interpretation is the easiest way to create truly portable
programs. Although java was designed to be interpreted, there is technically
nothing about java that prevents on the fly compilation of Byte Code into
native code. However, even if dynamic compilation were applied to Byte
Code, the portability and safety would still apply, because the run time
system would still be in change of the execution environment.

The Java Buzz Words:

No discussion of the genesis of java is complete without a look at the


java buzzwords. Although the fundamentals that necessitated the invention
of java are portability and security, there are other factors that played an
important role on molding the final form of the language. The java in the
following list of buzzwords summed up the key considerations.

 Simple
 Portable
 Object-oriented
 Robust
 Multithreaded
 Architectural-neutral
 High performance
 Distributed
 Dynamic

1.1.1.1.1.1.2 OBJECT ORIENTED PROGRAMMING AND JAVA

1.1.1.1.1.1.3 Object-oriented Programming was developed


because of limitations found in earlier approaches of programming. In
order appreciate what OOP does, we need to understand the
limitations present in the traditional programming.

1.1.1.1.1.1.3.1.1 PROCEDURAL LANGUAGES

The procedural languages include Pascal, C, Basic, FORTRAN, and


some other similar languages. Each statement in these languages tells the
computer to perform some operation. A program in a procedural language
is a list of instructions.
For very small programs no other organizing principle (often called a
paradigm) is needed. The programmer creates the list of instructions, and
the computer carries them out.

1.1.1.1.1.1.3.1.2 Division into Functions

When programs become larger, a single list of instructions becomes


unwieldy. Few programmers can comprehend a program of more than a
few hundred statements unless it is broken down into smaller units. For
this reason the function was adopted as a way to make programs more
comprehensible to their human creators. (The term function is used in C++
and C. In other languages the same concept may be referred to as a
subroutine, a subprogram, or a procedure.) A program is divided into
functions, and (ideally, at least)

each function has a clearly defined purpose and a clearly defined interface
to the other functions in the program.
The idea of breaking a program into functions can be further extended by
grouping a number of functions together into a larger entity called a
module, but the principle is similar: grouping a number of components that
carry out specific tasks.

Dividing a program into functions and modules is one of the cornerstones


of structured programming, the somewhat loosely defined discipline that
has influenced programming organization for more than a decade.

Problems with Structured Programming

As programs grow ever larger and more complex, even the


structured programming approach begins to show signs of strain. You may
have heard about the problems involved in program development. The
project is too complex, the schedule slips, more programmers are added,
complexity increases, costs skyrocket, the schedule slips further, and
disaster ensues. Analyzing the reasons for these failures reveals that there
are weaknesses in the procedural paradigm itself. No matter how well the
structured programming approach is implemented, large programs become
excessively complex. The reasons for this failure of procedural languages
are mainly because of the role played by data.
Relationship to the Real World

Procedural programs are often difficult to design. The problem is


that their chief components--functions and data structures--don't model
the real world very well. For example, suppose you are writing a program
to create the elements of a graphics user interface: menus, windows, and
so on. Quick now, what functions will you need? What data structures?
The answers are not obvious, to say the least. It would be better if
windows and menus corresponded more closely to actual program
elements.

1.1.1.1.1.1.3.1.3 New Data Types


There are other problems with traditional languages. One is the
difficulty of creating new data types. Computer languages typically have
several built-in data types: integers, floating-point numbers, characters,
and so on. What if you want to invent your own data type? Perhaps you
want to work with complex numbers, or two dimensional coordinates, or
dates—quantities the built-in data types don’t handle easily. Being able to
create your own types is called extensibility; you can extend the capabilities
of the language. Traditional languages are not usually extensible. Without
unnatural convolutions, you can’t bundle together both X and Y coordinates
into a single variable called Point, and then add and subtract values of this
type. The result is that traditional programs are more complex to write and
maintain.

The object oriented approach

The fundamental idea behind object-oriented languages is to


combine into a single unit both data and the functions that operate on that
data. Such a unit is called an object.

An object’s functions, called member methods in Java, typically


provide the only way to access its data. If you want to read the item and
return the value to you, you call a member function in the object. It will
read the item and return the value to you. You can’t access the data
directly. The data is hidden, so it is safe from accidental modification. Data
and its functions are said to be encapsulated into a single entity. Data
encapsulation and data hiding are key terms in the description of object-
oriented languages. A Java program typically consists of a number of
objects, which communicate with each other by calling one another’s
members functions. We should mention that what are called member
functions in C++ are called methods in Java. Also, data items are referred
to as instance variables. Calling an object’s member function is referred to
as sending a message to the object.

1.1.1.1.1.1.3.1.4 Classes
In OOP we say that objects are members of classes. What does this
mean? Let’s look at an analogy. Almost all computer languages have built-
in data types. For instance, a data type int, meaning integer is pre-defined
in Java. You can declare as many variables of type int as you need in your
program:

Int day;

Int count;

Int divisor;

Int answer;
A class serves as a plan, or template. It specifies what data, and what
functions will be included in objects of that class. Defining the class doesn’t
create any objects, just as the mere existence of a type int doesn’t create any
variables.

A class is thus a collection of similar objects. This fits our non-technical


understanding of the word class, Prince, sting etc., are members of the
class of rock musicians. There is no person called rock musician but specific
people with specific names are members of this class if they possess certain
characteristics.

1.1.1.1.1.1.3.1.5 Abstraction
An essential element of object-oriented programming is abstraction.
Humans manage complexity through abstraction. For example, people do
not think of a car as a set of tens of thousands of individual parts. They
think of it as a well-defined object with its own unique behavior. This
abstraction allows people to use a car to drive to the grocery store without
being overwhelmed by the complexity of the parts that form the car. They
can ignore the details of how the engine, transmission, and braking systems
work. Instead they are free to utilize the object as a whole. A powerful way
to manage abstraction is through the use of hierarchical classifications.
This allows you to layer the semantics of complex systems, breaking them
into more manageable pieces. From the outside, the car is a single object.
Once inside, you see that the car consists of several subsystems: steering,
brakes, sound system, seat belts, heating, cellular phone, and so on. In
turn, each of these subsystems is made up of more specialized units. The
point is that you manage the complexity of the car(or any other complex
system) through the use of hierarchical abstractions.

Hierarchical abstractions of complex systems can also be applied to


computer programs. The data from a traditional process-oriented program
can be transformed by abstraction into its component objects. A sequence
of process steps can become a collection of messages between these
objects. Thus, each of each object describes its own unique behavior. You
can treat these objects as concrete entities that respond to messages
telling them to do something. This is the essence of object-oriented
programming.

Object-oriented concepts form the heart of Java just as they form the basis
for human understanding. It is important that you understand how these
concepts translate into programs. As you will see, object-oriented
programming is a powerful and natural paradigm for creating programs
that survive the inevitable changes accompanying the life cycle of any
major software project, including conception, growth, and aging. .
1.1.1.1.1.1.3.2 Encapsulation
Encapsulation is the process of binding the code and the data, thus
providing security from the outside interface. The other way of defining
encapsulation is by providing the code and data with a protective wrapper,
thus preventing them from being accessed by the code present outside the
wrapper. Access to the code and data inside the wrapper is tightly
controlled through a well defined interface. In Java the basis of
encapsulation is the class. A class defines the structure and behavior (data
and code) that will be shared by a set of objects. Each object of a given
class contains the structure and behavior defined by the class. For this
reason, objects are sometimes referred to as instances of a class. Thus, a
class is a logical construct; an object has physical reality.

Specifically, the data defined by the class are referred to as member


variables or instance variables. The code that operates on that data is
referred to as member methods or just methods.

Since the purpose of a class is to encapsulate complexity, there are


mechanisms for hiding the complexity of the implementation inside the
class. Each method or variable in a class may be marked private or public.
The public interface of a class represents everything that external users of
the class need to know, or may know. The private methods and data can
only be accessed by code that is a member of the class.

Therefore, any other code that is not a member of the class cannot access a
private method or variable. Since the private members of a class may only
be accessed by other parts of your program through the class’ public
methods, you can ensure that no improper actions take place. Of course,
this means that the public interface should be carefully designed not to
expose too much of the inner workings of a class.

1.1.1.1.1.1.3.2.1 Inheritance
Inheritance is the process by which one object acquires the
properties of another object. This is important because it supports the
concept of hierarchical classification. As mentioned earlier, most
knowledge is made manageable by hierarchical (that is, top-down)
classifications. For example, a Golden Retriever is part of the classification
dog, which in turn is part of the mammal class, which is under the larger
class animal. Without the use of hierarchies, each object would need to
define all of its characteristics explicitly. However, by use of inheritance, an
object need only define those qualities that make it unique within its class.
It can inherit its general
attributes from its parent. Thus, it is the inheritance mechanism that makes
it possible for one object to be a specific instance of a more general case.
Most people naturally view the world as made up of objects that are related
to each other in a hierarchical way, such as animals, mammals, and dogs. If
you wanted to describe animals in an abstract way, you would say they have
some attributes, such as size, intelligence, and type of skeletal system.
Animals also have certain behavioral aspects; they hear, breathe, and sleep.
This description of attributes and behavior is the class definition for animals.

If you wanted to describe a more specific class of animals, such as


mammals, they would have more specific attributes, such as type of teeth,
and mammary glands. This is known as a subclass of animals, where
animals are referred to as mammals’ super class.

Since mammals are simply more precisely specified animals, they inherit all
of the attributes from animals. A deeply inherited subclass inherits all of
the attributes from each of its ancestors in the class hierarchy.

Inheritance interacts with encapsulation as well. If a given class


encapsulates some attributes, then any subclass will have the same
attributes plus any that it adds as part of its specialization. This is a key
concept, which lets object-oriented programs grow in complexity linearly
rather than geometrically. A new subclass inherits all of the attributes of all
of its ancestors. It does not have unpredictable interactions with the
majority of the rest of the code in the system.

1.1.1.1.1.1.3.2.2 Polymorphism
Polymorphism (from the Greek, meaning “many forms”) is a feature
that allows one interface to be used for a general class of actions. The
specific action is determined by the exact nature of the situation. Consider
a stack (which is a last-in, first-out list). You might have a program that
requires three types of stack. One stack is used for integer values, one for
floating-point values, and one for characters. The algorithm that
implements each stack is the same, even though the data being stored
differs. In a non-object-oriented language, you would be required to create
three difference sets of stack routines, with each set using different names.
However, because of polymorphism, in Java you can specify a general set of
stack routines that all share the same names.

More generally, the concept of polymorphism is often expressed by the


phrase “one interface, multiple methods.” This means that it is possible to
design a generic interface to a group of related activities. This helps reduce
complexity by allowing the same interface to be used to specify a general
class of action. It is the compiler’s job to select the specific action (that is,
method) as it applies to each situation.

Polymorphism, Encapsulation, and Inheritance Work Together

When properly applied, polymorphism, encapsulation, and


inheritance combine to produce a programming environment that supports
the development of far more robust and scaleable programs than does the
process-oriented model. A well-designed hierarchy of classes is the basis
for reusing the code in which you have invested time and effort developing
and testing. Encapsulation allows you to migrate your implementations
over time without breaking the code that depends on the public interface
of your classes. Polymorphism allows you to create clean, sensible,
readable, and resilient code.

Struts Framework
This page will give you a short overview of Struts Framework and its main
components. After finishing reading this, continue on to the tutorial to create a
simple Struts-based Web application.

What Is the Struts Framework?


The Struts Framework is a standard for developing well-architected Web
applications. It has the following features:
 Open source
 Based on the Model-View-Controller (MVC) design paradigm, distinctly
separating all three levels:
o Model: application state
o View: presentation of data (JSP, HTML)
o Controller: routing of the application flow
 Implements the JSP Model 2 Architecture
 Stores application routing information and request mapping in a single core
file, struts-config.xml
The Struts Framework, itself, only fills in the View and Controller layers. The
Model layer is left to the developer.

Architecture Overview

All incoming requests are intercepted by the Struts servlet controller. The Struts
Configuration file struts-config.xml is used by the controller to determine the
routing of the flow. This flows consists of an alternation between two transitions:

From View to Action A user clicks on a link or submits a form on an HTML or JSP page. The co
for this request, and forwards it to an action. The action in turn calls a M

From Action to View After the call to an underlying function or service returns to the action c
layer and a page is displayed in a web browser.
The diagram below describes the flow in more detail:

1. User clicks on a link in an HTML page.


2. Servlet controller receives the request, looks up mapping information
in struts-config.xml, and routes to an action.
3. Action makes a call to a Model layer service.
4. Service makes a call to the Data layer (database) and the requested data is
returned.
5. Service returns to the action.
6. Action forwards to a View resource (JSP page)
7. Servlet looks up the mapping for the requested resource and forwards to
the appropriate JSP page.
8. JSP file is invoked and sent to the browser as HTML.
9. User is presented with a new HTML page in a web browser.
Struts Components

The Controller
This receives all incoming requests. Its primary function is the mapping of a
request URI to an action class selecting the proper application module. It's
provided by the framework.

The struts-config.xml File
This file contains all of the routing and configuration information for the Struts
application. This XML file needs to be in the WEB-INF directory of the application.

Action Classes
It's the developer's responsibility to create these classes. They act as bridges
between user-invoked URIs and business services. Actions process a request and
return an ActionForward object that identifies the next component to invoke.
They're part of the Controller layer, not the Model layer.

View Resources
View resources consist of Java Server Pages, HTML pages, JavaScript and
Stylesheet files, Resource bundles, JavaBeans, and Struts JSP tags.

ActionForms
These greatly simplify user form validation by capturing user data from the HTTP
request. They act as a "firewall" between forms (Web pages) and the application
(actions). These components allow the validation of user input before proceeding
to an Action. If the input is invalid, a page with an error can be displayed.

Model Components
The Struts Framework has no built-in support for the Model layer. Struts supports
any model components:
 JavaBeans
 EJB
 CORBA
 JDO
 any other
6.0. SOFTWARE DESIGN

6.1 Design Overview ( Software arch and Application arch)

ADD DELETE
OWNERCUSTOMER

Post ads and delete posts


E

- Admin
Take payment and give to
C customer

L Login and add posts


Owner ads
A
Take payment from
S
admin
S
Select classifieds and
I Customer buy that

F
Pay the money
I
transaction Buy/Purchase
E Product
Book Ticket
D
Reservation
S

6.2 UML Design


Class diagram

Sequence diagram

ADMIN OWNER

Loginid Loginid
Password Password

addCategory() addClassfied()
addClassfied() viewCustomer()
viewCustomer() collectPayment()
viewOwners() feedback()
DATABASE
makePayment()
collectPayment()
feedback()
getRequest()
getResponse()

CUSTOMER

Loginid
Password

viewProducts()
editProfile()
changePassword()
selectProduct()
onlinePurchase()
feedback()
Usecase diagram
Rentals

Home Services

E-Classified
Business
ADMIN

Car/Bike

Travel

Login
Login

Computer/Mobiles

CUSTOMER

Loan/Finance

Matrimony

Coaching

OWNER 6.3
Buy/Sell
DFD Design.

Data Flow Diagram:

1) O level: for Admin


Admin
Add advertise

E-Classified

System
View status

Owner/

Customers

1) O level: for Owner

Post add
Owner

E-Classified
view demand
System

Customers/Admin
1) O level: for Customer
Customer
view add

E-Classified

System
purchase

admin

Level 1:

1 Advertisement

1.1 1.2 Owner/Customers


Admin
ad d store add
advertise

2 Advertisement
D1 Advertisement

2.1 2.2
Owner admin
post add store
post
D1 Advertisement

3 Order

3.1 3.2 Owner/admin


Customer
send store
Order order

D1 Order

6.4 DB Design

S.no Field Name DataType Constraints


(Size) [P.K, F.K,
NULL,Check
etc]

6.5) User Interfaces or Output Screens.

Home page

Login Validation page


Registration Page

Registration info validation


Admin Home
New Item Adding page
Item deletion page
Adds table
Admin table

User (Owner/Customer)Registration Table


7.0 Code [5-7 pages]

Pseudo code Explanation And place the code in box

EG:
a. Functionality Name:
Explanation: The below code prints 10 numbers

For(int I =0; i<10;i++)


{
………
…………..
……….

8.0. TESTING

White box testing

White box testing is a testing case design method that uses the control
structure of the procedure design to derive test cases. All independents path in a
module are exercised at least once, all logical decisions are exercised at once,
execute all loops at boundaries and within their operational bounds exercise
internal data structure to ensure their validity. Here the customer is given three
chances to enter a valid choice out of the given menu. After which the control
exits the current menu.
Black Box Testing

Black Box Testing attempts to find errors in following areas or categories,


incorrect or missing functions, interface error, errors in data structures,
performance error and initialization and termination error. Here all the input data
must match the data type to become a valid entry.

The following are the different tests at various levels:

Unit Testing:

Unit testing is essentially for the verification of the code produced


during the coding phase and the goal is test the internal logic of the
module/program. In the Generic code project, the unit testing is done during
coding phase of data entry forms whether the functions are working properly
or not. In this phase all the drivers are tested they are rightly connected or
not.
Integration Testing:

All the tested modules are combined into sub systems, which are then
tested. The goal is to see if the modules are properly integrated, and the
emphasis being on the testing interfaces between the modules. In the
generic code integration testing is done mainly on table creation module and
insertion module.

Validation Testing

This testing concentrates on confirming that the software is error-free in all


respects. All the specified validations are verified and the software is subjected to
hard-core testing. It also aims at determining the degree of deviation that exists in
the software designed from the specification; they are listed out and are
corrected.
System Testing

This testing is a series of different tests whose primary is to fully exercise


the computer-based system. This involves:

 Implementing the system in a simulated production environment and


testing it.
 Introducing errors and testing for error handling.
TEST CASES

TEST CASE 1:

Test case for Login form:

When a user tries to login by submitting an incorrect ID or an incorrect Password


then it displays an error message “NOT A VALID USER NAME”.

TEST CASE 2:

Test case for User Registration form:

When a user enters user id to register and ID already exists, then this result in
displaying error message “USER ID ALREADY EXISTS”.

TEST CASE 3 :

Test case for Change Password:

When the old password does not match with the new password, then this results
in displaying an error message as “OLD PASSWORD DOES NOT MATCH WITH THE
NEW PASSWORD”.
Test case for Forget Password:

When a user forgets his password he is asked to enter Login name, ZIP code,
Mobile number. If these are matched with the already stored ones then user will
get his Original password.

9 Deploying

9.1 Running Application

Click on eclipse icon so that it will be loading.

Eclipse window will be opened


Now click on work bench so eclipse window with new work space will be
opened

Click on new tab and then on import so that for importing your whole project in
to eclipse IDE
Click on existing projects into work space and then on next.
Check the project where is was placed and then click on it and click ok and then
on finish

Here ur project will be in eclipse IDE


Right click on your project and click on run as and then on run on application.
9.2 Configuring Data Base

9.0. CONCLUSION

This project is useful to customers when he was busy and want to purchase
any classifieds though online.This project is benefit to owner so that his project is
advertised globally.The Admin can have Benefit so that he can earn easily without
strain.

10.0 FUTURE ENHANCEMENT

 Integration options for sharing various data types, such as a common


user registration system across multiple applications on your web site
that would provide a single logon for your users for all applications
on your web site, instead of forcing them to remember separate
usernames and passwords for each section of your site
 Reseller programs
 IDE/API capabilities that will allow you or third party developers to
write add-ons for additional functionality
 Many other types of applications in addition to classifieds
 Continuous improvement, as all future development will be geared
toward the on-demand applications
 This project not an real time project so we can do it.In this project the
Transaction module can be change to live so that the transaction can be
done using credit cards debit cards also.
 In this project the home delivery is not provided so that we can add that
feature.
 In this the emergency module is not there so we can add that feature so
that if any classified is needed emergengy can be delivered in time. So that
the pay for that emergengy needs will be diff from general.
11.0 BIBLIOGRAPHY

References:

Follow Harvard References Styling

EG:

H.E. Gruber & J. J. Vonèche [Eds.], The Essential Piaget, Basic Books, 1977

[2] Computing Curricula 2001, The Joint Task Force on Computing Curricula,

Final Report, IEEE Computer Society, Association for Computing Machinery,

Dec 15, 2001

[3] IEEE Std. 829-1998 IEEE Standard for Software Test Documentation

[4] IEEE Std. 830-1998 IEEE Recommended Practice for Software Requirements

Specifications

[5] IEEE Std. 1008-1997 IEEE Standard for Software Unit Testing

[6] IEEE Std. 1012-1998 IEEE Standard for Software Verification and Validation

[7] IEEE Std. 1016-1998 IEEE Recommended Practice for Software Design

Descriptions

[8] IEEE Std 1058-1998 IEEE Standard for Software Project Management Plans

[9] IEEE Std 1540-2001 IEEE Standard for Software Life Cycle Processes – Risk

Management

[10] IEEE 12207.2-1997 Industry Implementation of International Standard

ISO/IEC 12207: 1995 (ISO/IEC 12207) Standard for Information Technology -

Software Life Cycle Processes - Implementation Considerations

[11] E.F. Lindquist (Ed.), Educational Measurement, American Council on


Education, 1951

[12] R. McCauley and U. Jackson, "Teaching Software Engineering Early –

Experiences and Results", in Proceedings of the 1998 Frontiers in Education

Conference (FIE'98), IEEE, 1998.

[13] R. Thomas, G. Semeczko, H. Morarji, G. Mohay, "Core Software Engineering

Subjects: A Case Study ('86 - '94)", in Proceedings of the Software Education

Conference 1994, Pages: 24-31, IEEE, 1995

You might also like