ONLINE SHOPPING CART



E-commerce is fast gaining ground as an accepted and used business paradigm. More and more business houses are implementing web sites providing functionality for performing commercial transactions over the web. It is reasonable to say that the process of shopping on the web is becoming commonplace.

The objective of this project is to develop a general purpose e-commerce store where any product (such as books, CDs, computers, mobile phones, electronic items, and home appliances) can be bought from the comfort of home through the Internet.

However, for implementation purposes, this paper will deal with an online book store.
An online store is a virtual store on the Internet where customers can browse the catalog and select products of interest. The selected items may be collected in a shopping cart. At checkout time, the items in the shopping cart will be presented as an order. At that time, more information will be needed to complete the transaction. Usually, the customer will be asked to fill or select a billing address, a shipping address, a shipping option, and payment information such as credit card number. An e- mail notification is sent to the customer as soon as the order is placed.

1.1.        Technologies Used

1.1.1.     Java Server Pages (JSP)

With the advent of Internet, the monolithic application architecture changed to the multi-tiered client/server architecture. The need for server-side scripting gradually began to dominate aspects of Web Programming. Microsoft introduced Active Server Pages (ASP) to capture the market demand for server-side scripting. Working on similar lines, Sun Microsystems released Java Server Pages (JSP) to add server side programming functionalities to Java.
A typical web application consists of the presentation logic representing the static content used to design the structure of a web page in terms of the page layout, color, and text. The business logic or the dynamic content involves application of business intelligence and diagnostics in terms of financial and business calculations. When developing web applications, time is often lost in situations where the developer is required to code for the static content.
JSP Technology has facilitated the segregation of work profiles of a web designer and a web developer. A Web Designer can design and formulate the layout for the web page by using HTML. On the other hand, a Web Developer working independently can use Java code and other JSP specific tags to code for the business logic. The simultaneous construction of static and dynamic content facilitates development of quality applications with increased productivity

The JSP Request-Response Cycle:
JSP files are stored on the web server with an extension of .jsp. When the client/browser requests for a particular JSP page, the server in turn sends a request to the JSP Engine

The following figure represents the process of the flow of events that occur after a client requests for a JSP page
The request-response cycle essentially comprises of two phases, namely the translation phase and request-processing phase. The translation phase is implemented by the JSP engine and involves generation of a servlet. Internally, these results in the creation of a class file for the JSP page that implements the servlet interface. During the request-processing phase, the response is generated according to the request specification. The servlet then sends back a response corresponding to the request received. After the servlet is loaded for the first time, it remains active and possesses all the subsequent requests with responses, saving time that would otherwise be lost in reloading a servlet at each request.


1.2.2                JDBC

JDBC (Java Database Connectivity) is an application program interface (API) specification for connecting programs written in Java to the data in popular database. It is provided by Sun Microsystems, the application program interface lets you encode access request statements in structured query language (SQL) that are then passed to the program that manages the database. It returns the results through a similar interface.

Features of JDBC API:
Java Database Connectivity (JDBC) provides a database programming API for Java programs. Some of the features of JDBC API are as follows:
  • Contains a set of classes and interfaces that are used to connect to a database built using any DBMS/RDBMS, submit SQL queries to a database, and retrieve and process the results of SQL queries.
  • Is a low-level interface in which SQL select and update statements are called directly from within Java programs.
  • Can be used with both two-tier and three-tier database architectures. In two-tier architecture, a Java program invokes the methods of JDBC API, which in turn communicates with the database server. In three-tier architecture, a Java applet or an HTML form submits SQL queries to a middle-tier server. Middle-tier server in turn uses JDBC API to communicate with the database server.
 
JDBC Architecture:
The JDBC architecture is based on a collection of Java interfaces and classes that together enables you to connect to data sourced, to create and execute SQL statements, and to retrieve and modify sata in a database. These operations are illustrated in the figure below

JDBC Drivers:
JDBC API takes care of converting Java commands to generic SQL statements. However, to address specific database issues, each database vendor provides a driver along with the database. Java Applications invoke the methods JDBC API. JDBC API in turn uses a driver to communicate with a specific database.
JDBC API submits queries to the JDBC driver. The JDBC driver converts queries to a form that a particular DBMS/RDBMS can understand. The JDBC driver also retrieves the results of SQL queries, converts it into equivalent JDBC API classes and objects that can be used by the application. Since the JDBC Driver only takes care of the interactions with database, any change made to the database does not affect the application.

š   JDBC-ODBC Bridge Driver: The first category of JDBC drivers provides a bridge between the JDBC API and the ODBC API. There are several DBMS/RDBMS, such as MS Access and SQL Server that contain the ODBC Driver embedded into them. Since the ODBC API is written in the C language and makes use of pointers and other constructs that Java does not support, a Java program cannot directly communicate with an ODBC Driver. The bridge translates the standard JDBC calls to corresponding ODBC calls, and sends them to ODBC data source via ODBC libraries.

š   Native API Partly Java Driver: These drivers use a mixture of Java implementation and vendor specific native APIs to provide data access. JDBC database calls are translated into vendor specific API calls. The database will process the request and sends the result back through the API, which will in turn forward them back to the JDBC driver. The JDBC driver will translate the result to the JDBC standard and return them to the Java application. There is one layer fewer to go through than for a type 1 driver and so in general a type 2 driver will be faster than a type 1 driver.
            Some DBMS/RDBMS such as DB2 and Informix contain a JDBC driver supplied by the database vendor.

