63
CONTENT PAGE (i) Certificate 2 (ii) Company certificate (iii) Acknowledgement 3 1. Company Profile 4-6 2. Software/Hardware Configuration 7 3. List of Tables 8 4. Introduction 9 5. Project Details 10-11 6. Language Details 12-20 7. System Design: Module Flow Chart 21 8. Development Life cycle: 1

Online bookshop

Embed Size (px)

Citation preview

Page 1: Online bookshop

CONTENT

PAGE

(i) Certificate 2

(ii) Company certificate

(iii) Acknowledgement 3

1. Company Profile 4-6

2. Software/Hardware Configuration 7

3. List of Tables 8

4. Introduction 9

5. Project Details 10-11

6. Language Details 12-20

7. System Design:

Module Flow Chart 21

8. Development Life cycle:

Introduction 22-24

Feasibility Study 24-26

9. Desigining 27-30

10.Testing: 30-35

Testing Methods 31-32

11.Tables Used 36-39

12.Snapshots 40-43

13.Future Scope of the Project 44

14.Conclusion 45

15.References 46

16.Website References 47

1

Page 2: Online bookshop

CERTIFICATE

This is to certify that MR. MOHIT KAUL (1811341) is a bonafide student of Bachelor of

Technology in Computer Engineering being run by Haryana Engineering College, Jagadhri of

Batch 2011-2015 has delivered a presentation with Seminar Report entitled

“ONLINE BOOKSHOP” in presence of the undersigned.

We wish her all Success in his life.

(Faculty Signature)

Date ………………. Er. Navdeep Kumar

(Associate Professor)

2

Page 3: Online bookshop

ACKNOWLEDGEMENT

I bow my head to almighty god who gave us strength and wisdom due to which we have been

able to express our views and research. A work of this nature can never be done by any person

alone. This project is an acknowledgement to the intensity, drive and technical competence of

many individuals who have contributed to it. No endeavour can successfully accomplish without

any active participation, sincere assistance and encouraging inspiration of others. Cooperation,

support, advice and guidance of many people who have brought this dissertation in this present

shape.

The special thanks go to my helpful supervisor Mr MukeshJamwal(java trainer, Grapess

Solutions Pvt Ltd. Yamuna Nagar). The supervision and support that he gave truly help the

progression and smoothness of the progression of the internship program. The cooperation is

much indeed appreciated.

My grateful thanks also go to my team members. We work together to provide success

environment to the project. A big contribution and hardwork from the team during 45 days is

very great indeed. All projects during the program would be nothing without the enthusiasm of

the team. Besides this, the internship program makes me realise the importance of working

together as a team and as a new experience in working environment which challenges us every

minute.

My sincere thanks go to our respected HOD for support. I would like to thank all the staff of the

institute who provided the best of their knowledge and give us newer and better ideas, whenever

required and requested for.

I offer appreciation to my parents and all our friends for their ever willing cooperation and moral

support.

MOHIT KAUL

1811341

CSE-4th yr.

3

Page 4: Online bookshop

COMPANY PROFILE

GRAPESS SOLUTIONS (P) Ltd.

An ISO 9001: 2008 Certified Company

#3, Block No. 533, First Floor, Opp. Kumar Mall,, Kumar Mall Rd, Model Town, Sarojini

Colony, Yamuna Nagar, Haryana 135106

Grapess Solutions has started in March,2010 with a vision to provide every solution of IT. We

have started with IT education & training and software solution

In Web Design & Development:

Grapess Solutions provides professional website design, development and maintenance services.

Our experienced web designers and developers carry out various website projects from brochure

sites to multi-functional web portals. Grapess Solutions has a large team of resources and the

required business and technical expertise to develop websites of any complexity. We provide

complete front-end and back-end development based on the latest technologies and industry

trends.

What you can expect with every website design project:

Great, fast loading, modern design.

Private, in progress viewing during design and development.

Content management system to easily edit your website.

Basic search engine optimization to help you rank better.

Site map to help visitors find what they are looking for.

User friendly/Search engine friendly navigation menu.

Email/information request forms to allow visitor feedback and inquiries.

Upload to your website host when going live.

Manual submission to Google, Yahoo, and Bing.

Free minor changes for two weeks following launch of new site

4

Page 5: Online bookshop

Vision / Mission:-

Our Vision

Our vision is to be the leader in Infrastructure Products, Services and creating value

for our customers to earn their Lifetime loyalty.

OurMission

Every team member at Grapess Solutions will strive to provide Cost effective, Best

Quality Products and Services to our customers through adherence to and with

continuous improvements in Standards, Systems and Processes.

Our Software Development Services include:

1. Windows Software Development

2. Web Application Development

3. Software Products

4. Software Rebranding

Website Designing

Professional website designing and website development services, web application development,

ecommerce website development, web design India, offshore website design, SEO services,

offshore engineering services and web design services.

Our services are backed by a professional work portfolio and glowing reviews. We have been

providing best-in-class web site design, web development, search engine optimization & website

maintenance services to Indian & offshore businesses since 2002. Our website design services

will get you the results that you always wanted. Our websites are clean, clear and customized to

your needs! Your website is an online resume for yourbusiness. Why wouldn’t you want to

appear your very best? At Grapess, we provide professional website designing and create custom

logos at affordable prices.

5

