Post on 05-Jul-2018
transcript
8/15/2019 book shop management system.doc
1/95
ABSTRACT
The main objective of our system is to provide a user friendly interface for
maintaining the bookshop. It mainly deals with import of books from different publication
houses, their sales and customer relations.
The importance of our system lies within its simplicity and interactability. Each
function of the system is seems to be so simple but it has a complex code within itself. Bookshop
anagement !ystem is a database program that is especially tailored for book sellers. It has
many features that book sellers will find very useful. The seller can manage the stock, list the
customers and create catalogues.
"ur !ystem has mainly divided into four modules.Those are of import of books,
maintenance of books, customer relations and transaction of books. Each module has its own
functionality.
8/15/2019 book shop management system.doc
2/95
CONTENTS
CHAPTER1: I#T$"%&'TI"#
(.( 'urrent !cenario
(.) *roblem !tatement
(.+ *roposed !olution
CHAPTER2: *$"BE -#-!I!
).( /lobal &se 'ase odel
).) 0low of Events
).+ -ctivity %iagram
).1 !e2uence %iagram
).3 'ollaboration %iagram
CHAPTER3: !!TE $E4&I$EE#T !*E'I0I'-TI"#
+.( *rocess odel
+.) !ystem $e2uirements
+.+ -pplication 0eatures
CHAPTER4: %E!I/#
1.( 'lass %iagram
1.) -rchitecture %esign
1.+ %ata Base %esign
1.1 *ersistence
8/15/2019 book shop management system.doc
3/95
CHAPTER5: ITE$-T&$E !&$5E
3.( 6T
3.) 7ava
3.+ 7ava script
3.1 "racle
3.3 7%B'
3.8 7!*
CHAPTER 6: !'$EE#!
CHAPTER 7: TE!TI#/
CHAPTER 8: -I#T-#-#'E -#% I*EE#T-TI"#
CHAPTER 9: '"#'&!I"#
CHAPTER 10: BIBI"/$-*6
8/15/2019 book shop management system.doc
4/95
CHAPTER 1
INTRODUCTION
1.1 Curren S!en"r#$
The software for the existing system is stand alone application. It is non web based
and non portable. The software should be purchased and installed. Installation of software is a
difficult process and cannot be performed by the end users who maintains the bookshop and have
no computer knowledge.
1.2 Pr$%&e' De(#n##$n
The normal bookshop owners commonly follow manual process of storing
information. This includes lot of physical work. It is very difficult to maintain several bundles of
records. !oft wares also exist for the bookshop management system. But the installation of
software is more difficult process and it is more economical to purchase for normal bookshop
owners. These are the main problems in the current scenario.
1.3 Pr$)$*e+ S$&u#$n
The proposed solution for the current scenario is our system which is a web based
application. It is portable and works on any operating system. There is no difficulty in
installation of the software and can be run on the local server so that even a common end user
who has very less computer knowledge can manage it easily with out any effort.
8/15/2019 book shop management system.doc
5/95
CHAPTER 2
PROB,E- ANA,SIS
2.1/,OBA, USE CASE DIA/RA-S
I+en#(#!"#$n $( "!$r*:
A!$r: -ctor represents the role a user plays with respect to the system. -n actor interacts with,
but has no control over the use cases.
/r")#!"& re)re*en"#$n:
Actor
-n actor is someone or something that9
Interacts with or uses the system.
*rovides input to and receives information from the system.
Is external to the system and has no control over the use cases.
-ctors are discovered by examining9
:ho directly uses the system;
:ho is responsible for maintaining the system;
External hardware used by the system.
"ther systems that need to interact with the system.
8/15/2019 book shop management system.doc
6/95
ue*#$n* $ #+en#( "!$r*:
:ho is using the system; "r, who is affected by the system; "r, which groups need help
from the system to perform a task;
:ho affects the system; "r, which user groups are needed by the system to perform its
functions; These functions can be both main functions and secondary functions such as
administration.
:hich external hardware or systems
8/15/2019 book shop management system.doc
7/95
&se cases provide a means to9
capture system re2uirements
communicate with the end users and domain experts
test the system
&se cases are best discovered by examining the actors and defining what the actor will be
able to do with the system.
/u#+e ne* ($r #+en#(#n u*e !"*e*:
0or each actor, find the tasks and functions that the actor should be able to perform or that
the system needs the actor to perform. The use case should represent a course of events
that leads to clear goal. #ame the use cases.
%escribe the use cases briefly by applying terms with which the user is familiar.
This makes the description less ambiguous
ue*#$n* $ #+en#( u*e !"*e*:
• :hat are the tasks of each actor;
• :ill any actor create, store, change, remove or read information in the system;
• :hat use case will store, change, remove or read this information;
• :ill any actor need to inform the system about sudden external changes;
• %oes any actor need to inform about certain occurrences in the system;
• :hat usecases will support and maintains the system;
• 'an all functional re2uirements be performed by the usecases;
The use cases that are identified in this system are9
Import books
%atabase of imported books
Bookshop database
!earch and purchase books
Billing
8/15/2019 book shop management system.doc
8/95
'ustomer Information
2.2 ,O O EENTS:
- flow of events is a se2uence of transactions
8/15/2019 book shop management system.doc
9/95
The communication relationship of an actor in a usecase is shown by connecting the actor
symbol to the usecase symbol with a solid path. The actor is said to communicate with the
usecase.
2. U*e*:
- &ses relationship between the usecases is shown by generali?ation arrow from the
usecase.
3. Een+*:
The extends relationship is used when we have one usecase that is similar to another
usecase but does a bit more. In essence it is like subclass.
&se case diagram for our system9
8/15/2019 book shop management system.doc
10/95
database of imported bookspublisher import books
maintainance database
billing
owner
customer information
search and purchase bookscustomer
#: 2.2.1 Oer"&& U*e!"*e D#"r"'
2. 3 ACTIIT DIA/RA-:
-ctivity diagrams provide a way to model the workflow of a business process, codeA
specific information such as a class operation. The transitions are implicitly triggered by
completion of the actions in the source activities. The main difference between activity diagrams
and statecharts is activity diagrams are activity centric, while statecharts are state centric. -n
activity diagram is typically used for modeling the se2uence of activities in a process, whereas a
statechart is better suited to model the discrete stages of an object>s lifetime.
8/15/2019 book shop management system.doc
11/95
-n activity represents the performance of task or duty in a workflow. It may also
represent the execution of a statement in a procedure. ou can share activities between state
machines. 6owever, transitions cannot be shared.
-n action is described as a task that takes place while inside a state or activity
-ctions on activities can occur at one of four times9
$n enr AAAA The task must be performed when the object enters the state or
activity.
$n e# AAAA The task must be performed when the object exits the state or activity.
+$ AAAA The task must be performed while in the state or activity and must
continue until exiting the state. $n een AAAA The task triggers an action only if a specific event is received.
-n en+ *"e represents a final or terminal state on an activity diagram or state chart
diagram.
- *"r *"e
8/15/2019 book shop management system.doc
12/95
8/15/2019 book shop management system.doc
13/95
[ no ]
arrange booksin order
enter information intodatabase of imported books
search forthe order
if books arein shop
does customer havemembership?
[ yes ]
check creditlevel
[ yes ]
if creditavailable
bill the order
[ yes ]
check customertype
request for publicationhouse details
importingbooks
allotting barcode foreach book and bulk
enter information intomaintaince database
take order fromcustomer
does customer want tobecome member
[ no ]
enter customer detailsinto database
category a!bulk order"
give morediscount
[ yes ]
generate bill
modify customerdatabase
modify maintainancedatabase
enter customerdetails
[ yes ]
fill membershipcard
intimate customer to
pay the credits
[ no ]
if order is bulk
[ no ]
sell books innormal price
[ no ]
give appropriatediscount
[ yes ]
[ no ] # customer belongs to category b
if credit paid
listing outpublication houses
order publishing housefor those books
[ yes ]
[ no ]
Publisher customer owner
#: 2.3.1 Oer"&& A!## D#"r"'
8/15/2019 book shop management system.doc
14/95
2.4 SEUENCE DIA/RA-:
- se2uence diagram is a graphical view of a scenario that shows object interaction in
a timeAbased se2uence what happens first, what happens next. !e2uence diagrams establish the
roles of objects and help provide essential information to determine class responsibilities and
interfaces.
There are two main differences between se2uence and collaboration diagrams9
se2uence diagrams show timeAbased object interaction while collaboration diagrams show how
objects associate with each other.
- se2uence diagram has two dimensions9 typically, vertical placement represents time andhori?ontal placement represents different objects.
O%
8/15/2019 book shop management system.doc
15/95
Se=uen!e +#"r"'* ($r $ur **e':
$ owner $ customer $ customerinformation
$ customerdatabase
%$ give membership form
&$ fill form if interested
'$ submit form
($ categori)e customer
*$ enter purchase information of all customers
+$ give membership card
,$ feed form into database
-$ update details
.$ allot id
#: 2.4.1 Se=uen!e D#"r"' ($r !u*$'er In($r'"#$n
8/15/2019 book shop management system.doc
16/95
$ publisher $ owner $ importbooks
.$ pay bill
&$ send details
'$ request order
,$ send order
%$ request publication details
($ generate bill for imported books
#: 2.4.2 Se=uen!e D#"r"' ($r I')$r B$$;*
8/15/2019 book shop management system.doc
17/95
$ owner $ customer $ search and
purchase books
%$ give order
&$ forward order
$ database
'$ search for a book
,$ enter the code for searching book
($ check whether the book is present or not
.$ show book details
-$ forward book details
+$ generate bill if book is present
*$ forward bill details
%/$ according to the customer category give discounts
%%$ forward total amount
%&$ request for bill payment
#: 2.4.3 Se=uen!e D#"r"' ($r Se"r! "n+ Pur!"*e B$$;*
8/15/2019 book shop management system.doc
18/95
2.5 CO,,ABORATION DIA/RA-:
'ollaboration diagrams and se2uence diagrams are alternate representations of an
interaction. - collaboration diagram is an interaction diagram that shows the order of messages
that implement an operation or a transaction. - se2uence diagram shows object interaction in a
timeAbased se2uence.
'ollaboration diagrams show objects, their links, and their messages. They can also contain
simple class instances and class utility instances. Each collaboration diagram provides a view of
the interactions or structural relationships that occur between objects and objectAlike entities in
the current model.
These diagrams are used to indicate the semantics of the primary and secondary
interactions. They also show the semantics of mechanisms in the logical design of the system
-e**"e #!$n*: - message icon represents the communication between objects indicating that
an action will follow. The message icon is a hori?ontal, solid arrow connecting two lifelines
together. - message icon can appear in + ways9 message icon only, message icon with se2uence
number, and message icon with se2uence number and message label.
There are two types of numbering schemes.
(. 0lat numbered se2uence
In this messages are numbered as (, ), +D..
). %ecimal numbered se2uence9
In this the messages are given numbers as (.(, (.), (.+DDIt makes clear which
operation is calling which other operation.
D#((eren!e* %eeen *e=uen!e "n+ C$&&"%$r"#$n +#"r"'* "re:
(. !e2uence diagram is easy to read.
). 'ollaboration diagram can be used to indicate how objects are statically connected.
+. There is no numbering in se2uence diagram.
1. !e2uence diagram shows the links between objects in a time based se2uence.
8/15/2019 book shop management system.doc
19/95
3. 'ollaboration diagram shows how the objects associate with each other
C$&&"%$r"#$n D#"r"'* ($r $ur **e':
$ owner $ customer
$ customer
information
$ customer
database
&$ fill form if interested
($ categori)e customer
.$ allot id
*$ enter purchase information of all customers
,$ feed for m into database
%$ give membership form+$ give membership card
'$ submit form
-$ update details
#: 2.5.1 C$&&"%$r"#$n D#"r"' ($r Cu*$'er In($r'"#$n
8/15/2019 book shop management system.doc
20/95
$ publisher $ owner
$ importbooks
%$ request publication details
&$ send details,$ send order
'$ request order .$ pay bill
($ generate bill for imported books
#: 2.5.2 C$&&"%$r"#$n D#"r"' ($r I')$r B$$;*
$ owner
$ customer
$ search andpurchase books
$ database
+$ generate bill if book is present
%/$ allot discount according to customer category
&$ forward order *$ forward bill details
-$ forward book details%%$ forward total amount
,$ enter code to search
%$ give order
%&$ request for payment
'$ search order ($ check the book
.$ show book details
8/15/2019 book shop management system.doc
21/95
#: 2.5.3 C$&&"%$r"#$n D#"r"' ($r Se"r! "n+ Pur!"*e B$$;*
CHAPTER 3
SSTE- REUIRE-ENT SPECIICATION
3.1 Process Model
To solve actual problems in an industry setting, a software engineer or a team of
engineers must incorporate a development strategy that encompasses that process, methods, and
tools. This strategy is often referred to as process model or a software engineering paradigm.
- process model for software engineering is chosen based on the nature of the project and
application, the methods and tools to be used and the controls and the deliverables that are
re2uired.
!o, our application is based on the O%
8/15/2019 book shop management system.doc
22/95
SOFTWARE REQUIREMENTS:
Pro/ra""i/ )a/a/es : 9ava
Server : A,ac+e To"cat 5.0
Data Base : -race 8i
Server side ,ro/ra""i/ : 9s, 9ava Servets
*iet side Pro/ra""i/ : HT$) 9avaScri,t
3.3Application Features:
-$+u&e*:
(= Import of Books
)= aintainance of Books
+= 'ustomer $elations
1= Transaction of Books
I')$r $( B$$;* -$+u&e
un!#$n" :
The shop owner maintains the information of different publishing houses, the authors
they deal with and the subjects they publish. The enormous collection of all these books is done
basing upon subject catalogue, author catalogue or publication catalogue. The owner re2uests the
publication house the books that he need in his bookshop. 6e pays the bill for those books. 6e
stores the information into database. :henever there is import of books he should modify the
database.
8/15/2019 book shop management system.doc
23/95
-"#n"#n"n!e $( B$$;* -$+u&e
un!#$n":
The shop owner enters book details and thus places in the order as following hierarchy.
De)"r'en>*u%"u$r>e+##$n>)u%!"#$n $u*e
6e gives particular code for those books. 0or the books that are sent as bulk code is given for
whole bulk.
Cu*$'er Re&"#$n* -$+u&e
un!#$n":
'ustomers are categori?ed into 1 types.
'-TE/"$A-
'-TE/"$AB
'-TE/"$A'
'-TE/"$A%
'-TE/"$A-9 These are the customers who take the books in bulk on regular basis.
Eg9 "rgani?ations, Educational Institutions
'-TE/"$AB9 These are the customers who take the selected books in regular manner.
Eg9 !tudents, Book lover
'-TE/"$A'9 These are the customers who take the selected books but they are visited only
once in a while.
'-TE/"$A%9 This is rare. It may accidentally happen. These customers take a large number of
books. !pecial offers are given for '-TE/"$A- and '-TE/"$AB. %iscount rates may vary
8/15/2019 book shop management system.doc
24/95
basing upon count of books they take. '-TE/"$A' would have the cost as usual. If ever any
discount is announced they would be benefited with those. '-TE/"$A% may accidentally
happen basing upon the count of books they take. 0or each regular customer a credit level is
given that means customer can credit in the bookshop until he reaches the peak. If the customer
crosses his credit level then he is intimated to pay the amount and his further transactions are
blocked. -fter the payment, his credit level is modified. The regular customers are provided with
membership cards which act as their identity. The irregular customers are given a form to fill in
their details so that they can be turned into regular customers.
Tr"n*"!#$n $( B$$;* -$+u&e
un!#$n":
:hen a customer gives his order, the system should first ask his code. If customer is
regular he gives the code he is allotted with. Then the system would show all his details like
name, contact number, address, credit level and his previous purchase details. The present
purchase details are then entered and bill is generated by allotting the discount basing upon the
category he belongs to. -fter this, the maintainance of book database as well as customer details
database is modified. 0or all the customers who have credit availability i.e paying amount later,
system would be verifying whether they have paid the bill within a certain time limit or not.
0eatures of the system9
The database of system maintains the details of many publishing houses and customers.
The system creates alerts
• :henever there is shortage of books that are graded with a higher degree.
• :henever there is abundance of books which are graded with a lower
degree.
• If the customer has a long pay back delay.
• :hen it identifies stolen books.
• To notify important dates like book fairs, exhibitions, important delivery
dates.
• To show customers who have higher credit levels.
8/15/2019 book shop management system.doc
25/95
• 0or allotment of discount while billing.
Each book is given with security tag that has a bar code.
The system grades the customer basing upon their purchases and bill payments and
automatically notifies the special offers.$eports9
*ublication details and books purchased there
Books in shop
'ustomer details along with the books they purchased
Bill $eports
"utstanding $eports
-geing -nalysis
8/15/2019 book shop management system.doc
26/95
CHAPTER 4
DESI/N
4.1 C&"** D#"r"'
I+en#(#!"#$n $( "n"&*#* !&"**e*:
- class is a set of objects that share a common structure and common behavior
8/15/2019 book shop management system.doc
27/95
2. C$''$n !&"** )"ern "))r$"!:
The following are the patterns for finding the candidate classes9
a. 'oncept class.
b. Events class.
c. "rgani?ation class
d. *eoples class
e. *laces class
f. Tangible things and devices class.
3. U*e!"*e +r#en "))r$"!:
:e have to draw the se2uence diagram or collaboration diagram. If there is need for
some classes to represent some functionality then add new classes which perform those
functionalities.
4. CRC "))r$"!:
The process consists of the following steps9
a. Identify classes> responsibilities < and identify the classes =
b. -ssign the responsibilities
c. Identify the collaborators.
I+en#(#!"#$n $( re*)$n*#%##e* $( e"! !&"**:
The 2uestions that should be answered to identify the attributes and methods of a class
respectively are9
(. :hat information about an object should we keep track of;
8/15/2019 book shop management system.doc
28/95
). :hat services must a class provide;
I+en#(#!"#$n $( re&"#$n*#)* "'$n e !&"**e*:
Three types of relationships among the objects are9
-ssociation9 6ow objects are associated;
!uperAsub structure9 6ow are objects organi?ed into super classes and sub classes;
-ggregation9 :hat is the composition of the complex classes;
A**$!#"#$n:
The =ue*#$n* that will help us to identify the associations are9
(. Is the class capable of fulfilling the re2uired task by itself;
). If not, what does it need;
+. 0rom what other classes can it ac2uire what it needs;
/u#+ene* ($r #+en#(#n e en"#e "**$!#"#$n*:
AA - dependency between two or more classes may be an association. -ssociation often
corresponds to a verb or prepositional phrase.
AA - reference from one class to another is an association. !ome associations are implicit or
taken from general knowledge.
!ome common association patterns are9
ocation association like part of, next to, contained inD..
'ommunication association like talk to, order to DD
:e have to eliminate the unnecessary association like implementation associations, ternary or nA
ary associations and derived associations.
8/15/2019 book shop management system.doc
29/95
Su)er>*u% !&"** re&"#$n*#)*:
!uperAsub class hierarchy is a relationship between classes where one class is the parent
class of another class *u% re&"#$n*#)? " ener""#$n "re
( . T$)>+$n: ook for noun phrases composed of various adjectives in a class name. -void
excessive refinement. !peciali?e only when the sub classes have significant behavior.
). B$$'>u): ook for classes with similar attributes or methods. /roup them by moving the
common attributes and methods to an abstract class. ou may have to alter the definitions a bit.
+. Reu*"%#: ove the attributes and methods as high as possible in the hierarchy.
1. -u&#)&e #ner#"n!e*: -void excessive use of multiple inheritances. "ne way of getting
benefits of multiple inheritances is to inherit from the most appropriate class and add an object of
another class as an attribute.
Are"#$n $r ">)"r>$( re&"#$n*#):
It represents the situation where a class consists of several component classes. - class
that is composed of other classes doesn>t behave like its parts. It behaves very difficultly. The
major properties of this relationship are transitivity and anti symmetry.
The =ue*#$n* whose answers will determine the distinction between the part and whole
relationships are9
• %oes the part class belong to the problem domain;
• Is the part class within the system>s responsibilities;
• %oes the part class capture more than a single value;< If not then simply include it
as an attribute of the whole class=
• %oes it provide a useful abstraction in dealing with the problem domain;
8/15/2019 book shop management system.doc
30/95
There are three types of aggregation relationships. They are9
A**e'%&: It is constructed from its parts and an assemblyApart situation physically exists.
C$n"#ner: - physical whole encompasses but is not constructed from physical parts.
C$&&e!#$n 'e'%er: - conceptual whole encompasses parts that may be physical or conceptual.
The container and collection are represented by hollow diamonds but composition is represented
by solid diamond.
8/15/2019 book shop management system.doc
31/95
C&"** +#"r"' ($r $ur S*e':
publisher
books
bill
publish!"
generate bill!"
database
book details
publishing houses details
update!"
search and purchase
books
bill
take order!"
search books!"
generate bill!"
pay bill!"
0mport books
books
import!"
customer information
customer details
categori)e!"
update!"
1illing
customer details
check type!"
allot discount!"
generate bill!"
customer
membership form
membership card
books
bill
give order!"fill form!"
submit form!"
pay bill!"
maintainance database
sold book details
quantity
update!"
2wner books
barcode
form
membership card
id
bill
send order!"
import!"
allot barcode!"
feed into database!"
allot id!"
categori)e!"
take order!"
search!"generate bill!"
%%33n %%33n
%33n
%
%33n
%
#: 4.1.1 C&"** D#"r"' ($r Oer"&& S*e'
8/15/2019 book shop management system.doc
32/95
4.2 Ar!#e!ure
+ATier -rchitecture9
The threeAtier software architecture
8/15/2019 book shop management system.doc
33/95
from the user. These characteristics have made three layer architectures a popular choice for
Internet applications and netAcentric information systems.
Technical Details:
- three tier distributed client@server architecture includes a user system interface top tier
where user services
8/15/2019 book shop management system.doc
34/95
un!#$n"& Ar!#e!ure:>
1. FUNCTIONAL VIEW OF IMPORT OF BOOK:
• :hen the owner re2uests for Import of books module, a re2uest will be given to the web
server.
• The web server uses database to fetch the data and update the data.
#: 4.2.3 un!#$n"& "r!#e!ure $( I')$r $( B$$;*
2. FUNC!"NA# $!%& "F MA!NA!NANC% "F '""(S:
• :hen the owner re2uests for aintainance of books, a re2uest will be given to the web
server for entering book details.
• The web server uses database to fetch the data and update the data.
aintains
details
!tore details
-1er Server
-1er Server
aintains
%etails of books !tore details
Dataase
Book Dataase
8/15/2019 book shop management system.doc
35/95
#: 4.2.4 un!#$n"& "r!#e!ure $( -"#n"#n"n!e $( B$$;*
3. FUNC!"NA# $!%& "F CUS"M%R R%#A!"NS:
• :hen the owner re2uests for maintaining customer relations, a re2uest will be given to
the web server for entering customer information and give customer membership ids and
credit levels.
• The web server uses database to fetch the data and update the data.
#: 4.2.5 un!#$n"& "r!#e!ure $( !u*$'er Re&"#$n*
). FUNC!"NA# $!%& "F RANSAC!"N "F '""(S M"*U#%:
• :hen the owner re2uests for Transaction of books, a re2uest will be given to the web
server when the customer purchases the books.
• The web server uses database to fetch the data and update the data.
'reates bills
for each
customer>s
order -1er Serve
r
Book
Dataase
-1er *sto"er DataaseServer
aintains details
about
!tore details
Into database
!tore details
Into database
8/15/2019 book shop management system.doc
36/95
#: 5.2.6 un!#$n"& "r!#e!ure $( Tr"n*"!#$n $( B$$;*
TECHNICAL DIAGRAM:
Tier 1 Tier 2 Tier
3
*iet ( Http ;eries
*iet 2 Http
&ests
*iet Http
#:4.2.7 Te!n#!"& Ar!#e!ure
Technical view ! the Applicatin:
#: 4.2.8 Te!n#!"& #e $( e A))!"#$n
We"
Server
We"
Server
#rw$
er%
&'()(
)((
Http Re*)e$t %2'
Http Re$pn$e %'
We" Server +3,
Browser
!%"
SQ- Q)er. %4'
Re$)lt %6'
/ata"a$e
+0'
8/15/2019 book shop management system.doc
37/95
).3 *ata+ase *esi,n
The database design is the backbone of work done on the development of application.
In %atabase environment common data are available and used by several users. Instead of each user managing its own data across application is shared by authori?ed users with database
software managing the data as an entity. The database consists of set of wellAdefined tables and
2ueries created using !4 server. - table is set rows and columns, which hold valuable
information. - 2uery is statement given by user and executes by computer to access specific
information from tables.
Re&"#$n"& D""%"*e -"n"e'en S*e' RDB-S:
$elational database management system stores data in the form of related tables.
$elational databases are powerful because they re2uire few assumptions about how data is
related or how it will be extracted from the database. -s a result, the same database can be
viewed in many different ways.
-n important feature of relational systems is that a single database can be spread across
several tables. This differs from flatAfile databases, in which each database is selfAcontained in a
single table. -lmost all fullAscale database systems are $%B!Cs.
$elational databases are optimi?ed for storing transactional data, and the majority of
modern business software applications therefore use an $%B! as their data store. The leading
$%B! vendors are "racle, IB and icrosoft.
O%
8/15/2019 book shop management system.doc
38/95
• A!!ur"! "n+ Iner#
The accuracy of %atabase ensures that data 2uality remain constant. Integrity
'ontrols and detects data in accuracy where they occur.
#4.3.1 E R D#"r"' ($r e S*e'
8/15/2019 book shop management system.doc
39/95
4.4 Per*#*en!e
These are the tables that have been used in this project development.
Ar#%ue* D"" )e C$n*r"#n -"n+"$r
*hname 5archar)
8/15/2019 book shop management system.doc
40/95
Bid 5archar)
8/15/2019 book shop management system.doc
41/95
T"%&e 4.4.3 Cu*$'er De"#&* T"%&e
T"%&e 4.4.4 -e'%er )ur!"*e De"#&* T"%&e
T"%&e 4.4.5 N$n -e'%er Pur!"*e De"#&*
Ar#%ue* D"" )e C$n*r"#n -"n+"$r
Billno 5archar)
8/15/2019 book shop management system.doc
42/95
Ar#%ue* D"" )e C$n*r"#n -"n+"$r
Bid 5archar)
8/15/2019 book shop management system.doc
43/95
T"%&e 4.3.6 N$#(#!"#$n* T"%&e
CHAPTER 2
,ITERATURE OERIE
2.1 HT-,
6T
8/15/2019 book shop management system.doc
44/95
8/15/2019 book shop management system.doc
45/95
R$%u*
The multi platformed environment of web places extraordinary demands on a
program, because the program must execute reliably in a variety of systems. Thus, the ability to
create robust programs was given priority in the design of 7ava. To gain reliability, 7ava restricts
you in a few key areas, to force you to find mistakes early in the program development. -t the
same time, 7ava frees you in the form having to worry about many of the common causes of
programming errors. Because java is a strictly typed language, it checks your code at compile
time.
-u&#>Tre"+e+
7ava was designed to meet the realAworld re2uirement of creating interactive,
networked programs. To accomplish this, 7ava supports multithreaded programming which
allows you to write programs that do many things simultaneously.
D#*r#%ue+
7ava is designed for the distributed environment of the Internet, because it handles
T'*@I* protocols. This feature brings an unparallel level of abstraction to client@server
programming.
Dn"'#!
7ava programs carry with them substantial amounts of runtime type information
that is used to verify and resolve accesses to objects at runAtime. This makes it possible to
dynamically link code in a safe and expedient manner.
En!")*u&"#$n
Encapsulation is the mechanism that binds together code and the data it
manipulates, and keeps both safe from outside interference and misuse. It can be thought of as a
protective wrapper that prevents the code and data from being arbitrarily accessed by other code
defined outside the wrapper.
8/15/2019 book shop management system.doc
46/95
Iner#"n!e
Inheritance is the process by which one object ac2uires the properties of the
another object. This is important because it supports the concept of hierarchical classification
without the use of hierarchies, each object would need to define all of its characteristics
explicitly. 6owever, by use of inheritance, an object need only define those 2ualities that make it
uni2ue within its class. It can inherit its general attributes from its parents.
P$&'$r)#*'
*olymorphism is a feature that allows one interface to be used for a general class of
actions more generally, the concept of polymorphism is often expressed by the phrase "ne
Interface, ultiple ethodsJ. This means that it is possible to design a generic interface to a
group of related activities. This helps reduce complexity by allowing the same interface to be
used to specify a general class of action.
2.3 "" S!r#)
7ava!cript processes on the client side that can perform many form tasks without
connecting to a web server.
A+"n"e*
7ava!cript provides interactivity for your web pages without relying on serverAside
programming, which means your pages can be interactive even when you are not connected to
the Internet. !ince the code is typed directly into your 6T files, you can create 7ava!cript
with software as simple as a plain text editor. ou can 2uickly test and modify 7ava!cript code.
D#*"+"n"e*
ong, complicated 7ava !cripts can add 2uite a bit of download time to your 6T page.
2.4 ORAC,E
8/15/2019 book shop management system.doc
47/95
e"ure* $( Or"!&e
"racle provides efficient and effective solution with the following features9
Cen@Serer+#*r#%ue+ Pr$!e**#n en#r$n'en: To take full advantage of a given
network, oracle allows processing the database server and the client programs.
,"re D""%"*e* "n+ *)"!e -"n"e'en: "racle supports the large of data of terabytes in
si?e. To make efficient hardware devices, t allows full uses.
-"n !$n!urren +""%"*e u*er*: "racle supports large numbers executing a variety of
database on the same data.
C$nr$&&e+ A"#&"%#: "racle can selectively control database level of sub data.
P$r"%#: "racle software is ported to work with operating systems. -pplications can be
ported to any operating systems modifications.
C$')"#%#: "racle software is compatible with standards, including most industrial
operating systems. -pplications can be used on virtually any systems modification.
C$nne! "%#: "racle software allows different environment and operating systems to share
the network.
Or"!&e *e!ur#:
-"n"e"%&e Se!ur#: To *rotect against unauthori?ed use, oracle provides failAsafe security
and monitor data access. These are used to manage the data and for providing security.
S, Te Sru!ure+ uer ,"nu"e
8/15/2019 book shop management system.doc
48/95
!4 is a simple, powerful database access language that is the standard language for
relational database management system. The !4 implemented by "racle 'orporation.
S-# statements
-ll operations on the information in an oracle database are performed using !4 statements.
- !4 statement is a string of !4 text that is given to oracle to execute.
!4 statements are divided into the following categories9
%ata %efinition anguage
8/15/2019 book shop management system.doc
49/95
The 7%B! -*I provides universal data access from the 7ava programming language. &sing
the 7%B' +.H -*I, we can access virtually any data source, from relational databases to
spreadsheets and flat files. 7%B' technology also provides a common base on which tools and
alternate interfaces can be built.
DBC Oer#e
7ava database 'onnectivity is a java -*I for executing !4 statements. It consists of a set of
classes and interfaces written in java programming language that makes it easy to send !4
statements to virtually any relational database, in other words, with the 7%B' -*I. It is not
necessary to access an "racle database, another program to access an Informix database, and so
on. "ne can write a single program using the 7%B' -*I, and the program will be able to send
!4 statements to appropriate database. :ith a program written in java, one also doesn>t have to
worry about writing different programs to run on different platform. The combination of 7ava
and 7%B' lets a programmer to write it once and run it anywhere.
ODBC
ODBC O)en D""%"*e C$nne!#$n is a way to connect any frontAend tool to any backAend
database engine .- front Fend tool is one which is used to provide a user interface using which
the user will be able to manipulate the data. -backAend is responsible for the actual manipulation
of the database on the re2uest of the front Fend, as well as for the storage and retrieval of
information. "ften a backAend is also called as a server and front Fend as a client. Every database
software provides an "%B' driver which follows all the specifications to the "%B' compliant,
It is this "%B' driver converts the re2uest to match the implementation specified at the server
side. -nother important features of the "%B' is that it provides a client an opportunity to
connect multiple databases simultaneously, which could be residing at different physical
locations.
" +$e* DBC +$F
Especially 7%B' does three things9
Establishing the connection to database.
!end !4 statements.
8/15/2019 book shop management system.doc
50/95
*rocess the results.
Te DBC API
The 7%B' -*I is designed to allow developers to create database frontAends without
needing to continually rewrite their code. The ability to create robust, platform independent
applications and webAbased applets prompted developers to consider using java to develop frontA
end connectivity solutions.
H$ DBC $r;*
7%B' provides application developers with a singular -*I that is uniform and database
independent. The -*I provides a standard to write to, and a standard that takes all of various
application designs into account. The solution is a set of java interfaces that are implemented by
the driver. The driver translates the standard 7%B' calls into a specific call re2uired by the
database it supports. The application can be written once and moved to the various drivers. The
application multiAtier database design is also known as iddleware. In addition to providing
developers with a uniform and %B! independent framework, 7%B' also provides a means of
allowing developers to return the specific functionality that their database vendor offers. 7%B'
and "%B' are based on K@ "pen !4 H'ommand evel Interface . 6aving the sameconceptual base allows work on the -*I to proceed 2uickly and makes acceptance of the -*I
easier.
Te DBC API C$')$nen*
In general there are two levels of interfaces in the 7%B' -*I. The application layer where the
developer uses the -*I to make calls to the database via !4 and retrieve the results, and the
%river layer which handles all communication with a specific driver implementation.
The application developer needs to use only the standard -*I interfaces in order to guarantee
7%B' compliance. The driver developer is responsible for developing the code that interfaces to
the database and supports the 7%B' application level calls. There are four interfaces that every
driver layer must implement, and one class that bridges the -pplication and %river layers.
8/15/2019 book shop management system.doc
51/95
The four interfaces are the %river, 'onnection, !tatement and $esult !et. The driver interface
implementation is where the connection to the database is made. In most applications, the driver
is accessed through the %river anager class, providing one more layer of abstraction for the
developer. The %river vendor implemented the connection, !tatement and $esult set interfaces.
These interfaces represent methods that the application developer will treat as real object
classes and allow the developer to create statement and retrieve results.
Te Dr#er ,"er
The driver class is an interface implemented by the driver vendor. The other important class
is the %river anager class, which sits between the %river and -pplications layers. The %river
anager is responsible for the loading and unloading drivers and making connections through
drivers. The %river anager also provides features for logging and database timeouts.
Te Dr#er Iner("!e
Ever 7%B' application or applet must have at least one 7%B' driver, and each driver is
specific to the type of %B! used. The driver interface allows the %river interface class. %rivers
use a !tring to locate access database. The syntax of this !tring is very similar to &$ !tring.
The purpose of this !tring is to separate the application from the driver developer.
Te ne$r; )r$$!$& +r#er
:ith a network protocol java driver, 7%B' calls are translated by this driver into %B!
independent protocol and send to middleAtier server over a socket. The middleAtier code contacts
variety of databases on behalf of the client. This approach also deals specifically with issues
relating to network security, including passing data to firewalls.
8/15/2019 book shop management system.doc
52/95
Te n"#e )r$$!$& +r#er*
:ith a native protocol java driver, 7%B' calls are converted directly to the network protocol
used by the %B! server in this driver, the database vendors support a network socket, and the
7%B' drivers communicates over a socket connection directly to the database server. 6owever,
because the network protocol is defined by the vendor and is typically proprietary, the driver
usually is available only from the database vendor.
DBC>ODBC %r#+e +r#er T)e>1
- bridge driver provided with 7%B' can convert the 7%B' calls into any type of
database simultaneously. This approach is a recommended one since "%B' drivers, which are
industry standard as of now, would make an application truly portable access database.
I')&e'en"#$n $( DBC>ODBC Br#+e
7ava application submits an !4 statement through the 7%B' driver. The 7%B' driver
translates the re2uest to an "%B' call. The "%B' driver then converts the re2uest again and
presents it to the database interface. The results of the re2uest are then fed back through the same
channels but in reverse.
7%B'A"%B' 'onnectivity
Seen %"*#! *e)* $ DBC:
There are seven basic steps to use 7%B' to accessing a database.
(. Importing the java.s2l package.
). oad and register the driver.
+. Establish a connection to the database server.
1. 'reate a statement.3. Execute the statement.
8. $etrieve the results.
L. 'lose the statement and connection.
8/15/2019 book shop management system.doc
53/95
(. I')$r#n e
8/15/2019 book shop management system.doc
54/95
4. Cre"e " *"e'en:
- statement object is to created from which to execute the 2uery.
There are three types of statements classes
(. !tatement
). *repared statement
1. S"e'en
!tatement stmtNconn.createstatement
The method used to execute a simple 2uery is a !tatement.execute4uery
8/15/2019 book shop management system.doc
55/95
7. C&$*e e *"e'en "n+ !$nne!#$n:
The final steps in any database application should be to close the connection and
any open statements. :hile it is not absolutely that we close every connection and its
statement object, it is highly recommended.
!tmt.close
8/15/2019 book shop management system.doc
56/95
:here PsubprotocolQ defines the types of driver, and PsubnameQ provides the
networkAencoded name
0or example9
DBC: $r"!&e: )r$+u!*
Here e +""%"*e !"&&e+ e )r$+u!*.
The driver connect
8/15/2019 book shop management system.doc
57/95
application developer may create a statement object to issue against the database. The result of
statement id a result set object, which contains the result of the particular statement
8/15/2019 book shop management system.doc
58/95
a single $esult!et or multiple $esult!ets. The method returns a Boolean flag that is used to
determine whether there are more $esult!ets.
Re*u& Se B"*#!*
The $esult !et interface defines methods for accessing the table of data generated as
the result of executing a statement $esult !et column values may be accessed any order, they are
indexed and may be selected by either the name or the number of the columns. $esult !et
maintains the position of the current row, starting with the first row of the data returned. The next
8/15/2019 book shop management system.doc
59/95
- set of ' library that connect the 7%B' to "%B' driver manager.
The "%B' driver manager.
The "%B' driver.
&sing a 7%B'A"%B' bridge driver, application will speak directly to the 7%B'interface classes. Because "%B' calls are made using binary ' calls, the client must have a local
copy of the "%B' %river anager, and the client side libraries.
Te N"#e ,#%r"r>T$ "" Dr#er
This driver uses native ' language library calls to translate 7%B' to the
native client library. These driver use ' language libraries that provide vendor specific
functionality and tie these libraries to the 7%B'.
2.6 SP
7ava !erver *ages
8/15/2019 book shop management system.doc
60/95
7!* supports serverAside scripting and tag elements. Tags permit the encapsulation within
6T of useful functionality in a convenient form that can also be manipulated by tools
8/15/2019 book shop management system.doc
61/95
CHAPTER 6
SCREENS
A+'#n#*r"$r ,$#n P"e
8/15/2019 book shop management system.doc
62/95
H$'e P"e $( Our S*e'
8/15/2019 book shop management system.doc
63/95
,#* $( Pu%!"#$n H$u*e*
8/15/2019 book shop management system.doc
64/95
Ener De"#&* $( Pu%!"#$n H$u*e
8/15/2019 book shop management system.doc
65/95
#ewly -dded ist of *ublication 6ouses9
8/15/2019 book shop management system.doc
66/95
%etails of *ublication 6ouseATaTa c /raw 6ill
8/15/2019 book shop management system.doc
67/95
U)+"#n Pu%!"#$n H$u*e +e"#&*
8/15/2019 book shop management system.doc
68/95
"+"#$n ($r u)+"#n
8/15/2019 book shop management system.doc
69/95
-$+#(#e+ +e"#&* $( )u%!"#$n H$u*e*
8/15/2019 book shop management system.doc
70/95
Ener T#&e $( Pu%!"#$n H$u*e*
8/15/2019 book shop management system.doc
71/95
8/15/2019 book shop management system.doc
72/95
8/15/2019 book shop management system.doc
73/95
ist of -uthors
8/15/2019 book shop management system.doc
74/95
Books by -llen :eiss
8/15/2019 book shop management system.doc
75/95
"+"#$n ($r Se"r! % %$$; !$+e
8/15/2019 book shop management system.doc
76/95
De"#&* $( %$$; #( %$$; !$+e #* e#*
8/15/2019 book shop management system.doc
77/95
8/15/2019 book shop management system.doc
78/95
B#&& P"'en
8/15/2019 book shop management system.doc
79/95
8/15/2019 book shop management system.doc
80/95
B#&& ($r -e'%er !u*$'er*
8/15/2019 book shop management system.doc
81/95
8/15/2019 book shop management system.doc
82/95
B#&& ($r N$n -e'%er Cu*$'er*
8/15/2019 book shop management system.doc
83/95
CHAPTER 7
TESTIN/
Testing is the process of detecting errors. Testing performs a very critical role for
2uality assurance and for ensuring the reliability of software. The results of testing are used later
on during maintenance also.
7.1 P*!$&$ $( Te*#n
The aim of testing is often to demonstrate that a program works by showing that it has
no errors. The basic purpose of testing phase is to detect the errors that may be present in the
program. 6ence one should not start testing with the intent of showing that a program works, but
the intent should be to show that a program doesn>t work. Testing is the process of executing a
program with the intent of finding errors.
7.2 Te*#n O%
8/15/2019 book shop management system.doc
84/95
7.3 ,ee&* $( Te*#n
In order to uncover the errors present in different phases we have the concept of
levels of testing. The basic levels of testing are as shown belowD
Cen Nee+*
$e2uirements
%esign
'ode
7.4 S*e' Te*#n
The philosophy behind testing is to find errors. Test cases are devised with this in mind.
- strategy employed for system testing is code testing.
7.5 C$+e Te*#n
This strategy examines the logic of the program. To follow this method we developed
some test data that resulted in executing every instruction in the program and module i.e. every
path is tested. !ystems are not designed as entire nor are they tested as single systems. To ensure
that the coding is perfect two types of testing is performed or for that matter is performed or that
matter is performed or for that matter is performed on all systems.
Acce,tace
Testi/
!ystem Testing
Integration Testing
&nit Testing
8/15/2019 book shop management system.doc
85/95
8/15/2019 book shop management system.doc
86/95
7.6.3 Iner"#$n Te*#n
-fter the unit testing we have to perform integration testing. The goal here is to see if
modules can be integrated properly, the emphasis being on testing interfaces between modules.
This testing activity can be considered as testing the design and hence the emphasis on testing
module interactions.
In this project integrating all the modules forms the main system. :hen integrating all
the modules we have checked whether the integration effects working of any of the services by
giving different combinations of inputs with which the two services run perfectly before
Integration.
7.6.4 S*e' Te*#n
6ere the entire software system is tested. The reference document for this process is the
re2uirements document, and the goal as to see if software meets its re2uirements.
7.6.5 A!!e)"n!e Te*#n
-cceptance Test is performed with realistic data of the client to demonstrate that the
software is working satisfactorily. Testing here is focused on external behavior of the system the
internal logic of program is not emphasi?ed.
Test cases should be selected so that the largest number of attributes of an e2uivalence
class is exercised at once. The testing phase is an important part of software development. It is
the process of finding errors and missing operations and also a complete verification to
determine whether the objectives are met and the user re2uirements are satisfied.
8/15/2019 book shop management system.doc
87/95
7.6.6 #e B$ Te*#n
This is a unit testing method where a unit will be taken at a time and tested thoroughly
at a statement level to find the maximum possible errors. :e tested step wise every piece of
code, taking care that every statement in the code is executed at least once. The white box testing
is also called /lass Box Testing. :e have generated a list of test cases, sample data. :hich is
used to check all possible combinations of execution paths through the code at every module
level.
7.6.7 B&"!; B$ Te*#n:
This testing method considers a module as a single unit and checks the unit at interface
and communication with other modules rather getting into details at statement level. 6ere the
module will be treated as a block box that will take some input and generate output. "utput for a
given set of input combinations are forwarded to other modules.
7.6.8 Cr#er#" S"#*(#e+ % Te* C"*e*
(= Test cases that reduced by a count that is greater than one, the number of
additional test cases that must be designed to achieve reasonable testing.
)= Test cases that tell us something about the presence or absence of classes of
errors, rather than an error associated only with the specific test at hand.
7.7 "+"#$n*
:hile editing defect details, care is to be taken not to allow the defect number and status
fields to be edited.
• *assword should not be less than 8 characters.
• *hone #umber and Experience of tester should be in #umeric
• :hile entering the details all fields are mandatory
• -ccess to certain operations is restricted basing on the user type
8/15/2019 book shop management system.doc
88/95
Re*u&* $( e*#n ($r $ur "))!"#$n
Test 'aseR 9 ( *riority
8/15/2019 book shop management system.doc
89/95
TIT,E I')$r $( B$$;*
ACTION "wner will login into the
system by entering id and password
.The shop owner re2uests the
publication house the books that he
need in his shop and import those
books.
USECASE NA-E Import books
EENT (.aintain publication house info
). $e2uest for import
+.!ave book details into database
RESU,T %etails of books are stored in database
EKPECTED RESU,T %etails of books are stored in database
TIT,E -"#n"#n"n!e $( B$$;*
8/15/2019 book shop management system.doc
90/95
ACTION Books are stored In database
according to the following hierarchy
%epartment F !ubject F -uthor F
Edition F *ublication 6ouse
USECASE NA-E Bookshop %atabase
EENT (.aintain details of books
).:hen transactions are done
database is also updated
RESU,T %etails of books are stored in
database
EKPECTED RESU,T %etails of books are stored in
database
TIT-E )$t&er Relatin$
ATION *sto"ers are cate/ori=ed ito4 cate/ories ad >d is aottedased ,o t+e cate/or#
USEASE NAME *sto"er >?or"atio
EENT (. $aitai csto"er>?or"atio
2. Save csto"er detais itodataase.
RESU-T Detais o? csto"er are storedi dataase
E4ETE/ RESU-T Detais o? csto"ers are stored
i dataase
8/15/2019 book shop management system.doc
91/95
TITLE Transaction of Books
ACTION 4hen the customer purchases the books5bill is generated
USECASE NAME 1illing
EENT %3 Allot discount based upon the customercategory
&3 4hen transactions are done database isalso updated
!ESULT 6etails of purchases are stored in database
E"PECTE# !ESULT 6etails of purchases are stored in database
8/15/2019 book shop management system.doc
92/95
CHAPTER 8
-AINTENANCE
aintenance the last phase in the software engineering process. -s more programs are
developed, a distributing trend has emerged the amount of effort and a resource expended on
software maintenance is growing. In total project development maintenance takes 83S of effort.
In software maintenance there are four types. They are
-daptive aintenance
'orrective aintenance
*erfective aintenance
*reventive aintenance
-daptive aintenance is applied when changes in the external environment precipitate
modifications to software. It deals with adapting the software to new environments.
*erfective aintenance incorporates enhancements that are re2uested by user community. It
deals with updating the software according to changes in user re2uirements.
'orrective aintenance acts to correct errors that are uncovered after the software is in use. It
deals with fixing bugs in the code.
*reventive aintenance improves future maintainability and reliability and provides a basis for
future enhancement. It deals with updating documentation and making the software more
maintainable. Tasks performed during the software engineering process define maintainability
and have an important impact in the success of any maintenance approach. $everse Engineering
and $eengineering are the tools and techni2ues used to maintain the project.
8/15/2019 book shop management system.doc
93/95
There are four major problems that can slow down the maintenance process.
&nstructured 'ode
aintenance programmers having insufficient knowledge of the system
%ocumentation being absent
"ut of %ate, or at best insufficient
The success of the maintenance phase relies on these problems being fixed earlier in the life
cycle
8.1 Per($r'"n!e
Internet Banking system which is developed in 7sp and !ervlet technology is a
versatile product and is platform independent. The features provided by the "nline !ystemmakes it one of an interactive online platform for banking.
8/15/2019 book shop management system.doc
94/95
CHAPTER 9
CONC,USION The application Bookshop anagement !ystem developed by us has made the best
possible efforts to satisfy the needs of "wner of bookshop. The details of customers, publication
houses and books can be accessed and the transaction of books is done very easily and with in a
very less time with a little effort.
The owner need not have more computer knowledge. 6e just needs to maintain the
details. The entire work will be done by the system only. The bookshop management is a
database program that is especially tailored for the book sellers. Bookshop management system
has proven to be a reliable and user friendly program. The system has many features that
booksellers will find very useful. The seller can manage the stock, list the customers and create
catalogues. The system has built in update system which allows the user to make additions and
customi?ations to the software.
8/15/2019 book shop management system.doc
95/95