Online_Book_Zone_With_Classified_Variety_Search_Option.pdf

Page 1

INTRODUCTION Abstract: Title of the project: Online Book zone with Classified Variety search option Domain: Shopping 1.

Sub Domain: Software Industry

2.

Project Architecture: N-Tire Architecture

3.

SDLC methodologies: Waterfall model

4.

Abstract of the project:

Online Book zone with Classified Variety search option allows visitors to your on-line shopping site to collect books in a shopping cart. They may view the contents of their shopping cart at any time and may add or delete books to the cart. The program automatically calculates the total, sales tax, shipping charges, and grand total. When a visitor decides to check-out, the order information including the buyer's name, address and billing instruction is e-mailed to your order department (or whomever you choose) and a receipt is sent to the shopper. Traditional libraries are limited by storage space. A traditional library must spend large sums of money paying for staff, book maintenance, rent, and additional books. This library requires cataloguing input to allow users to locate and retrieve material.


The idea of the Online Book zone with Classified Variety search option is to provide the user with a framework that the user can use to quickly organize a library collection that can be shared with a larger group of people. This allows registered users to present a collection of media items (such as movie DVDs, music CDs, books, and more) for other registered users to borrow. Users will be able to look through a library of items collectively held by the group using the application and request to borrow specific items from the registered owners of the items. This System provides you with a series of pages that easily allow you to present and manage items in your library, as well as items that are on loan. Starting pages for this system include a basic home page and login page for registered users. This also included pages that allow you to view the group library, your personal library, as well as an alert page that warns you of items you have due to others or items that are due to you.

Features • • • • •

Mails order to one or two e-mail addresses Sends receipt to customer Accommodates up to four types of shipping Allows owner to predefine sales tax based a specific state Tracks purchases even if user clicks the back button


.

Online Book zone with Classified Variety search option Consists of following modules: •

Administration

Buyer

Home

Registration

My Cart

Sign In


Purpose of the Project By using this we can easily purchase so many items in easy way (i.e. Books) through online. Online Book zone with Classified Variety search option is used by so many peoples.Through this we can eliminate the waste of time to go to purchase the items from one place to other place.Home delivery on purchasing the items. When a visitor decides to check-out, the order information including the buyer's name, address and billing instruction is e-mailed to your order department (or whomever you choose) and a receipt is sent to the shopper. You can choose from a wider variety of things available for you to shop which may not be available in the local brick and mortar stores. You also have the benefit to do all from the comfort of your own home. When you buy from online store you have the comfort to take your time while checking for the things of your choice, this will lead you to a simple and quick way to perform price comparison unlike the dissatisfied and hurried shopping you do in the local stores. Users will be able to look through a library of items collectively held by the group using the application and request to borrow specific items from the registered owners of the items. This System provides you with a series of pages that easily allow you to present and manage items in your library, as well as items that are on loan.


Evaluation of existing system The Existing system is manual system where, each time the person go to shops for purchase books. In exisisting system lot of time is wasted for buying the products or items. In this system the buyer must visit to different shops for buying the books.

Drawbacks of the existing system: •

Lot of time is wasted to go to shops for purchasing the books.

It is not possible to buy all items at one shop.

It is a very time consuming process.

There is no privacy in this system.

Proposed Solution to these Problems


The Online Book zone with Classified Variety search option enables you to easily create an application that allows owners to present a collection of media items ( books) for other registered users to borrow. Users will be able to look through a library of items collectively held by the group using the application and request to borrow specific items. Users will be able to look through a library of items collectively held by the group using the application and request to borrow specific items from the registered owners of the items. This System provides you with a series of pages that easily allow you to present and manage items in your library, as well as items that are on loan.



Software Requirement specification


INTRODUCTION Purpose: The main purpose for preparing this document is to give a general insight into the analysis and requirements of the existing system or situation and for determining the operating characteristics of the system. Intended Audiences The implementation part shall be handled in a detailed manner with pseudo code in this project. The target audiences for this document are • Testing Team Member • Development Team Member

ONLINE BOOK ZONE WITH CLASSIFIED VARIETY SEARCH OPTION is webbased project. It uses web technologies like, jsp, servlet, for the web pages and to store the data from web pages it uses the My-sql database as the back end. • Provide the right information at the right time and place to the right team members. • Provide continuous information-sharing with individuals from other firms. • Deliver information in its native format so that an authorized user can manipulate/modify it. • Allow team members to view information in all forms without having to install the related applications on their computer;


• easy to use and navigate • Track and link discussions with the related documents. • Manage access rights, make associations between team members and relevant data, and notify with appropriate message.

SOFTWARE DEVELOPMENT METHODOLOGY: SOFTWARE METHDOLOGY: Here I am using JACOBSON METHDOLOGIES to develop the proposed system. INTRODUCTION: In 1986 BOOCH developed the Object Oriented Design concept is called as BOOTCH METHOD. It covers both analysis and Design phases of the Object Oriented System, The BOOTCH METHOD consists o following diagrams: 1

Class diagrams

2

Object diagrams


3

State transition diagram

4

Module diagram

5

Process diagram

6

Interaction diagram BOOCH used the large set of symbols. Even though BOOTCH defines a lot of symbols to document almost every design decision, if we work with his method, you will notice that you never use all these symbols and diagrams; this is this main drawback of the BOOCH METHOD. In 1991 Jim Raumbaugh develop the OMT (Object Modeling Technique) with the help of his team It covers analysis, Design and implementation of the system.

OMT separates Modeling into three different parts: 1. Object Model - Presented by the Object Model and the data dictionary. 2. Dynamic model - Presented by the State diagrams and Event flow diagrams. 3. Functional Model - Presented by Data flow and constraints. There is no traceability in the different phases, both forward and back ward; this is the main disadvantage of the OMT. In order to avoid the problems faced in the above two models JACOBSON invented the one model called as the JACOBSON METHDOLOGIES (Object Oriented Software Engineering). It will


cover the entire life cycle and stress tractability between different phases, 0both forward and back ward, Additionally he invented the Use case diagrams, these diagrams are necessary to understanding system requirement. It captures the goal of the system. It is used to identify the Use cases and External users (external users are the users who interact with our system to complete the task) THE JACOBSON ET AL METHDOLOGIES: JACOBSON METHDOLOGIES (Object Oriented Software Engineering) OOSE cover the Entire life cycle and stress trace ability between the different phases, both forward and backward. And Use case diagrams, these diagrams are necessary to understanding system requirement. It captures the goal of the system. It is used to identify the USE CASES and External users (external users are the users who interact with our system to complete the task) OBJECT ORIENTED SOFTEWARE ENGINEERING: Object oriented software engineering also called, as the objectory. It is build around several models: 1

USE CASE MODEL: The use-case model defines the outside (actor) and inside (use case) of the systems behavior.