š   Intermediate Database Access Server: Type 3 drivers use an intermediate database server that has the ability to connect multiple Java clients to multiple database servers.  Clients connect to database server via an intermediate server component that acts as a gateway for multiple database servers. The java client application sends a JDBC call through a JDBC driver to the intermediate data access server, which completes the request to the data sourcing using another driver ( for example, a type 2 driver).
            BEA WebLogic includes a type 3 driver. One of the benefit of using a type 3 driver is that it allows flexibility on the architecture of the application, as the intermediate server can can abstract details of connection to database servers.

š   Native Protocol Pure Java Driver/JDBC-Net Pure Java Driver: These drivers convert the JDBC API calls to direct network calls using vendor specific networking protocol. They do this by making direct socket connections with the database. Type 4 drivers offer better performance than others.

1.2.3. Hyper Text Markup Language (HTML)

Hypertext Markup Language (HTML) is a language for describing how pages of text, graphics, and other Information are organized, formatted, and linked together. It is not really a programming language in the sense of COBOL or Visual Basic, but it does provide powerful capabilities for text formatting and output display. The original purpose of HTML was primarily as a tool for making text documents readily available on the Internet. Basic graphic support was added, and the things started to take off. Now we have sound, live video, retail catalogs, and much, much more available to us.
HTML pages are the standard interface to the Internet. This basic language provides the necessary nuts and bolts for building Web pages.

HTML stands for Hyper Text Markup Language and was developed specifically for use on the system of links, which can be non sequential in order. HTML is not a programming language. It is a marking up language used for linking one piece of information to another.

Using a markup language means that tags can be added to the words in the document and web enable them. A tag is a set of descriptive formatting codes used in HTML document that instructs a web browser how to display text and graphics on a web page.

HTML 2.0 is the first standard of HTML specification, released in 1996. HTML 3.6 was the next specification to be developed. It was a joint effort of many software companies like Microsoft, IBM, Sun Microsystems, Novell and others.
HTML 4.0 is the latest version of HTML, which includes CSS and dynamic HTML features.


1.2.4. JavaScript

The project uses JavaScript as the client side scripting language for JSP/HTML pages in the project.
JavaScript is an easy to use object-scripting language designed for creating live online applications that link together resources on both clients and servers. JavaScript is designed for use by HTML page authors and enterprise application developers to dynamically script the behavior of objects running on either the client or the servers. JavaScript ‘s design and concept represent the next generation of software for the Internet and is:
š          Designed for creating network centric applications
š          Complementary to and integrated with Java
š          Complementary to and integrated with HTML
š          Open and cross platform
JavaScript is a platform-independent, event driven, interpreted programming language developed by Netscape Communications Corp. and Sun Microsystems. Originally called Livescript, JavaScript is a programming language that can be included on web pages to make them more interactive.

JavaScript is easier to understand, less complex version of its distant cousin, Java. It is a text-based language that must be placed within HTML that must be placed within, HTML, to be read by the browser and interpreted so the instructions can be performed.

JavaScript is a preferred language for client side scripting. This is mainly because when client side scripting is done browser compatibility is an issue of concern and both major browsers support JavaScript.   


      1.2.6 Oracle :

Oracle takes business where it needs to be: meeting and exceeding stringent demands for high-quality service in a service-driven marketplace. Oracle is designed to optimize traditional, internet and intranet applications, and to stimulate the emerging hosted application market on the internet.

Oracle builds on historic strengths to offer the first complete and simple software infrastructure for the internet’s next generation of intelligent, collaborative applications. The Oracle new features expedite delivery of critical performance, scalability, and availability essential to providing hosted service software for anyone, anywhere, anytime. Oracle architecture is shown in figure
Oracle  Database:
The Oracle Database introduces the following advanced and automated design features that refine Oracle Application Server and Oracle Developer Suite to optimize performance for traditional applications and the emerging hosted application market.
š          Oracle  Real Application Clusters:
The next evolutionary step after Oracle Parallel Server, Oracle Real Application Clusters provides out-of-the-box, linear scaling transparency, compatibility with all applications without redesign, and the ability to rapidly add nodes and disks.

š          Systems Management
Integrated system management products create a complete view of all critical components that drive e-business processes. From the client and application server to the database and host, Oracle quickly and completely assesses the overall health of an e-business infrastructure.

š          High Availability
Setting a new standard for high availability, Oracle introduces powerful new functionality in areas of disaster recovery, system fault recovery, and planned downtime.

š          High Security
Oracle offers the most secure internet platform for protecting company information through multiple layers of security for data, users, and companies. Included are features for building internet-scale applications, for providing security for users, and for keeping data from different hosted user communities separate.

Oracle  Application Server:
Recognized as the leading application server for database-driven Web sites, Oracle Application Server offers the industry’s most innovative and comprehensive set of middle-tier services.

š          Comprehensive Middle-tier Services
Continued innovation within comprehensive middle-tier services, ranging from self service enterprise portals, to e-stores and supplier exchange, sustains the Oracle Application Server as the industry’s preferred application server for database-driven Web sites.

š          New Caching Technology
The new caching technology in Oracle can dramatically increase Web site performance, scalability, and availability. Greater numbers of users can be provided with more personalized, dynamic Web content without adding more application or database servers.

š          Scalability and Performance
Superb scalability and performance now is made available for all Web applications. Oracle Portal services make it easy for Web site developers to deploy enterprise portals with centralized management and unified security. Standard Java, with rich XML and content management support, as well as back-office transactional applications built using Oracle Forms Developer, can easily be deployed.

š          Wireless Device Access
Information in any database or internet application is easily available through Oracle. Support for each wireless device’s specific markup language is no longer necessary.

š          Business Intelligence
Oracle Application Server has built-in reporting and ad hoc query functionality to derive business intelligence after Web site deployment.

