Вы находитесь на странице: 1из 32

Abstract

This project is a web based application on Online Shopping, which aims at


creation and maintenance of a website for Online Shopping. The project
requires implementation of a source code in Java on a web server such as
Apache Tomcat 6.Database is handled by the MySQL server. Its features are
enhanced using css. It has four modules in all.
A client is allowed to select and buy products of his choice, while an
administrator must be able to view transactions done, as well as, add or
remove products as deemed by the administrator.
Introduction

In system software, a web application is an application that is accessed over


a network such as the Internet or an intranet. The term may also mean a
computer software application that is hosted in a browser-controlled
environment (e.g. a Java applet) or coded in a browser-supported language
(such as JavaScript, combined with a browser-rendered markup
language like HTML) and reliant on a common web browser to render the
application execution.

Web applications are popular due to the ubiquity of web browsers, and the
convenience of using a web browser as a client, sometimes called a thin
client. The ability to update and maintain web applications without
distributing and installing software on potentially thousands of client
computers is a key reason for their popularity, as is the inherent support for
cross-platform compatibility. Common web applications include webmail,
online sales, online auctions, wikis and many other functions.

Online Shopping is an online application that allows the client to shop


various products online. It will be user friendly website for shopping as well
as sales in this era of internet shopping.

Overall Description

Online shopping is an online application, a website that the user can access
to shop multiple items of his choice over the internet at a time.

The client is free to browse through the number of products made available
by the administrator. If he likes any products he may select them to his cart.
The item and its quantity can be selected by the client. The client can get the
benefit of the system by retrieving various product information, that can be
managed by the administrator
Services provided to the administrator by the system include keeping track
of the products with their necessary details such as product quantity, price,
type etc. Also the administrator is allowed to add or remove products from
the website.

The MySQL database is used to store all the information of the products and
the transactions done by the customers. All the tables used in the project are
normalized to avoid redundancy and efficient storage of the large volume
data.

Java server page and servelets are used to handle the request of the user, the
request is processed by the servlet container and the appropriate response is
send back to the user. The system is secure to access and is scalable as many
products can be added by the administrator.

The proposed website can be used even by the naive clients and it does not
require any educational level, experience, and technical expertise in
computer field but it will be of good use if the user has the good knowledge
of how to operate a computer.

It is a three tier application where the web browser through which the client
accesses the website is the front end, The requests from the client are sent to
the web server like Apache Tomcat, which is the middle tier. Finally the
database stored in the MySQl is handled by the third tier.
Feasibility Study

When complex problem and opportunities are to be defined, it is


generally desirable to conduct a preliminary investigation called a feasibility
study. A feasibility study is conduct to obtain an overview of the problem
and to roughly assess whether feasible solution exists prior to committing
substantial resources to a project. During a feasibility study, the system
analyst usually works with representatives from the departments(s) expected
to benefit from the solution.

Every project is feasible if given unlimited resource and infinite time.


Unfortunately, the development of computer based systems is more likely to
be plagued by scarcity of resources and difficult delivery of data it is both
necessary and prudent to evaluate the feasibility of a project at the earliest
possible time. Precious time and money can be saved and untold
professional embarrassment can be averted if an ill conceived system is
recognized early in the definition phase. So a detailed study is carried out to
check the workability of the system.

Feasibility study is undertaken to evaluate its workability, impact on the


organization, ability to meet user needs, and effective use of resources. The
main objective of feasibility study is to test the technical, operational and
economical feasibility of developing the computer system. Thus, during
feasibility analysis for this project the following three primary areas of
interest were considered very carefully. The feasibility of a project can be
ascertained in terms of technical factors, economic factors, or both. A
feasibility study is documented with a report showing all the ramification of
the project.

The primary objective of a feasibility study is to assess three types of