2

DOMAIN OBJECT MODEL: The objects of the “real” world are mapped in to the main object model.

3

ANALYSS OBJECT MODEL: The analysis object model presents how the source code (implementation) is carried out and written.

4

IMPLIMENTATON MODEL: The implementation model represents the implementation of the system.

5

TEST MODEL: The test model constitutes the test plan, specification and reports.

JACOBSON METHDOLOGY consists of following diagrams: 7

Use case Diagrams

8

UML activity diagram

9

UML use Case Diagram

10

Sequence diagrams

11

Class diagrams

12

Business class diagrams


Use case Diagrams: A use case describes a sequence of actions that provide something of

measurable

value to an actor and is drawn as a horizontal ellipse An actor is a person, organization, or external system that plays a role in one or more interactions with your system.

UML activity diagram: Activity diagrams are used to document workflows in a system, from the business level down to the operational level. When looking at an Activity diagram, you'll notice elements from state diagram, the Activity diagram is a variation of the state diagram where the "states" represent operations, and the transitions represent the activities that happen when the operation is complete. The general purpose of Activity diagrams is to focus on flows driven by internal processing vs. external events. Sequence diagrams:


UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are commonly used for both analysis and design purposes. Sequence diagrams are the most popular UML artifacts for dynamic modeling, which focuses on identifying the behavior within your system.

Class diagrams: A class diagram describes the static structure of the symbols in your new system. It is a graphic presentation of the static view that shows a collection of declarative (static) model elements, such as classes, types, and their contents and relationships. Classes are arranged in hierarchies sharing common structure and behavior, and are associated with other classes

IDENTIFYING ACTORS AND USERS Actors An actor is a person, organization, or external system that plays a role in one or more interactions with your system. Actors are drawn as stick figures Actors are used to interacting with the system to performance complete the task. A use case is a set of scenarios that describing an


interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. Use cases A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse A use case is an external view of the system that represents some action the user might perform in order to complete a task. Identifying the actors: Who are using the system is to identify the actors. The term actor represents the role use plays wit respect to the system. When dealing with actors, it is important to think roles rather tan people or job titles. A user may play mare more than one role. You have to identify the actors and understand how they will use and interact with the system. The term actors represent the role user plays. Theses are different actors are used in the USE CASE DIAGRAM: The usage of use case diagram includes: ďƒ˜

Describes the behavior of a system from a user's standpoint

ďƒ˜

Provides functional description of a system and its major processes.


ďƒ˜

Provides

graphic

description

of

the

users

of

a

system

interactions to expect within that system ďƒ˜

Displays the details of the processes that occur within the application area

and

what

kinds

of


Features of proposed system/Functional Requirements:


Actors: Description:

Administrator, User User and Administrator enter valid Username and password which is validated and confirmed by the

Preconditions:

administrator. Admin has

one

administrator

login

and

password. But user has to create his or her own login Normal Flow:

id

and

password

at the

time

of

Registration. 1. User or Administrator must entered the Username and Password 2. Based on the user or Administrator username and password corresponding home

Alternative Flows:

page is displays. 1. Once User logged in to system, home Page related to User displays. 2.User can do the operations related to his Home page. 3. Once Administrator logged in to system home page related to Administrator is displays. 4.

Exceptions:

Administrator can do the operations related

to his home page. 1. After step 1 in Normal Flow admin fills only few mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields must required.

Priority:

High

Frequency of Use:

High

Notes and Issues:

None


1.

Use Case ID:

BOOK_STORE1


Use Case Name:

LOGIN_USER _ADMINISTRATOR

2. UserRegistration Use Case ID: Use Case Name:

BOOK_STORE2 USER_REGISTRATION

Actors: Description:

User should give appropriate information

Preconditions:

to create his own login id and password. User must be open the appropriate page i.e., Registration page of the BOOK_STORE And he can follow the rules

Normal Flow:

which are given in that page for filling of Registration page. 1. Registration form took some time because it has two pages. 2. User fills all the fields in the Registration Form and click on submit button 3. System should add the new user into the database and displays

message

that

“You

are

a

member

of


Alternative Flows:

BOOK_STORE” 1.After step 2 in normal flow User fills only mandatory fields and click submit button 2. System should add the new user into the database and displays

Exceptions:

message

that

“You

are

a

member

of

BOOK_STORE” 1. After step 2 in Normal Flow user fills only few mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled. 3. After Step 2 in Normal Flow admin fills login id details that already exist. 4. System will display error message “Sorry, try for another Login id because it is already registered by some other.”

Priority: Frequency of Use: Notes and Issues:

High High None

3. AddingofLibrary Use Case ID:

BOOK_STORE3


Use Case Name:

ADMIN_ADD_LIBRARY

Actors: Description:

Administrator Administrator can add new Library to the

Preconditions:

existing list of Library. Administrator already logged into the system with relevant username and password and

Normal Flow:

admin is in Admin Main Page. 1. Admin selects Add New and system opens sub options to manage the Library. 2. Admin Clicks on Add new Library and system displays a page to add new Library. 3.Add new priority page will contain fields like Library Name etc. 4. Admin or user fills all the fields in the Add Library page and clicks on submit button 5. System should add the new Library into the database and displays message that “New Library added

Alternative Flows:

successfully� 1.After step 3 admin fills only mandatory fields and click submit button 2.System should add the new Library into the database


and Exceptions:

displays

message

that

“New

Library

added

successfully” 1 .After step 3 in Normal Flow admin or user fills only few mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 3 in Normal Flow admin fills Library details that already exist. 4. System will display error message “Library name is already available in the database choose another”

Priority: Frequency of Use: Notes and Issues:

High High None

4. Adding of Categories Use Case ID: Use Case Name:

BOOK_STORE4 ADMIN_ADD_LIBRARY

Actors: Description:

Administrator. Administrator can add new Categories and editorials for


Preconditions:

the existing list of Library. Administrator already logged into the system with relevant username and password and admin is in Admin

Normal Flow:

Main Page or User is in User Main Page respectively. 1. Admin selects Add Categories and editorials and system displays a page to add new Categories and editorials 2. Add new Media page will contain fields like, To Which Categories and editorials etc. 3. Admin

fills

all

the

fields

in

the

Add

Categories and editorials page and clicks on submit button. 4. System should add the new Categories and editorials into the database and displays message that “New Media Alternative Flows:

added successfully.” After step 2 in Normal Flow admin fills only mandatory fields and click submit button. System should add the new Library into the database and displays message that “New Categories and editorials is

Exceptions:

added to the Corresponding Library Successfully”. 1 .After step 2 in Normal Flow admin or user fills only few mandatory fields and click submit button


2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 2 in Normal Flow admin fills Categories and editorials details that already exist. 4. System will display error message “Categories and editorials name is already available in the database choose another�. Priority: Frequency of Use: Notes and Issues:

High High None

5. Searching of books Use Case ID: Use Case Name:

BOOK_STORE5 USER_SEARCH TASKS

Actors:

User


Description:

User can search for any books or Library which are

Preconditions:

present in the BOOK_STORE. User already logged into the system with relevant username and password and corresponding home page is

Normal Flow:

opened for user respectively. 1.User is able to search the Libraries and Categories and editorials

based on the search criteria present in the

BOOK_STORE 2.And admin can edit the Libraries and Categories and editorials which are post by him and other users also. (in rare conditions i.e., like security issues) 1.User can search the Libraries and Books on the search criteria present in the BOOK_STORE. 2. User is unable to edit the Libraries and Categories and Alternative Flows:

editorials which are posted by other persons. User can search for any Book or Library which are present in the BOOK_STORE. Searching is on two things 1.First search only the Books posted by Admin. 2.Second Search the Categories and editorials posted by

Exceptions:

Admin in the BOOK_STORE 1.If user is trying to edit any Books and Categories


and editorials posted by admin system gives a message “You are not authorized person to make changes to this�. 2.If administrator trying to edit any Categories and editorials posted by other persons system gives prompt like This is posted by user. Give the message why you are changing and give the Priority: Frequency of Use: Notes and Issues:

announcement to the people in the BOOK_STORE High High None



Non Functional requirements and constraints:

This application is very easy to install and run.

This application will run in type operating system but it has to be installed with compatible

JVM. 

We can run this application in any browsers; it supports all types of browsers.

Presently we check this application with My-SQL.

Just Light Weight Web Server is enough to run this application no need of heavy weight

Application servers.

Software scope

Platform independent


When Java Code is compiled a byte code is generated which is independent of the system. This byte code is fed to the JVM (Java Virtual Machine) which is resided in the system. Since every system has its own JVM, it doesn't matter where you compile the source code. The byte code generated by the compiler can be interpreted by any JVM of any machine. Hence it is called Platform independent Language.

Robustness Java is robust because it is highly supported language, meaning that unlike C you cannot crash your computer with a bad program. Also, another factor in its robustness is its portability across many Operating systems, with is supported by the Java Virtual Machine.

Secure Java is considered more secure than other languages for several reasons: •

The Java compiler catches more compile-time errors; other languages (like C++) will

compile programs that produce unpredictable results. •

Java does not allocate direct pointers to memory. This makes it impossible to accidentally

reference memory that belongs to other programs or the kernel.

Hardware and Software Requirements


Hardware Requirements: Processor

: Pentium-IV

Ram

: 256 MB MINIMUM

Hard Disk

: 2 GB Minimum

Processor speed

: 2.6 GHz

Software Specifications: Language

: Java, Java script.

J2EE Technologies

: SERVLETS, JSP.

Web Authoring Tool

: HTML.

Server

: Apache Tomcat 6.0.

IDE

: Eclipse.

Database

: Ms-Access.


SYSTEM DEFINITION/ANALYSIS (HIGH LEVEL DESIGN)


SYSTEM ARCHITECTURE:


Three-tier (layer) is a client-server architecture in which the user interface, business process (business rules) and data storage and data access are developed and maintained as independent modules or most often on separate platforms. Basically, there are 3 layers •

Tier 1: the client contains the presentation logic, including simple control and user input

validation. This application is also known as a thin client. •

Tier 2: the middle tier is also known as the application server, which provides the business

processes logic and the data access. •

Tier 3: the data server provides the business data. What is the need for dividing the code in 3-tiers? Separation of the user interface from business

logic and database access has many advantages. Some of the advantages are as follows: •

Reusability of the business logic component results in quick development. Let's say we

have a module that handles adding, updating, deleting and finding customers in the system. As this component is developed and tested, we can use it in any other project that might involve maintaining customers. •

Transformation of the system is easy. Since the business logic is separate from the data

access layer, changing the data access layer won’t affect the business logic module much. Let's say if we are moving from SQL Server data storage to Oracle there should not be any changes required in the business layer component and in the GUI component.


Change management of the system is easy. Let's say if there is a minor change in the

business logic, we donor have to install the entire system in individual user’s PCs. E.g. if GST (TAX) is changed from 10% to 15% we only need to update the business logic component without affecting the users and without any downtime. •

Having separate functionality servers allows for parallel development of individual tiers by

application specialists.

Detailed Description of Modules •

Administrator:

Administrator adds the products or items ( books) to the Online Book zone with Classified Variety search option. After that buyer select the products or items from the site. Buyer must provide the address information at the time of registering and contact information .The administrator stores that address information in database. After that books are transferred to the buyer house. The administrator each time must update the information about products or items in site. Administrator is the only person to add products or removing the products or update the products. After the total information is correct the administrator sends the email to the buyer for confirmation.


Buyer Tasks:

The buyer selects the products (Books) from the Online Book zone with Classified Variety search option. The selected items are added to the cart by buyer. Every time he is able to see what items (products) are there in cart. The buyer is also able to remove or update the no of quantities from the cart. After complete of shopping the buyer must click on “complete order”. Then the total information is displayed to the buyer regarding total amount, number of products he buyed.If the buyer wants to update the quantity. After that buyer must provide the address information at the time of registering. If all the information is checked by the administrator then only the products (items) will transferred to the address given by the buyer.

Home: This module provides various options to the users of the application like allowing them to search for a specific material what they want with advanced search option, recommending the users to go for specific books which will help the users of different interests, showing the options of new books and new files for download, different categories of materials available, weekly specials and current weeks featured books. This module also gives the information about books and authors and the price


related options which will the flexibility to the users. This module is common to all users who are all using this application irrespective of admin or registered users or normal users. Registration: This module allows a new user to register with the online Online Book zone with Classified Variety search option applications; here the user has to provide various information such as login name, password, first name, last name, email id, residential address, phone number and credit card details in order to register successfully with the application. Once the user enters all the details and clicks the submit button, the user is registered with the application, in case the login name or any details such as email id are not in the specified format, an error message is thrown at the user. Once the user is registered successfully, he can sign in and access all the options of the digital media library. Shopping cart: Only when the user logs in the Online Book zone with Classified Variety search option library successfully, this module can be accessed. This module displays all the details of the logged in user, such as his personnel details and the list of books he/she has purchased or rented with the order number, item name and the quantity of books. Sign In:


This module as the name suggests, allows a registered user to sign in to the application. The application proceeds to the next page only if the user name and password is correct, else an error message is thrown at the user.




1. User Login:

User Classes and Characteristics:

Enter Login and password

Validate Buyer

Administrator

Confirm Login and Password



2. Buyer Tasks

Buyer selects the books

Add the items to the cart

Click on complete order

Buyer

Provide address information

Provide shipping information.


2. Administrator Bugs