Oracle Developer Suite:
Oracle Internet Developer Suite combines leading Oracle applications development tools, business intelligence tools, and enterprise portal building tools in a single, integrated product. Built on internet standards such as Java, XML, CORBA, and HTML, the Oracle Internet Developer Suite provides a high-performance development environment with tools needed to respond to rapidly changing markets and user demands.

š          Extensive Development Alternatives
Oracle Internet Developer Suite tools are suitable for any kind of development approach, including component-based development, Java coding, and visual modeling, and offer rapid application development based on 4GL. Applications can be developed for all clients, including High Productive Java Client, Universal HTML Client, and Anywhere Mobile Client.

š          Tools
Oracle Internet Developer Suite tools include: Oracle Forms Developer; Oracle Designer; Oracle JDeveloper and Business Components for Java; Oracle Reports Developer; and Oracle Discoverer.

š          Other Features
All applications are single, middle-tier deployable with an Oracle Application Server. Oracle Portal is available for an integrated, personalized portal view with all applications. Integrated business intelligence for enterprise reporting and ad-hoc query is available.

Oracle Database New Features:
Important new features are introduced with the release of the Oracle Database, including advancements in Real Application Clusters, systems management, availability, scalability, and security.

1.       Availability:
Oracle dramatically extends Oracle’s leadership in Internet database availability, which is critical for any e-business application. Key areas in Oracle include:
š          Enhanced Disaster Recovery Environment
š          Online Data Evolution
š          Precision Database Repair

2.       Scalability:
Oracle allows e-business to scale the most demanding e-business applications with intensive transactions loads. Key areas include:
š          Increased Transaction Throughput on Oracle Real Application Clusters:
š          Scalable Session State Management:
š          Fine-Grained, Automatic Resource Management:



3.       Performance:
Oracle is the continued performance leader in all relevant areas. Measurement and tuning projects continue to improve Oracle runtime performance. Major focus performance improvements in Oracle are in areas critical for e-business.
š          Native Compilation and Improved PL/SQL Optimization:
š          Latch Contention Improvements:
š          Enhanced Java Performance:
š          Network and Distributed Database Performance:

4.       Security:
Oracle continues to provide the most secure application development and deployment platform in the industry. Key areas include:
š          Strong Three-Tier Security:
š          Security for Hosting Environments:
š          Standards-Based Public Key Infrastructure (PKI):
š          Improved User and Security Policy Management:
š          Data Encryption and Label Security

SQL PLUS:

SQLPLUS is usually thought of as a kind of interactive report writer. It uses SQL to get information from the Oracle database, and lets you create reports by giving you easy control over titles, column headings, subtotals and totals, reformatting of numbers and text, and much more. It also can be used to change the database by using insert, update, and delete commands in SQL. SQLPLUS can even be used as a code generator, where a series of commands in SQLPLUS can dynamically build a program and then execute it.
In most production applications, more advanced report writers are used—such as Web-based parameter-driven reports. SQLPLUS is most commonly used for simple queries and printed reports. Getting SQLPLUS to format information in reports according to your taste and needs requires only a handful of commands, or keywords that instruct SQLPLUS how to behave.
You can write SQLPLUS reports while working interactively with SQLPLUS—that is, you can type commands about page headings, column titles, formatting, breaks, totals, and so on, and then execute a SQL query, and SQLPLUS will immediately produce the report formatted to your specifications. For quick answers to simple questions that aren’t likely to recur, this is a fine approach. More common, however, are complex reports that need to be produced periodically, and that you’ll want to print rather than just view on the screen. Unfortunately, when you quit SQLPLUS, it promptly forgets every instruction you’ve given it. If you were restricted to using
SQLPLUS only in this interactive way, then running the same report at a later time would require typing everything all over again.
The alternative is very straightforward. You simply type the commands, line by line, into a file. SQLPLUS can then read this file as if it were a script, and execute your commands just as if you were typing them. In effect, you create a report program, but you do it without a programmer or a compiler. You create this file using any of the popular editor programs available or even (given certain restrictions) a word processor.
The editor is not a part of Oracle. Editors come in hundreds of varieties, and every company or person seems to have a favorite. Oracle realized this, and decided to let you choose which editor program to use, rather than packaging a program with Oracle and forcing you to use it. When you’re ready to use your editor program, you suspend SQLPLUS, jump over to the editor program, create or change your SQLPLUS report program (also called a start file), and then jump back to SQLPLUS right at the spot you left and run that report (see Figure 6-1).
SQLPLUS also has a built-in editor of its own, sometimes called the command line editor, which allows you to quickly modify a SQL query without leaving SQLPLUS.

Difference between SQL and SQL Plus:

SQL
SQL PLUS
SQL is a language for communicating with the oracle server to access data.
SQL *PLUS recognizes SQL statements and sends them to the server.
SQL is based on American National Standards Institute (ANSI) standard SQL.
SQL *PLUS is the Oracle proprietry interface for executing SQl statements.
SQL manipulates data and table definitions in the database.
SQL *PLUS does not allow manipulation of values in the database.
SQL does not have a continuation character.
SQL *PLUS uses a dash(-) as a continuation character if the command is longer than one line.
It can not be abbreviated.
It can be abbreviated.
SQL uses a termination character to execute commands immediately.
SQL *PLUS does not require termination character; executes commands immediately.
SQL uses functions to perform some formatting.
SQL *PLUS uses commands to format data.