feasibility.
Technical feasibility:
can a solution be supported with existing technology?
Economical feasibility:
is existing technology cost effective?
Operational feasibility:
will the solution work in the organization if
implemented?
Technical Feasibility
A systems development project may be regarded as technically
feasibility or ‘practical’ if the organization has the necessary expertise and
infrastructure to develop, install, operate and maintain the proposed system.
Organizations will need to make this assessment based on:
 Knowledge of current and emerging technological solutions.
 Availability of technically qualified staff in house for the
duration of t he project and subsequent maintenance phase.
 Availability of infrastructure in house to support the
development and maintenance of the proposed system.
 Where necessary, the financial and/or technical capacity to
procure appropriate infrastructure and expertise from outside.
 Capacity of the proposed system to accommodate increasing
levels of use over the medium term and capacity of the
proposed system to meet initial performance expectations and
accommodate new functionality over the medium term.

The existing computer system has a good hardware configuration and good
software facilities in such a way that any alteration can be implemented with
slight modifications of the existing process. Hence this project is technically
feasible.

The proposed website can be easily developed using resources available in


the organization. Hence it is technically feasible.

Economic Feasibility
A systems development project may be regarded as economically
feasible or ‘good value’ to the organization if its anticipated benefits
outweigh its estimated costs. However, many of the organizational benefits
arising from record keeping projects are intangible and may be hard to
quantify. In contrasts, many development costs are easier to identify.

These costs may include the time, budget and staff resources invested during
the design and implementation phase as well as infrastructure, support,
training and maintenance costs incurred after implementation. In these high
risk situations it may be appropriate assessments of financial feasibility.
The proposed system can be easily developed using the resources available
in the organization and they do not invest in procurement of additional
hardware or software. The cost of developing the system, including all the
phases have been taken into account and it is strict minimum. Hence the
system is economically feasible.

Operational Feasibility
A systems development project is likely to be operationally feasible if
it meets the ‘needs’ and expectations of the organization. User acceptance is
an important determinant of operational feasibility.

The system has been developed after extensive discussion with the end user
and all the operational requirements has been taken into account during the
planning and implementation stages. Hence the system is operationally
feasible.
SRS CONTENT

Environment Characteristics

Hardware Specification

Processor: 2.93 GHz Pentium processor(core2duo) or higher processor.

Operating System: Window2000, Windows Xp, Windows Vista.

RAM: Minimum 512MB, Recommended 2GB or more.

Hard disk : Minimum 5400 Revolutions per minute(RPM) , Recommended


7200 Revolutions per minute

Software specification

Web Server: Apache Tomcat 6 or above


Development Tool: Net Beans IDE 6 or above
Database: MySQL

Peripherals

INPUT DEVICES: Keyboard


OUTPUT DEVICES: Visual Display Unit

In the implementation of image classification code, we did not need to add


any type of additional peripheral.
Non Functional Requirements

Portability:

Portability is one of the key concepts of high-level programming. Portability


is the software code base feature to be able to reuse the existing code instead
of creating new code when moving software from an environment to
another. The pre requirement for portability is the generalized abstraction
between the application logic and system interfaces. When one is targeting
several platforms with the same application, portability is the key issue for
development cost reduction.

The Online Shopping website is built on java, and hence it is portable and is
not browser specific. Thus it can be accessed on any platform
and using any browser.

Reusability:

The modular components of the Online Shopping is designed that it


captures the essence of the functionality expected. This single-minded
purpose renders the components reusable wherever there are similar needs in
other designs.

Tracebility:

The Online Shopping is traceable enough because the origin of each of its
requirements is clear. It fulfils the condition of backward Traceability and
Forward traceability because each requirement explicitly references its
sources in earlier documents.

Scalability:

The online shopping is scalable as it can be used by as many number of


clients and as many products as the administratror wants to sell can be
added.
Robustness:

It is the quality of being able to withstand stresses, pressures, or changes in


procedure or circumstance. A system, organism or design may be said to be
"robust" if it is capable of coping well with variations (sometimes
unpredictable variations) in its operating environment with minimal damage,
alteration or loss of functionality.

Maintainability:

It involves correcting errors that were not discovered during the product
development phase, enhancing the software according to the customer’s
requirements and porting the software to work in a new environment.

Reusability:

The modular components of the website is designed that it captures the


essence of the functionality expected. This single-minded purpose renders
the components reusable wherever there are similar needs in other designs.
Goals Of Implementation

 To help the client, to do shopping sitting at home.

 To help the client in buying “Brands demanded the most”.

 Main objective is to reduce workload of client, to go to the shop and


make the best deals. We provide the best amongst the best.

 This project will be able to sustain the changing demands of the


customers which may be according to the market trends or due the
climatic changes. Hence its future is secure. There is an administrator
to update website according to changing needs.
Interface Description

Interface with Operating System:

This website works well in the Windows XP. Windows XP brims with new
features, improved programs, and tools. Windows XP contains accessories,
and communications and entertainment programs

Microsoft Management Console:


Microsoft Management Console (MMC) hosts administrative tools that you
can use to administer networks, computers, services, and other system
components.

Interface with Devices:


The devices such as keyboard and mouse are sufficient for the proper
accessing of the website. A single click to the hyperlink will fetch us with
desired results.

Interface with Databases:


The Database Engine is the core service for storing, processing and
securing data. The Database Engine provides controlled access and
rapid transaction processing to meet the requirements of the most
demanding data consuming applications within your enterprise. The Front
End is Java, and Back End is MYSQL, which handles all the database
processing. JDBC Drivers are the interfaces for the Front and Back End.

Interface with Peripherals:

ACPI

Advanced Configuration and Power Interface (ACPI) is an open industry


specification that defines a flexible and extensible hardware interface for the
system board. Software designers use this specification to integrate power
management features throughout a computer system, including hardware,
the operating system, and application software. This integration enables
Windows to determine which applications are active and handle all of the
power management resources for computer subsystems and peripherals.

ACPI enables the operating system to direct power management on a wide


range of mobile, desktop and server computers, and peripherals. ACPI is the
foundation for the On Now industry initiative that allows system
manufacturers to deliver computers that start at the touch of a key on a
keyboard.

ACPI design is essential to take full advantage of power management and


Plug and Play in Windows. If you are not sure whether your computer is
ACPI-compliant, check your manufacturer's documentation.To change
power settings that take advantage of ACPI, use Power Options in Control
Panel. During Windows Setup, ACPI is installed only if all components
present during Setup support power management. Some components,
especially legacy components, do not support power management and can
cause erratic behavior with Advanced Power Management (APM), or may
prevent ACPI from being installed. Examples of such components are
Industry Standard Architecture (ISA) components and out-of-date BIOS.
Behavioural Aspects

System States to define

State 1: Accessing Navigation Links

When the user hover the mouse over the link and clicks it, the desired page
opens and the user simply gets the desired information.

Input: A mouse click to Hyperlink


Output: Main page is displayed.

State 2: Client Browsing and Selection of Products.

Here the Client browses the website and selects the products which he wants
to buy. These products are added to his shopping cart.

Input: Client selects the products and quantity of it.


Output: The selected product is added to the cart.

State 3: Client checks out.

Here the Client goes to his cart and clicks on proceed to check out. He then
gets the bill.

Input: Click on proceed to check out.


Output: Bill for the complete shopping is displayed.

State 4: Administrators login.

Here the Administrator logs into his account, and view the transactions
which have happened, also he can add and delete the products as deemed.

Input: Administrator logs in.


Output: Manipulated website data as done by the
administrator.
Events and Actions:

On clicking any of the navigation we can easily move to desired location in


the site.
Admin only has the privilege to edit the databases. For that username and
required password is needed.

Actions
Events

 User selects products The products are added to the cart.


 Click proceed to check out The bill is generated for the products
 Admin id and password Admin login.
 Click on view order Admin can see the transactions.
 Add/Delete Admin can add or remove products.
 Logout Admin is logged out.
MODULES AND THEIR FUNCTIONS:

There are four functional modules in our project which have different types
of functions to be performed.