Page 6: Online bookshop

SOFTWARE/HARDWARE CONFIGURATION

Software

The following are the software required for the project:

Microsoft Windows7/8

Jdk

Apache Tomcat

MySQL

Hardware

The following are the hardware required for the project:

PC with Dual Core 1.3 or Higher Processor

512 MB RAM or Higher

Minimum 20 GB hard disk space.

For this software there are following alternatives:-

Front End : J2EE

Back End : MySQL

Editor : Eclipse

Doc Tool : MS-Word

6

Page 7: Online bookshop

LIST OF TABLES

1) Table 1: LoginInfo

2) Table 2: BookCategory

3) Table 3: BookSubCategory

4) Table 4: PublicationInfo

5) Table 5: BookInfo

6) Table 6: BookStock

7) Table 7: BookPhoto

8) Table 8: CartInfo

9) Table 9: CartItems

10) Table 10: OrderInfo

11) Table 11: OrderDetails

7

Page 8: Online bookshop

INTRODUCTION

This project deals with developing an e-commerce website for Online Book Shop. It provides the

user with a catalogue of different books available for purchase in the store. In order to facilitate

online purchase a shopping cart is provided to the user.

In order to e-commerce website, a number of technologies must be studied and understood.

These include multi-tiered architecture, server and client side scripting techniques,

implementation technologies such as JSP, programming language (such as JAVA, JAVA script,

and HTML), relational databases (such as MySQL, Access).

This is a project with the objective to develop a basic website where a consumer is provided with

a shopping cart application and also to know about the technologies used to develop such an

application.

An Online Book shop is a virtual store on the internet where customers can browse the catalogue

and select books of interest. The selected books may be collected in a shopping cart. At checkout

time, the items in the shopping cart will be presented as in order. At that time, more information

will be needed to complete the transaction. Usually, the customer will be asked to fill a billing

address, a shipping option, and payment information such as credit card number.

8

Page 9: Online bookshop

PROJECT DETAILS

There are two views of this Online Bookshop:

1) ADMINISTRATOR VIEW: The administrator controls the all online bookshop

activities. The admin also has a username & password through which he enters in the admin

view.It has the following :

Add or Delete a Category: The admin can add or delete a category according to the

needs of the website or the users.

Add or Delete a Book: Admin can add or delete a book from the catalogue.

Add or Delete a user: Admin can delete a user whenever he though to do so.

Logout:In the login page admin will move the login page.

2) USER VIEW: It contains following:

Login: The user can login using the username and password it has registered with. After login, the user can buy books from the catalogue.

Registration: A new user has to register first until then he cannot purchase the books.

The project has following functionalities:

1) A Home page with product catalogue: This is the page where the user will be navigated

after a successful login. It will display all the book categories and will have a search option

for the required book. It also includes some special sections like special books etc.

2) Search: A search is a keyword option provided to the user using a textbox. The keyword to

be entered should be the book title.

9

Page 10: Online bookshop

3) All Products: It contains all the products of the website.

4) Register with us: It is used for registering new users to the website. The users have to enter

their details to get them registered.

5) About Us: It gives the details of the website and the developers.

6) Contact: It consists the contact details of the owners.

7) Login : The registered users login to the website using their username and password.

8) Shopping Cart: The user can manage their shopping cart which will include all the books to

be selected. The user can edit, update and delete his shopping cart. A final shopping cart

summary is displayed which includes all the items the user selected and the final cost.

9) Choose A Category: In this the user can choose the category from which user has to select

the books of the category of the choice.

10) Administrator: The admin will be provided with special functionality likely

Add or Delete a book category.

Add or Delete a member.

Manage member orders.

LANGUAGE DETAILS

10

Page 11: Online bookshop

Java

Java is a blend of the best elements of its rich heritage languages combined with the innovative

concepts required by its unique mission. Although Java has become inseparably linked with the

online environment of the Internet, it is important to remember that Java is first and foremost a

programming language. Much of the character of Java is inherited from C and C++. From C,

Java derives its syntax. Many of Java’s object oriented features were influenced by C++.

James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan developed Java at

Sun Microsystems, Inc. in 1991. This Language was initially called “Oak” but was renamed

“Java” in 1995.

The original impetus for Java was the need for a platform independent language that could be

used to create software to be embedded in various consumer electronics devices such as remote

controls. But, with the emergence of the World Wide Web, Java was propelled to the forefront of

computer language design, because the web too, demanded portable programs.

Principles

There were five primary goals in the creation of the Java language:

1. It should be "simple, object-oriented and familiar".

2. It should be "robust and secure".

3. It should be "architecture-neutral and portable".

4. It should execute with "high performance".

5. It should be "interpreted, threaded, and dynamic".

6. Java™ has significant advantages over other languages and environments that make it

suitable for just about any programming task. The advantages of Java are as follows:

Java is easy to learn.

Java was designed to be easy to use and is therefore easy to write, compile, debug, and

learn than other programming languages.

Java is object-oriented.

This allows you to create modular programs and reusable code.

11

Page 12: Online bookshop

Java is platform-independent.

One of the most significant advantages of Java is its ability to move easily from one computer

system to another. The ability to run the same program on many different systems is crucial to

World Wide Web software, and Java succeeds at this by being platform-independent at both the

source and binary levels. Because of Java's robustness, ease of use, cross-platform capabilities