2.1 Software Development Life Cycle:
Software development organization follows some process when developing a software product. A key component of any software development process is the life cycle model on which the process is based. The particular life cycle model can significantly affect overall life cycle costs associated with a software product. Life cycle of the software starts from concept exploration and at the retirement of the software.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE:
The system development life cycle is classically thought of as the set of activities that analysts, designers and users carry out to develop and implement an information system. The system development life cycle consists of the following activities:
š    Preliminary investigation.
š    Requirement Analysis.
š    System Designing.
š    Coding.
š    System Testing.
š    Implementation and Maintenance.

š  Preliminary Investigation: -
An important outcome of the preliminary investigation is the determination that system is feasible or not. In the conduct of feasibility study, there are three major distinct and interrelated areas were taken into consideration. They are as follows:
1.          Technical Feasibility :
The System of operation which was functioning earlier was totally manual, with no kind of automation or computerization. All the departments were maintaining separate registers for keeping various records. Due to expansion of schools more workspace and it appears a tedious task to maintain with specifying equipment and software that will successfully support the tasks required. As a result the computerized system is technically feasible as it is efficient, less time consuming, can produce outputs faster, can input large amount of data in limited  time scale and easier to use in operation                                                                                                                            
2.          Operational Feasibility : -
The ultimate users i.e. the people who are supposed to use the system are trained for a period of one    month so as to get familiar with the new system and its operation. They are taught about the new skills and the new technology and how the technology will be useful to them in their functioning. Operational feasibility is concerned with human, organizational and political aspects. General impression of these factors is gained from the corporate appraisal.
3.          Economical Feasibility :
The computerized system is economically feasible in the sense the cost of the hardware and software and the cost to training of personnel of the company to operate the system and the installation cost is less than the cost of maintaining the registers. This may not be a big sum in the long run of the school business. Also the time taken for the entire process of formulation, checking, studying and installation of the project has been equal to one working month of the school. As a result, there has been no hesitation on pert of the management in adopting the new system.

š  Requirements analysis:-
Analysis of requirements includes studying the existing system and collecting data. During analysis, data are collected on the available files, decision points and transaction handled by the present system. Once the structured analysis is completed, the analyst has affirmed understanding of what is to be done.

š  System Designing:
The design of an information system produces the details that clearly describe how a system will meet the requirements identified during system analysis. System analysts begin the design process by identifying reports and other outputs system will produce. The system design also describes the data to be input, calculated or stored.
š  Coding: -
This is the phase in which computer based system is constructed from the specifications prepared in the design phase. Equipment is acquired and installed during the development phase. All necessary procedure, manuals software specifications, and other documentation are completed. The staff is trained.

š  System Testing:-
During system testing, the system is used experimentally to ensure that the software does not fail. In other words we can say that it will run according to its specifications and in the way users expect. Special test data are input for processing, and the result examined.

š  Implementation, Evaluation and Maintenance:-
Implementation is the process of having systems personnel check out and put new equipments into use, train users, install the new application and construct any files of data needed to use it.
              Evaluation of the system is performed to identify its strength and weaknesses. Maintenance is necessary to eliminate errors in the working system during its working life and to tune the system to any variations in its working environment. The importance of maintenance is to continue to bring the new system to standards.
3.1 Overview:


Analysis is a Fact Finding Technique where studies like User’s need, System Requirement Specifications, Feasibility Analysis and Cost-Benefit Analysis are carried out.

This is the most important step in a software project where we get a general idea about the needs of the customers or end users by having man to man conversation with them and about the various conditions and restrictions that have to be taken care of while developing the software application.
The purpose of this phase is to identify, analyze and document the exact requirements for the system. The developer, customer, a marketing organization, or any combination of the three may perform such study. It is extremely important that the developers of the system study the existing system thoroughly otherwise it is impossible to satisfy the needs of the user. The requirements at this stage are in end-user terms.
During the Requirement Analysis Phase, the development team analyzes the requirements to be fulfilled by the Online Shoping Cart website and identifies the probable approach for meeting these requirements. To identify the requirements needed by the website, we decided to study the existing Shopping Cart process like Searching Book, Adding to Cart, money transfer. In this phase we have also collect necessary information regarding the details to be stored  Registered customer.

3.2 Objective of Requirement Analysis:

Requirement analysis was conducted with the following objectives in mind:

Identification of need
Information Gathering
Evaluate the system concept of feasibility

1.   Identification of Need:

The success of the system depends largely on how accurately a problem is defined, thoroughly investigated, and properly carried out through the choice of solution. Users need identification and analysis is concerned with what the user needs rather then what he/she wants. Until the problem has been identified, defined, and evaluated the analyst shouldn't think about solutions and whether the problem is worth solving or not.

2.   Information Gathering:

A key part of system development is gathering information. The analyst must know what information to get, where to find it, how to collect it, and how to make use of it. The proper use of tools for gathering information is the key to successful analysis.
3.   Feasibility Study:
Feasibility study is carried out to test if the proposed system is feasible in terms of economy, technology, resource availability etc. As such, given unlimited resources and infinite time, all projects are feasible. Unfortunately, such results and time are not possible in real life situations. Hence it is both necessary and prudent to evaluate the feasibility of the project at the earliest possible time in order to avoid unnecessary wastage of time, effort and professional embarrassment over an ill conceived system.

3.3 Software Requirements Specification (SRS):

3.3.1 Introduction:

A.   Purpose:
This document completely describes what the “Shopping Cart” should do without describing how the software will do it. The basic goal of the requirement phase is to produce the SRS, which describing the complete external behavior of the purposed software.

B.   Scope:
This document is the only one that describes the requirements of the system. It is meant for use by the developer and will be the basis for validating the final delivered system. Any changes made to the requirements in the future will have to go through a formal changes approval process. The developer is responsible for asking for clarifications, where necessary, and will not make any alteration without the permission of the client. 