1.Shop

This is the main module containing the links to other modules. It provides
user with various product categories hyperlinks and associated information
about products. Clicking on any category hyperlink of his choice he will get
list of all products in the associated category.

2.Cart

This module stores details regarding the products that the customer has
purchased, their quantity, rice, Id, etc. Provides option like proceed to
checkout (clicking on it you will get a form asking shipping address and
other details required to send the order and prepare your bill.), Another
option is continue shopping (to go back to shop area and keep on adding
products to existing cart).

3.Admin

Provides you with various options to regulate the website like adding,
deleting products, viewing orders made and related information about
customer.

4. About us:

Provides information about various people behind this project and their
objective to develop this project.
Database is maintained in MySQL.
Four tables are maintained to manage this project.
1. Category: stores various product categories details.
2. Product: stores information about various products available.
3. Order Details: stores information regarding various transactions.
4. Order: stores information about their customer and their transaction.
Testing

Software testing is the process used to help identify the correctness,


completeness, security and quality of developed computer software. With
that in mind, testing can never completely establish the correctness of
arbitrary computer software. In computability theory, a field of computer
science, an elegant mathematical proof concludes that it is impossible to
solve the halting problem, the question of whether an arbitrary computer
program will enter an infinite loop, or halt and produce output. In other
words, testing is criticism or comparison that is comparing the actual value
with expected one.

There are a wide variety of types of software tests that may be used for
building energy simulation software, each with a different objective or
scope. Tests may be performed on the entire program or on individual
subroutines or algorithms. The goal of software testing is to cost effectively
identify and communicate as many potential problems with the software as
possible and iterate with the development team until the identified bugs are
eliminated. This goal is consistent with the goal of the development team to
provide high quality software that is free of errors. Please note that creating
bug free software is not an obtainable goal, since there are too many possible
inputs and too many possible paths through the program. From the
development team’s perspective a successful test is one that reveals problem,
all other tests are unnecessary. Unfortunately, determining beforehand which
tests reveal problems is impossible, and that is why tests are so exhaustive.
From the users’ perspective, a successful test is one that shows that the
software results match some type of standard with an adequate level of
accuracy.

There are many approaches to software testing, but effective testing of


complex products is essentially a process of investigation, not merely a
matter of creating and following rote procedure. One definition of testing is
"the process of questioning a product in order to evaluate it", where the
"questions" are things the tester tries to do with the product, and the product
answers with its behavior in reaction to the probing of the tester. Although
most of the intellectual processes of testing are nearly identical to that of
review or inspection, the word testing is connoted to mean the dynamic
analysis of the product—putting the product through its paces. The quality
of the application can, and normally does, vary widely from system to
system but some of the common quality attributes include reliability,
stability, portability, maintainability and usability.

TYPES OF TESTING:

 Unit Testing: The first level of testing is called unit testing. In this
different modules are tested against the specifications produced during
design of the modules. Unit testing is essentially for verification of the
code produced during coding phase, and hence the goal is to test the
internal logic of the modules. The programmer of the module typically
does it. Others consider a module for integration and use only after it
has been unit tested satisfactorily. Due to its close association with
coding, the coding phase is frequently called “coding and unit
testing”. As the focus of this testing level is on testing code, structural
testing is best suited for this level. In fact, as structural testing is not
very suitable for large programs, it is used mostly at the unit testing
level.

 Integration Testing: The next level of testing is often called


integration testing. In this, many unit-tested modules are combined
into subsystems, which are then tested. The goal is here to see if the
modules can be integrated properly. Hence, the emphasis is on testing
interfaces between modules. The testing activity can be considered
testing the design. The integration plan specifies the steps and order in
which modules are combined to realize the full system. After each
integration step, the partially integrated system is tested. An important
factor that guides the integration is the module dependency graph.

 System Testing: System tests are designed to validate a fully


developed system to assure that it meets its requirements. There are
essentially three main kinds of system testing:
 Alpha testing: alpha refers to the system testing carried out by