and security features, it has become a language of choice for providing worldwide Internet

solutions.

JRE (Java Runtime Environment)

The Java Runtime Environment (JRE) provides the libraries, the Java Virtual Machine, and other

components to run applets and applications written in the Java programming language. In

addition, two key deployment technologies are part of the JRE: Java Plug-in, which enables

applets to run in popular browsers; and Java Web Start, which deploys standalone applications

over a network. This is the official Java Download from Sun Microsystems.

JDK (Java Development Kit)

The Java Development Kit (JDK) is a Sun Microsystems product aimed at Java developers.

Since the introduction of Java, it has been by far the most widely used Java SDK. On 17

November 2006, Sun announced that it would be released under the GNU General Public

License (GPL), thus making it free software. This happened in large part on 8 May 2007[3]; Sun

contributed the source code to the Open JDK.

The JDK has as its primary components a collection of programming tools, including:

Java – the loader for Java applications. This tool is an interpreter and can interpret the class files

generated by the Javac compiler. Now a single launcher is used for both development and

deployment. The old deployment launcher, JRE, no longer comes with Sun JDK, and instead it

has been replaced by this new java loader.

12

Page 13: Online bookshop

Javac– the compiler, which converts source code into Java byte code.

Applet viewer– this tool can be used to run and debug Java applets without a web browser

The Java Buzzwords

The key feature responsible for the development of Java is:

Simple

Java was design to be easy for the professional programmers to learn and use efficiently. If one

already understand the basic concepts of OOP, learning Java will be ever easier.

Robust

The multi plat formed environment of the Web places extraordinary demands on a program,

because the program must execute reliably in a verity of systems.

Multithreaded

Java was design to meet the real world requirements of creating interactive, networked programs.

To accomplish this, Java supports multithreaded programming, which allows us to write

programs that do many things simultaneously.

Distributed

Java is design for the distributed environment of the Internet, because it handles the TCP/IP

protocols.

The brief discussion of APIs

AWT

13

Page 14: Online bookshop

It stands for Abstract Window Toolkit. Since all applets run in a window, it is necessary to

include AWT, which supports window-based applet programs. Applets are event-driven. An

applet waits until an event occurs. The AWT notifies the applet about an event by calling an

event handler that had been provided by the applet. Once this happens, the applet must take

appropriate actions and then quickly return control to the AWT. The architecture of an applet is

not as easy to understand as that of a console-based program, Java’s AWT makes it as simple as

possible.

Awt.Event:

Applets are event-driven programs. Thus, event handle is at the core of successful applet

programming. Most events to which user’s applet will respond are generated by the user. These

events are passed to user’s applet in variety of ways, with the specific method depending upon

the actual event. There are several types of events. The most commonly handled events are those

generated by the mouse, the keyboard, and various controls, such as push button. Events are

supported by the java.awt.event package.

Exception Handling-

An exception is an abnormal condition that arises in a code sequence at run time. In other words,

an exception is a run-time error. In computer languages that do not support exception handling,

errors must be checked and handled manually—typically through the use of error codes, and so

on. This approach is as cumbersome as it is troublesome. Java’s exception handling avoids these

problems and, in the process, brings run-time error management into the object-oriented world.

A Java exception is an object that describes an exceptional condition that has occurred in a piece

of code. When an exceptional condition arises, an object representing that exception is created

and thrown in the method that caused the error. That method may choose to handle the

exception itself, or pass it on. Either way, at some point, the exception is caught and processed.

Exceptions can be generated by the Java run-time system, or they can be manually generated by

the user’s code. Exceptions thrown by Java relate to fundamental errors that violate the rules of

the Java language or the constraints of the Java execution environment. Manually generated

exceptions are typically used to report some error condition to the caller of a method.

14

Page 15: Online bookshop

Swing

Swing is a set of classes that provides more powerful and flexible components than are possible

with the AWT. In addition to the familiar components, such as buttons, check boxes, and labels,

Swing supplies several exciting additions, including tabbed panes, scroll panes, trees, and tables.

Even familiar components such as buttons have more capabilities in Swing. For example, a

button may have both an image and a text string associated with it. Also the image can be

changed as the state of the button changes. Unlike AWT components, Swing components are not

implemented by platform-specific code. Instead, they are written entirely in Java and, therefore,

are platform independent. The Swing-related classes are contained in javax.swing. Some of the

classes used are JApplet, JLabel, JButton, JScrollPane, JTextArea, JTextField, JMenuBar,

JMenu, JFrame. JApplet and JFrame provides a method getContentPane() which returns a

reference to their associated content pane. So to get a reference to the JApplet’s container where

user will add their GUI objects.

Container appletContainer = getContentPane ();

This statement can be in the instance variable initialization list, where user declare and

instantiate the GUI objects. Then, subsequent adds or sets of layout managers in the constructor

or in init() would be on this appletContainer. For example,

AppletContainer.add(nameLabel);

JApplet

Fundamental to Swing is the JApplet class, which extends Applet. Applets that use Swing must

be subclasses of JApplet. JApplet is rich with functionality that is not found in Applet.

JLabelSwing labels are instances of JLabel class, which extends JComponent. It can display

text and / or an icon. This class is used for putting a label on an applet, like a label used is “Enter

your name”.

15

Page 16: Online bookshop