Adding of new Libraries

Edit/Update Libraries

Managing Database Backup

Managing Users Administrator Making Announcements

Act as a User

Search for Media Edit/Update Media



Activity diagram


Activity diagram to login


Buyer/Guest login Activity diagram


Enter login/password

User Home page


Sequence and collaboration Diagrams Sequence diagram to Login



Collaboration diagram to Login


Sequence diagram to User to search


Sequence and collaboration diagram for searching and selecting of products or items:


DATA FLOW DIAGRAMS A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation


develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose.

The

development of DFD’S is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram is often called context diagram. It consists a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from, this lead to the modular design. A DFD is also known as a “bubble Chart� has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system. DFD SYMBOLS: 1.

In the DFD, there are four symbols

2.

A square defines a source(originator) or destination of system data

3.

An arrow identifies data flow. It is the pipeline through which the information flows


4.

A circle or a bubble represents a process that transforms incoming data flow into outgoing data

flows. 5.

An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

Source or Destination of data Data flow Data Store

CONSTRUCTING A DFD: 1. 2.

Several rules of thumb are used in drawing DFD’S:


3.

Process should be named and numbered for an easy reference. Each name should be

representative of the process. 4.

The direction of flow is from top to bottom and from left to right. Data traditionally flow

from source to the destination although they may flow back to the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal. 5.

When a process is exploded into lower level details, they are numbered.

6.

The names of data stores and destinations are written in capital letters. Process and

dataflow names have the first letter of each work capitalized 7. 8.

A DFD typically shows the minimum contents of data store. Each data store should

contain all the data elements that flow in and out. 9.

Questionnaires should contain all the data elements that flow in and out. Missing interfaces

redundancies and like is then accounted for often through interviews. SAILENT FEATURES OF DFD’S 1.

The DFD shows flow of data, not of control loops and decision are controlled

considerations do not appear on a DFD. 2.

The DFD does not indicate the time factor involved in any process whether the dataflow

take place daily, weekly, monthly or yearly. 3.

The sequence of events is not brought out on the DFD.


TYPES OF DATA FLOW DIAGRAMS 1.

Current Physical

2.

Current Logical

3.

New Logical

4.

New Physical

CURRENT PHYSICAL: In Current Physical DFD process label include the name of people or their positions or the names of computer systems that might provide some of the overall system-processing label includes an identification of the technology used to process the data. Similarly data flows and data stores are often labels with the names of the actual physical media on which data are stored such as file folders, computer files, business forms or computer tapes. CURRENT LOGICAL: The physical aspects at the system are removed as mush as possible so that the current system is reduced to its essence to the data and the processors that transform them regardless of actual physical form. NEW LOGICAL: This is exactly like a current logical model if the user were completely happy with he user were completely happy with the functionality of the current system but had problems with how it


was implemented typically through the new logical model will differ from current logical model while having additional functions, absolute function removal and inefficient flows recognized. NEW PHYSICAL: The new physical represents only the physical implementation of the new system. RULES GOVERNING THE DFD’S PROCESS 1)

No process can have only outputs.

2)

No process can have only inputs. If an object has only inputs than it must be a sink.

3)

A process has a verb phrase label.

DATA STORE 1)

Data cannot move directly from one data store to another data store, a process must move data.

2)

Data cannot move directly from an outside source to a data store, a process, which receives,

must move data from the source and place the data into data store 3)

A data store has a noun phrase label.

SOURCE OR SINK The origin and /or destination of data. 1)

Data cannot move direly from a source to sink it must be moved by a process


2)

A source and /or sink has a noun phrase land

DATA FLOW 1)

A Data Flow has only one direction of flow between symbols. It may flow in both directions

between a process and a data store to show a read before an update. The later is usually indicated however by two separate arrows since these happen at different type. 2)

A join in DFD means that exactly the same data comes from any of two or more different

processes data store or sink to a common location. 3)

A data flow cannot go directly back to the same process it leads. There must be atleast one

other process that handles the data flow produce some other data flow returns the original data into the beginning process. 4)

A Data flow to a data store means update (delete or change).

5)

A data Flow from a data store means retrieve or use.

A data flow has a noun phrase label more than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package. Zero Level Data Flow Diagram:


Administrator

Member

ONLINE BOOK ZONE WITH CLASSIFIE D VARIETY SEARCH OPTION

Login into Online Book zone with Classified Variety search option Add/Edit books

Add Books to My Cart

Search for books


First level DFD:


Login into Online Book zone with Classified

Administrator

Add books to site Updating products

Managing the users Managing Database

ONLINE BOOK ZONE WITH CLASSIFIED VARIETY SEARCH OPTION

Edit/Update books

Logout

Login into Online Book zone with Classified Variety search option

Add Books to Cart Search for books User Provide address Shipping informat Logout from site


SOFTWARE SELECTION


Java INTRODUCTION:

Initially the language was called as “oak” but it was renamed as “Java” in 1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. Java is a programmer’s language. Java is cohesive and consistent. Except for those constraints imposed by the Internet environment, Java gives the programmer, full control. Finally, Java is to Internet programming where C was to system programming. Im portance of Java to the Internet


Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self-executing programs cause serious problems in the areas of Security and probability. But, Java addresses those concerns and by doing so, has opened the door to an exciting new form of program called the Applet. Java can be used to create two types of programs Applications and Applets: An application is a program that runs on our Computer under the operating system of that computer. It is more or less like one creating using C or C++. Java’s ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java –compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change. Features of Java Security Every time you that you download a “normal” program, you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scan them for viruses prior to execution. Most users still worried about the possibility of infecting their


systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both these concerns by providing a “firewall” between a network application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent. Portability For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed .As you will see, the same mechanism that helps ensure security also helps create portability. Indeed, Java’s solution to these two problems is both elegant and efficient. The Byte code The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code.


Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is, once the run-time package exists for a given system, any Java program can run on it. Although Java was designed for interpretation, there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to compile an entire Java program into executable code all at once, because Java performs various run-time checks that can be done only at run time. The JIT compiles code, as it is needed, during execution. Java Virtual Machine (JVM) Beyond the language, there is the Java virtual machine. The Java virtual machine is an important element of the Java technology. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of the loading process, a class loader is invoked and does byte code verification makes sure that the code that’s has been generated by the compiler will not corrupt the machine that it’s loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of Java code. Overall Description

Java source

Java byte code

Jvm


Java

.Class

Picture showing the development process of JAVA Program Java programming uses to produce byte codes and executes them. The first box indicates that the Java source code is located in a. Java file that is processed with a Java compiler called javac. The Java compiler produces a file called a. class file, which contains the byte code. The. Class file is then loaded across the network or loaded locally on your machine into the execution environment is the Java virtual machine, which interprets and executes the byte code. Java Architecture Java architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then interpreted on each platform by the run-time environment. Java is a dynamic system, able to load code when needed from a machine in the same room or across the planet. Compilation of code When you compile the code, the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the byte