the test team within the developing organization.
 Beta testing: beta testing is the system testing performed by a
select group of friendly customer.
 Acceptance testing: Acceptance testing is the system testing
performed by the customer to determine whether to accept or
reject the delivery of the system.

System testing is normally carried in a planned manner according to


the system plan document. System plan identifies all testing related
activities that must be performed, specifies the schedule of testing,
and allocates resources. Immediately after requirement specification
phase, a system test plan can be prepared which documents the plan
for system testing. System test plan can be prepared on the basis of
SRS document. The result of system and integration testing are
documented in the form of test report.
TEST CASES:

This is a BLACK BOX approach since the test case is designed using only
the functional specification of the software i.e without any knowledge of the
internal structure of the software.

Test Case Title Description Expected Result


Outcome Pass/Fail
Get all categories Displays all Shop.jsp page Pass
Categories on displays all
Shop.jsp page. available
categories
Get product by On clicking Shows all Pass
categoryId hyperlink of any product under a
category available particular
on shop.jsp page we category
will get list of all
product products of
that category
Add Product To Cart On clicking Product is added Pass
hyperlink buy the to cart and can be
product must be seen on cart.jsp
added to cart. page
Continue Shopping On clicking Back to shop.jsp Pass
hyperlink the and continue
customer will move shopping
to shop.jsp and can
add more products
to cart
Proceed to checkout Ask customer to Bill is generated Pass
submit personal containing
information for transaction
preparing bill. information
Enter Admin Area Enter correct Admin area is Pass
username and opened to the
password to Login. Authentic Person
Add Product or Delete On Entering Admin Alteration is Pass
Product Area a person can possible
add or delete
Products
View Orders On Entering Admin Database view is Pass
Area a person can possible
view orders
between a start date
and end date
MAINTAINANCE
NEED OF MAINTAINANCE:

The mention of word maintenance brings up the image of a screwdriver-


wielding mechanics with soiled hands holding onto a bagful of spare part.
It is the objective of this chapter to clear up this misconception, provide
some Intuitive understanding of the software maintenance projects, and to
familiarize the readers with the latest technique in software maintenance.
Software maintenance denotes any changes made to a software product
after it has been delivered to the customer. Maintenance is inevitable for
almost any kind of product. However most of the product need
maintenance due to the ware and tear cause by use. On the other hand,
software products do not need maintenance on this count, but need
maintenance to correct error; enhance features, port to new platform, etc.

Maintenance work is based on existing software, as compared to


development work that creates new software. Consequently, maintenance
revolves around understanding existing software and maintenance spends
most of their time trying to understand the software they have to modify.
Understanding the software involves understanding not only the code but
also the related documents. During the modification of the software, the
effects of the change have to be clearly understood by the maintainer
because introducing undesired side effects in the system during modification
is easy.

PROBLEM ENCOUNTERED:

Software maintenance work is presently much more expensive than what it


should be and take more time to implement than what is affordable. The
reason for this situation is the following. Software maintenance work is one
of the neglected areas of software engineering and is mostly carried out
using ad hoc techniques, rather than through systematic and planned
activities. During maintenance it is necessary to thoroughly understand
someone else’s work and then carry out the required modification and
extension. Another problem associated with maintenance work is that the
majority of software products needing maintenance are legacy products.
TYPES OF SOFTWARE MAINTENANCE:

The requirements of software maintenance arise on account of the three


main reasons:

Corrective:
Corrective maintenance of software product becomes necessary to rectify the
bugs observed while the system is in use.

Adaptive:
A software product might need maintenance when the customers need the
product to run on new platforms, on new operating systems, or when they
need the product to be interfaced with new hardware or software.

Perfective:
A software product needs maintenance to support the new features that users
want it to support, to change different functionalities of the system according
to customer demands or to enhance the performance of the system.
Validation
Software testing entails running software products under known conditions
with defined inputs and documented outcomes that can be compared to their
predefined expectations. It is a time consuming, difficult, and imperfect
activity. As such, it requires early planning in order to be effective and
efficient.