JTextField

It allows user to edit one line of the text. Like a text field of 20 characters long is created with the

label “Enter your name” to enter the name of the user.

JButton

JButton class provides the functionality of a push button. JButton allows an icon, a string, or

both to be associated with push button.

JTextArea

It allows user to edit in an area specified in terms of rows and columns.

JScrollPane

Scroll panes are implemented in Swing by the JScrollPane, which extends JComponent. A scroll

pane is a component that presents a rectangular area in which a component may be viewed.

Horizontal and / or vertical scroll bars may be provided if necessary.

JFrame

The JFrame implements frames in Swings. Frame encapsulates a “window”. It is the subclass of

a window and has a titlebar, menubar, borders and resizing corners.

JMenuBar and JMenu

A menu bar displays a list of top-level menu choices. JMenuBar and JMenu implement it.

JavaServer Pages (JSP)

This technology enables you to mix regular, staticHTML with dynamically generated content

from servlets. You simplywrite the regular HTML in the normal manner, using familiarWeb-

page-building tools. You then enclose the code for the dynamicparts in special tags, most of

16

Page 17: Online bookshop

which start with <% and end with %>. Forexample, here is a section of a JSP page that results in

“Thanks for ordering Core Web Programming” for a URL of http://host/OrderConfirmation.

jsp?title=Core+Web+Programming:

Thanks for ordering <I><%= request.getParameter("title") %></I>

Separating the static HTML from the dynamic content provides a numberof benefits over

servlets alone, and the approach used in JavaServer Pages offers several advantages over

competing technologies such as ASP, PHP, orColdFusion. That JSP is widely supported

and thus doesn’t lock you into a particular operating system or Webserver and that JSP gives you

full access to servlet and Java technology for thedynamic part, rather than requiring you to use an

unfamiliar and weaker special-purpose language.

The process of making JavaServer Pages accessible on the Web is muchsimpler than that for

servlets. Assuming you have a Web server that supportsJSP, you give your file a .jsp extension

and simply install it in any place youcould put a normal Web page: no compiling, no packages,

and no userCLASSPATH settings. However, although your personal environment doesn’tneed

any special settings, the server still has to be set up with access to theservlet and JSP class files

and the Java compiler. For details, see your server’sdocumentation or Section 1.5 (Installation

and Setup).Although what you write often looks more like a regular HTML file than aservlet,

behind the scenes, the JSP page is automatically converted to a normalservlet, with the static

HTML simply being printed to the output streamassociated with the servlet’s service method.

This translation is normallydone the first time the page is requested. To ensure that the first real

userdoesn’t get a momentary delay when the JSP page is translated

JSP scripting elements let you insert code into the servlet that will be generatedfrom the JSP

page. There are three forms:

1. Expressions of the form <%= expression %>, which are evaluatedand inserted into the

servlet’s output.

2. Scriptletsof the form <% code %>, which are inserted into theservlet’s _jspService method

(called by service).

17

Page 18: Online bookshop

3. Declarations of the form <%! code %>, which are inserted intothe body of the servlet class,

outside of any existing methods

JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a

trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for

"Java Database Connectivity".) It consists of a set of classes and interfaces written in the Java

programming language. JDBC provides a standard API for tool/database developers and makes it

possible to write database applications using a pure Java API.

Using JDBC, it is easy to send SQL statements to virtually any relational database. In other

words, with the JDBC API, it isn't necessary to write one program to access a Sybase database,

another program to access an Oracle database, another program to access an Informix database,

and so on. One can write a single program using the JDBC API, and the program will be able to

send SQL statements to the appropriate database. And, with an application written in the Java

programming language, one also doesn't have to worry about writing different applications to run

on different platforms. The combination of Java and JDBC lets a programmer write it once and

run it anywhere.

Introduction of Java Database Connectivity

Java, being robust, secure, easy to use, easy to understand, and automatically Downloadable on a

network, is an excellent language basis for database applications. What is needed is a way for

Java applications to talk to a variety of different databases. JDBC is the mechanism for doing

this. JDBC extends what can be done in Java. For example, with Java and the JDBC API, it is

possible to publish a web page containing an applet that uses information obtained from a remote

database. Or an enterprise can use JDBC to connect all its employees (even if they are using a

conglomeration of Windows, Macintosh, and UNIX machines) to one or more internal databases

via an intranet.

With more and more programmers using the Java programming language, the need for easy

database access from Java is continuing to grow. MIS managers like the combination of Java and

JDBC because it makes disseminating information easy and economical. Businesses can

continue to use their installed databases and access information easily even if it is stored on

18

Page 19: Online bookshop

different database management systems. Development time for new applications is short.

Installation and version control are greatly simplified.  

What Does JDBC Do?

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

1. establish a connection with a database

2. send SQL statements

3. process the results.

The following code fragment gives a basic example of these three steps:

Class.forName("com.mysql.jdbc.Driver");con= DriverManager.getConnection("jdbc:mysql://localhost:3306/cineplex", "root", "1");Statement stmt = con.createStatement();

ResultSetrs = stmt.executeQuery("SELECT a, b, c FROM Table1");

while (rs.next()) {

int x = getInt("a");

String s = getString("b");

float f = getFloat("c");

}

JavaSoft provides three JDBC product components as part of the Java Developer's Kit (JDK):