C.   Developer’s responsibility:
The developer is responsible for:
(a) Developing the system.
(b) Installing the software on the client’s hardware.
(c) Conducting any user training that might be needed for using the system.
(d) Maintaining the system for a period of one year after installation.

3.3.2 Product description:

This section provides an overview of the software. This section describes the goal and objective of the software. This section also briefly describes the general requirements of the software. This section is very important for the verification of the software after the completion whether the objective and requirements of the software will met or not.

A.   Goals and objective:

The main purpose of “Online shopping Cart” is to provide the Shopping related services on the Internet. This software also helps to automate the process of ordering the books in home using internet . The goals of “ Online Shopping Cart” are:

š    To automate the time consuming process to go to book store and purchases books .
š    To advertise the new books available in  Internet.
š    To manage the records of customers, Books Details, Stock Details.
š    To provide a searchable database of all customers and accounts.
š    To minimize the amount of paper work required in the daily  services.
š    To provide a secure interface for the banking transactions.
š    To provide an interface so that user can take advantage of anytime, anywhere Shopping.

B.   General requirements:
During the Requirement Analysis Phase, the development team analyzes the requirements to be fulfilled by the Online Shopping website and identifies the probable approach for meeting these requirements. To identify the requirements needed by the website, we decided to study the existing Shoping process like Searching Books , money transfer. In this phase we have also collect necessary information regarding the details to be stored by the database for opening an account.
Finally, it was identified that the Shopping Website should:

š  Enable the visitors to fill Registration form.
š         Provide  details of the various Books available in Stores.
š         Provide the information about the rate of the available books.
š  Be secure enough against the malicious security attack, identity verification of the registered user and authorization.
š         Be able to handle various run time exceptions and errors.
š         It should provide proper interfaces to manage and view details.
š         The web pages should be user friendly and well design to attract visitors.

3.3.3 Usage Scenario:
This section provides a usage scenario for the software. It organized information collected during requirements elicitation into use-cases.

A.   User Profiles:

There will be three levels of users:
š         Administrator level (Employee)
š         User level (Account Holder)

B.   Use-cases:


š         Administrator level:

This level of users will be able to insert new Books, new Category and Price information,. They will also be able to generate

 

š         User Level:
This level of users will be able to Search the books, Order the books etc. They can view their records.

3.3.4 Data Objects and description:
During the requirement analysis phase, the development team examines existing Shopping Cart . After examining all process and feasibility we decided to consider following points while designing database:
š         It should store information of the Registered user details.
š         It should store information of the Books details.
š         It should store information of the various accounts.
š         It should store information of the various category of the books.

Design constraints:
A. Hardware Requirement:
I. Server (Windows 2000 Server (NT))
Microsoft 2000 Server is based on NT Technology biased to run server      side scripts in ASP technology.
Disk Space                               3 GB.
Web Server                                 Microsoft IIS (6.0)

II. Client


          Disk Space                               1GB.
Processor                                 Pentium III
Processor Speed                       1.13Ghz
Memory                                   256 MB

B. Software Requirement:

Operating System                                      :         Windows 2000 / NT / XP
Technologies                                    :        JDBC, Java Beans
Client Side Scripting Language      :         HTML and JSP and Java.
Server Side Scripting Language     :        JSP
Markup Language                          :        HTML
Database Server                               :         ORACLE
Web Server                                       :         Tomcat 4.0
4.1         OVERVIEW:
System design is a solution, a “HOW TO APPROACH” to the creation of a new system. This important phase is composed of several steps. It provides the understanding and procedural details to implement the system. Design goes through a logical and physical stage of the progress. Logical design reviews the present physical system, prepares input/output specifications, makes audit security and control specifications, detailed implementation plans, and prepares the logical design walkthrough. The physical design makes out the details of the physical system, plans the system implementation and specifies any new hardware and software products.

4.1.1 DATABASE DESIGN:
The collection of data is usually referred to as the database. The database contains the information about one particular enterprise. Database system of data involves both the definitions of structures for the storage of information, processing and mechanism for the manipulation of information. In addition, the database system provides for the safety of information stored in the database despite system crashes or attempts of unauthorized access.

4.1.2   HUMAN-MACHINE INTERFACE DESIGN:

 The design of the human machine interface in one of the most important aspects of system design. A good interface design should take into account the following factors: -

User characteristics:
It includes consideration of the kinds of the users who will use the equipment, their diverse backgrounds and skills, the user expectations as well as their physical characteristics. The users who posses high degree of skill often prefer more powerful functions which usually means greater complexity, unskilled operations, on the other hand, would simple functions which are easier to learn and use.
š  Task Characteristics:
The nature of the users tasks differ and therefore the needs for specific-kinds of service from the system. For example unstructured tasks usually requires a more flexible mode of interaction to meet the varying needs of users as opposed to structured tasks, which are more predictable and repetitive. The sequence and frequency with which certain tasks are performed will also affect the optimal design of the user interface.
š  Functional Characteristics:
It refers to the various functions required to perform the tasks and the ease with which these functions can be learnt made use of by the users while ascertaining the functional characteristics, the support facilities required to perform the functions, also need to be taken into account. These include facilities like training, on line help, documentation, expert system etc. the other aspect of functional characteristics of a system its performance criteria like response time, fault tolerance etc.
š  INPUT DESIGN:
The most common cause of errors in data processing is inaccurate input data. Errors entered by data entry operators can be controlled by the input design. Input design is the process of converting user-oriented inputs to computer based formats. The goal of input design to make data entry easy logical and free from errors.


