Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 26

CHAPTER 1

PROJECT DESCRIPTION

1.1 Introduction

This project is a web based herbal shopping system for an existing shop. The project objective
is to deliver the online shopping application into java platform. This project is an attempt to provide
the advantages of online shopping to customers of a real shop. It helps buying the herbal products
in the shop anywhere through internet by using an in this java application. Thus the customer will
get the service of online shopping and home delivery from his favorite herbal shop. This system
can be implemented to any herbal shop in the locality or to multinational branded herbal shops
having retail outlet chains. If shops are providing an online portal where their customers can enjoy
easy shopping from anywhere, since the java application is available in the Smartphone it is easily
accessible and always available. Shopping has long been considered a recreational activity by
many. Shopping online is no exception. The goal of this application is to develop a web based
interface for online retailers. The system would be easy to use and hence make the herbal shopping
experience pleasant for the users. This is a small scale project for online women shopping system.
The basic idea is that customers can buy products using online. The administrator can enter the
name/and password and can create an account and then generate the receipt of the products
purchased. The online herbal shopping system enables vendor to set up online shops, customers to
browse through the shops, and a system administrator to approve and reject requests for new herbal
shops and maintain lists of shop categories.it is useful where the buyer can directly buy the
products from home via internet on mobile or system. The Server process the customers and the
items are shipped to the address submitted by them. The application was designed into two
modules first is for the customers who wish to buy the articles. Second is for the storekeepers who
maintains and updates the information pertaining to the articles and those of the customers. The
end user of this product is a departmental store where the application is hosted on the web and the
administrator maintains the database. The application which is deployed at the customer database,
the details of the items are brought forward from the database for the customer view based on the
selection through the menu and the database of all the products are updated at the end of each
transaction. Data entry into the application can be done through various screens designed for
various levels of users. Once the authorized personnel feed the relevant data into the system,
several reports could be generated as per the security.

1.2 Existing System

The large volume of data has to be handled with regard to various transactions. Number of
documents is to be referred to access any information about any herbal products. A lot of validation
work is to be done. These processes are time-consuming and tedious. Any changes made at any
point have to be incorporated with the whole system and are really cumbersome. Preparing any
herbal product catalog comparison report is the most daunting task. In existing system, all activities
are carried out manually. Day-to-day Work is managed manually.to view a particular product
information or product price, technology, features and product specification information we need
to go through all the data entered and view the details which consume time.

DRAW BACKS:

 Retrieval of information from different sources is difficult.


 Less Security.
 Slow processing.
 Time consuming.
 Restrict their herbal shop in a particular area only limit the selection.
 Need to browse for number of products brands and their features.
 Need to browse the variety of herbal products and description.
 Individual customer oriented.

In order to overcome these hurdles the following software is proposed.

1.3 PROPOSED SYSTEM:

In the modern scenario, this project is accelerated by virtue of its excellence. Anything and
everything needs time management, accuracy with proper care. The effective utilization of the
available resources, timing and needs are said to be satisfied. The flexibility of the software is used
to facilitate the customer. In order to accelerate the service, the advancement is existed. By using
this software a customer can order the goods through the system and who may not be interested in
going for shopping at stores. This software is to provide requirements of the user to purchase on
an easy way. There are many facilities, which include in our proposed system as various mobile
comparison, view their selected mobile compare with other selected mobile features, easily view
the price and specification of the mobile. In service of this project they can easily place online
order, easy purchasing and quick delivery. The proposed system can overcome almost all the
drawbacks of existing system. Only authenticated users can access the software. It has many
advantages. Some important advantages are given below.

BENEFITS:

 Reduces the laborious search process and purchasing time.


 Searches facilities and price from more companies and brands.
 Customers can easily purchase their mobile within their budget.
 Facility to compare price, technology and specifications in different models
And brands.
 Facilities available to place order.
 User can easily compare software in various brands.
1.31 HARDWARE REQUIREMENTS
 Processor : Dual core processor 2.6.0 GHz
 RAM : 1GB
 Hard disk : 160 GB
 Compact Disk : 650 MB
 Keyboard : Standard keyboard
 Monitor : 15 inch color monitor

1.3.2 SOFTWARE REQUIREMENT

Software requirements are a field within software engineering that deals with establishing
the needs of stakeholders that are to be solved by software. Elicitation is the gathering and
discovery of requirements from stakeholders and other sources. A variety of techniques can be
used such as joint application design (JAD) sessions, interviews, document analysis, focus groups,
etc. Elicitation is the first step of requirements development.
 Front End : JAVA
 IDE : Net Beans
 Back End : My SQL