Test plans and test cases should be created as early in the software
development process as feasible. They should identify the schedules,
environments, resources (personnel, tools, etc.), methodologies, cases
(inputs, procedures, outputs, and expected results), documentation, and
reporting criteria. The magnitude of effort to be applied throughout the
testing process can be linked to complexity, critically, reliability, and/or
safety issues (e.g., requiring functions or modules that produce critical
outcomes to be challenged with intensive testing of their fault tolerance
features).

Implementation of software testing and its implications with respect to


software quality cannot be over emphasized. Software testing is a critical
element of the software quality assurance and represents the ultimate review
of specification, design and coding.

A software testing process should be based on principles that foster effective


examinations of a software product. Applicable software testing tenets
include:

 The expected test outcome is predefined.


 A good test case has a high probability of exposing an error.
 A successful test is one that finds an error.
 There is independence from coding.
 Both application (user) and software (programming) expertise
are employed.
 Testers use different tools from coders
 Examining only the usual case is insufficient.
In order to provide a through and rigorous examination of a software
product, development testing is typically organized into levels. As an
example, a software product’s testing can organized into unit, integration,
and system levels of testing

Performance Bound:

(1) ID: this text-field takes only integers having Authenticated Id of


the Admin.

(2) Password: To enter Admin Area you have to type Correct


Password with Id.

(3) Name: this text-field takes at least 2 characters and at most 20


characters.
Screenshots

Fig Home Page

Fig: Cart of a customer.


Fig: Admin Login area
Fig: Admin area.
Fig: About Us Page.
Conclusion,Limitation and
Future Scope

Conclusion

It was a nice experience working on this project. It is based on J2ee


platform. It explores many features of J2ee like jsp, beans; etc.It involves
use of css also.
This is meant for managing details of product sold .It provides help in
maintaining records of product sold which in turn helps the user to know
which brands are more demanded and their regular customer. This aims at
selling products, maintaining product to be sold. The Admin module is used
to store information about products sold and the shop module is used to
retrieve information about products from database.

Limitation

When MySQL is used with standard tables (table type MyISAM), then
locking, that is, the temporary blocking of access to or alteration of database
information, is in operation only for entire tables (table locking). You can
circumvent the table-locking problem by implementing transaction-capable
table formats, such as InnoDB, that support row locking.

In using MyISAM tables, MySQL is not able to execute hot backups, which
are backups during operation without blocking the tables with locks. Here
again, the solution is InnoDB, though here the hot backup function is
available only in the form of a commercial supplement.

Many database systems offer the possibility of defining custom data types.
MySQL does not support such functionality, nor is any currently planned.

MySQL has up to now ignored the general XML trend. It is not clear when
MySQL will support direct processing of XML data. Numerous commercial
database systems offer considerably more functionality in this area, and even
the SQL:2003 standard provides for a host of XML functions

MySQL is in fact a very fast database system, but it is very limited in its
usability for real-time applications, and it offers no OLAP functions. OLAP
stands for online analytical processing, and refers to special methods for the
management and analysis of multidimensional data. OLAP-capable database
systems are often called data warehouses.

MySQL supports, since version 5.0, stored procedures and triggers, but these
functions have not yet fully matured (this applies especially to triggers) and
do not yet have the same stability and plenitude of functions offered by
commercial database systems.

Future Scope

This web application inculcates the properties of Java and is built on J2EE
platform. The website is scalable and Object oriented.The code is reusable
and can be used by websites like e-bay and other shopping sites.This logic
can also be used by new administrators who want to sell their products
online.
Bibliography

[1] Books

 The Complete Reference Java 6th edition, J2EE.


 JAVA and J2EE Tutorial.
 SQL,PL/SQL The Programming Language Of Oracle
(by IVAN BAYROSS) 2nd edition.

[2] Websites

 www.java.com
 www.wikipedia.com

Вам также может понравиться