code. The JVM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all machines. This machine is called Java Virtual Machine. Compiling and interpreting Java Source Code During run-time the java interpreter trick the byte code file in to thinking that it is running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or Sun SARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets. .

Source Code ……….. ……….. ……….. …………

Java Interpreter (PC)

PC Compiler Java Macintosh Compiler

SPARC

Compiler

Byte code (Platform Indepen dent)

Java Interpreter (Macintosh) Java Interpreter (Spare)


Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are an experienced C++ programmer, learning Java will be even easier. Because Java inherits the C/C++ syntax and many of the object oriented features of C++. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small number of clearly defined ways to accomplish a given task. Object-Oriented Java was not designed to be source-code compatible with any other language. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic approach to objects. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance non-objects. Robust The multi-platform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust programs was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and run time. Java virtually eliminates the problems of memory management and deal location, which is completely automatic. In a well-written Java program, all run time errors can –and should –be managed by your program.


Client Server Over view: With the varied topic in existence in the fields of computers, Client Server is one, which has generated more heat than light, and also more hype than reality. This technology has acquired a certain critical mass attention with its dedication conferences and magazines. Major computer vendors such as IBM and DEC; have declared that Client Servers is their main future market. A survey of DBMS magazine reveled that 76% of its readers were actively looking at the client server solution. The growth in the client server development tools from $200 million in 1992 to more than $1.2 billion in 1996. Client server implementations are complex but the underlying concept is simple and powerful. A client is an application running with local resources but able to request the database and relate the services from separate remote server. The software mediating this client server interaction is often referred to as MIDDLEWARE. The typical client either a PC or a Work Station connected through a network to a more powerful PC, Workstation, Midrange or Main Frames server usually capable of handling request from more than one client. However, with some configuration server may also act as client. A server may need to access other server in order to process the original client request.


The key client server idea is that client as user is essentially insulated from the physical location and formats of the data needs for their application. With the proper middleware, a client input from or report can transparently access and manipulate both local database on the client machine and remote databases on one or more servers. An added bonus is the client server opens the door to multi-vendor database access indulging heterogeneous table joins. What is a Client Server? Two prominent systems in existence are client server and file server systems. It is essential to distinguish between client servers and file server systems. Both provide shared network access to data but the comparison dens there! The file server simply provides a remote disk drive that can be accessed by LAN applications on a file-by-file basis. The client server offers full relational database services such as SQL-Access, Record modifying, Insert, Delete with full relational integrity backup/ restore performance for high volume of transactions, etc. the client server middleware provides a flexible interface between client and server, who does what, when and to whom. Why Client Server Client server has evolved to solve a problem that has been around since the earliest days of computing: how best to distribute your computing, data generation and data storage resources in order to obtain efficient, cost effective departmental an enterprise wide data processing. During


mainframe era choices were quite limited. A central machine housed both the CPU and DATA (cards, tapes, drums and later disks). Access to these resources was initially confined to batched runs that produced departmental reports at the appropriate intervals. A strong central information service department ruled the corporation. The role of the rest of the corporation limited to requesting new or more frequent reports and to provide hand written forms from which the central data banks were created and updated. The earliest client server solutions therefore could best be characterized as “SLAVE-MASTER�. Time-sharing changed the picture. Remote terminal could view and even change the central data, subject to access permissions. And, as the central data banks evolved in to sophisticated relational database with non-programmer query languages, online users could formulate adhoc queries and produce local reports with out adding to the MIS applications software backlog. However remote access was through dumb terminals, and the client server remained subordinate to the Slave\Master. Front end or User Interface Design The entire user interface is planned to be developed in browser specific environment with a touch of Intranet-Based Architecture for achieving the Distributed Concept. The browser specific components are designed by using the HTML standards, and the dynamism of the designed by concentrating on the constructs of the Java Server Pages.


Communication or Database Connectivity Tier The Communication architecture is designed by concentrating on the Standards of Servlets and Enterprise Java Beans. The database connectivity is established by using the Java Data Base Connectivity. The standards of three-tire architecture are given major concentration to keep the standards of higher cohesion and limited coupling for effectiveness of the operations.

JavaScript JavaScript is a script-based programming language that was developed by Netscape Communication Corporation. JavaScript was originally called Live Script and renamed as JavaScript to indicate its relationship with Java. JavaScript supports the development of both client and server components of Web-based applications. On the client side, it can be used to write programs that are executed by a Web browser within the context of a Web page. On the server side, it can be used to


write Web server programs that can process information submitted by a Web browser and then updates the browser’s display accordingly Even though JavaScript supports both client and server Web programming, we prefer JavaScript at Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags <SCRIPTS>.. </SCRIPT>. <SCRIPT LANGUAGE = “JavaScript”> JavaScript statements </SCRIPT> Here are a few things we can do with JavaScript: •

Validate the contents of a form and make calculations.

Add scrolling or changing messages to the Browser’s status line.

Animate images or rotate images that change when we move the mouse over them.

Detect the browser in use and display different content for different browsers.

Detect installed plug-ins and notify the user if a plug-in is required.

We can do much more with JavaScript, including creating entire application.


JavaScript Vs Java JavaScript and Java are entirely different languages. A few of the most glaring differences are: •

Java applets are generally displayed in a box within the web document; JavaScript can

affect any part of the Web document itself. •

While JavaScript is best suited to simple applications and adding interactive features to

Web pages; Java can be used for incredibly complex applications. •

There are many other differences but the important thing to remember is that JavaScript

and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages. Advantages •

JavaScript can be used for Sever-side and Client-side scripting.

It is more flexible than VBScript.

JavaScript is the default scripting languages at Client-side since all the browsers supports it.

HTML Hyper Text Markup Language


Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks). HTML is not a programming language but it is an application of ISO Standard 8879, SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted to the Web. The idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters that define how text or other items enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document. HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop. HTML provides tags (special codes) to make the document look attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of the document. Anything that is not a tag is part of the document itself. Basic HTML Tags :


<! --

-->

Specifies comments

<A>……….</A>

Creates hypertext links

<B>……….</B>

Formats text as bold

<BIG>……….</BIG>

Formats text in large font.

<BODY>…</BODY>

Contains all tags and text in the HTML document

<CENTER>...</CENTER>

Creates text

<DD>…</DD> Definition of a term <DL>...</DL>

Creates definition list

<FONT>…</FONT>

Formats text with a particular font

<FORM>...</FORM> Encloses a fill-out form <FRAME>...</FRAME>

Defines a particular frame in a set of frames

<H#>…</H#> Creates headings of different levels <HEAD>...</HEAD>

Contains tags that specify information about a document