š  OUTPUT DESIGN:
Computers are the most important source of information to the user. Inputs are fed into computers to acquire the required outputs. The computers can provide valuable information’s in the form of well-documented outputs for various values. The major form of output is a hardcopy (reports) from the printer. Reports are around the output requirements of the user.

4.2         Software Design Specification:


This section provides an overview of the entire design document. This document describes all data, architectural, interface and component-level design for the software.

4.2.1 Database Design:

A. Tables description:

Table 1:

š  Table Definition:

Table Name   :           Category_Details:

Purpose    :        Store information about book category.

Primary Key  :           CategoryID

Foreign Key   :          



š  Columns Definition:
S. No.
Name
Data type
Size
Nulls?
Default Value
1
CategoryId
Number
5
No

2
CategoryName
VARCHAR2
25
No

š  Table Description:
S. No.
Name
Description
1
BRANCH_NO
A system generated number auto posted to this table column.
2
NAME
Name of the Category. 

Table 2:

š  Table Definition:

Table Name   :           Book_Details

Purpose          :           Stores details about books such as book title, author etc.

Primary Key  :           BookID

Foreign Key   :           CATEGORY_DETAILS.CATEGORYID→BOOK_DETAILS.CATEGORY



š  Columns Definition:
S.NO.
Name
Data type
Size
Nulls?
Default Value
1
BookId
Number
5
No

2
CategoryId
Number
5
No

3
Title
VARCHAR2
50
No

4
Author
VARCHAR2
30
No

5
Publisher
VARCHAR2
30
No

6
Edition
VARCHAR2
5
No

7
Price
Number
7,2
No

8
Quantity
Number
3
No

9
Description
Varchar2
100
Yes


š  Table description:
S.NO.
NAME
DESCRIPTION
1
BookId
A system generated number auto posted to this table column.
2
CategoryID
Reference to Category_Details
3
Title
Title of the Book.
4
Author
Author Name of the book.
5
Publisher
Store the Book Publisher.
6
Edition
Store the edition of the Book.
7
Price
Contain the Price Information.
8
Quantity
Contain the quantity available in store.
9
Description
Details of the book information

Table 3:

š  Table Definition:

Table Name   :           ODER_DETAILS

Purpose          :           Stores information about the order placed by the end user.

Primary Key  :          


Foreign Key   :          
ORDER_DETAILS.ORDERID        ORDER_DETAILS.ORDERID

š  Columns Definition:
S.NO.
Name
Datatype
Size
Nulls?
Default Value
1
ORDERID
NUMBER
5
No

2
BOOKID
NUMBER
5
No

3
QUANTITY
NUMBER
3
No

š  Table Description:
S.NO.
Name
Description
1
ORDERID
A system generated number auto posted to this table column.
2
BOOKID
Reference to Book_Details table.
3
QUANTITY
Store the order quantity.

 



Table 4:

š  Table Definition:

Table Name   :           TEMP_DETAILS

Purpose          :This table will holds the details about the book that have been searched by the end user.

Primary Key  :          

Foreign Key   :         

Columns Definitions:


S.NO.
Name
Data type
Size
Nulls?
Default Value
1
BookId
Number
5
No

2
CategoryId
Number
5
No

3
Title
VARCHAR2
50
No

4
Author
VARCHAR2
30
No

5
Publisher
VARCHAR2
30
No

6
Edition
VARCHAR2
5
No

7
Price
Number
7,2
No

8
Quantity
Number
3
No

9
Description
Varchar2
100
Yes


š Table description:
S.NO.
NAME
DESCRIPTION
1
BookId
Store the book id of book details table.
2
CategoryID
Store the category id of book details table.
3
Title
Title of the Book.
4
Author
Author Name of the book.
5
Publisher
Store the Book Publisher.
6
Edition
Store the edition of the Book.
7
Price
Contain the Price Information.
8
Quantity
Contain the quantity available in store.
9
Description
Details of the book information

Table 5:

š  Table Definition:

Table Name   :           USER_Profile

Purpose          :           Store the information about all the registered user.

Primary Key  :           UserName

Foreign Key   :          
š  Columns Definition:
S. NO.
Name
Datatype
Size
Nulls?
Default Value
1
USERNAME
VARCHAR2
30
No

2
PASSWORD
VARCHAR2
15
No

3
FIRSTNAME
VARCHAR2
10
No

4
MIDDLENAME
VARCHAR2
10
Yes

5
LASTNAME
VARCHAR2
10
No

6
ADDRESS1
VARCHAR2
40
No

7
ADDRESS2
VARCHAR2
40
Yes

8
CITY
VARCHAR2
40
No

9
STATE
VARCHAR2
20
No

10
PINCODE
VARCHAR2
10
No

11
EMAIL
VARCHAR2
25
No

12
PHONE
VARCHAR2
12
No

š  Table Description:
S. NO.
Name
description
1
USERNAME
Store the user name
2
PASSWORD
Store information of user password
3
FIRSTNAME
Store the first name of the user
4
MIDDLENAME
Store the middle name of the user.
5
LASTNAME
Store the information of the user last name.
6
ADDRESS1
Store the information of the user address.
7
ADDRESS2
Optional
8
CITY
User city
9
STATE
User state
10
PINCODE
State pin code
11
EMAIL
User email address
12
PHONE
User phone number

 


Table 6:

š  Table Definition:

Table Name   :           USER_AUTH

Purpose          :           Stores the username and password of various end users.

Primary Key  :          

Foreign Key   :           USER_PROFILE.USERNAME→USER_AUTH.USERNAME

