Software Requirements Specification: Library Management System
Software Requirements Specification: Library Management System
SOFTWARE
REQUIREMENTS
SPECIFICATION
For
Prepared by:-
Yogendra Singh
Table of Contents
Table of Contents ...........................................................................................................................2
Revision History ............................................................................... Error! Bookmark not defined.
1. Introduction ................................................................................ Error! Bookmark not defined.
1.1 Purpose ........................................................................................... Error! Bookmark not defined.
1.2 Document Conventions .................................................................. Error! Bookmark not defined.
1.3 Intended Audience and Reading Suggestions ................................ Error! Bookmark not defined.
1.4 Product Scope ................................................................................ Error! Bookmark not defined.
1.5 References ...................................................................................... Error! Bookmark not defined.
2. Overall Description .................................................................... Error! Bookmark not defined.
2.1 Product Perspective ........................................................................ Error! Bookmark not defined.
2.2 Product Functions .......................................................................... Error! Bookmark not defined.
2.3 User Classes and Characteristics .................................................... Error! Bookmark not defined.
2.4 Operating Environment .................................................................. Error! Bookmark not defined.
2.5 Design and Implementation Constraints ........................................ Error! Bookmark not defined.
2.6 User Documentation....................................................................... Error! Bookmark not defined.
2.7 Assumptions and Dependencies ..................................................... Error! Bookmark not defined.
3. External Interface Requirements ............................................. Error! Bookmark not defined.
3.1 User Interfaces ............................................................................... Error! Bookmark not defined.
3.2 Hardware Interfaces ....................................................................... Error! Bookmark not defined.
3.3 Software Interfaces......................................................................... Error! Bookmark not defined.
3.4 Communications Interfaces............................................................ Error! Bookmark not defined.
4. System Features ......................................................................... Error! Bookmark not defined.
4.1 System Feature 1 ............................................................................ Error! Bookmark not defined.
4.2 System Feature 2 (and so on) ......................................................... Error! Bookmark not defined.
5. Other Nonfunctional Requirements ......................................... Error! Bookmark not defined.
5.1 Performance Requirements ............................................................ Error! Bookmark not defined.
5.2 Safety Requirements ...................................................................... Error! Bookmark not defined.
5.3 Security Requirements ................................................................... Error! Bookmark not defined.
5.4 Software Quality Attributes ........................................................... Error! Bookmark not defined.
5.5 Business Rules ............................................................................... Error! Bookmark not defined.
6. Other Requirements .................................................................. Error! Bookmark not defined.
Appendix A: Glossary...................................................................... Error! Bookmark not defined.
Appendix B: Analysis Models ......................................................... Error! Bookmark not defined.
Appendix C: To Be Determined List .............................................. Error! Bookmark not defined.
1. Introduction
Purpose
The main objective of this document is to illustrate the requirements of the project
Library Management system. The document gives the detailed description of the both functional
and non-functional requirements proposed by the client.The purpose of this project is to provide
a friendly environment to maintain the details of books and library members.The main purpose
of this project is to maintain easy circulation system using computers and to provide different
reports. This project describes the hardware and software interface requirements using ER
diagrams and UML diagrams.
Document Conventions
Entire document should be justified.
Convention for Main title
Font face: Times New Roman
Font style: Bold
Font Size: 14
Convention for Sub title
Font face: Times New Roman
Font style: Bold
Font Size: 12
Convention for body
Font face: Times New Roman
Font Size: 12
References
Books
Software Requirements and Specifications: A Lexicon of Practice, Principles and
Prejudices (ACM Press) by Michael Jackson
Software Requirements (Microsoft) Second EditionBy Karl E. Wiegers
Software Engineering: A Practitioner’s Approach Fifth Edition By Roger S. Pressman
Websites
http://www.slideshare.net/
http://ebookily.net/doc/srs-library-management-system
2. Overall Descriptions
Product Perspective
Use Case Diagram of Library Management System
*
searches
search_book check_limit
1
1 requests check_availability
1..*
1 1..*
1
User 1 monitors_request
<<include>>
issue_book 1
request_renew 1
monitors_renew 1
<<include>> 1
performs 0..* verify_member
Librarian
1
give_book take_book
1..*
<<include>>
renew_book
Student adds_new_book
0..* 1..*
perform_transaction_updation
*
Staff *
return_book
calculate_fine
update_record
This is a broad level diagram of the project showing a basic overview. The users can be either
staff or student.. This System will provide a search functionality to facilitate the search of
resources. This search will be based on various categories viz. book name or the ISBN. Further
the library staff personnel can add/update the resources and the resource users from the
system.The users of the system can request issue/renew/return of books for which they would
have to follow certain criteria.
Product Function
Entity Relationship Diagram of Library Management System
The Online Library System provides online real time information about the books available in
the Library and the user information. The main purpose of this project is to reduce the manual
work. This software is capable of managing Book Issues, Returns, Calculating/Managing Fine,
Generating various Reports for Record-Keeping according to end user requirements. The
Librarian will act as the administrator to control members and manage books. The member’s
status of issue/return is maintained in the library database. The member’s details can be fetched
by the librarian from the database as and when required. The valid members are also allowed to
view their account information.
0 Level.
D4 Publisher
Data Flow Diagram Level 0 D5 Book_author
D1 Author
Write Publisher data
book author_data_reading
Read author data
Write Book author data
read publisher data
Read book authors
Updating author data publisher data reading
U
s 1 author reading
eAdminis
tration Maintain 2
enter sub subject data Books Query
r Books Subject reading Reception
Information + Make book
search
C Sub subject reading + Books result
read subject data
l Reading author data books data reading
a read sub subject data
Write book data
Subject data updating
s Write sub subject data
s Read book information
D2 Subject
e
D6 Book
s
data reading of books
a D3 Sub_subject
n
d 3 Cashier
Reading sub subject data create bill
Create
C bills
+ Queries and invoices
h 4
Reading publisher data Write bill data
a Create Read bill data
Reading subject data
r reports and
issue reports queries Reading book data
a D7 Billing
c
1.4
E nter publishe r data
Maintain [read publishe r data]
read book publisher D4 Publisher
+
[W rite P ublish er data]
1.1.1
[Enter author data] Data adding
Add new
author no
Administration 1.1.2
1.1.3
Delete
author data author data
[Updating author data]
D5 Book_author
1.2.2
Administration Update
specific [read subject data] D2 Subject
Flow of subject data
subject data subj ect updating
D3 Sub_s ubje ct
1.2.3
delete
subject
code [Subject data updating]
Enter subj ect code
[book reading]
D6 Book
[Reading subject]
D2 Subject
Reading subject
1.3.2
Administration
Data enter [read sub subject data] D3 Sub_subject
Update sub
subject data data sub subject updating
1.3.3
Delete sub
Enter data subject updating data
D6 Book
Administration 1.4.2
Maintenance data Update D
4 Publisher
publisher [read publisher data]
Publisher data updating
data
1.4.3
Delete
publisher Updating publisher data
Publisher data data
[read book]
D6 Book
[Books Query]
2.1 [author reading] D1 Author
Search by
[Books result ] D5 Book_author
author [book author_data_reading]
[books data reading]
2.4
Book query
Search by
book D6 Book
Reading book
Book result
Reading books
D6 Book
3.2
Cashier
Update [Read bill data] D7 Billing
bill data bill data Updating data
3.3
Delete
enter bill data bill data Updating bill data
3.4
[Queries and invoices] Issue invoice and report
invoice
The system provides different types of services based on the type of users
[Member/Librarian]. The Librarian will be acting as the controller and he will have all the
privileges of an administrator. The member can be either a student or staff of the university who
will be accessing the Library online.
The features that are available to the Librarian are:-
A librarian can issue a book to the member.
Can view the different categories of books available in the Library
Can view the List of books available in each category
Can take the book returned from students
Add books and their information to the database
Edit the information of existing books
Can check the report of the existing books
Can check the report of the issued books
Can access all the accounts of the students
Operating Environment
The product will be operating in windows environment. The Library Management System is a
website and shall operate in all famous browsers, for a model we are taking Microsoft Internet
Explorer,Google Chrome,and Mozilla Firefox.Also it will be compatible with the IE 6.0. Most
of the features will be compatible with the Mozilla Firefox & Opera 7.0 or higher version. The
only requirement to use this online product would be the internet connection.
The hardware configuration include Hard Disk: 40 GB, Monitor: 15” Color monitor, Keyboard:
122 keys. The basic input devices required are keyboard, mouse and output devices are monitor,
printer etc.
Internet connection
Users must have their correct usernames and passwords to enter into their online accounts
and do actions
Requirement
Software Configuration:-
This software package is developed using java as front end which is supported by sun micro
system. MYSQL Server as the back end to store the database.
Operating System: Windows NT, windows 98, Windows XP
Language: Java Runtime Environment, Net beans 7.0.1 (front end)
Database: MYSQL Server (back end)
Hardware Configuration:-
Processor: Pentium(R)Dual-core CPU
Hard Disk: 40GB
RAM: 256 MB or more
Data Requirement
The inputs consist of the query to the database and the output consists of the solutions for
the query. The output also includes the user receiving the details of their accounts. In this project
the inputs will be the queries as fired by the users like create an account, selecting books and
putting into account. Now the output will be visible when the user requests the server to get
details of their account in the form of time, date and which books are currently in the account.
template
The user interface should be able to interact with the user management module and a part
of the interface must be dedicated to the login/logout module
Login Interface:-
In case the user is not yet registered, he can enter the details and register to create his account.
Once his account is created he can ‘Login’ which asks the user to type his username and
password. If the user entered either his username or password incorrectly then an error message
appears.
Search:-
The member or librarian can enter the type of book he is looking for and the title he is interested
in,then he can search for the required book by entering the book name.
Categories View:-
Categories view shows the categories of books available and provides ability to the librarian to
add/edit or delete category from the list.
4. System Features
The users of the system should be provided the surety that their account is secure. This is
possible by providing:-
User authentication and validation of members using their unique member ID
Proper monitoring by the administrator which includes updating account status, showing
a popup if the member attempts to issue number of books that exceed the limit provided
by the library policy, assigning fine to members who skip the date of return
Proper accountability which includes not allowing a member to see other member’s
account. Only administrator will see and manage all member accounts
Safety Requirement
The database may get crashed at any certain time due to virus or operating system failure.
Therefore, it is required to take the database backup so that the database is not lost. Proper
UPS/inverter facility should be there in case of power supply failure.
Security Requirement
System will use secured database
Normal users can just read information but they cannot edit or modify anything except
their personal and some other information.
System will have different types of users and every user has access constraints
Proper user authentication should be provided
No one should be able to hack users’ password
There should be separate accounts for admin and members such that no member can
access the database and only admin has the rights to update the database.
Requirement attributes
There may be multiple admins creating the project, all of them will have the right to
create changes to the system. But the members or other users cannot do changes
The project should be open source
The Quality of the database is maintained in such a way so that it can be very user
friendly to all the users of the database
The user be able to easily download and install the system
Business Rules
A business rule is anything that captures and implements business policies and practices. A rule
can enforce business policy, make a decision, or infer new data from existing data.This includes
the rules and regulations that the System users should abide by. This includes the cost of the
project and the discount offers provided. The users should avoid illegal rules and protocols.
Neither admin nor member should cross the rules and regulations.
User Requirement
The users of the system are members and Librarian of the university who act as administrator to
maintain the system. The members are assumed to have basic knowledge of the computers and
internet browsing. The administrators of the system should have more knowledge of the internals
of the system and is able to rectify the small problems that may arise due to disk crashes, power
failures and other catastrophes to maintain the system. The proper user interface, user manual,
online help and the guide to install and maintain the system must be sufficient to educate the
users on how to use the system without any problems.
The admin provides certain facilities to the users in the form of:-
Backup and Recovery
Forgot Password
Data migration i.e. whenever user registers for the first time then the data is stored in the
server
Data replication i.e. if the data is lost in one branch, it is still stored with the server
Auto Recovery i.e. frequently auto saving the information
Maintaining files i.e. File Organization
The server must be maintained regularly and it has to be updated from time to time
6. Other Requirements
Data and Category Requirement
There are different categories of users namely teaching staff, Librarian, Admin, students etc.
Depending upon the category of user the access rights are decided.It means if the user is an
administrator then he can be able to modify the data,delete, append etc. All other users except the
Librarian only have the rights to retrieve the information about database. Similarly there will be
different categories of books available. According to the categories of books their relevant data
should be displayed. The categories and the data related to each category should be coded in the
particular format.
Appendix
A: Admin, Abbreviation, Acronym, Assumptions; B: Books, Business rules; C: Class, Client,
Conventions; D: Data requirement, Dependencies; G: GUI; K: Key; L: Library, Librarian; M:
Member; N: Non-functional Requirement; O: Operating environment; P:
Performance,Perspective,Purpose; R: Requirement, Requirement attributes; S: Safety, Scope,
Security, System features; U: User, User class and characteristics, User requirement;
Glossary
The following are the list of conventions and acronyms used in this document and the project
as well:
Administrator: A login id representing a user with user administration privileges to the
software
User: A general login id assigned to most users
Client: Intended users for the software
MYSQL: Structured Query Language; used to retrieve information from a database
MYSQL Server: A server used to store data in an organized format
Layer: Represents a section of the project
User Interface Layer: The section of the assignment referring to what the user interacts
with directly
Application Logic Layer: The section of the assignment referring to the Web Server. This
is where all computations are completed
Data Storage Layer: The section of the assignment referring to where all data is recorded
Use Case: A broad level diagram of the project showing a basic overview
Class diagram: It is a type of static structure diagram that describes the structure of a
system by showing the system’s cases, their attributes, and the relationships between the
classes
Interface: Something used to communicate across different mediums
Unique Key: Used to differentiate entries in a database
Class Diagram
A class is an abstract, user-defined description of a type of data. It identifies the attributes of the
data and the operations that can be performed on instances (i.e. objects) of the data. A class of
data has a name, a set of attributes that describes its characteristics, and a set of operations that
can be performed on the objects of that class. The classes’ structure and their relationships to
each other frozen in time represent the static model. In this project there are certain main classes
which are related to other classes required for their working. There are different kinds of
relationships between the classes as shown in the diagram like normal association, aggregation,
and generalization. The relationships are depicted using a role name and multiplicities. Here
‘Librarian’, ‘Member’ and ‘Books’ are the most important classes which are related to other
classes.