<HR>...</HR> Creates a horizontal rule <HTML>…</HTML>

Contains all other HTML tags

<META>...</META> Provides meta-information about a document <SCRIPT>…</SCRIPT>

Contains client-side or server-side script

<TABLE>…</TABLE>

Creates a table

<TD>…</TD> Indicates table data in a table <TR>…</TR> Designates a table row <TH>…</TH> Creates a heading in a table


Advantages •

A HTML document is small and hence easy to send over the net. It is small because it does

not include formatted information. •

HTML is platform independent.

HTML tags are not case-sensitive.

Java Database Connectivity Introduction 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. One can write a single program using the JDBC API, and the program will be able to send SQL statements to


the appropriate database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere.

What Does JDBC Do? Simply put, JDBC makes it possible to do three things: •

Establish a connection with a database

Send SQL statements

Process the results.

JDBC versus ODBC and other APIs At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably the most widely used programming interface for accessing relational databases. It offers the ability to connect to almost all databases on almost all platforms. So why not just use ODBC from Java? The answer is that you can use ODBC from Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC Bridge, which we will cover shortly. The question now becomes "Why do you need JDBC?" There are several answers to this question:


ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an objectoriented interface that is natural for Java programmers. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes. Two-tier and Three-tier Models

The JDBC API supports both two-tier and three-tier models for database access. In the twotier model, a Java applet or application talks directly to the database. This requires a JDBC driver


that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database, and the results of those statements are sent back to the user. The database may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the database as the server. The network can be an Intranet, which, for example, connects Employees within a corporation or it can be the Internet.

JAVA Application

JDBC

Client machine

Java applet or Html browser

Client machine (GUI) HTTP, RMI, or CORBA

DBMS-proprietary protocol

calls Application Server (Java) JDBC

DBMS

Server machine (business DBMS-proprietary Logic)

Database server

protocol Database server

DBMS

Two- Tier Model

Three-Tier Model


In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that when there is a middle tier, the user can employ an easy-to-use higher-level API which is translated by the middle tier into the appropriate low-level calls. Finally, in many cases the three-tier architecture can provide performance advantages. Until now the middle tier has typically been written in languages such as C or C++, which offer fast performance. However, with the introduction of optimizing compilers that translate Java byte code into efficient machine-specific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier.

JDBC Driver Types:


Java Application JDBC API

JDBC Driver Manager

JDBC-Net Driver

JDBC-ODBC Bridge Driver

Driver A

JDBC Driver API

Driver B

ODBC and DB Driver

JDBC Middleware Protocol

JDBC Implementation alternatives

Proprietary database access protocol

JDBC technology-based drivers generally fit into one of four categories: 1. JDBC-ODBC Bridge plus ODBC driver:


The Java Soft bridge product provides JDBC access via ODBC drives. Note that ODBC binary code and in many cases database client code must be loaded on each client machine that uses this driver. As a result, this kind of driver is most appropriate on a corporate network where client installations are not a major problem, or for application server code written in Java in three-tier architecture.

2. Native-API partly-Java Driver: This kind of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the Bridge driver, this style of driver requires that some binary code be loaded on each client machine.


Applicatio n

JDBC Driver

ODBC Driver

Applicatio n JDBC Driver

Native db Libraries Network Interface

Database Database

JDBC-ODBC Bridge plus ODBC driver

Native-API partly-Java Driver

3. JDBC-Net all-Java driver: This driver translates JDBC calls into a DB MS-independent net protocol, which is then


translated, to a DBMS protocol by a Server. This net Server middle ware is able to connect its allJava clients to many different databases. The specific protocol used depends on the vendor. In general this is most flexible JDBC alternative. It is likely that all vendors of this solution will provide products to also support Internet access through firewalls, etc, that the web imposes. Several vendors are adding JDBC drivers to their existing database middleware products.

4 Native-protocol all-Java driver: This kind of driver converts JDBC calls into the network protocol used by DBMS's directly. This allows a direct call from the client machine to the DBMS server and is practical solution for Internet access. Since many of these protocols are proprietary, database vendors themselves will be the primary source. Several database vendors have these in progress.

7.3. JSP Java server pages: A Java Server Pages file is essentially an HTML document with JSP scripting or tags. It may have associated components in the form of .class, .jar, or .ser files--or it may not. The use of components is not required. The Java Server Pages file has a jsp extension to identify it to the server as a Java Server


Pages file. Before the page is served, the Java Server Pages syntax is parsed and processed into a servlet on the server side. The servlet that is generated outputs real content in straight HTML for responding to the client. Because it is standard HTML the dynamically generated response looks no different to the client browser than a static response.

Access Models: A Java Server Pages file may be accessed in at least two different ways: A client request comes directly into a Java Server Page.

In this scenario, suppose the page accesses reusable Java Bean components that perform particular well-defined computations like accessing a database. The result of the Bean’s computations, called result sets is stored within the Bean as properties. The page uses such Beans to generate dynamic content and present it back to the client. A request comes through a servlet.


The servlet generates the dynamic content. To handle the response to the client, the servlet creates a Bean and stores the dynamic content (sometimes called the result set) in the Bean. The servlet then invokes a Java Server Page that will present the content along with the Bean containing the generated from the servlet. There are two APls to support this model of request processing using Java Server Pages. One API facilitates passing context between the invoking servlet and the Java Server Page. The other API lets the invoking servlet specify which Java Server Page to use. In both of the above cases, the page could also contain any valid Java code. The Java server Pages architecture encourages separation of content from presentation it does not mandate it.


Scripting elements: 1. Jsp comments. <% --- content ---%> 2. Declaration element <%! int i,j; String str; %>

3. Expression element < % = exprlO %>

4. Scripting element < % statement 1 ; statement2; %> 5. include directive <% @ include file="Header.html" %>


6. page directive <%@ pag~ import=;'java.sql.*,java.util.*" %>

7. taglib directive <%@ taglib uri=" " prefix=" " %> JSP elements: 1. < jsp : forward page=" " /> 2. < jsp : include page=" "/> 2. < jsp : usebean id="" class =" " scope=" " > < jsp: setProperty name="" Property ="" value=" "/> < jsp: getProperty name="" Property ="" value=" "/> < /jsp: usebean> 3. < jsp: plugin type="applet/bean" class="" > <jsp: param name="" value=" "/> </jsp: plugin>

DETAIL DESGIN (LOW LEVEL DESIGN)


