Ex No: 2 AIM:
BOOK BANK
SYSTEM
To create a system to perform book bank
operation
(I) PROBLEM STATEMENT:
A Book Bank lends books and magazines to member, who is registered in the system.
Also it handles the purchase of new titles for the Book Bank. Popular titles are brought into
multiple copies. Old books and magazines are removed when they are out of date or poor in
condition. A member can reserve a book or magazine that is not currently available in the
book bank, so that when it is returned or purchased by the book bank, that person is notified.
The book bank can easily create, replace and delete information about the tiles, members,
loans and reservations from the system.
(II) SOFTWARE REQUIREMENTS
SPECIFICATION: 1.0
INTRODUCTION
Book Bank is the interface between the students and Librarian. It aims at improving
the efficiency in the Issue of books or magazines and reduce the complexities involved in it to
the maximum possible extent.
PURPOSE
If the entire process of 'Issue of Books or Magazines' is done in a manual manner then
it would take several months for the books or magazines to reach the applicant. Considering
the fact that the number of students for Book Bank is increasing every year, an Automated
System becomes essential to meet the demand. So this system uses several programming and
database techniques to elucidate the work involved in this process. The system has been
carefully verified and validated in order to satisfy it.
SCOPE
The System provides an online interface to the user where they can fill in their
personal details and submit the necessary documents (may be by scanning). The authority
concerned with the issue of books can use this system to reduce his workload and process the
application in a speedy manner.
DEFINITIONS, ACRONYMS AND THE ABBREVIATIONS
Librarian - Refers to the super user who is the Central Authority who
has been vested with the privilege to manage the entire system.
1
Student - One who wishes to obtain the Books or Magazines.
HTML - Markup Language used for creating web pages.
1
J2EE - Java 2 Enterprise Edition is a programming platform and it is the part
of the java platform for developing and running distributed java applications.
HTTP -Hyper Text Transfer Protocol
TCP/IP - Transmission Control Protocol/Internet Protocol is
the communication protocol used to connect hosts on the
Internet.
REFERENCES
IEEE Software Requirement Specification format
TECHNOLOGIES TO BE USED
● Visual Basic
● Oracle 11g
TOOLS TO BE USED
● Visual Basic Tools
● Rational Rose tool (for developing UML Patterns)
OVERVIEW
SRS includes two sections overall description and specific requirements.
Overall description will describe major role of the system components and inter-
connections.
Specific requirements will describe roles & functions of the actors.
OVERALL DESCRIPTION:
It will describe major role of the system components and inter-connections.
PRODUCT PERSPECTIVE
The SRS acts as an interface between the 'Students' and the 'Librarian'. This system
tries to make the interface as simple as possible and at the same time not risking the
security of data stored in. This minimizes the time duration in which the user receives
the books or magazines.
SOFTWARE INTERFACE
Front End Client - The Student and Librarian online interface is
built using Visual studio.
Back End - Oracle 11 g database
HARDWARE INTERFACE
The server is directly connected to the client systems. The client systems have
access to the database in the server.
SYSTEM FUNCTIONS
● Secure Registration of information by the Students.
● Librarian can generate reports from the information and is the only
authorized personnel to add the eligible application information to the
database.
USER CHARACTERISTICS
● Student - They are the people who desire to obtain the books and submit
the information to the database.
● Librarian - He has the certain privileges to add the books and to approval of
the reservation of books.
CONSTRAINTS
● The Students require a computer to submit their information.
● Although the security is given high importance, there is always a chance
of intrusion in the web world which requires constant monitoring.
● The Students has to be careful while submitting the information. Much
care is required.
ASSUMPTIONS AND DEPENDENCIES
● The Student and Librarian must have basic knowledge of computers
and English Language.
● The Students may be required to scan the documents and send.
(III)USE-CASE DIAGRAM:
The book bank use cases are:
1. book_issue
2. book_return
3. book_order
4. book_entry
5. search book_details
ACTORS INVOLVED:
1. Student
2. Librarian
3. Vendor
USECASE NAME : SEARCH BOOK_DETAILS
The librarian initiates this use case when any member returns or request the book and
checking if the book is available.
Precondition: The librarian should enter all Book details.
Normal Flow: Build message for librarian who search the book.
Post Condition: Send message to respective member who reserved the book.
USECASE NAME : BOOK_ISSUE
Initiated by librarian when any member wants to borrow the desired book. If the book
is available, the book is issued.
Precondition: Member should be valid member of library.
Normal Flow: Selected book will be issued to the member.
Alternative Flow: If book is not available then reserved book use case should be initiate.
Post Condition: Update the catalogue.
USECASE NAME : BOOK_ORDER
Initiated by librarian when the requested book is not available in the library at that moment.
The book is reserved for the future and issued to the person when it is available.
Precondition: Initiated only when book is not available.
Normal Flow: It reserved the book if requested.
Post Condition : Mention the entry in catalogue for reservation.
USECASE NAME : BOOK_RETURN
Invoked by the librarian when a member returns the book.
Precondition: Member should be valid member of library.
Normal Flow: Librarian enters bookid and system checks for return date of the book.
Alternative Flow: System checks for return date and if it returned late fine message will be
displayed.
Post Condition: Check the status of reservation.
USECASE NAME : BOOK_ENTRY
The purchase book use-case when new books invoke it or magazines are added to the library.
Precondition: Not available or more copies are required.
Normal Flow: Enter bookid,author information, publication information,
purchased date, prize and number of copies.
Post Condition: Update the information in catalogue.
book_order
book_issu
e
stude
nt Fig libraria
3.1 USE-CASE DIAGRAM FOR BOOK BANK SYSTEM
n
book_retur
n
book_entr
y
vendo
search r
book_details
(IV) ACTIVITY DIAGRAM:
Activity diagrams are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams can be used to describe the business and operational step-by-step
workflows of components in a system. An activity diagram shows the overall flow of control.
An activity is shown as an rounded box containing the name of the operation. This activity
diagram describes the behaviour of the system.
Fig4.1shows
ACTIVITY
id card DIAGRAM [BORROW BOOK]
request for specific book
is book available?no
enquires for alternative book
yes
if satisfied?
borrows book
yes
no
librarian approves transaction
transaction cancelled
collects quotation from vendors
no
if satisfied with norms?
yes
place order
discount & mode of payment finalised
takes delivery
bill amt paid
Fig.4.2 ACTIVITY DIAGRAM [ ORDER BOOK]
Fig.4. 3ACTIVITY DIAGRAM [RETURN BOOK]
shows id and library card
librarian makes entry
on or before return date?
no
pays fine
yes
librarian approves transaction
2
(V) CLASS DIAGRAM:
The class diagram, also referred to as object modeling is the main static analysis
diagram. The main task of object modeling is to graphically show what each object will do in
the problem domain. The problem domain describes the structure and the relationships among
objects.
The ATM system class diagram consists of four classes:
1. Student
2. Book
3. Issue
4. Return
5. Vendor
6. Details
1) STUDENT:
It consists of twelve attributes and three operations. The attributes are enrollno, name,
DOB, fathername, address, dept name, batch and book limits. The operations of this class are
addStInfo(), deleteStInfo(), modifyStInfo().
2) BOOK:
It consists of ten attributes and four operations. This class is used to keep book
information such as author, title, vendor, price, etc
3) ISSUE:
It consists of eight attributes and two operations to maintain issue details such as,
issue date, accno of issued book, name of the student who borrowed book.
4) RETURN:
It consists of eight attributes and two operations to maintain issue details such as,
issue date, accno of issued book, name of the student who borrowed book.
5) STUDENTS:
The attributes of this class are name, dept ,year ,bcode no The operation is display
students().
6) DETAIL:
The attributes of this class are book name, author, bcode no The operations are delete
details().
Fig.5. CLASS DIAGRAM FOR BOOK BANK SYSTEM
(VI) SEQUENCE DIAGRAM:
A sequence diagram represents the sequence and interactions of a given USE-CASE
or scenario. Sequence diagrams can capture most of the information about the system. Most
object to object interactions and operations are considered events and events include signals,
inputs, decisions, interrupts, transitions and actions to or from users or external devices.
An event also is considered to be any action by an object that sends information. The
event line represents a message sent from one object to another, in which the “form” object is
requesting an operation be performed by the “to” object. The “to” object performs the
operation using a method that the class contains.
It is also represented by the order in which things occur and how the objects in the
system send message to one another.
: student : librarian : issue : return search D
B
1: request book
2: check available book
3: check available book 4: not avilable
5: not avilable
6: not available
7: request for another book
8: check availability
9: check availabilty
10: available
11: avilable
12: avilable
13: provide student details
14: enter issue data
15: update issue status
16: issue status updated
17: updated successfully
18: issue book
19: request to return book
20: enter the book details
21: update return status
22: return status updated
23: updated successfully
24: book returned
Fig. 6.1. SEQUENCE DIAGRAM FOR BOOK ISSUE & RETURN
1: request
book
14: enter issue data
7: request for
another book
:
13:provide : librarian 17: updated successfully
student details i
19:request to s
return book s
u
e
6:
not
avail
15: update
able issue status
12:
avila
ble 16: issue status updated
18:
issue
book
: student 24:
bookreturned
2: check available book 8: check
DB
availability
23:updated
successfully
5:not avilable
20: enter 11:avilable 21:update
the book
details 3: check available book
return status
9: check availabilty
4:
22: return status updated notavilable
10:availab
le
: return search
Fig. 6.2. COLLABORATION DIAGRAM FOR BOOK ISSUE & RETURN
(VII) STATE CHART DIAGRAM
It consists of state, events and activities. State diagrams are a familiar technique to
describe the behavior of a system. They describe all of the possible states that a particular
object can get into and how the object's state changes as a result of events that reach the
object
start book issue book return
Fig. 7.1 STATE CHART DIAGRAM
ve nd or su pplie s bo o k to
student returns book to library[
pays fine if needed]
student takes book
the library from library
(VIII) DEPLOYMENT DIAGRAM AND COMPONENT DIAGRAM
Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.
Fig.8.1.DEPLOYMENT DIAGRAM
(IX) IMPLEMENTATION OF DOMAIN OBJECTS LAYER AND
TECHNICAL SERVICE LAYER
//Source file: E:\\sruthi\\book.java
public class book1
{
private integer
accno; private string
author; private string
title; private string
edition;
private integer publicationid;
private double price;
private date purchaseDate;
private integer vendorId;
private string vendorName;
private integer isReference;
public return1 theReturn1;
public vendor1
theVendor1;
/**
@roseuid 51187CA503B2
*/
public book()
{
/**
@roseuid 510F44A7007E
*/
public void viewBookDetails()
{
/**
@roseuid 510F44B50217
*/
public void addbookinfo()
{
/**
@roseuid 510F44BD0063
*/
public void deletebookinfo()
{
/**
@roseuid 510F44C60045
*/
public void modifybookinfo()
{
}
}
/**
void book1.newbookdetails(){
void book1.modify(){
}
void book1.add(){
}
void book1.viewBookDetails(){
}
void book1.bookEntry(){
}
void book1.delete(){
*/
//Source file: D:\\vaish\\issue.java
public class issue
{
private date iisDate;
private integer issId;
private integer acno;
private string title;
private integer enNo;
private string name;
private integer deptId;
private integer batId;
public books
theBooks;
/**
@roseuid 5100DE750281
*/
public issue()
{
}
}
//void issue.modify(){
//
// }
//void issue.bookissue(){
//
// }
//Source file: F:\\VAISH\\return1.java
public class return1
{
public integer
returnid; public date
returndate;
public integer accno;
public string titlle;
public integer enrollno;
public string name;
public string dept;
public integer batch;
public book theBook;
/**
@roseuid 50F92E4D0177
*/
public return1()
{
/**
@roseuid 50F91C69005D
*/
public void bookreturn()
{
/**
@roseuid 50F91C6C0000
*/
public void modify()
{
}
}
//Source file: F:\\VAISH\\student.java
public class student
{
public integer enrollno;
public string name;
public date DOB;
public string
fathername; public
string address; public
string address2; public
string address3; public
string district; public
string state; public long
pincode; public integer
deptid; public string
depname;
public integer batchid;
public integer booklimit;
public issue theIssue;
public return1
theReturn1;
/**
@roseuid 50F92E4D00FA
*/
public student()
{
/**
@roseuid 50F918E6000F
*/
public void add()
{
/**
@roseuid 50F918EB03A9
*/
public void delete()
{
/**
@roseuid 50F918EE029F
*/
public void modify()
{
}
}
//Source file: F:\\VAISH\\vendor1.java
public class vendor1
{
private integer
vendorid; private string
name; private string
address1; private string
address2; private string
address3;
/**
@roseuid 5118C814009C
*/
public vendor1()
{
/**
@roseuid 5118B75100AB
*/
public void bookOrder()
{
/**
@roseuid 5118B75702BF
*/
public void modify()
{
}
}
//void vendor1.bookorder(){
//
// }
(X) IMPLEMENTATION OF USER INTERFACE LAYER
RESULT:
Thus the mini project for Book Bank System has been successfully executed and
codes are generated.