modi group2

Upload: dhruvpalanpur

Post on 30-May-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 MODI GROUP2

    1/86

    1

  • 8/9/2019 MODI GROUP2

    2/86

    Project Description:

    1.2.1 Admin

    Admin enter his Login name and password. He views these five items.

    Add Product, Shipping, Tax

    Admin can add the product, shipping charges of the product and add the tax of product.

    View Product List

    Admin can view the product of the list.

    View Pending Order

    Admin can view the pending product.

    View Pending Shipping Order

    Admin can view the pending shipping order of the product.

    View Order Detail

    Admin can view the order detail of the product.

    Generate Voucher

    Admin can generate the voucher of the client.

    2

  • 8/9/2019 MODI GROUP2

    3/86

    1.2.2 User

    Login

    User first enter his Login_name and password then after user can purchase any product.

    Purchase Product

    User first has to login, and then after user purchase any product from this site and pay

    3

  • 8/9/2019 MODI GROUP2

    4/86

    4

  • 8/9/2019 MODI GROUP2

    5/86

    1 Introduction:

    The important components of this document are the functional requirements, the nonfunctional

    requirements, and the goals of implementation. Documenting the functional requirements

    involves the identification of the functions to be supports by the system. Each function can becharacterized. By the input data, the processing required on the input data and the output data to

    be produced.

    2 Requirements:

    1:- Add, Edit and Delete Product

    Description: This task can only be carried out by the administrator only.

    Input: Admin can add the new products, name, price, image etc. Previously entered

    Details of the product can also be updated and deleted by the admin.

    Output: Updated data that was carried out by the admin will be

    2:- Order Pending

    Description: Past order made by the client is maintained and can be viewed by the administrator

    in future.

    Input: Admin can put certain things in comments for his/her future reference such as weather

    cheque is received from the client etc.

    Output: All the pending order will be displayed to the administrator.

    3:- Pending Shipping

    5

  • 8/9/2019 MODI GROUP2

    6/86

    Description: Shipping charges that are levied on a particular product are described in detail

    Input: Admin can put in comment shipping charges to levy on a particular

    Product for future reference.

    Output: The total amount to be collected from the client will be displayed.

    4:- Order Detail

    Description: Entire detail of products will be displayed to administrator for

    Example name, address, cell number, product display, shipping charges applied

    etc.

    Output: Admin can enter voucher number that will contain all the details order to

    take print out.

    5:- Open New Account

    Description: This is for new user of site. Ask to user to enter name and password to open thenew account.

    Input: New user will have to enter the name and password for providing future identification.

    Use shall have to provide the required necessary information during the time of opening the new

    account.

    Output: New account will be created for the new user. All the information provided by the newuser will be stored inside the site's database

    6 :- Purchase New Product

    Description: To purchase the new product user will have to select the new product.

    Input: Name of the product which is selected by the client

    Output: The details of the new product like shipping charge applied, cost, features etc. will beincluded.

    6

  • 8/9/2019 MODI GROUP2

    7/86

    7

  • 8/9/2019 MODI GROUP2

    8/86

    4.1 Preliminary Investigation

    When the request was made by Bonrix Clients, our Project Guide Mr. Renish Ladani assigned us

    the project since this was the time we had approached him regarding our requirement of a project

    work. After reviewing the request we set about with the first of the system activity: the

    preliminary investigation. We can divide the task in three steps as...

    4.1.1 Request Analysis

    The request was studied carefully to assess what was exactly required. The focus being on the

    task of determining precisely what originator wants.

    4.1.2 Feasibility Study

    An important outcome of the preliminary investigation is the determination that the systemrequested is feasible. There are three aspects in the feasibility study of the preliminary

    investigation.

    Introduction

    Planning activities must be done before starting the project. Once the project is started, projectcontrol begins. During planning, all the activities that management needs to perform are planned.

    While during project control, the plan is executed and updated. The project monitoring and

    control activities are spread over the development life cycle of the software, and their basic goalis to ensure that the plan is being followed.

    The basic goal of planning is to look into the future, identify the activities that need to be done tocomplete the project successfully, and plan the scheduling and resource allocation for these

    activities.

    The input to the planning activity is the requirements specifications. The output phase is the plan,which is a document describing different aspects of the plan.

    8

  • 8/9/2019 MODI GROUP2

    9/86

    As our overall solution is divided into number of independent subsystem, below shows the

    framework for major activities. Developing these subsystems needs high level of technical

    understanding and in-depth knowledge of JSP, it is very hard to estimate the detailed descriptionof sub activities.

    It is important to go through a series of predictable steps that helps you to create a timely andhigh quality results. To provide stability, control and organization for our project development

    we adopted a linear sequential model. It is also known as classic life cycle' or water-fall model'.

    It suggests a systematic, sequential approach to software development that begins at analysis and

    progresses through design, coding and testing.

    The Linear Sequential Model

    Linear Sequential Model

    Analysis

    To understand the nature of the project, we had discussions with our technical head about the

    payroll management system. As a result of these discussions, we analyzed the informationdomain for the project. We also analyzed the current Online Software and Hardware Shopping of

    the Bonrix Software Systems and understood the flow of the project as well as the behavior and

    interface it.

    Design

    Software design is actually a multi step process that focuses on data structure, softwarearchitecture, interface representation and procedural details.

    As a data structure design - database design is very crucial part of developing a Payroll

    Management System. We designed different databases as per requirement analysis. We alsodecided the fields of a record, primary key for the database, field according to which the databaseshould be sorted etc.

    As a software architecture design We used three-tiered application for developing a Payroll

    Management System. The biggest benefit is distribution and support of the applications.Basically there are 3 layers in this application.

    9

  • 8/9/2019 MODI GROUP2

    10/86

    Client-tier

    Application server tier

    Data-server-tier

    Coding

    The design must be a trusted into an executable file. The code generation step performs this task.We decided to use JSP language and Windows 2000 to accomplish code generation.

    Testing

    Once code has been generated, program testing begins. The testing process focuses on the logical

    internals of the project, ensuring that all statement had been tested. We decided to use unit

    testing, integration testing and validation testing to made our project.

    Software Development Process Model:

    The goal of any development effort is to procedure some product. A development process is a

    ser of activities, together with an ordering relationship between activities, which if performed ina manner that satisfies the ordering relationship, will procedure the desired product. A process

    model is an abstract representation of a development process.

    In a software development effort, the goal is to produce high quality software. The

    development process is, therefore the sequence of activities that will produce such software. Asoftware development process model specifies how these activities are organized in the entire

    software development effort.

    The purpose of specifying a development process model is to suggest an overall process for

    developing software.

    A simplest process model is the waterfall model , which states that are phases are organized ina linear order. A project begins with a feasibility study. On successfully demonstration the

    feasibility of the project, the requirement analysis and project planning begins. The design starts

    after the requirements analysis is complete, the code is integrated and testing is done. On

    successfully testing, the system is installed. After this, the regular operation and maintenance ofthe system takes place.

    There are some other model also, via . Prototyping, iterative enhancement, the spiral model

    etc. the basic idea behind prototyping is that instead of freezing the requirements before anydesign of coding can proceed, a throw away prototype is built to help understand the

    requirements.

    10

  • 8/9/2019 MODI GROUP2

    11/86

    Development of prototype undergoes design, coding, and testing. But each of these phases is

    not done in a formal manner. By using this prototype, the client can get a feel of the system,

    since the interactions with the prototype helps client gets a better understanding of therequirements.

    Prototyping is an attractive idea for complicated and large systems for which there is notexisting manual process.

    In the iterative enhancement model of software development process, the basic idea is thatthe software should be developed in increments, each increment adding some functional

    capability of the system is fully functional.

    In spiral model of software alternatives that ate possible for achieving the objectives that are

    achieving the objectives, and the imposed constraints. The next step in the cycle is to evaluatethese different alternatives based on the objectives and involved. The next step is to develop

    strategies that will resolve the uncertainties and risks. This step may involve act ivies such as

    benchmarking, simulation and prototyping. Next, the software is developed, keeping in mind therisks.

    The software development model, adopted for the proposed system, is the waterfall model

    (linear sequential model).

    Reason:

    Waterfall model stipulates that the requirements should be completely specified before the restof the system development is processed. In the proposed system, the requirement are fixed and

    known beforehand and hence this model is suitable and adopted for the proposed system.

    Request Approval:

    The requested project was both desirable and feasible. It was put into schedule and development

    started immodestly since we were available for the project management.

    4.2 Requirement analysis

    As this was not an existing system we need to start everything from the beginning. We started

    from the basic study of this system and go on Analyzing it. Then as per the system's requirement

    we carried out the designing, coding and testing.

    The requirement determination was conducted in 3 pats.

    a). Requirement anticipation :

    As we had no experience in this field, the anticipation was purely intuitive based on general

    sense and had no bias introduced.

    11

  • 8/9/2019 MODI GROUP2

    12/86

    b). Requirement investigation:

    According to the requirement, we went about collecting information form the system users. It

    was from the point of view of information requirement, system requirement and userrequirements. It is in term of input available and output required.

    The investigation phase was done primarily through seeking answers to these major questions;

    What is basis process?

    What data are used or produced during that process?

    What are the limits imposed by time and the volume of the work?

    What performance controls are used?

    Also methods for documenting and describing system features were established. This wasfollowed by a series of interviews with our guide Mr. Renish Ladani

    c).Requirement specification:

    The data collected were then analyzed to determine requirement specifications, the description

    features for a new system. This activity has three interrelated parts:

    Analysis of Factual data: The data collected during the fact-finding study and included in thedata flow and decision analysis documentation were examined to determine how well the system

    is performing and whether it will meet the organization's demand.

    Identification of Essential Requirement: features that must be included in the new system,

    ranging form operational details to performance criteria, were specified.

    Selection of Requirement Fulfillment Strategies: The methods that we wanted to use to achieve

    the stated requirements were selected. There being the basis of the system design were done very

    carefully, with due consideration being given to all aspects.

    4.3 System Environment

    As this was not an existing system we need to start everything from the beginning. We started

    from the basic study of this system and go on analyzing it. Then as per the system's requirementwe carried out the designing, coding and testing.

    Advantages of This New System

    Flexibility

    12

  • 8/9/2019 MODI GROUP2

    13/86

    To meet any future requirement arising due to expansion of the project the system has been

    modulated so as to facilitate any expansion.

    Fast Information Retrieval

    Automation results in time saving as a result of faster queries. The time wastage incurred in workdone manually is avoided.

    Accuracy

    Automation leaves no room for errors due to the validation checks and control applied to the

    data, before and \during processing. Correct and unambiguous data is being passed andprocessed, which ensures high degree of accuracy and reliability.

    Use friendly

    As the system is developed by the opinion and the consent of the proposed user, and as thesystem provides easy to user interface the system is quite user friendly, menu driven option are

    provided so as to have a greater access control over data.

    Ease of Navigation

    As web pages are dynamically generated along with the homepages, a particular user may get

    only the information what he requires and thus avoids any room of boredom. It is an exciting

    experience to work with the system.

    Use of Web Technology

    The use of Intranet application leads to no extra software installation and the scope of the system

    are widened by haps and bounds. It is possible that similar system may be incorporated into other

    systems as well.

    13

  • 8/9/2019 MODI GROUP2

    14/86

    User Sitemap

    14

    User

    Home

    AboutuS

    ContactUs

    Advance

    SearchSearch

    Register

    Login ProductService

    s

    Product

    ProductDetail

    Buy

    Pay

    ProductDetail

  • 8/9/2019 MODI GROUP2

    15/86

    Admin Sitemap

    15

  • 8/9/2019 MODI GROUP2

    16/86

    16

  • 8/9/2019 MODI GROUP2

    17/86

    5.1 Design strategy:

    Introduction to Three-Tier Architecture:

    It is becoming clear that the issue is not one of simply processing transactions and generating

    reports, but rather of creating an information system that can change with business needs, that

    mandate tighter budgets and higher quality.

    To respond to the challenges being presented by the business environment, a new three tiers orN-tier Client/Server approach has been introduced. N-tier refers to the idea that there are no

    limits to the number of tiers that could be introduced to the Client/Server model. To begin this

    discussion, it is important to review the current Two-Tier approach.

    Two-Tier Client/Server Model:

    The Two-Tier model is tied to the physical implementation, a desktop machine operating as a

    client and a network server housing the back-end database engine. In the Two-Tier model, logic

    is split between these two physical locations, the Client and the Server. In a Two-Tier modal, theFront-end piece is commonly being developed in Power Builder, Visual Basic, or some other

    4GL. The key point to remember is that, in a Two-Tier Model, business logic for your

    application must physically reside either on the Client or be implemented on the back-end within

    the DBMS in the form of triggers and stored procedures. Both triggers and stored areprecompiled collections of SQL statements and control-of-

    flow statements. Consider a situation in which you set up a series of stored procedures to support

    a particular application's needs. Meanwhile, the developers of five other applications are makingsimilar efforts to support their own needs, all in the same database. Sure, they are naming

    conventions and definitions of who owns what objects, but the bottom line is that this scenario

    makes implementing and maintaining business rules downright ugly.

    Paradigms, which implement a strict Two-Tier architecture, make developing Client/Serverapplications look easy, such as the data windows in Power Builder where a graphical window of

    fields is magically bound to the back-end data source. In Visual Basic, using any of the data

    controls that provide a graphical link to the back-end data source creates a Two-Tier

    Client/Server application. This is because these implementations of application directly tie thegraphical user interface to back-end data access. The upside is that data access is simplified,

    17

  • 8/9/2019 MODI GROUP2

    18/86

    allowing very rapid development of applications. The GUI is bound directly to the data source

    and all the details of data manipulation are handled automatically. This strength is also its

    weakness. While data access is simplified, it is also less flexible. Often you will not havecomplete control over your interactions with the data source because it is being managed for you.

    Of course, this extra management costs resources on the Client and can result in poor

    performance of your applications.

    Limitation of Two-Tier Client/Server Model:

    There are three critical limitations of Two-Tier Client/Server model.

    Not Scalable The inability of a Two-Tier approach to grow beyond the physical boundaries of

    a client machine and a server machine prevents this model from being scalable.

    Unmanageable Since you cannot encapsulate business rules and deploy them centrally, sharing

    common processes and reusing your work is difficult at best.

    Poor Performance The binding of the graphical interface to the data source consumes major

    resources on the client machine, which results in poor performance and, unfortunately, unhappy

    clients.

    5.1.1 User Services (Client-tier)

    Is responsible for the presentation of data, receiving user events and controlling the user

    interface. The actual business logic has been moved to an application-server. A Logical layer ofa distributed system that typically presents data and process input from the user, sometimes

    referred to as the front end. Usually, the client tier requests data from a server based on input,

    and then formats and displays the result.

    5.1.2 Business Services (Application-server-tier)

    This is the logical layer in a distributed system between user interface or Web client and the

    database. This is typically where business objects are instantiated. It is a collection of businessrules and functions that generate and operate upon receiving information. They accomplish this

    through business rules, which can change frequently, and are thus encapsulated into components

    that are physically separate from the application logic itself.

    Business-objects that implement the business rules "live" here, and are available to the client-tier.

    This level now forms the central key to solving 2 tier problems. This tier protects the data fromdirect access by the clients. Furthermore, the term "component" is also to be found here. In the

    non-visual area of the system, components on the server-side can be defined as configurableobjects, which can be put together to form new application processes.

    5.1.3 Data Services (Data-server-tier)

    18

  • 8/9/2019 MODI GROUP2

    19/86

    This tier is responsible for data storage. Besides the widespread relational database systems,

    existing legacy systems databases are often reused here. It is important to note that boundaries

    between tiers are logical. It is quite easily possible to run all three tiers on one and the same(physical) machine. The main importance is that the system is neatly structured, and that there is

    a well-planned definition of the software boundaries between the different tiers.

    Advantages of Three-Tier Client/Server Model:

    Reuse:

    The time you invest in designing and implementing components is not wasted because you can

    share them among applications.

    Performance:

    Since you can deploy your components on machines other that the client workstation, you have

    the ability to shift processing load from a client machine that may be under powered to a serverwith extra horsepower. This flexibility in deployment and design allows you, as a developer, to

    take advantage of the best possible methods for each aspect of your application's execution,

    resulting in better performance.

    Manageability:

    Encapsulation of your application's services into components allows you to break down large,

    complex applications into more manageable pieces.

    Maintenance:

    Centralizing components for reuse has an added benefit. This become easier to redeploys when

    modifications are made, this keeps pace with business needs.

    Relatively simple to use wrapping techniques :

    As implementation changes are transparent from the viewpoint of the object's client, a forward

    strategy can be developed to replace legacy system smoothly.

    19

  • 8/9/2019 MODI GROUP2

    20/86

    Figure 5.1 Flows of Layers

    5.2 Context Diagram

    Figure 5.2 Context Diagram

    20

  • 8/9/2019 MODI GROUP2

    21/86

    5.3 Data Flow Diagram

    User Diagram

    Figure 5.3.1 User Diagram

    21

  • 8/9/2019 MODI GROUP2

    22/86

    Admin Diagram

    Figure 5.3.2 Admin Diagram

    22

  • 8/9/2019 MODI GROUP2

    23/86

    5.4 Entity - Relationship Diagram

    Registration and User_login Relationship Diagram

    Figure 5.4.1 Registration and User_login Relationship Diagram

    23

  • 8/9/2019 MODI GROUP2

    24/86

    5.4.2 Master and Product table Relationship Diagram

    Figure 5.4.1 Master and Product table Relationship Diagram

    5.5 Data Dictionary

    Introduction

    Data dictionary lists the purpose of all data items and the definition of composite data items in

    terms components data items.

    24

  • 8/9/2019 MODI GROUP2

    25/86

    A data dictionary provides a standard terminology for all relevant data for use by all engineers

    working in the same project. A consistent vocabulary for data items is very important.

    The data dictionary provides the analyst with a means to determine the definition of differentdata structure in terms of their component element.

    Tables

    User_Regstration

    This table work as backend when new user enters his/her profile which store in this table.

    Field Name Type Description Size Constraints

    User_id Varchar Unique identification ofthe User

    10 Not Null

    User_Fname Varchar User First Name 20 Not Null

    User_Lname Varchar User Last Name 20 Not NullUser_Eid Varchar User Email Id 30 Not Null

    User_Bdate Numeric User Birth Date 9 Not Null

    User_Bmonth Varchar User Birth Month 10 Not Null

    User_Byear Numeric User Birth Year 9 Not NullUser_Add Varchar User Address 200 Not Null

    User_City Varchar User City 20 Not Null

    User_Zip_code Numeric Zip code 9 Not NullUser_Country_code Varchar Country code 10 Not Null

    User_Std_code Numeric STD code 9 Not Null

    User_Telno Numeric Telephone Number 9 Not Null

    User_Mob Numeric Mobile Number 9 Not Null

    User_ Login

    This table confirms the authentication of the user if user already exists else user will not be

    allowed to access or share any of the company's information.

    Field Name Type Size Description Constraints

    User_id Varchar 10 User id Not null,

    Primary key

    User_login Varchar 20 Login name of the User Not NullUser_pw Varchar 20 Password of User Not Null

    Admin_Login

    This table stores the information of administrator like Admin id, login password etc. to maintain

    the privacy. Any other end users are strictly prohibited to have access to this table.

    25

  • 8/9/2019 MODI GROUP2

    26/86

    Field Name Type Size Description Constraints

    Admin_id Varchar 10 Unique identification of the

    Admin

    Not null,

    Primary keyAdmin _login Varchar 20 Login name of the Admin Not Null

    Admin _pw Varchar 20 Password of Admin Not Null

    Pro_Master

    All the details of items shorted in to categories are stored in this table including product item and

    all of its sub product items. This table provides the general information behaves like mastertable.

    Field Name Type Size Description Constraints

    Pro_id Numeric 9 Unique identification of the

    Product

    Not null

    Pro_category Varchar 500 Product item Not null

    Pro_type Varchar 50 Product type like

    (Software,Hardware,Service

    )

    Not null

    Pro_pid Numeric 9 Unique identification of the

    Item

    Not null,

    Primary key

    Pro_cid Numeric 9 Identification of sub item Not null,

    Pro_Software

    Details of Software category that is selected from the pro-master table are maintained in to pro-

    software table that maintains all the details like Software name, Software prize, Number of

    software purchased etc. are maintained into this table.

    Field Name Type Size Description Constraints

    Pro_soft_id Numeric 9 Unique identificationof the S/W item Not null,

    Primary key

    Pro_soft_name Varchar 20 Software name Not Null

    Pro_soft_price Numeric 9 Software price Not NullPro_soft_url Varchar 20 Add mage by url Null

    Pro_soft_bigurl Varchar 20 Add big image url Null

    Pro_soft_qty Numeric 9 Item quantity Not Null

    26

  • 8/9/2019 MODI GROUP2

    27/86

    Pro_soft_image Image 16 Software image Null

    Pro_soft_shipping

    name

    Varchar 50 Software shipping

    name

    Not Null

    Pro_soft_description Varchar 200 Description about

    software

    Null

    Pro_soft_display Smallint 2 Display pro Not null

    Pro_Hardware

    Details of Hardware category that is selected from the pro-master table are maintained in to pro-hardware table that maintains all the details like hardware name, hardware prize, Number of

    hardware purchased etc. are maintained into this table.

    Field Name Type Size Description Constraints

    Pro_hard_id Numeric 9 Unique identification of

    the H/W item

    Not null,

    Primary key

    Pro_ hard _name Varchar 20 Hardware name Not Null

    Pro_ hard _price Numeric 9 Hardware price Not Null

    Pro_ hard _url Varchar 20 Add mage by url NullPro_hard_bigurl Varchar 20 Add big imag url Null

    Pro_ hard _qty Numeric 9 Item quantity Not Null

    Pro_ hard _image Image 16 Hardware image NullPro_ hard _shippingname Varchar 50 Hardware shipping

    name

    Not Null

    Pro_ hard _description Varchar 200 Description about

    hardware

    Null

    Pro_hard_display Smallint 2 Display pro Not Null

    Pro_Service

    Details of Service category that is selected from the pro-master table are maintained in to pro-

    service table that maintains all the details like service name, service prize, Number of servicepurchased etc. are maintained into this table.

    Field Name Type Size Description Constraints

    Pro_ser_id Numeric 9 Unique identification of

    the Service item

    Not null,

    Primary keyPro_ ser _name Varchar 20 Service name Not Null

    Pro_ ser _price Numeric 9 Service price Not Null

    Pro_ ser _url Varchar 20 Add mage by url NullPro_ser_bigurl Varchar 20 Add big image url Null

    Pro_ ser _qty Numeric 9 Item quantity Not Null

    Pro_ ser _image Image 16 Service image Null

    27

  • 8/9/2019 MODI GROUP2

    28/86

    Pro_ ser _shippingname Varchar 50 Service shipping name Not Null

    Pro_ ser _description Varchar 200 Description about service Null

    Pro_ser_display Smallint 2 Display pro Not Null

    Pro_Shipping

    Store vendor name and access for generate voucher number per software, which access given by

    admin.

    Field Name Type Size Description Constraints

    Ship_name Varchar 100 Shipping name Not NullShip_local_fqty Float 8 Shipping first quantity for

    local

    Not Null

    Ship_local_aqty Float 8 Shipping additionalquantity for local

    Not Null

    Ship_rest_fqty Float 8 Shipping first quantity for

    rest of India

    Not Null

    Ship_rest_aqty Float 8 Shipping additional

    quantity for rest of India

    Not Null

    Ship_out_fqty Float 8 Shipping first quantity for

    out of India

    Not Null

    Ship_out_aqty Float 8 Shipping additional

    quantity for out of India

    Not Null

    Pro_Tax

    As per the new taxation rules, taxes applied on each of the products are maintained in this table.

    Field Name Type Size Description Constraints

    Soft_taxname Varchar 20 Software tax name Not Null

    Hard_taxname Varchar 20 Hardware tax name Not Null

    Ser_taxname Varchar 20 Service tax name Not NullSoft_tax Int 4 Software tax Not Null

    Hard_tax Int 4 Hardware tax Not Null

    Ser_tax Int 4 Service tax Not Null

    Pro_Pending

    User's request to buy a particular product is first maintained in to this table. Only administratorwill have right to access this table.

    Field Name Type Size Description Constraints

    Pen_orederid Numeric 9 Unique identification of theorder

    Not null,

    Primary keyPen_trade Varchar 200 Display Item purchased by Not Null

    28

  • 8/9/2019 MODI GROUP2

    29/86

    user

    Pen_itemprice Numeric 9 Purchased item price Not Null

    Pen_paymethod Varchar 50 How to pay user paymentlike (Cheque, D.D.)

    Not Null

    Pen_buydetial Varchar 200 User personal detail Not Null

    Pen_buyaddr Varchar 100 User address Not NullPen_buycity Varchar 20 User city Not Null

    Pro_PandingShipping

    Once the request accepted by the administrator after verifying about the payment made, detail of

    product shipping are maintained into this table.

    Field Name Type Size Description Constraints

    Pen_Ship_invoiceid Numeric 9 Unique identification of

    the bill no

    Not null,

    Primary keyPen_Ship_orederid Numeric 9 Unique identification of

    the order no

    Not null,

    Pen_ Ship_trade Varchar 200 Display Item purchasedby user

    Not Null

    Pen_ Ship_itemprice Numeric 9 Purchased item price Not Null

    Pen_ Ship_paymethod Varchar 50 How to pay userpayment like (Cheque,

    D.D.)

    Not Null

    Pen_ Ship_buydetial Varchar 200 User personal detail Not Null

    Pen_ Ship_buyaddr Varchar 100 User address Not NullPen_ Ship_buycity Varchar 20 User city Not Null

    Pen_Ship_comment Varchar 100 Description about userpayment

    UML Diagram

    UML is not simply a notation for drawing diagrams, but a complete language for capturing

    knowledge about a subject and expressing knowledge regarding the subject for the purpose of

    communication. Applies to modeling and system. Modeling involves a focus on understanding asubject and capturing and being able to communication. Applies to a multitude of different types

    of systems domains and methods or processes.

    Purposes of these variety models,

    Analysis

    Specification

    29

  • 8/9/2019 MODI GROUP2

    30/86

    Design

    Visualize and understand the problem and the working of a system

    Use-Case Diagram

    Use cases are classes that define units of functionality of behavior provided by a system. They

    specify the external requirements of the system and the functionality offered by the system, theset of use cases may be enclosed by a system boundary of rectangle labeled with the system

    name. The system container is actor. Actor plays important role in this diagram. The system is

    enclosed by a boundary and performs the functionality for actors.

    Figure : Use-Case Diagrams

    30

  • 8/9/2019 MODI GROUP2

    31/86

    31

  • 8/9/2019 MODI GROUP2

    32/86

    Function

    Admin

    This module contain the following function

    Note:- All the functions given beneath are for administrator manipulation only.

    Loginadmin():-

    This function takes the two arguments that is Admin_Name and Admin_password to verify theauthentication of administrator. If either of the two expected parameter provided is not correct

    the user will not have right to access. An authenticate user will have right to modify any part of

    the software.

    AddProduct():-

    Once the authentication has been verified for admin, administrator can add the new product as

    per his/her desire. This function will add product in database that is entered by the administrator.

    No other user accepts administrator can add a new product.

    UpdateProduct():-

    Administrator can update and manipulate the product that is price value of product, taxation

    levied on the products, changing the name of product etc. This function will reflect the changesmade by the user .

    DeletProduct():-

    Changes made in this portion are strictly by Administrator only. That is product can be deletedfrom the product list database by administrator.

    32

  • 8/9/2019 MODI GROUP2

    33/86

    Note: - Product once deleted from the Product List will not be retrieved back.

    PendingProduct():-

    The entire request made by the client to purchase the particular product is listed by this function.

    Once the admin has sort listed the pending product the product will be deleted.

    PendingShipping():-

    The sort listed product from PendingProduct list will migrate to PendingShipping table in

    database by this function. This function is manipulated by administrator only.

    OrderDetail():-

    All the past transactional information is maintained by this function. Administrator can view the

    past record maintained in the database table by this function. Past transaction includes past

    payment made or not by the client on purchase of the particular product, product ID, client name,address etc.

    User

    Note: - All the functions mentioned below are of the user level function

    Registration():-

    This function handles the user registration, all the information about user like name, address,

    phone number etc. are few of the variables that this function handles and maintain.

    Login():-

    Once the user has registered on site user name and password variables are stored by thisfunction. Registered user will have to provide the correct variable information asked by this

    function at the time of login.

    Function's two variable that is User-Name and User-Password is maintained in database table.

    Search():-

    Based on the String value supplied by the user upon the selection of an individual productSearch() function will find the product from the product database. The String value supplied by

    the user to this function will fetch the result that matches the search criteria from all the products

    tables.

    Advancesearch ():-

    33

  • 8/9/2019 MODI GROUP2

    34/86

    This function takes the String argument that is specified and is supplied by the user. The

    specified value supplied by the user will than search the result of match from the product tables.

    6.2 Screen Layouts

    Home

    Figure 6.2.1 Homepage

    This is the main page of the Bonrix Software System. One can register himself to this site for the

    online-shopping, and even the registered member can login. One can view different items on the

    home page which are kept for the sale. This home page also provide the user with a good searchengine, by which he can search different items/products available on this site.

    Admin

    34

  • 8/9/2019 MODI GROUP2

    35/86

    Figure 6.2.2Admin Login

    This is the very first screen appears in front of administrator. The administrator login screen

    confirms authentication of admin, hence other user who will try to enter id and password will notbe allowed to login into site.

    Administrator will have to enter the id and password to prove authentication.

    Figure. 6.3.2 AdminChangePassword

    Administrator will have to change the password .

    35

  • 8/9/2019 MODI GROUP2

    36/86

    Figure 6.2.4 AdminHome

    Once the password and id of administrator has been confirmed the very next page will be the

    Home page that appears in front of admin.

    All the types of the manipulation by the admin can be done from here onwards like adding the

    new product, deleting the existing products, editing the products detail, shipping charges appliedon a particular product etc.

    36

  • 8/9/2019 MODI GROUP2

    37/86

    Figure 6.2.5 Add Product

    Once the add product option is selected by the admin this screen appears to admin in which he

    can add a particular product and the rest of it's necessary details like category, service provided

    (software, hardware and other types of the services provided by the company).

    37

  • 8/9/2019 MODI GROUP2

    38/86

    Figure 6.2.6 Edit Product

    Upon clicking the edit option admin can edit the products details like category of products,

    service provided etc.

    38

  • 8/9/2019 MODI GROUP2

    39/86

    Figure 6.2.7 Delete Product

    To delete the product from the product site's database admin has to go for this option.

    Once the product is deleted from the database it will not be retrieved later in any of the case.

    39

  • 8/9/2019 MODI GROUP2

    40/86

    Figure 6.2.8 Add Product Detail

    Once the product is added up, all of it's sub product can be added through this menu. This screen

    will ask the admin to enter all the types of detail like sub product of the main product, product

    price, image URL, shipping charges applied and it's description.

    40

  • 8/9/2019 MODI GROUP2

    41/86

    Figure 6.2.9 Add Shipping Charges

    To add the shipping charges for products this option is selected. Shipping charges applied are

    different for different products like local area selling, rest of the country states charges and

    international charges applied on the product.

    41

  • 8/9/2019 MODI GROUP2

    42/86

    Figure 6.2.10 Add Product Tax

    All the types of taxes applied on software, hardware and company services taxes are entered in to

    this form by admin.

    42

  • 8/9/2019 MODI GROUP2

    43/86

    Figure 6.2.11 Pending Payment

    All the pending payments of client are described in this form. Once the payment has been made

    by the client user can shift the records in this form to Shipping Pending form by clicking Submitbutton.

    43

  • 8/9/2019 MODI GROUP2

    44/86

    Figure 6.2.12 Pending Shipping

    After migrating from Pending Paymentform the records will appear in this form to admin.Admin can add extra comments to types of payment made by the client in this form for his/herfuture reference. Once the comments have been placed the admin will sent the same records to

    Order Detail form by clicking Submit Shipping Detail button.

    44

  • 8/9/2019 MODI GROUP2

    45/86

    Figure 6.2.12 Order Detail

    This form will behave as Bill Book page. It consist all the type of details like Order ID, client'sdetail like address, cell no. etc. This will be the last form that appears to admin because he can

    directly take print of the same form as receipt.

    User

    45

  • 8/9/2019 MODI GROUP2

    46/86

    Figure 6.2.13 User Login

    Once the user has registered on sites domain he/she will be asked to enter the Email-ID and

    password that was entered at the time of creating the new account. All the types of the

    information provided by the user has to be correct else the access will be denied.

    46

  • 8/9/2019 MODI GROUP2

    47/86

    Figure 6.2.14 User Registration

    This is user registration form, in which user has to enter all the types of the detail like name,

    Email-ID, password etc. to open the new account on site. Once the user clicks on the submitbutton all the data entered by the user will be stored into sites database.

    47

  • 8/9/2019 MODI GROUP2

    48/86

    Figure 6.2.15 Product View

    On the home page, user can view different categories like software, Hardware, Services etc. In

    the Hardware category, user can click on different sub-categories provided. And it also displays

    the item related to that category with full detailed information. Once the item is viewed by theuser, he can even buy that item.

    Figure 6.2.16 Search and Advance Search

    Once the user has been verified by site, this form appears in front of the user. In this user can

    search for a particular product or services that are provided by the company.

    48

  • 8/9/2019 MODI GROUP2

    49/86

    Figure 6.2.17 Product Detail

    This is Product Detail form in which all the details of a product or services appeared to user.

    Details like shipping charges, price, and service charges will be included in this.

    49

  • 8/9/2019 MODI GROUP2

    50/86

    Figure 6.2.18 Buy Now

    If user is interested to buy a particular product/service this form will ask the user to confirm the

    order after having glance to all the details of product/service by clicking Commit to Buy button.

    Figure 6.2.19 Pay Now

    If user is interested to buy he can go for further transaction with the company by clicking Pay

    Now.

    50

  • 8/9/2019 MODI GROUP2

    51/86

    Figure 6.2.20 Payment Option

    Once the user will click on Pay Nowbutton this form will display certain types of options likemode of payment that will be made, address, quantity ordered, price etc

    51

  • 8/9/2019 MODI GROUP2

    52/86

    Figure 6.2.21 Payment Method

    User can pay to company for a particular product/services through Credit Card by entering

    certain information that are necessary.

    Any wrong entry in this form will not allow user to go for further transaction with the company.

    52

  • 8/9/2019 MODI GROUP2

    53/86

    Figure 6.2.22 Send Information

    This is for client asking to client for their valuable suggestion. It also play role of feed back and

    confirmation form that will be send back to the company.

    TESTING

    53

  • 8/9/2019 MODI GROUP2

    54/86

    Introduction

    Correctness is the degree to which a software system performs its required function.

    Correctness is the extend to which a software system is free from faults.

    As we haven't any experience at starting in real time software development, obviously we facemuch more error from which we are not familiar. And also we don't know what kind of testing

    has to do. Thanks a lot to our Project Guide Mr. Renish Ladani who have given a lot of idea

    about testing, and given solution for non familiar errors.

    I understand that Testing is one of the major parts in software development.

    First of all, I would like to introduce testing and its importance.

    A correct system must accomplish the following:

    Compute accurate results.

    Operate safely, and cause the system containing the software to operate

    safely. Perform the tasks required by the system containing the software, as

    explained in software applications. Achieve these goals for All inputs.

    Recognize inputs outside its domain.

    We shall see that satisfying these 5 pre-requisites depends on a variety of things, one of these, for

    example is the fact that to satisfy, the first thing that should be provided is a clear and correct

    software specification. We shall also see how a correct system is built, and the various stages,which determine the software development life cycle. When we are going for testing we have

    following meter in mind.

    Functionality

    Are the site application and its components linked and working together? Does the site performto stated requirements? Does a visitor have full functional capability of the displayed page? Can

    orders be serviced? Are notifications sent?

    Serviceability

    54

  • 8/9/2019 MODI GROUP2

    55/86

    Does the site work over a range of expected conditions including individual user platforms,

    operating system, browsers, communication protocols and Internet service providers? Are

    multiple users visiting the same area serviced predictably under all operating conditions? Doesthe application respond consistently end to end without degradation of service and speed?

    Performance

    Is your site performing to its maximum potential? Slow response is costly in terms of the known

    problems reported to customer service and in unknown missed opportunities. The competitionmay only be one click away at a similar and more responsive site.

    9.2 Validation and Verification

    Validation and verification is major part of testing. Even we go through find problems and solve

    it, there is many type of errors in program. So we have to follow validations and verifications for

    our software.

    Validation:

    The process of evaluating software at the end of its development process to ensure that it is free

    from failures and compiles with its requirements. Often this validation occurs through the

    utilization of various testing approaches.

    Verification:

    The process of determining whether or not the products of a given phase of a software

    development process fulfill the requirements established during the previous phase. Verification

    approaches attempt to identify product faults or errors, which give rise to failures.

    Validation and Verification Techniques

    We first decide specific validation and verification objectives for our project. At deciding timewe determine the critical of the product, its constraints, and its complexity. In general, the

    objective of the validation and verification function is to ensure that the product satisfies the

    target of some validation and verification activity.

    We try best to conduct Validation and Verification to be systematic and technical evaluation of

    software and associated products of the development and maintenance process. For that Reviews

    and tests are done at the end of each phase of the development process to ensure softwarerequirements are complete and testable and that design, code, and data satisfy thoserequirements.

    Reviews, Inspection and Walkthrough

    Reviews

    55

  • 8/9/2019 MODI GROUP2

    56/86

    We always Reviews our project at the end of each phase of the life cycle to determine whether

    established requirements, design concepts and specifications have been met or not. Our company

    guide and our college guide provided us with their beneficial suggestions.

    For example when a member comes for registering its details we first check the username and

    password and if all the constraints are matched then only the registration form for the member isopened.

    Also we regularly surfed the net the give the most advanced utilities to our project.

    Inspection or Walkthrough

    An inspection or Walkthrough is a detailed examination of a product on a step-by-step or line-of-

    code by line-of-code basis. The purpose of conducting inspection and walkthroughs is to find

    errors. The group that does that does and inspection or walkthrough is composed of peers from

    development, test and quality assurance.

    Software Testing

    Software testing is the process of exercise a product to verify that is satisfied specified

    requirement of to identify between expected and actual results.

    Testing is the operation of the software with real or simulated inputs to demonstrate that a

    product satisfies its requirement and if it does not to identify the specific differences betweenexpected and actual results. There are varied levels of software test, ranging from unit or element

    testing through integration testing and performance testing, up to software system and

    acceptance tests.

    Informal Testing

    Informal test may be requirements driven or designer driven. Requirement driven or black-box

    testing is done by selecting the input data and other parameters based on the software

    requirements and observing the outputs and reactions of the software. Black box testing can bedone at any level of integration. In addition to testing for satisfaction of requirements, some of

    the objectives of requirement driven testing are to ascertain.

    Computational correctness.

    State transitioning as expected,

    Proper behavior under stress or high load.

    Adequate error detection, handling and recovery.

    Design-driven or white box testing is the process where the tester examines the internal working

    of codes. Selecting the input data does design driven testing and other parameters based on the

    56

  • 8/9/2019 MODI GROUP2

    57/86

    internal logic paths that are to be checked. The goals of design driven testing includes

    ascertaining correctness of:

    All paths through the code. For most software products, this can be feasibly done only at theunit test level.

    Bit-by-bit functioning interfaces.

    Size and timing of critical elements of code.

    We have performed both types of informal test. For example when we perform program for one

    page, we check design, and compare it with it, time we have spend for that we determine and if itis more than we think how to do fast. We also determine time to load and if it is not good enough

    then we go through the code to optimize as possible.

    Formal Testing

    We have done formal testing to demonstrate that the software is ready for its intended use. We

    have included an acquirer approved test plan and procedure, quality assurance witness, a recordof all discrepancies and a test report. Formal testing is always requirement-driven, and its

    purpose is to demonstrate that the software meets its requirements.

    When out most work had been complete up to this we have done the test only on our PC. Then

    we go to test it on different computer through LAN. Then our guide did the testing and told usthe various changes that were to be done.

    Level of Testing

    In this section we will overview various level of testing activities, each we have done,

    Module Testing

    Module or unit testing is the lowest level of testing and involves the testing of a software moduleor unit. We have done module testing to insure that the components being tested conforms to its

    specification and is ready tobe integrated with other components of the product.

    Integration Testing

    It consists of the systematic combination and execution of product components. Multiple levelsof integration testing are possible with a combination of hardware and software at severaldifferent levels. We have done integration testing is to insure that the interface that the interfaces

    between the components are correct and that the product components combine to execute the

    product's functionality correctly.

    In our chat application when a valid authentication is done then the integration of the all the

    members is done in one applet and every member could chat with each other.

    57

  • 8/9/2019 MODI GROUP2

    58/86

    Regression Testing

    Regression testing can be defined as a process of executing previously defined test cases on a

    modified program to assure that the software changes have not adversely affected the program'spreviously existing functions. The error-prone nature of software modification demands that

    regression testing can be performed.

    We include following error checking test for regression test.

    Data corruption errors: These errors are side effects due to shared data.

    Inappropriate control sequences: These errors are side effects due to change in executionsequences.

    Resource contention: Example of these types of errors are potential bottlenecks and deadlocks.

    Performances deficiencies: These include timing and storage utilization errors.

    An important regression testing strategy is so place a higher priority on testing the older

    capabilities of the product that on testing the new capabilities provides by modifications. This isespecially important when consider that a recent study found that half of all failures detected by

    users after modification were failure of old capabilities, as a result of side effects of

    implementation of new functionality.

    Step By Step Testing Done In This Project

    When we are going for testing, we use above strategies.

    We first decide where to put validation and where the validation is required.

    We first put validation require to put. For example if required e-mail address then that must

    be'@' symbol I sentence and .' Before logical name like com' or edu' so on.

    We first verify our whole design using review, inspection and walkthrough technique.

    We also verify our project after completion using same method.

    We go to verify each and every function that we have implemented.

    We always test our code after completion of each program or module or integration of module

    or integration of program.

    We use assert statement, to put validation in our code. And check our code to assure that assert

    is right or not.

    We use informal test after completion of each module.

    58

  • 8/9/2019 MODI GROUP2

    59/86

    We go for formal testing after completion of each module and each part.

    We always check our graphical design with our project guide and colleague, and change it as

    per the requirement.

    After completion we check each hyperlink is correct or not and modify if as per requirement.

    After completion of page programming, we use extreme input data and check whether it rightor not.

    We check for our application whether it is working perfectly in a multi user environment or

    not.

    Errors Faced During Implementation And Testing

    As we used a simple editor to implement our Java Program, we face much more errors due to

    logical mistake and typing mistake. So it is hard to remember all errors and list it.

    But following are some most frequent errors and hard logical errors.

    1.We face frequent SQL errors as we had been using SQL sever 2000 at times we

    had errors where the query field types did not match exactly the fields as been specified in thetables. Also there kind of errors cannot be

    2.We frequently get javawebserver internal error ode 500 because of out bad implementation

    code.

    59

  • 8/9/2019 MODI GROUP2

    60/86

    60

  • 8/9/2019 MODI GROUP2

    61/86

    7.1 JAVA

    Java is a programming language and a platform.

    The Java Programming Language

    Java is a high-level programming language that is all of the following:

    Simple

    Object Oriented

    Distributed

    Secure

    Robust

    Portable

    Architecture-neutral

    High performance

    Multithreaded

    Dynamic

    Simple

    Java was designed to be easy for the professional programmer to learn ad use effectively.

    61

  • 8/9/2019 MODI GROUP2

    62/86

    Object-Oriented

    As C++, Java is object-oriented. The object model in java is Simple and easy to

    Extend. It follows the three basic mechanisms of object-oriented Language.

    Encapsulation

    Inheritance

    Polymorphism

    Robust

    The multiplatform environment of the web places extraordinary demands on a program, because

    the program must execute reliably in a variety of system. Thus, the ability to create robust

    programs was given a high priority in the design of java.

    Multithreaded

    Java was designed to meet the read world requirement of creating interactive, networked

    programs. To accomplish this, java supports multithreaded programming, which allows you to

    write programs that do many things simultaneously.

    Architecture-Neutral

    A central issue for the java designers was that of code longevity and portability. One of the main

    problem facing programmers is that no guarantee exists that if you write a program today, it willrun tomorrow- even on the same machine. Operating system upgrades, processor upgrades, and

    changes in the core system resources can all combine to make a program malfunction. The javadesigners made several hard decisions in the java language and java VM in an attempt to alter

    this situation.

    Distributed

    Java is designed for the distributed environment of the internet, because it handles TCP/IPprotocols. In fact, accessing a resource using a URL is not much different from accessing a file.

    Dynamic

    Java programs carry with them substantial amounts of run-time type information that is used to

    verity and resolve accesses to objects at run time. This makes it possible to dynamically link

    code in a safe and expedient manner.

    Java is also unusual in that each java program is both complied and interpreted. With a

    compiler, you translate a java program into an intermediate language calledJava byte code the

    62

  • 8/9/2019 MODI GROUP2

    63/86

    platform independent code instruction is parse and run on the computer. Compilation happens

    just once; interpretation occurs each time the program is executed.

    You can think of java byte code as the machine code instructions for theJava Virtual Machine

    (Java VM). Every java interpreter, whether it's a java development tool or a web browser that can

    run java applets, is and implementations of the java VM. The Java VM can also be implementedin hardware.

    Java byte code help make write once, run anywhere possible. You can compile your javaprogram into byte codes on any platform that has a java compiler. The byte codes and then be

    run on any implementation of the java VM. For example, the same java program can run on

    Windows NT, Solaris, and Macintosh.

    The Java Platform

    A platform is the hardware or software environment in which a program runs. The java

    platform differs from most other platforms I that it's software-only platform that runs on top ofother, hardware-based platforms. Most other platforms are described as a combination of

    hardware and operating system.

    The Java platform has two components :

    The J ava Virtual Machine (Java VM).

    TheJava Application Programming Interface (Java API).

    The java API is a lager collection of ready-made software Components that provide many

    useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped intolibraries (packages ) of related components.

    Why Java is important to the Internet

    The Internet helped catapult java to the forefront of programming, and Java, in turn, has had a

    profound effect on the Internet. The reason for this is quite simple: Java expands the universe of

    objects that can move about freely in cyberspace.

    In a network, two very broad categories of object are transmitted between the server and your

    personal computer: passive and dynamic, active programs. For example, when you read your

    email, you are viewing only passive data. Even when you download a program, the program'scode is still only passive data until you execute it. However, a second type of object can betransmitted to your computer: a dynamic, self-executing program. Such a program is an active

    agent on the client computer, yet it initiated by the sever. For example, a program might be

    provided by the sever to display properly the data that the sever is sending.

    63

  • 8/9/2019 MODI GROUP2

    64/86

    As desirable as dynamic, networked programs are, they also present serious problem in the

    areas of security and portability. Prior to Java, cyberspace was effectively closed to half the

    entities that now live there.

    7.2 JSP

    What is JSP?

    Java Server Page (jsp) is a template for a Web page that uses Java code to generate an HTML

    document dynamically. JSPs are run in a server-side component know as JSP container, whichtranslate them into equivalent Java Servlet. For this reason, Servlet and JSP pages are intimately

    related. What's possible in one is, in large part, also possible in the other, although each

    technology has its individual strengths.

    Advantages:

    They have better performance and scalability than ordinary CGI scripts because they arepersistent in memory and multithreaded.

    No special client setup is required.

    They have built-in support for HTTP session, which makes application programming possible.

    They have full access to Java technology-network awareness, thread, and database

    connectivity-without the limitation of client-side applets.

    They are automatically recompiled when necessary.

    Because they exist in the ordinary Web server document space, no special URL mapping is

    required to address them.

    Because JSP pages are HTML-like, they have greater compatibility with Web development

    tools.

    How JSP Works

    JSP source code

    64

  • 8/9/2019 MODI GROUP2

    65/86

    This is the version the developer actually writes. It consists of a text file with an extension of

    .jsp, and contains a mix of HTML template code, Java language statements, and JSP directives

    and action that describe how to generate a Web page to service particular request.

    Java source code

    The JSP container translates the JSP source code into the source code for an equivalent Java

    Servlet as needed. This source code is typically saved in a work area and is often helpful for

    debugging.

    Compile Java class

    Like any other Java class, the generated servlet code is compiled into byte codes in a .class file,

    ready to be loaded and executed.

    JSP and Servlet

    If you've worked with Java servlets, you know that servlets allow you to create dynamically-generated web pages that include data from server-side Java objects. But you also know that the

    servlet approach to generating web pages is to embed HTML tags and presentation code within a

    Java class. This means that changes to presentation code requires modification and recompilation

    of the servlet source file. Because web authors who design HTML pages may not be the samefolks as the developers who write servlet code, updating servlet-based web applications can be

    an involved process.

    While JSP pages mainly provide a higher-level method of creating servlets, they bring otherbenefits as well. Even if you're already content writing servlets for web applications, there areplenty advantages to using JSP:

    JSP pages easily combine static templates, including HTML or XML fragments, with

    code that generates dynamic content.

    JSP pages are compiled dynamically into servlets when requested, so page authors can

    easily make updates to presentation code. JSP pages can also be precompiled if desired.

    JSP tags for invoking JavaBeans components manage these components completely,

    shielding the page author from the complexity of application logic. Developers can offercustomized JSP tag libraries that page author access using an XML-like syntax.

    Web authors can change and edit the fixed template portions of pages without affectingthe application logic. Similarly, developers can make logic changes at the componentlevel without editing the individual pages that use the logic.

    JSP comparedto ASP

    JSP and ASP are fairly similar in the functionality that they provide. JSP may have slightly

    higher learning curve. Both allow embedded code in an HTML page, session variables and

    65

  • 8/9/2019 MODI GROUP2

    66/86

    database access and manipulation. Whereas ASP is mostly found on Microsoft platforms i.e. NT,

    JSP can operate on any platform that conforms to the J2EE specification. JSP allow component

    reuse by using JavaBeans and EJBs. ASP provides the use of COM / ActiveX controls.

    7.3 Introduction to JDBC

    JDBC is a Java API (Application Programming Interface) that documents a standard framework

    for dealing with tabular and, generally, relational data. While JDBC 2.0 begins a move to make

    SQL semi-transparent to the programmer, SQL is still the lingua franca of the standard databaseengines and represents a major industry victory in the effort to separate data from code. Before

    getting into the course proper, it's worth taking a few moments to provide sine background on the

    movement form straight-ahead SQL to JDBC.

    SQL

    SQL is a Standardized language used to Create, manipulate, examine, and manage relational

    databases. This course will not extensively explain SQL, although a very basic SQL Resourcesare provided.

    However, you should understand the following:

    A database is essentially a smart container for tables.

    A table is container comprise of rows.

    A row is (conceptually) a container comprised of columns.

    A column is a single data item having a name, type and value.

    While you should review the definitions and understand the important differences, initially you

    can use the following analogs: A database approximates a file ; a row approximates a record or

    structure; and a column approximates a field or variable. If these terms are unfamiliar, youshould review some programming resources, particularly in the area ofInput/Output(I/O)

    operations,before proceeding with the course.

    Because SQL is an application-specific language, a single statement can be very expressiveand can initiate high-level actions, such as sorting and merging, on as entire set of data. SQL was

    standardized in 1992 so that a program could communicate with most database systems without

    having to change the SQL commands. However, you must connect to a database before sendingSQL commands, and each database vendor has a different interface to do so, as we;; as dofferemtextensions of SQL. Enter ODBC.

    ODBC

    ODBC (Open Database Connectivity), a C-base interface to SQL-base database engines,

    provides a consistent interface for communicating with a database and for accessing database

    66

  • 8/9/2019 MODI GROUP2

    67/86

    metadata (information about the database system vendor, how the data is stored, and so on).

    Individual vendors provide specific drives or bridges to their particular database management

    system. Consequently, thanks to ODBC and SQL, you can connect to a database and manipulateit in a standard way. It is no surprise that, although ODBC began as a PC standard, it has become

    nearly an industry standard.

    Although SQL is well-suited for manipulating databases, it was not designed to be a general

    application language; rather, it was intended to be used only as a means of communicating withdatabases. Another more general and complete programming language is needed to host and feed

    SQL statements to a database and process results for data manipulation, visual display, or report

    generation. Unfortunately, you cannot easily write a program that will run n multiple platforms,even though the database connectivity standardization issue has been largely resolved. For

    example, if you wrote a database client in C++, as a language is not portable because C++ is not

    completely specified (for example, how many bits does an int hold ?. Second, and moreimportantly, support libraries such as network access and GUI (Graphics User Interface)

    frameworks are different on each platform. Enter the Java programming language and JDBC.

    The Java TM Programming Language and JDBC

    A Java programming, written and according to specification can run on any Java technology-

    enabled platform without recompilation. The java programming language is completely specifiedand, by definition, a java technology-enabled platform must support a known core of libraries.

    One such library is the java.sql package or JDBC, which you can think of as a portable version of

    ODBC, and is itself a major standard. Using the Java programming language in conjunction withJDBC provide a truly portable solution to writing database applications.

    A JDBC driver is a class that implements the JDBC Driver interface and understands how to

    convert program (and typically SQL) requests for a particular database. Clearly, the driver iswhat makes it all work. There are four different driver types, which are discussed in the JDK(Java Development Kit) documentation at JDBC Driver Types. This course uses type 4 drivers

    because of their nearly zero installation requirements and dynamic nature. Another driver type

    may make more sense for your particular project. Most database vendors now provide drivers toimplements the JDBC API for their particular systems. These are generally provided free of

    charge. Third party drivers are also available, ranging in cost from free to very expensive. For

    links to JDBC driver resources, see Specific information and the other Resource.

    The JDBC API

    The JDBC API is expressed as series of abstract Java interfaces that allow an applicationsprogrammer to open connections to particular database, execute SQL statements, and process the

    result.

    The most important interfaces are:

    Java.sql.DriverManager which handles loading of drivers and provides support for creatingnew database connections.

    67

  • 8/9/2019 MODI GROUP2

    68/86

    Java.sql.Connection which represents a connection to a particular database

    Java.sql.Statement which acts as a container for executing a SQL statement on a given

    connection.

    Java.sql.ResulSet which controls access to the row results of a given Statement.

    The java.sql.Statement interface has two important sub-types:

    Java.sql.PreparedStatement for executing a pre-compiled SQL statement, and

    Java.sql.CallableStatement for executing a call to a database stored procedure.

    The JDBC Driver Interface

    For the most part the database driver simply needs to provide implementation of the abstract

    classes provided by the JDBC API. Specifically, each driver must provider implementations ofjava.sql.Connection, java.sql.Statement, and java.sql.ResultSet.

    In addition, each database driver needs to provide a class which implements the java.sql.Driver

    interface used by the generic java.sql.DriverManager class when it needs to locate driver for a

    particular database URL.

    Another useful driver is one that goes directly to a DBMS-independent network protocol to

    allow multiple sever implementations, e.g. on top of ODBC or on specific DBMSs (although

    there are already products that use a fixed protocol such as this, we are not yet trying to

    standardize it). Only a few optimizations are needed on the client side, e.g. for schema caching

    and topple look-ahead, and the JDBC Manager itself is very small and efficient as well. The netresult is a very small and fast all-java client side implementation that speaks to any severs

    speaking the published protocol.

    7.4 Java Script

    JavaScript is an easy-to-use programming language that can be embedded in the header of

    your web pages. It can enhance the dynamics and interactive features of your page bye allowing

    you to perform calculations, check forms, write interactive games, add special effects, customizegraphics selections, created security passwords and more.

    JavaScript is a lightweight object-base scripting language created by NetscapeCommunications Corporations for developing Internet applications. JavaScript is lightweight in

    that there isn't a great deal to learn and you can be productive with it very quickly, in contrast tomuch more complex languages such as Java. As a scripting language, JavaScript is meant to tell

    an application what to do. Unlike languages used to create applications, it cannot do anything

    without the application.

    68

  • 8/9/2019 MODI GROUP2

    69/86

    You can develop sever applications or client applications with JavaScript. In this book, the

    term server refers to the computer where your web pages reside. The term client refers to the

    browser application that loads and displays your web pages. This book focuses on teaching youto create client application with JavaScript specifically, documents (Web pages) on the World

    Wide Web.

    You can embed JavaScript statements in Web pages, which are written in HTML (Hypertext

    Markup Language). JavaScript us abs extension to HTML that lets you create more sophisticatedWeb pages that you ever could with HTML alone. To appreciate this, it helps to know a little

    history.

    What's the difference between JavaScript and Java?

    Actually, the 2 languages have almost nothing in common except for the name. Although Javais technically an interpreted programming language, it is coded in a similar fashion to C++, with

    separate header and class files, compiled together prior execution. It is powerful enough to write

    major applications and insert then n a web page as a special object called an applet. Java hasbeen generating a lot of excitement because to its unique ability to run the same program o IBM,

    Mac, and UNIX computer. Java is not considered an easy-to-use language for non-programmers.

    JavaScript is much simpler to use than Java. With JavaScript, if I want check a form for errors;

    I just type an if-then statement at the top of my page. No compiling, no applets, just a simplesequence.

    Object and Properties

    Your web page document is an object. Any table, form, button, image, or link on your page is

    also an object. Each object has certain properties (information about the object). For example,the background color of your document is written document.bgcolor. You would change thecolor of your page to red by writing the line: document.bcolor=red

    The contents (or value) of a textbox named password in a form named entryform is

    document.entryform.password.value.

    Methods

    Most object have a certain collection of things that they con do, Different object can dodifferent things, just as a door can open and close, while a light can turn on and off. A new

    document is opened with the method document.open() You can write Hello World into adocument by typing document.write(Hello World). Open() and write() are both methods of theobject.document.

    Events

    Events are how we trigger our functions to run. The easiest example is a button, whose

    definition includes the words onClick=run_my_function(). The onClick event, as its name

    69

  • 8/9/2019 MODI GROUP2

    70/86

    implies, will run the function when the user click on the button. Other events include

    OnMouseOver, OnMouseOut, OnFocus, OnBlur, OnLoad, and OnUnload.

    7.5 About HTML

    HTML (Hyper Text Markup Language) is a language used to create web pages.HTML is not acompiled language and is directly interpreted by a Browser. It is basically a formatting language

    and not a programming language.HTML documents are also called Web Pages.HTML comes

    with special codes(tags) that can be embedded to format text and the text can be linked (calledhyper links) to other Web pages. Images, tables and lists can be included within the text.HTML

    provides GUI environment for user's inputs.

    The HTML terms are enclosed in angle brackets,< and > and such terms are called tags.HTML

    tags tell the web browser how to format and organize the web pages, tags can be customizedusing attributes. An attribute is a key word used in an opening tag to give more information to

    the web browser. Everything in between starting

    tag and ending tags make up HTML elements.HTML tags tell web browsers to find how

    to format and organize the web pages.

    Every HTML document has a rigid structure, prescribed by W3C that created HTMLDTD(Document Type Definition) .Every HTML document begins with a special tag

    DOCTYPE> followed by tag. This tag indicates that the top element of the document

    is the tag, and that the required DTD is public and the document is having HTML tagsof the specified version and also the language to be used.

    HTML is a set of mark-up tags used to format text and include other data formats in hyper media

    documents so that the web browser can interpret and display them.

    7.6 Overview of SQL Server 2000

    7.6.1 Introduction

    Providing that data storage component is the role of Microsoft SQL Server 2000. With industry-

    leading scalability, proven reliability, and unmatched ease of use, SQL Server 2000 can offer

    numerous advantages and efficiencies to building your solutions.

    . This new found status as an enterprise-class RDBMS, SQL Server 7.0 introduced numerous

    application features that were originally outside the scope of a native database server. Featuressuch as Data Transformation Services (DTS) added native capabilities for importing and

    exporting data with heterogeneous systems, a task once left to custom-built utilities. An online

    analytical processing (OLAP) server engine opened the doors to data analysis capabilities oncereserved for large corporations that had the resources to build and perform these activities.

    Smaller organization can use SQL Server 7.0 to take advantage of graphical wizards and

    automated maintenance routines to set up and manage their SQL Server solutions. Every

    70

  • 8/9/2019 MODI GROUP2

    71/86

    organization can take advantage of the self-tuning capabilities that allow SQL Server to run at

    optimal levels right out of the box.

    Data and transaction log file auto grow features reduce the amount of monitoring necessary toalleviate potential storage problems. Simplified setup of maintenance and backup tasks again

    minimize the amount of administration necessary. Features such as

    DTS replace and extend many of the custom import and export routines that I had developed and

    continued to maintain. SQL Server 2000 offers a powerful list of feature enhancements bothinside and outside.

    It is designed with Windows 2000 Server in mind; SQL Server 2000 is scalable up to four-way

    clustering with support for up to 32 processors and 64GB of RAM. By any calculation, that is a

    powerful server configuration. On the more common side of database applications,enhancements in backup and recovery, DTS, and replication increase the usability and

    functionality of what have become common components in many database solutions.

    This latest release of OLAP services, renamed Analysis Services, is an obviously mature version

    of Microsoft's first take at OLAP in SQL Server. Analysis Services provide greater integrationand capabilities than their predecessor and now add a data-mining component for trend discovery

    in your data.

    SQL Server 2000 is the first release with native support for HTTP and HTTPS protocols.

    Accessing and querying your SQL Server and Analysis Server databases is possible usingstandard Web protocols. Aside from Web protocol support, Extensible Markup Language (XML)

    is at home in SQL Server 2000. The growing use of XML for nearly any imaginable application

    means that SQL Server 2000 is ready to support this new wave of solutions. The increasing trend

    of separating content from presentation in Web sites is much simpler with SQL Server's supportfor storing, delivering, and manipulating XML data.

    New and Enhanced Features of SQL Server 2000

    XML Support

    Meta Data Services Analysis Services

    OLAP Enhancements

    Data Mining

    7.6.2 SQL Server 2000 Architecture

    71

  • 8/9/2019 MODI GROUP2

    72/86

    Relational Databases

    Although there are numerous methods of storing information, the relational database model has

    grown to be recognized as the most efficient data storage model. Relational databases are based

    on the need to efficiently organize and store data. Data in a relational database are organized asentities and stored in tables. Each table consists of attributes, which result in the columns that

    make up a table. The process of identifying the primary data items or entities and efficiently

    laying out these tables and their attributes is accomplished through a process called

    normalization . The process of normalization works to reduce data redundancy and derivation,producing efficiency in both storage and data management. By eliminating redundant and

    derived data (data that are the result of other attributes), the physical storage requirements are

    reduced. Additionally, the task of managing multiple copies of identical data as well as computedor derived data is eliminated, resulting in a more accurate and manageable database. Complex

    data items can be broken down into multiple tables to produce a normalized

    database model, as shown in the example in Figure 4.2. This simple model depicts a portion ofan order-entry database. This collection of related tables makes up a relational database.

    SQL Server supports the requirements of a RDBMS by providing the logical and physical

    storage architecture that is needed. At the core of the logical storage architecture of SQL Server2000 are databases, tables, and columns. The database represents the overall data grouping and isthe foundation of SQL Server applications. Tables store individual data entities and consist of

    columns (attributes) that store the actual data item values. Beyond the base components are

    several higher-level database items, commonly referred to as database objects, such as views,

    triggers, indexes, keys, defaults, constraints, stored procedures, user-defined data types, and user-defined functions. Each of these objects plays a particular role in controlling the integrity of the

    data or effectively delivering it for application use.

    72

  • 8/9/2019 MODI GROUP2

    73/86

    The following list outlines each of the components of a relational database solution in SQL

    Server 2000:

    Database The database is the primary object and contains all the remaining database objects,such as tables, views, and the like.

    Table Each table represents a data item or entity. Tables are typically logical data containers,

    such as a customer table or an order table in an order-entry database solution.

    Column A column is a property of a table and represents an attribute or data item about the

    table.

    View A view is often called a virtual table and is typically used to combine several tables in to a

    meaningful representation of the data. Views do not physically store the data; rather, they

    provide a combined presentation of the underlying tables.

    Trigger Triggers are routines or stored procedures that execute automatically when an INSERT,UPDATE, or DELETE action occurs against a table. Triggers are often used to enforce business

    rules in a database application. For example, a trigger could send an e-mail message when the

    Orders table receives new data.

    Index An index relates to a table and speeds the retrieval of data from the table by providing arepresentation of the data that is more efficient for locating the requested information.

    Key A key is a property of a table and is one or more columns that uniquely identify each record

    or row in the table.

    Default A default specifies the value of a column during an insert if an explicit value is notsupplied.

    Constraint Constraints specify the valid values for a specific column and are commonly used to

    enforce integrity rules.

    Stored procedure A stored procedure is a predefined group of Transact-SQL statements that is

    commonly used as a routine to manipulate or perform complex filter operations in order toretrieve specific data.

    User-defined data type a user-defined data type, or UDT, is used to enforce exact data types

    across multiple tables and is based on a standard data typefor example, a Social Security number(SSN) data type that represents an 11- character (nnn-nn-nnnn) data type.

    User-defined function a user-defined function is a reusable logic set that can be called to

    perform set actions and return a given result. User-defined functions are similar to stored

    procedures except that they can return data type results, allowing them to be used in line with T-

    SQL statements.

    73

  • 8/9/2019 MODI GROUP2

    74/86

    7.6.3 SQL Server System Databases

    Master

    The Master database is the primary configuration database in SQL Server. It contains

    information on all the databases that exist on the server, including the physical database files andtheir locations. The Master database also contains SQL Server's configuration settings and login

    account information.

    The following list outlines the information contained in the master database:

    Server Registrations and Remote Logins

    Local Databases and Database Files

    Login Accounts

    Processes and Locks

    Server Configuration Settings

    Given its importance to SQL Server, a current backup of the Master database is critical to any

    server recovery. The installation process creates the Master database (master.mdf) and masterdatabase log file (mastlog.ldf) in the Program Files\Microsoft SQL Server\Mssql\Data directory.

    In the event that your Master database is corrupted or destroyed and cannot be restored from

    backups, you can rebuild the Master database to its de