Columns definition:
S. NO.
Name
Datatype
Size
Nulls?
Default Value
1
USERNAME
VARCHAR2
30
No

2
PASSWORD
VARCHAR2
15
No

š  Table description:
S. NO.
Name
description
1
USERNAME
Store the user name of the end users.
2
PASSWORD
Stores the password of the user.




4.2. Process Model

A Process Model tells us about how the data is processed and how the data flows
from one table to another to gather the required information. This model consists of the
Functional Decomposition Diagram and Data Flow Diagram.


4.2.1. Functional Decomposition Diagram

A decomposition diagram shows a top-down functional decomposition of a
system and exposes the system's structure. The objective of the Functional
Decomposition is to break down a system step by step, beginning with the main function
of a system and continuing with the interim levels down to the level of elementary
functions. The diagram is the starting point for more detailed process diagrams, such as
data flow diagrams (DFD). Figure 2 shows the Functional Decomposition Diagram for
this project.

4.2.2 Data Flow Diagram (DFD)
Data Flow Diagrams show the flow of data from external entities into the system,
and from one process to another within the system. There are four symbols for drawing a
DFD:

1.                  Rectangles representing external entities, which are sources or destinations of
data.
2.         Ellipses representing processes, which take data as input, validate and process it
and output it.
3. .       Arrows representing the data flows, which can either, be electronic data or
physical items.
4.         Open-ended rectangles or a Disk symbol representing data stores, including electronic stores such as databases or XML files and physical stores such as filing cabinets or stacks of paper.

 Data Flow Diagrams for the current system. Each process within the system is first shown as a Context Level DFD and later as a Detailed DFD. The Context Level DFD provides a conceptual view of the process and its surrounding input,output and data stores. The Detailed DFD provides a more detailed and comprehensive view of the interaction among the sub-processes within the system.
7.1Testing


Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and code generation. The increasing visibility of software as a system element and the attendant “costs” associated with a software failure are motivating forces for well planned through testing.

Once source code has been generated, software must be tested to uncover as many errors as possible before delivery to customer. The goal is to design a series of test cases that have a high likelihood of finding errors but how? That’ where software testing techniques enter the pictures.


7.1.1 Testing Objectives


<  Testing is a process of executing a program with the intent of finding an error.
<  A good test case is one that has a high probability of finding an as-yet-undiscovered error.
<  A successful test is that uncovers an as-yet- undiscovered error.


7.1.2 Testing Principle


<  All tests should be traceable to customer requirement.
<  Tests should be planned long before testing begins.
<  The Pareto principle applies to software testing.
<  Exhaustive testing is not possible.
<  To be most effective, an independent third party should conduct testing.


"Software testing involves executing an implementation of the software with test data and examining the outputs of the software and its operational behavior to check that it is performing as required. Testing is a dynamic technique of verification and validation because it works with an executable representation of the system "


7.1.3 Unit Testing


Unit testing focuses verification effort on the smallest unit of software design-the software component or module. Using the component – level design description as a guide, important control paths are tested to uncover errors within the boundary of the module. The relative complexity of tests and uncovered errors is limited by the constrained scope established for unit testing. The unit test is white-box oriented and the step can be conducted in parallel for multiple components.

<  Login Module:

Sr. No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1
Can ID field be Null?
Null ID
ID cannot be NULL
Warning msg "ID can't be NULL"
Success
2
Can password be Null?
Null pass­word
Password Can't be NULL
Warning msg "password can't be Null"
Success
3
Login button is working or not?
Button pressed
Perform login processing
Call proxy Inbox frame
Success
4.
Is Login Frame displaying properly?
Invoke Login Frame
All text fields are displayed and are properly aligned
Little alignment problem
Success


Server side Login Module


Sr. No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1
Is Database Connection establishing?
Connection object is created
Connection establishes
No error during connection was found
Success
2
Is able to retrieve Login ID and password from database
Login ID+ Pass-Word
Able to fetch data from Database
No error found during data fetching
Success
3
Is able to match Login ID & Password
Login Id +Pass-word
Proper matching
Matching done
Success

Client- Server Login Module combined Testing


Sr. No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1
Client Server
Connection
Connecti
on cmd
Connection
established
Connection is
established
Success
2
Server response handled properly or not?
Login cmd
Proper Message Displayed to User
All type of messages are displayed in proper format to user
Success
3
Communication between client and
server
Login cmd
Login cmd is received by server and
response is send to client
Communication is taking place.
Success
4
What if User Id doesn't exist
Login cmd+ UserlD
Server should report non existence of
UserlD
Error msg: "Login ID doesn't exist"
Success
5
What if wrong password is entered?
Login cmd+ UserID+ Pass­word
User should be prompt for reentry of password
Error msg: "Invalid Password"
Success

Add Record Module:


Sr. No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1.
Is Database Connection establishing?
Connection object is created
Connection establishes
No error during connection was found
Success
2
Addition of Books.
Book Name/Author/Stock/Edition
Addition Completed.
Addition completed
Success

3
Addition of Books if already exits
Book Name/Author/Stock/Edition
Addition should not complete
Addition is not completed, because record already exists.
Success


<  Search Record Module:


Sr. No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1.
Is Database Connection establishing?
Connection object is created
Connection establishes
No error during connection was found
Success
2
On search Criteria of Title/Publisher/Edition should come in list box
Book Name/Author/Stock/Edition
Result found.
Result found.
Success



7.1.4        Integration Testing
Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective is to take unit tested components and build a program structure that has been dictated by design.