JAVA

Java is an object oriented programming language. Java is a small, simple, safe, object
oriented, interpreted or dynamically optimized, byte coded, architectural, garbage collected,
multithreaded programming language with a strongly typed exception-handling for writing
distributed and dynamically extensible programs.

Java provides applets, the special programs that can be downloaded from the internet and
can be executed within a web browser. The following features provided by java make it one of the
best programming languages.

 It is simple and object oriented.


 It allows the programmers to create user friendly interfaces.
 It is very dynamic.
 Multithreading.
 Platform independent language.
 Provides security and robustness.
 Provides support for internet programming
PRIMARY GOALS

The five primary goals of the creation of the Java language are:

 The object-oriented programming methodology should be used.


 The same program should be allowed to execute on multiple operating systems.
 The built-in support should be provided for using computer networks.
 The code from remote sources should be executed securely.
 It should be easy to use by combining the good parts of other object-oriented languages.
Different "Editions" Of the Platform

 Java ME (Micro Edition): Defines different sets of libraries (known as profiles) for devices which
are sufficiently limited that supplying the full set of Java libraries would take up unacceptably large
amounts of storage.
 Java SE (Standard Edition): to offer general purpose use on desktop PCs, servers and other similar
devices.
 Java EE (Enterprise Edition): Java SE and various APIs are useful for multi-tier client-server
enterprise applications.
 The important components in the platform are the libraries, the Java compiler, and the runtime
environment where Java intermediate byte code is executed.

Java Virtual Machine

The virtual machine concept that executes Java byte code programs is the important part
of Java platform. The byte code generated by the compiler is the same for every system regardless
of the operating system or hardware in the system that executes the program. The JIT compiler is
in the Java Virtual Machine (JVM). At run-time the Java byte code is translated into native
processor instructions. The translation is done by JIT compiler. It caches the native code in
memory during execution.

JVM Linker

 The JVM linker is used to add the compiled class or interface to the runtime system.
 It creates static fields and initializes them.
 And it resolves names. That is it checks the symbolic names and replaces it with the direct
references.

JVM Verifier

 The JVM verifier checks the byte code of the class or interface before it is loaded.
 If any error occurs then it throws Verify Error exception.
Class files Class loader subsystem

Runtime data areas


Metho Heap Java Pre- Native
d area stacks register method

Native method Native


Execution engine method
interface

Fig 1: JVM Architecture

Class Libraries

Most of the modern operating systems provide a large set of reusable code to simplify the
job of the programmer. This code is actually provided as a set of dynamically loadable libraries
that can be called at runtime by the applications. Java Platform is not dependent on any specific
operating system so the applications are not rely on any of the existing libraries. The Java Platform
provides a set of standard class libraries which contains most of the same reusable functions
commonly found in modern operating systems.

The Java class libraries provide three purposes within the Java Platform. They provide the
programmer a well-known set of functions to perform common tasks like other standard code
libraries. The class libraries provide an abstract interface to tasks that would normally depend
heavily on the hardware and operating system. Tasks such as file access and network access are
heavily dependent on the native capabilities of the platform. The required native code is
implemented internally by the Java java.io and java.net libraries, and then it provides a standard
interface for the Java applications to perform the file access and network access. If the underlying
platform does not support all of the features a Java application expects, then the class libraries can
either emulate those features or at least provide a consistent way to check for the presence of a
specific feature.

MY SQL

MySQL is the world's most used open source relational database management system (RDBMS)
as of 2008 that run as a server providing multi-user access to a number of databases.

The MySQL development project has made its source code available under the terms of the GNU
General Public License, as well as under a variety of proprietary agreements. MySQL was owned
and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by
Oracle Corporation.

MySQL is a popular choice of database for use in web applications, and is a central component of
the widely used LAMP open source web application software stack—LAMP is an acronym for
"Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects that require a
full-featured database management system often use MySQL.

For commercial use, several paid editions are available, and offer additional functionality.
Applications which use MySQL databases include: TYPO3, Joomla, Word Press, phpBB, MyBB,
Drupal and other software built on the LAMP software stack. MySQL is also used in many high-
profile, large-scale World Wide Web products, including Wikipedia, Google(though not for
searches), ImagebookTwitter, Flickr, Nokia.com, and YouTube.

INTERIMAGES