. the JDBC driver manager,

. the JDBC driver test suite, and

. the JDBC-ODBC bridge.

SYSTEM DESIGN

MODULE FLOW CHART:

19

Page 20: Online bookshop

DEVELOPMENT LIFE CYCLE

20

Login

Admin User

Add category

Add SubCategory

Add book

Delete Book

Logout

Choose a Category

Purchase Books

Logout

Page 21: Online bookshop

INTRODUCTION

The Software Development Life Cycle (SDLC) is a conceptual model used in project

management that describes the stages involved in an information system development project

from an initial feasibility study through maintenance of the completed application. Various

SDLC methodologies have been developed to guide the processes involved including the

waterfall model (the original SDLC method). Documentation is crucial regardless of the type of

model chosen or devised for any application, and is usually done in parallel with the

development process. Some methods work better for specific types of projects, but in the final

analysis, the most important factor for the success of a project may be how closely particular

plan was followed.

System Analysis

The Analysis model:

21

Page 22: Online bookshop

DataDictionary

Entity RelationshipDiagram

Data Object Description

Process Specification

Data Flow Diagram

State Transition Diagram

Control Specification

The analysis model must achieve three primary objectives:

To describe what the customer requires.

To establish the basis for the enhancement of a software design.

To define a set of requirements that can be validated once the software is completely

enhanced. The main elements of the analysis model are briefly described below.

At the core of the model lies the data dictionary, which is a repository that contains

descriptions of all the data objects

Consumed or produced by the software .Three different diagrams surround the core.

The entity relation diagram depicts relationships between data objects.

22

Page 23: Online bookshop

The data flow diagram provides an indication of how the data is transformed as they

move through the system.

The state transition diagram indicates how the system behaves as a consequence of

external events.

System analysis is an explicit formal inquiry carried out to help someone identify a better course

of action and make a better decision than he might otherwise have made. The characteristic

attributes of a problem situation where systems analysis is called upon are complexity of the

issue and uncertainty of the outcome of any course of action that might reasonably be taken.

Systems analysis usually has some combination of the following: identification and re-

identification) of objectives, constraints, and alternative courses of action; examination of the

probable consequences of the alternatives in terms of costs, benefits, and risks; presentation of

the results in a comparative framework so that the decision maker can make an informed choice

from among the alternatives.

There are several specific kinds or focuses of systems analysis for which different terms are

used: A systems analysis related to public decisions is often referred to as a POLICY

ANALYSIS. A systems analysis that concentrates on comparison and ranking of alternatives on

basis of their known characteristics is referred to as DECISION ANALYSIS.

FEASIBILITY STUDY

The feasibility study is used to determine if the project should get the go-ahead. If the project is

to proceed, the feasibility study will produce a project plan and budget estimates for the future

stages of development. Feasibility is the determination of whether or not a project is worth doing

the process followed in making this determination is called a feasibility study. It is an analysis of

possible alternative solutions to aproblem and a recommendation on the best

alternative.Feasibility study is carried out to select the best system that meets system

performance requirements.

Different types of feasibility study:

Technical feasibility

23

Page 24: Online bookshop

Operational feasibility

Economic feasibility

Technical Feasibility:

This is concerned with the specifying equipment and software that will successfully satisfy the

requirements. The proposed system is technically feasible as it can be developed easily with the

help of available technology. The proposed system requires MS-Access which is used as back-

end and Core Java with Swings and JDBC as front end.

In the technical needs of the system these points are considered.

The facility to produce in given time.

Response time under conditions.

Availability to process a certain volume of transaction at a particular speed

Economical Feasibility:

Economic analysis is the most frequently used technique for evaluating the effectiveness of the

proposed system. The producer is to determine the benefits and the saving that are expected

from a proposed system and compare them with the proposed system.

The only tangible benefits proposed that the manual work and burden is reduced maximum as

possible, resulting the reduction in manpower requirement and cost incurred on manpower as

well. The system provides many benefits that can’t be measured in terms of money for e.g. user

friendliness, more efficient user response, maintenance of database etc.

Operational Feasibility:

24

Page 25: Online bookshop

The proposed system is highly user friendly and it is much easily to interact with the user.

Therefore, the user will easily accept the system as data entry system and queries can be easily

solved. Initial stages of the system might face some resistance but once complete automation is

achieved and operators are trained. The system will provide maximum easiness.

It is mainly related to human organizational and political aspects in it we consider:

What changes will be brought with the system?

What organizational structures are distributed?

What new skill will be required?

COST-BENEFIT ANALYSIS

Cost Benefit analysis:

Cost saving benefits lead to reduction in administrative and operational costs. A reduction in the

size of the clerical staff used in the support of an administrative activity is an example of a cost

saving benefit. Cost and benefits can be classified as follows:

Tangible or Intangible

Fixed or Variable.

Direct or Indirect

Tangible or Intangible:

Tangible refers to easy with which cost or benefit can be measured. An outlay of cost for any

specific items or activity is referred to as a tangible cost. Cost that are known to exist what their

financial value cannot be exactly measured as known as intangible cost.

25

Page 26: Online bookshop

Fixed or Variable cost:

Some cost and benefit remain constant regardless of how a system is used fixed costs are

considered as sink cost. One encountered they will not recur. For e.g the purchase of equipment

for a computer center is called as fixed cost. It remains constant whether it is used.

