Upload
dhruvpalanpur
View
236
Download
0
Embed Size (px)
Citation preview
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