E-R DIAGRAM




 Data Base Design The data design transforms the information domain model created during the analysis into the data structure that will be required to implement software. Normalization Normalization is a process of simplifying the relationship between data elements in a record. Through this technique, the collection of data in a record structure is replaced by successive record structure that is simpler and more predictable and therefore more manageable. KEYS PRIMARY KEY A Primary key is one, used to identify unique value of an attribute in a table. A primary key column in a table has special attributes. It defines the column, as a mandatory column i.e. the column can’t be left blank. The NOT NULL attribute is active. The data held across the column must be unique. FOREIGN KEY FOREIGN KEY represents relationship between tables foreign key is a column whose values are derived from the primary key or unique key of some other table. The table in which the foreign key used is called foreign table of detail table. The table that defines the primary or unique key and is referenced by the foreign key is called the primary key in the master table. NORMALIZATION IS CARRIED FOR FOLLOWING REASONS:


To structure the data so that any pertinent relationship between entities can be

represented. •

To permit simple retrieval of data in response to query and report request.

To simplify the maintenance of the data through updates, insertion and deletions.

To reduce the need to restructure or reorganize data when new application requirements

arise. This attempt to remove redundant data, avoid data inconsistencies and prevent up data anomalies. This results in a simpler or more natural data model. A normalized database more clearly reflects the natural entities and relationships in the real world. Relational database theory outlines five normal forms, of which their normal forms are used popularly for designing relational tables. The rules and methods of first three normal forms are given below. FIRST NORMAL FORM A relation is a first normal form if the intersection of any column and row contain only one value (no repeating groups). METHODS Identify suitable primary keys from a pool of un-normalized data. Remove any that repeats with in a single value of this key to another relation bringing with in a primary key to form part of a new composite key in the new relation. SECOND NORMAL FORM A table in first normal form is also in second normal form. If the values in every column are functionally dependent on the complete primary key. METHODS


For every relation with in a single data item making up the primary key, this rule should always be true. For those with compound key examine every column and determines whether its value depends on the whole of the compound key are just some of the part of it. Remove those that depend only on part of the key to a new relation with that part as a primary key. THIRD NORMAL FORM Column is not transitively dependent on the primary relation in second normal form is also in third normal form with the values in every non-key. METHODS Examine every non-key column and question its relationship with every other non-key column. If for a value for column A there is only one value for column B, remove both columns to a separate relation and mark the question unique as a primary key. As database tables involved here needs normalization techniques so that it should be flexible to access and store the values in it. So that third normal form is applied and all tables are normalized according to that. Architectural design melds program structure and data structure, defining interfaces that enable data to flow through the program. Procedural design occurs after data and program structure has been established.


TABLES:























SYSTEM TESTING AND IMPLEMENTATION


INTRODUCTION Software testing is the critical element of software quality assurance and represents the ultimate review of specification, design and coding software testing fundamentals define the overriding object is for software testing. TESTING OBJECTIVES •

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

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

A successful test is one that uncovers yet undiscovered error. If testing is conducted successfully it will uncover errors in the software. Testing cannot

show the absences of defects are present. It can only show that software defects are present. TESTING PRINCIPLES Before applying methods to design effective test cases, a software engineer must understand the basic principles that guide software testing. •

All tests should be traceable to customer requirements.

Test should be planed long before testing begins.

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

Exhaustive testing is not possible.

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

TEST CASE DESIGN


Any engineering product tested in one of the following two ways. •

Knowing the specified function that products that has been designed to perform, testing

is conducted for each function fully and at the same time searching for errors in each function. •

Knowing the internal working of the product, tests are conducted to ensure that an

internal operation performs according to specifications. •

The testing can be performed in two ways,

WHITE BOX TESTING

Knowing the internal working of a product, test can be conducted to ensure that “all gears mesh”, i.e. that internal operation performs to specifications and all internal components have been adequately exercised. It is predicted on close examinations of procedural detail logical providing test case that exercise specific sets of conditions and loop test path through the software. Basic path testing is a white box testing technique. The basic path model enable the test case designer to derive a logical complexity of a procedural design and use this measure as a guide for defining as a basic set of execution paths. BLACK BOX TESTING Black box testing alludes to test that are conducted at the software interfaces. These are used to demonstrate this software functions operational that input is properly accepted and output is correctly produced, at the same time searching for errors.

TESTING TECHNIQUES


Using the white box testing methods, the software engineer can derive test cases that •

Guarantee that all independent paths with in a module has been exercised at least once

-basis path testing. •

Exercised all logical decisions on their true and false sides -Condition testing.

Exercised internal data structures to assure their validity -data flow testing.

Execute all loops at their boundaries and within their operation bounds- Loop testing.

BASIS PATH TESTING

The basis path test method enables the test case designers to derive a logical complexities measure of a procedural design. And use this measure as guidelines for defining basis set of execution path. In the project “SALES AND PURCHASE MANAGEMENT” system one sample model is considered for test case designing. Pseudo-code: Pseudo-code represents step by step logical of the procedure. TESTING STRATEGIES:

Testing is a set of activities that can plan in advance and conducted systematically. A strategy for software testing must accommodate low level tests that are necessary to verify a small source code segment has been correctly implements. As well as high level that validates system function against customer requirements.

Software testing is none element of verification and validation. Verification refers to the set of activities that ensure the software correctly implements a specific function. Validation


refers to a different set of activities that ensure the software has been built is traceable to user requirements. UNIT TESTING

Unit testing focuses verification effort on the smallest unit of software design. This is white box oriented. In the “SALES AND PURCHASE MANAGEMENT”, each and every module is tested in the following ways.

The module interfaces are tested ensuring the information properly close into and put the program unit under test. The local data structures are examined to ensure data stored temporarily maintains its integrity during on steps in an algorithm execution. Boundary conditions are tested to ensure that the module operations properly at boundaries established to limit or restrict processing. All independent paths through the control structures are exercised to ensure that all statements in a module have been executed at least once. Error handling paths are tested. INTEGRATION TESTING

Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing.

In our project “SALES AND PURCHASE MANAGEMENT” We followed top-down integration where the modules are integrated by moving downward through the control hierarchy beginning with the main control module.

The next, depth-first integration is

followed by that would integrate all modules on a major control path of the structure moving vertically through the structure.


VALIDATION TESTING

Validation testing is the process of the evaluating software at the end of the software development process to determine compliance with the requirements. The primary goals of the validations are: •

To asses and improve the quality of various products generated during software

development and modifications. •

High quality is best achieved by careful attention to the details of the systematic

planning, analysis and implementation. •

It is incorrect to view source code testing as a primary vehicle for quality improvement.

IMPLEMENTION After analyzing the requirements of the task to be performed, the next step is to analyze the problem and understand its context. The first activity in the phase is studying the existing system and other is to understand the requirements and domain of the new system. Both the activities are equally important, but the first activity serves as a basis of giving the functional specifications and then successful design of the proposed system. Understanding the properties and requirements of a new system is more difficult and requires creative thinking and understanding of existing running system is also difficult, improper understanding of present system can lead diversion from solution. ANALYSIS MODEL The model that is basically being followed is the WATER FALL MODEL, which states that the phases are organized in a linear order. First of all the feasibility study is done. Once that part is over the requirement analysis and project planning begins. If system exists one and modification and addition of new module is needed, analysis of present system can be used as basic model. The design starts after the requirement analysis is complete and the coding begins after the design is complete. Once the programming is completed, the testing is done. In this model the sequence of activities performed in a software development project are:-