In variable cost these are incurred on regular bases they are generally proportion to work volume

and continue as long as the system is in operation.

Direct or Indirect:

Direct cost are those which are directly associated with a system. There is directly applied

operator. For e.g. the purchase of a floppy for Rs.400 is a direct cost because we can associate

the floppy box with money spend.

Indirect costs are not directly associate with a specific activity in the system they are often

referring to as an overhead expense. For example cost of space to install a system, maintenance

of computer center, heat-light and air-conditioning are all tangible cost.

DESIGNING

SYSTEM DESIGN

System design is the process of developing specifications for a candidate system that meet the

criteria established in the Planning. Major step in system design is the preparation of the input

forms and the output reports in a form applicable to the user.

The purpose of design phase is to plan a solution for problem specified by the requirement

document. In other words, starting with what is needed, design takes us toward how to satisfy the

needs. The design of a system is the most critical factor affecting the quality are translated into a

blue-print for constructing the software.

26

Page 27: Online bookshop

The main objective of the system design is to make the system user friendly. System design involves various stages as:

Data Entry

Data Correction

Data Deletion

Processing

Sorting and Indexing

Report Generation

System design is the creative act of invention, developing new inputs, a database, offline files, procedures and output for processing business to meet an organization objective. System design builds information gathered during the system analysis.

The designing phase of any software development is carried out in the following stages:

Architectural design( high level design)

Detailed design(low level design or physical design)

HIGH LEVEL DESIGN:

The top level design aims to identify the modules that should be in the system, the specification

of these modules, and how they interact with each other to produce the desired results, at the end

of the system design all the major data structures, file formats, output formats, and the major

modules in the system and their specifications are decided.

It involves:

Identifying the entities

All the entities related to the model were identified, checked and consolidated.

27

Page 28: Online bookshop

Identifying the relationships

The relationships between the entities within and outside the system were identified.

Attribute definition

Attributes for each entity were identified and their field characteristics were identified. At the

end of the logical design, a system modeled on DBMS should be fully organized. Further, though

a fully normalized design may not be the design adopted in the final physical model, it is still

desirable fully normalize the design and then de-normalize it in a controlled manner to take care

of optimality. Since normalization is a body of rules addressing analysis and conversion of data

structures into relations that exhibit more desirable properties of internal consistency, minimum

redundancy and maximum stability.

DATA NORMALIZATION:

The focus of normalization is on reducing storage overheads. Specially, the aims are;

To identify and isolate the entities involved.

To remove redundant information.

To determine the identifying attributes of records.

An entity is something exists. It may be something tangible or it may even be just a relationship.

Every occurrence of an entity will have some discernible attributes. Removing redundancy, the

second aim of normalization, is the other way of eliminating waste space. The last aim or having

identifying attribute can be accessed. It also facilitates linking of tables.

LOW LEVEL DESIGN:

During detailed design, the internal logic of each of the modules specified design is decided.

During the phase further details of the data structure and algorithmic design of each of the

modules is specified. The logic of the module is usually specified in a high level design

28

Page 29: Online bookshop

description language, which is independent of the target language in which the software will

eventually be implemented.

In the system design the focus is on identifying the modules, where as during detailed design

focus is on designing the logic for each of the modules. The three main tools of system design

are:

Data flow diagram

Flow charts

Data dictionary

TESTING

Introduction

During earlier development phases, an attempt is made to build software from an abstract

concept to a tangible implementation. Software testing is a critical element of software quality

assurance and represents ultimate review of specification, design and coding notion of

“correctness” of the software just developed and overcome a conflict of interest that occurs when

errors are recovered. A thorough testing of system before any implementation is mandatory, as

regards its individual program, the system as a whole, user acceptance of the system etc. this is

because implementing a new system is a major job, which requires a lot of man-hours and other

resources, so an error not detected before implementation may a cost a lot. Effective testing early

in a process is also necessary because in some cases, a small error not detected and corrected

early before installation may explore into much larger problems.

After programming comes the stage of installing the computerized system. Actual

implementation of the system can be begin at this point using either of parallel or direct change

over plan, or a blend of the two.

Testing the system

Testing can be done with two types of data. Live data and test data.

29

Page 30: Online bookshop

Live data is the data actually to be used in the proposed system.

Test data is previously designed sample input to achieve predictable results.

Testing Objective

Testing is a process of execution a program with the intent of finding an error.

A good test case is one that has a high portability of finding an undiscovered error.

A successful test is one that uncovers an as-yet-discovered error.

Testing Principles

ATI tests should be traceable to customer requirements.

Test should be planned long before testing phase.

Testing should begin “in small “ and progress toward testing “in the large”.

Exhaustive testing is completely possible.

To be most effective, an independent third party should conduct testing.

TESTING METHODS

White Box Testing:

White box testing of software is predicated on close examination of procedural detail. Providing

test cases that exercise specific sets of conditions and or loops tests logical paths through the

software. White Box Testing, sometime called glass box testing, is a test case design method that

uses the control structure of the procedural design to derive test cases.

Using white box testing methods, following test cases can be derived.

Guarantee that all independent paths within module have been

exercised at least once.

Exercise all logical decisions on their true and false sides. Execute all

loops at their boundaries and within their operational bounds.

30

Page 31: Online bookshop