MySQL is primarily an RDBMS and ships with no GUI tools to administer MySQL databases or
manage data contained within the databases. Users may use the included command line tools, or use
MySQL "front-ends", desktop software and web applications that create and manage MySQL databases,
build database structures, back up data, inspect status, and work with data records. The official set of
MySQL front-end tools, MySQL Workbench is actively developed by Oracle, and is freely available for
use.
CHAPTER 2
LOGICAL DEVELOPMENT
2.1. DFDs

A two-dimensional diagram explains how data is processed and transferred in a system.


The graphical depiction identifies each source of data and how it interacts with other data sources
to reach a common output. Individuals seeking to draft a data flow diagram must identify external
inputs and outputs, determine how the inputs and outputs relate to each other, and explain with
graphics how these connections relate and what they result in. This type of diagram helps business
development and design teams visualize how data is processed and identify or improve certain
aspects.
Data flow Symbols:

Symbol Description

An entity. A source of data or a destination


for data.

A process or task that is performed by the


system.

A data store, a place where data is held


between processes.

A data flow.

LEVEL 0

DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole system
or process being analyzed or modeled. It’s designed to be an at-a-glance view, showing the system
as a single high-level process, with its relationship to external entities. It should be easily
understood by a wide audience, including stakeholders, business analysts, data analysts and
developers. A context diagram gives an overview and it is the highest level in a data flow
diagram, containing only one process representing the entire system. It should be split into major
processes which give greater detail and each major process may further split to give more detail.
Level 0 DFD must balance with the context diagram it describes. Input going into a process is
different from outputs leaving the process. Data stores are first shown at this level.

Admin

Registration
User

HERBAL
SHOPPING

Product details Stock details

Buy product

Fig 2.1.1 level 0-DFD

LEVEL 1

DFD Level 1 provides a more detailed breakout of pieces of the Context Level Diagram.
You will highlight the main functions carried out by the system, as you break down the high-level
process of the Context Diagram into its sub – processes. Level 1 - interaction between 2 different
business applications. This is primarily used to explain the process to business and tech leads, QA
leads. As described previously, context diagrams (level 0 DFDs) are diagrams where the whole
system is represented as a single process. A level 1 DFD notates each of the main sub-processes
that together form the complete system. We can think of a level 1 DFD as an “exploded view” of
the context diagram.
1.0
User Database
Registra
tion

2.0
Admin
Login

3.0

Add product
details

4.0

View
stocks

5.0

List of
brands

6.0 7.0

Place Buy
order product

Fig 2.1.2 level 1 DFD


2.2 ARCHITECTURAL DESIGN

A system architecture or systems architecture is the conceptual model that defines the
structure, behavior, and more views of a system. An architecture description is a formal description
and representation of a system, organized in a way that supports reasoning about the structures and
behaviors of the system. System architecture can comprise system components, the externally
visible properties of those components, the relationships (e.g. the behavior) between them. It can
provide a plan from which products can be procured, and systems developed, that will work
together to implement the overall system. There have been efforts to formalize languages to
describe system architecture; collectively these are called architecture description languages
(ADLs).

Various organizations define systems architecture in different ways, including:

 An allocated arrangement of physical elements which provides the design solution for a
consumer product or life-cycle process intended to satisfy the requirements of the
functional architecture and the requirements baseline.
 Architecture comprises the most important, pervasive, top-level, strategic inventions,
decisions, and their associated rationales about the overall structure (i.e., essential elements
and their relationships) and associated characteristics and behavior.
 If documented, it may include information such as a detailed inventory of current hardware,
software and networking capabilities; a description of long-range plans and priorities for
future purchases, and a plan for upgrading and/or replacing dated equipment and software.

An architecture diagram is a graphical representation of a set of concepts that are part of


architecture, including their principles, elements and components. Architecture diagram can help
system designers and developers visualize the high-level, overall structure of their system or
application, in order to ensure the system meets their users' needs. Using architecture diagram, you
can also describe patterns that are used throughout the design. It's somewhat like a blueprint that
you use as a guide, so that you and your colleagues can discuss, improve and follow.
CHAPTER 3

DATABASE DESIGN

DATA DICYIONARY

TABLE DESGN

3.3 RELATIONSHIP DIAGRAM

Entity Relationship Diagram, also known as ERD, ER Diagram or ER model, is a type


of structural diagram for use in database design. An ERD contains different symbols and
connectors that visualize two important information: The major entities within the system
scope, and the inter-relationships among these entities. And that's why it's called "Entity"
"Relationship" diagram (ERD)!When we talk about entities in ERD, very often we are referring
to business objects such as people/role (e.g. Student), tangible business objects (e.g. Product),
intangible business objects (e.g. Log), etc. "Relationship" is about how these entities relate to
each other within the system.