Incremental integration is the antithesis of the big bang approach. The program is constructed and tested in small increments, where errors are easier to isolate and correct, interfaces are more likely to be tested completely, and a systematic test approach may be applied.

Register Module, Login Module and Logout Module is Integrated


Sr No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1
Is new User created?
Login ID +personal information
User should be created and personal information should be stored in Database
User named ID is created.
Success
2
Is Database Connection establishing?
Connection object is created
Connection establishes
No error during connection was found
Success
3
Is able to match Login ID & Password
Login Id +Pass-word
Proper matching
Matching done
Success
4
Does status of user changes to 'Logout status’?
Logout cmd
Status should change.
No change in
status
Success



<  Add Record Module, Delete Record Module, Update Record Module, Search Record Module is Integrated

Sr No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1
Is new Record Added in database?
BookName/Author Name/Edition etc
Records should be added and displayed on the view page
Record is added and displayed on the view page.
Success
2
Is existing Record deleted from database?
BookName/Author Name/Edition etc
Records should be deleted and should not be displayed on the view page
Record is deleted and not displayed on the view page.
Success
3
Is existing Record updated into database?
BookName/Author Name/Edition etc
Records should be updated and should be displayed on the view page
Record is  updated and displayed on the view page.
Success
4
On search Criteria names should be correct.
BookName/Author Name/Edition etc
Records should be displayed on the view page
Records found and displayed on the view page.
Success



7.1.5        System Testing
System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. Although each test has a different purpose, all work to verify that system elements have been properly integrated and perform allocated functions.


<  Functional Requirements


Sr.No
Test Case Description
Input
Expected Behavior
Observed behavior
Test Result
1
Can New User Register?
Personal Info of User
User should Be registered on DTIS server
User is Registered only If desired Id does Not collide with Existing Ids
Success
2
Can User Login?
Loginld + password
User should Be login
User is login only When Login Id & password is valid
Success
3
Can User Add Records
BookName/Author Name/Edition etc
User should be able to Add records
Added records will be displayed
Success
4.
Can User Delete Records
BookName/Author Name/Edition etc
User should be able to delete records
Deleted records will not be displayed
Success
5
Can User Update Records
BookName/Author Name/Edition etc
User should be able to update records
Updated records will be displayed
Success
6.
Can User Search Records
BookName/Author Name/Edition etc.
User should be able to search records
Result of search will be displayed.
Success
7.
Can User Read information available on the site.
Click the link
User should be able to Read information
Information will be displayed.
Success
8
Can User Logout
Click On Logout
User should be able to Logout
Logout Message
Success





7.1.6  OPTIMIZATION POINTS


The software will work efficiently and speedily when the following conditions will be satisfied:

·         The server should be of high configuration.
·         The client machine has larger RAM.
·         Adequate free space on the client’s hard disk.
·         The user waits until he gets the home page properly.
·         No access to the database for writing, deleting or updating by any other except the authority.


Salient Features of the System

·         The software is completely menu driven.
·         The data entry screens are completely user friendly.
·         All editing features and navigation from one field to another, one web page to another, etc is possible.
·         Exit from any web page is possible.
·         Validation checks have been incorporated in each web page at the appropriate fields.
·         Database has been secured by means of password protection.
·         Authorization is necessary for all the internal users of the site.

8. Limitations and Future Development


There are some limitations for the current system to which solutions can be provided as a future development:
  1.  The system is not configured for multi- users at this time. The concept of transaction can be used to achieve this.
  2.  The Website is not accessible to everyone. It can be deployed on a web server so that everybody who is connected to the Internet can use it.
  3.  Credit Card validation is not done. Third party proprietary software can be used for validation check.

As for other future developments, the following can be done:

1.       The Administrator of the web site can be given more functionalities, like looking at a specific customer’s profile, the books that have to be reordered, etc.
2.      Multiple Shopping carts can be allowed.

8.1. Conclusion

The Internet has become a major resource in modern business, thus electronic shopping has gained significance not only from the entrepreneur’s but also from the customer’s point of view. For the entrepreneur, electronic shopping generates new business opportunities and for the customer, it makes comparative shopping possible. As per a survey, most consumers of online stores are impulsive and usually make a decision to stay on a site within the first few seconds. “Website design is like a shop interior. If the
shop looks poor or like hundreds of other shops the customer is most likely to skip to the
other site. Hence we have designed the project to provide the user with easy navigation, retrieval of data and necessary feedback as much as possible.

In this project, the user is provided with an e-commerce web site that can be used
to buy books online. To implement this as a web application we used JSP as the
Technology. JSP has several advantages such as enhanced performance, scalability, built- in security and simplicity. To build any web application using JSP we need a Programming language such as Java and JSP so on. was the language used to build this application. For the client browser to connect to the JSP engine we used Tomcat web server.

JSP uses JDBC to interact with the database as it provides in-memory caching that eliminates the need to contact the database server frequently and it can easily deploy
and maintain an JSP application. Oracle was used as back-end database since it is one of the most popular commercial databases, and it provides fast data access, easy installation and simplicity.
 A good shopping cart design must be accompanied with user-friendly shopping cart application logic. It should be convenient for the customer to view the contents of their cart and to be able to remove or add items to their cart. The shopping cart application described in this project provides a number of features that are designed to make the customer more comfortable.

This project helps in understanding the creation of an interactive web page and
the technologies used to implement it. The design of the project which includes Data
Model and Process Model illustrates how the database is built with different tables, how
the data is accessed and processed from the tables. The building of the project has given
me a precise knowledge about how JSP is used to develop a website, how it connects to the database to access the data and how the data and web pages are modified to provide the user with a shopping cart application.

No comments:

Post a Comment

leave your opinion