Exercise internal data structures to assure their validity.

The errors that can be encountered while conducting white box testing

are-

Logical errors and incorrect assumptions. Typographical errors

Black Box Testing:

Black box testing is carried out to check the functionality of the various modules. Although they

are designed to uncover errors, black box tests are used to demonstrate that software functions

are optional; that input is properly accepted and output is correctly produced, and the integrity of

external information is maintained, a black box test examines some fundamental aspects of the

system with little regard for the internal logical structure of the software. Black box testing

focuses on the functional requirements of the software.

Black box testing attempts to find errors in the following categories:

Incorrect or missing functions.

Interface errors.

Errors In data structure or external database access.

Performance errors

Initialization and termination errors.

Unlike white box testing, which is performed early in the testing process, black box tends to

apply during later stages of testing. Because black box testing purposely disregards control

structure, attention is focused on the information domain.

SOFTWARE TESTING STRATEGIES:

A strategy for software testing integrates software test case design methods into a well planned

series of steps that result in the successful construction of software. An important, software

31

Page 32: Online bookshop

testing strategy provides a road map. Testing is set of activities that can be planned in advanced

and conducted systematically. Various strategies are given below:

Unit Testing: Unit testing focuses verification effort on the smallest unit of software design i.e.

module. Using procedural design as a guide, important control paths are tested to uncover errors

within the boundary of the module.

Integration Testing: Integration testing is systematic technique for constructing the program

structure while conducting tests to uncover errors associated with interfacing.

Acceptance Testing: To ensure that the final system, as it will be delivered, complies with all

the client’s requirements of the system, as detailed in the SRS. If monitor alterations are

required, then some form of regression testing may also have to be used.

Validation Testing: At the culmination of Integration testing, software is completely assembled

as a package, Interfacing errors have been uncovered and corrected and a final series of software

test-validation testing may begin.

System Testing: Software is incorporated with other system elements and a series of system

integration and validation test are conducted. The various types of system testing are:

Recovery Testing: many computer based systems must recover from faults and resume

processing within a pre-specified time.

Security Testing: Security testing attempts to verify that protection mechanisms built into a

system will in fact protect it from improper penetration.

Stress Testing: Stress tests are designed to confront programs with abnormal situations.

Performance Testing: Performance testing is designed to test run time performance of

software within the context to an integrated system.

All above mentioned testing principles have been applied to all the modules and the modules

have passed the tests successfully.

32

Page 33: Online bookshop

TESTING OF FORMS

Forms are the interface between the user and database system. Testing of forms was extensive

task. All data entry and query formats are designed using forms. Forms were tested to ensure that

they are performing the tasks and well they are designed fork and correction and modifications

were made found to be necessary.

System testing is designed to uncover weaknesses that were not found in the earlier tests. This

includes forced system failure and its users in the operational environment will implement

validation of the total system as it. After a successful testing of the individual programs and

forms, the whole system was through a series of test to ensure the proper working of the system

as a whole. The system as a whole unit put to all-possible inputs. The consistency and validity is

then checked by the outputs. The activities involved in the system testing are:

Integration Testing

Acceptance Testing

In integration testing the entire system is tested and Acceptance Testing involves planning and

execution of functional tests, performance tests and stress testing order to demonstrate that the

implemented system satisfied its requirements. The functional tests, performance tests and stress

tests are performed to determine the limitation of the system.

Functional Tests:

The system went through functional tests all along the development stage. Whenever a new

function was added it went through a thorough testing for all possible input values and its

interoperability with other functions by the coder. On delivery of the intermediate system to the

customer, the customer studied the system functionalities and provided the feedback, which often

mentioned the changed desired. So the system, went through functional test both at the developer

and customer ends.

33

Page 34: Online bookshop

Performance Tests:

Before the delivery of the system to the customers the new system went through various tests to

benchmark its performance.

These included the GUI testing.

The functional testing.

And, the overall system integrity testing.

Stress Tests:

The system was pushed to its limits and beyond during the stress testing, to measure its

performance and stability versus the load.

Security Tests:

The functional environment of the system posed no real security threat but the system was

developed considering the entire data to be highly critical and thus denying free access to anyone

without proper access rights. The entire system was password protected.

Post Implementation Review

After the system is implemented and conversion is complete, a review should be conducted to

determine whether the system is meeting expectations and where improvements are needed. A

post implementation review measures the systems performance against predefined requirement.

It determines how well the system continues to meet the performance specifications. A Post-

Implementation Review (PIR) is an assessment and review of the completed working solution. It

will be performed after a period of live running, sometime after the project is completed.

34

Page 35: Online bookshop

TABLES USED

Table 1:LoginInfo

LoginInfo

Column Name Data Type ConstraintUserName Varchar(100) Primary keyPassword Varchar(100)RoleName Varchar(100)EmailID Varchar(100) Unique keySecurityQuestion Varchar(1000)SecurityAnswer Varchar(100)LastLogin Datetime

Table 2: BookCategory

BookCategory

Column Name Data Type ConstraintBookID Varchar(20) Primary keyBookName Varchar(100) Unique keyDescription Varchar(1000)

35

Page 36: Online bookshop

Table 3: BookSubCategory

BookSubCategory

Column Name Data Type ConstraintSubBookCategoryID Int Auto increment , Primary