• Requirement Analysis • Project Planning • System design • Detail design • Coding • Unit testing • System integration & testing

Here the linear ordering of these activities is critical. End of the phase and the output of one phase is the input of other phase. The output of each phase is to be consistent with the overall requirement of the system. Some of the qualities of spiral model are also incorporated like after the people concerned with the project review completion of each of the phase the work done. WATER FALL MODEL was being chosen because all requirements were known beforehand and the objective of our software development is the computerization/automation of an already existing manual working system.


Waterfall approach was first Process Model to be introduced and widely used in the software engineering to ensure success of the project .In “Waterfall” approach, the whole process of software development is divided into separate process phases. The phases in Waterfall model are as follows •

Requirement Specification

Software Design


•

Implementation And Testing and maintenance. All these phases are cascade to each other so that second phase is started as and when

defined set of goals are achieved for first phase and it is signed of so the name “waterfall Model� all these methods and process undertaken in waterfall model are more visible. a) Requirement analysis and definition: All possible requirement of the system to be developed are captured in this phase. Requirements are set of functionalities and constraints that the end users (who will be using the system) expect from the system. The requirements are gathered from the end user by consulting, these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied finally, a requirement specification document is created which serves the purpose of guideline for the next phase of the model. b) System and software design: Before staring an actual coding, it is highly important to understand what we are going to create and what it should look like? Here requirement specification from first phase is studied in this phase and system design in prepared. System Design helps in specifying hardware and system requirements and also helps in the defining overall system architecture. The system design specification serves as input for the next phase of the model c)

Implementation and unit testing: On receiving system design documents, the next

work is divided in modules/units and actual coding is started. The System is first developed in small program called units, which are integrated in the next phase. Each unit is developed and tested for its functionality; this is referred to as Unit Testing mainly verifies if the modules /units meet their application. d)

Integration and System Testing: As specified above the system if first divided in

units. Which are developed and tested for their functionalities these units are integrated into a complete system during Integration phase and tested to check if all modules/units coordination between the each other and the system as a whole behaves as per the specification .After successfully tested the software; it is delivered to the consumer. e)

Operations and Maintenance:


This is the phase of “waterfall Model” is virtually never ending process .Generally, Problems with the system developed (which are not found during the development lifecycle) come up after its particle use starts, so the issues related to the system are solved after the development of the system Not all the problems come in picture directly but they arise time to time and need to be solved hence TEST CASES

Login:

Input

Input

Expected

Actual

Pass

Fail

Remarks

Positive

description user name:

Value It should

Result Accepted

P

-

-

Input

“aaa”

be

Positive

user name:

accepted It should

Accepted

P

-

-

input

“buyer”

be

Negative

user name:

accepted It

Not

-

F

User name does not

input

xxxyyy

shouldn’t

accepted

Negative

user name:

accepted It

Not

input

“empty”

shouldn’t

accepted

Positive

password:

accepted It should

Accepted

P

-

Hidden password

input

******

be

Negative

password:

accepted It should

Not

-

F

Password can’t be

input

“Empty”

not be

Accepted

accepted

exist. -

F

User name cant not be empty

empty


User Registration:

Input

Input

Expected

Actual

Pass

Fail

Remarks

Positive

description Username:

Value It should

Result Accepted

P

-

Accepts any character

input

“aaa”

be

Negative

Password:

accepted It should

Not

-

F

Please enter the name

input

“Empty”

not be

accepted

Positive

First name:

accepted It should

Accepted

input

“buyer1”

be

Negative

Email:

accepted It

Not

input

“xxx”

shouldn’t

Accepted

of the category P

-

It can accept any character.

-

F

Enter the email in @ and . format.

be Positive

Address:

accepted It should

Input

“Bangalore”

accept be

Negative

10:03 Age:

accecepted It should

Not

input

“Empty”

not be

Accepted

Negative

Mob no:

accepted It should

Not

input

“Asdf”

not be

Accepted

accepted

Accepted

P

-

Enter the address details

-

F

Please enter a age this is in numeric format.

-

F

Please enter mobno (in number formate)


Add books:

Input

Input

Expected

Actual

Pass

Fail

Remarks

Positive

description Title:

Value It should

Result Accepted

P

-

Accepts any

Input

Giving the

be

classified

accepted

Negative

Title:

It should

Not

input

“Empty”

not be

Accepted

Negative

Author:

accepted It

Not

input

“Empty”

shouldn’t

accepted

Positive

Author:

accepted It should

Accepted

Input

“xxxxx”

accept

Negative

Category:

It should

Not

input

“Empty”

not be

Accepted

(yyyy-mm-dd

Positive

Category:

accepted It should

Not

hh:mm) Please enter a date

input

“database”

not be

Accepted

(yyyy-mm-dd

Positive

Product Url:

accepted It should

Accepted

hh:mm) Have to enter entire

input

valid url

be

url of the image. Or

Negative

Product Url:

accepted It should

Not

browse the image. Should enter a valid

input

invalid url

not be

Accepted

accepted

characters

-

F

Please Enter a title

-

F

Title without company name the ad should not be added Time should be

P

entered along with P

P

P

-

-

-

-

F

the date Please enter a date

url


CONCLUSION

It’s great opportunity for me to work on this existing and challenging project. This project helped me a lot to get the practical knowledge of how to work in the real time along with the programming in Servlets, jsp and with JDBC to develop web based applications. MSTSMS provides a good knowledge how on databases like MYSQL, MS-ACCESS. �. It also provides knowledge about the latest technology used in developing web enabled application and client server technology that will be great demand in future. This will provide better opportunities and guidance in future while developing projects independently.

FUTURE ENHANCEMENTS


Though it is a web-based application it supports limited connections at a time,

later versions we are planning support more connections at a time. •

Now this application support only one Organization who is installed the

application, in later versions we are planned to maintain all the organization details in through one application installation globally with more security constraints. •

Presently we worked on only two databases i.e. MS-Access and MySql later

versions we planned to provide XML (flat-files) and support of different databases. •

In later versions we are going to include E-mail notifications

In later versions we are going to include RSS fields.


BIBLIOGRAPHY


1.

Head First Java

2.

Vikaram singh Java for Professionals

3.

Ramnath Gowda Software Engineering

- Roger. S. Pressman 4.

Database Management System

- William. S. Robert 5.

JSP: A Beginner’s Guide

- Madhu Shree Ganguli 6.

JavaServerPages Programming: A visual professional

guide for Design - Robert. D. Nero 7. www.netbks.com


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.