Fig 3.3.1ER diagram


CHAPTER 4

PROGRAM DESIGN

4.1 MODULES

The system after careful analysis has been identified to be presented with the following
modules and roles.
The modules involved are:
 Administrator
 Moderators
 Users
4.1.1ADMINISTRATOR:
The administrator is the super user of this application. Only admin have access into this
admin page. Admin may be the owner of the shop. The administrator has all the information about
all the users and about all products.
This module is divided into different sub-modules. 1. Manage Moderators
 Manage Products
 Manage Users
 Manage Orders
MANAGE
PRODUCT

MANAGE USER ADMIN MANAGE ORDER

MANAGE
NODERATOR

Fig 4.1.1: Admin module


4.1.2. Manage Products

VIEW PRODUCT ADMIN ADD PRODUCT

DELETE PRODUCT

Fig 4.1.2: Manage Products

Add Products

The shopping cart project contains different kind of products. The products can be classified into
different categories by name. Admin can add new products into the existing system with all its
details including an image.

Delete Product

Administrator can delete the products based on the stock of that particular product

Search Products

Admin will have a list view of all the existing products. He can also search for a particular product
by name.
4.1.3MANAGE USER

BLOCK/UNBLOCK
USER

DELETE USER MANAGE USER ADD USER

VIEW USER

Fig 4.1.3: Manage User

View Users

The admin will have a list view of all the users registered in the system. Admin can view all the
details of each user in the list except password.

Add Users

Admin has privileges to add a user directly by providing the details.

Delete &Block Users

Administrator has a right to delete or block a user. The default status of a new user registered is
set as blocked. The admin must accept the new user by unblocking him.
4.1.4MANAGE ORDERS

MANAGE
DELETE ORDER VIEW ORDER
ORDER

Fig 4.1.4: Manage Orders

4.2.1 USERS

VIEW
PRODUCT

PURCHASE SEARCH
USER
PRODUCT PRODUCT

EDIT PROFILE

Fig: 4.2.1User Module


Registration

A new user will have to register in the system by providing essential details in order to view the
products in the system. The admin must accept a new user by unblocking him.

Login

A user must login with his user name and password to the system after registration.

View Products

User can view the list of products based on their names after successful login. A detailed
description of a particular product with product name, products details, product image, price can
be viewed by users.

Search Product

Users can search for a particular product in the list by name.

Add to cart:

The user can add the desired product into his cart by clicking add to cart option on the product. He
can view his cart by

View Cart

All products added by cart can be viewed in the cart. User can remove an item from the cart by
clicking remove.

Submit Cart:

After confirming the items in the cart the user can submit the cart by providing a delivery address.
On successful submitting the cart will become empty.

Edit Profile

The user can view and edit the profile.


CHAPTER 5
TESTING
System design is the solution for the creation of a new system. This phase focuses on the
detailed implementation of the feasible system. It emphasis on translating design. Specifications
to performance specification. System design has two phases of development Logical design
Physical design During logical design phase the analyst describes inputs (sources), output
s(destinations), databases (data sores) and procedures (data flows) all in a format that meets the
user requirements. The analyst also specifies the needs of the user at a level that virtually
determines the information flow in and out of the system and the data resources. Here the logical
design is done through data flow diagrams and database design. The physical design is followed
by physical design or coding. Physical design produces the working system by defining the design
specifications, which specify exactly what the candidate system must do. The programmers write
the necessary programs that accept input from the user, perform necessary processing on accepted
data and produce the required report on a hard copy or display it on the screen.

3.1 INPUT AND OUTPUT DESIGN

3.1.1 INPUT DESIGN:

Input design is the link that ties the information system into the world of its users.
The input design involves determining the inputs, validating the data, minimizing the data
entry and provides a multi-user facility. Inaccurate inputs are the most common cause of
errors in data processing. Errors entered by the data entry operators can be controlled by
input design. The user-originated inputs are converted to a computer based format in the
input design. Input data are collected and organized into groups of similar data. Once
identified, the appropriate input media are selected for processing. All the input data are
validated and if any data violates any conditions, the user is warned by a message. If the
data satisfies all the conditions, it is transferred to the appropriate tables in the database. In
this project the student details are to be entered at the time of registration. A page is
designed for this purpose which is user friendly and easy to use. The design is done such
that users get appropriate messages when exceptions occur.
3.1.2 OUTPUT DESIGN:

Computer output is the most important and direct source of information to the user. Output
design is a very important phase since the output needs to be in an efficient manner. Efficient and
intelligible output design improves the system relationship with the user and helps in decision
making. Allowing the user to view the sample screen is important because the user is the ultimate
judge of the quality of output. The output module of this system is the selected notifications.

 SYSTEM TESTING

After a system has been verified, it needs to be thoroughly tested to ensure that every
component of the system is performing in accordance with the specific requirements and that it is
operating as it should including when the wrong functions are requested or the wrong data is
introduced. Testing measures consist of developing a set of test criteria either for the entire system
or for specific hardware, software and communications components. For an important and
sensitive system such as an electronic voting system, a structured system testing program may be
established to ensure that all aspects of the system are thoroughly tested.

Testing measures that could be followed include:

 Applying functional tests to determine whether the test criteria have been met
 Applying qualitative assessments to determine whether the test criteria have been
met.
 Conducting tests in “laboratory” conditions and conducting tests in a variety of
“real life” conditions.
 Conducting tests over an extended period of time to ensure systems can perform
consistently.
 Conducting “load tests”, simulating as close as possible likely conditions while
using or exceeding the amounts of data that can be expected to be handled in an
actual situation.
Test measures for hardware may include:

 Applying “non-operating” tests to ensure that equipment can stand up to expected levels
of physical handling.
 Testing “hard wired” code in hardware (firmware) to ensure its logical correctness and that
appropriate standards are followed.
 Tests for software components also include:
 Testing all programs to ensure its logical correctness and that appropriate design,
development and implementation standards have been followed.
 Conducting “load tests”, simulating as close as possible a variety of “real life” conditions
using or exceeding the amounts of data that could be expected in an actual situation.
 Verifying that integrity of data is maintained throughout its required manipulation.

 UNIT TESTING

The first test in the development process is the unit test. The source code is normally divided into
modules, which in turn are divided into smaller units called units. These units have specific
behavior. The test done on these units of code is called unit test. Unit test depends upon the
language on which the project is developed.

Unit tests ensure that each unique path of the project performs accurately to the documented
specifications and contains clearly defined inputs and expected results. Functional and reliability
testing in an Engineering environment. Producing tests for the behavior of components (nodes and
vertices) of a product to ensure their correct behavior prior to system integration.

 SYSTEM TESTING

Several modules constitute a project. If the project is long-term project, several developers write
the modules. Once all the modules are integrated, several errors may arise. The testing done at this
stage is called system test. System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. System testing is
based on process descriptions and flows, emphasizing pre-driven process links and integration
points. Testing a specific hardware/software installation. This is typically performed on a COTS
(commercial off the shelf) system or any other system comprised of disparate parts where custom
configurations and/or unique installations are the norm.

 INTEGRATION TESTING

Testing is which modules are combined and tested as a group. Modules are typically code
modules, individual applications, source and destination applications on a network, etc. Integration
Testing follows unit testing and precedes system testing. Testing after the product is code
complete. Betas are often widely distributed or even distributed to the public at large in hopes that
they will buy the final product when it is release.
CHAPTER 6

CONCLUSION

The project entitled Online herbal shopping system was completed successfully. The
system has been developed with much care and free of errors and at the same time it is efficient
and less time consuming. The purpose of this project was to develop a web application and an
android application for purchasing items from a shop. This project helped us in gaining valuable
information and practical knowledge on several topics like designing web pages using html & css,
usage of responsive templates, designing of android applications, and management of database
using MySQL. The entire system is secured. Also the project helped us understanding about the
development phases of a project and software development life cycle. We learned how to test
different features of a project. This project has given us great satisfaction in having designed an
application which can be implemented to any nearby shops or branded shops selling various kinds
of products by simple modifications. There is a scope for further development in our project to a
great extent. A number of features can be added to this system in future like providing moderator
more control over products so that each moderator can maintain their own products. Another
feature we wished to implement was providing classes for customers so that different offers can
be given to each class. System may keep track of history of purchases of each customer and provide
suggestions based on their history. These features could have implemented unless the time did not
limited us.
CHAPTER 7

REFERENCES

[1] JavaScript Enlightenment,Cody Lindley-First Edition, based on JavaScript 1.5, ECMA-262, Edition

[2] Mc GrawHill’s , Java : The complete reference 7thEdition, Herbert Schildit

[3] Complete CSS Guide ,Maxine Sherrin and John Allsopp-O'Reilly Media; September 2012

[4] http://www.w3schools.com/html/defualt.asp\

[5]http://www.w3schools.com/css/default.asp,

[6]http://www.w3schools.com/js/default.asp
CHAPTER 8

APPENDIX

You might also like