keySubBookCategoryName Varchar(100)Description Varchar(1000)

BookID Varchar(20) Foreign key with Product Category

Table 4: CompanyInfo

CompanyInfo

Column Name Data Type Constraint

PublicationID Varchar(20) Primary key

PublicationName Varchar(100) Unique key

Description Varchar(1000)

Table 5: BookInfo

BookInfo

Column Name Data Type ConstraintBookID Int Primary key , auto incrementBookName Varchar(100)SubBookCategoryID Int Foreign key with

ProductSubCategoryPublicationID Varchar(20) Foreign key with

CompanyInfoPrice FloatQuantity Int

Table 6:BookStock

36

Page 37: Online bookshop

BookStock

Column Name Data Type ConstraintStockID Int Primary key,auto incrementBookID Int Foreign key with Product

InfoQuantity IntStockType Enum(‘IN’,’OUT’)StockDate Datetime

Table 7:BookPhoto

BookPhoto

Column Name Data Type ConstraintPhotoID Int Primary key,auto incrementPhotoName Varchar(100)ExtName Varchar(100)PhotoType Varchar(100)PhotoSize IntBookID Int Foreign key with product

info

Table 8:CartInfo

CartInfo

Column Name Data Type ConstraintCartID Int Primary key,auto incrementUserName Varchar(100)CartDate DatetimeIsOrder Enum(‘1’,’0’)

Table 9:CartItems

37

Page 38: Online bookshop

CartItems

Column Name Data Type ConstraintBookItemID Int Primary key,auto incrementBookID Int Foreign key with ProductInfoQuantity IntPrice FloatCartID Int Foreign key with CartInfo

Table 10:OrderInfo

OrderInfo

Column Name Data Type Constraint

OrderID Int Primary key,auto incrementUserName Varchar(100) Foreign key with LoginInfo

CartID Int Foreign key with CartInfoOrderDate Datetime

ShippingDate DatetimeOrderStatus Varchar(1000)ShippingAddress Varchar(1000)

Table 11:

OrderDetails

Column Name Data Type Constraint

DetailID Int Primary key,auto increment

BookID Int Foreign key with ProductInfo

Quantity Int

Price Float

SNAPSHOTS

38

Page 39: Online bookshop

1. HOME PAGE: The home page is the first look of the online bookshop. This home page is

filled with graphics as well as information about which the site is all about.

The Home page consists of:

Links to Login page and Registration page.

Options of choose a Category and Select Publications.

Information about new Books and special offers.

Information about the website and contact details.

Home Page

2. LOGIN PAGE: The Login page can be accessed by the registered users only. The Login

page consists of:

39

Page 40: Online bookshop

Username Text Field: The user has to enter the username in this text field.

Password Text Field:The user has to enter the password in this text field.

(Login Page)

40

Page 41: Online bookshop

If the user enters invalid Username or Password or both, a message will be displayed “Invalid

Username Or Password”.

3. REGISTRATION PAGE: The registration page is where new users have to register in

order to purchase the books. Users can only login when they have registered first.

The Registration page consists of:

Enter New Username: The new users have to give a unique username to register.

Enter New Password: The user has to give a new password by which they can login

their account.

Enter Email Id: The user has to enter a valid email id for registering their accounts.

41

Page 42: Online bookshop

Choose Security Question: In this field, the user can select a security question fron

the already given choices of questions, such as:

What was your childhood pet name?

What is the name of your pet?

Enter Security Answer: In this field, the user will answer the security question. This

security question can be used in case the user forgets his/her password.

(Registration Page)

42

Page 43: Online bookshop

FUTURE SCOPE OF THE PROJECT

This project can be easily implemented under various situations.We can add new features as and

when we require. Reusability is possible as and when require in this project. There is flexibility

in all the modules.

We can also include online payment services to this project using PayPal. This will help

customers to pay online for their purchases using Credit/Debit card. There are many features

which could be added to this project for making this project more productive.

43

Page 44: Online bookshop

CONCLUSION

The software development is never completed. There is always a need for modification. There

could have been other approaches to implement the system. I have tried to my level best to make

the system an interactive as possible.

The developed system is flexible and changes whenever can be made easy. Using the

facilities and functionalities of J2EE and jsp, the website has been developed in a neat

and simple manner, thereby reducing the operators work. The speed and accuracy are

maintained in proper way. The user friendly nature of this website developed in J2EE and

jsp is very easy to work with both for the admin as well as other users with little

knowledge of computer.

44

Page 45: Online bookshop

REFERENCES

1) Servlet and JSP Quick Reference http://www.coreservlets.comhttp://www.moreservlets.com

2) JSP: The Complete Reference. Phil Hanna. Osborne/McGraw-Hill.

3) Java Servlet Programming, 2nd edition by Jason hunter, William Crawford, Publisher: O’Reilly media.

4) Java Web Programming with Eclipse by David Turner and JineokChae.

5) http://www.oracle.com/technetwork/java/index.html

6) Y. Daniel Liang, ”Introduction to Java Programming” 9thed, 2012.

7) www.w3schools.com/sql

45

Page 46: Online bookshop

Website Reference

www.oracle.com/technetwork/java/index.html

www.freewebmasterhelp.com

www.tutorialspoint.com/jsp/

www.coreservlets.com

www.w3schools.com/jsp

www.tomcat.apache.org/

46