Software Requirements Specification: Version 1.0 Approved
Software Requirements Specification: Version 1.0 Approved
Specification
for
Prepared by:
Created on : 15 / 08 / 2021
Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction ..............................................................................................................................3
1.1 Purpose ............................................................................................................................................. 3
1.2 Document Conventions .................................................................................................................... 3
1.3 Intended Audience and Reading Suggestions................................................................................... 3
1.4 Product Scope ................................................................................................................................... 3
1.5 References......................................................................................................................................... 4
2. Overall Description ..................................................................................................................4
2.1 Product Perspective .......................................................................................................................... 4
2.2 Product Functions ............................................................................................................................. 4
2.3 User Classes and Characteristics ...................................................................................................... 5
2.4 Operating Environment .................................................................................................................... 5
2.5 Design and Implementation Constraints ........................................................................................... 5
2.6 User Documentation ......................................................................................................................... 6
2.7 Assumptions and Dependencies ....................................................................................................... 6
3. External Interface Requirements ...........................................................................................6
3.1 User Interfaces .................................................................................................................................. 6
3.2 Hardware Interfaces.......................................................................................................................... 7
3.3 Software Interfaces ........................................................................................................................... 7
3.4 Communications Interfaces .............................................................................................................. 7
4. System Features .......................................................................................................................8
4.1 System Feature 1 .............................................................................................................................. 4
4.2 System Feature 2 (and so on)............................................................................................................ 4
5. Other Nonfunctional Requirements .....................................................................................12
5.1 Performance Requirements............................................................................................................. 13
5.2 Safety Requirements ....................................................................................................................... 13
5.3 Security Requirements.................................................................................................................... 13
5.4 Software Quality Attributes ............................................................................................................ 13
5.5 Business Rules ................................................................................................................................ 14
6. Other Requirements ..............................................................................................................14
Appendix A: Glossary..................................................................................................................14
Appendix B: Analysis Models .....................................................................................................14
Appendix C: To Be Determined List ..........................................................................................14
Revision History
Name Date Reason For Changes Version
1. Introduction
1.1 Purpose
The principal objective of this archive is to outline the prerequisites of the Library
Management framework. The report gives a definite depiction of both utilitarian and non-
functional requirements proposed by the customer. The primary motivation behind this
project is to keep up with a simple flow framework utilizing computers and to give various
reports. The reason why we make a document such as this is to give a good environment to
keep up with the maintenance of the details of the books and library members. This
undertaking portrays the equipment and programming interface necessities utilizing ER
charts and UML outlines.
This product can be implemented in any library and increase accessibility of the books of a
library via a website.
The product is made for the use of librarians and library and will work as an easy way for
users to access libraries. It will have an efficient user interface for the library management
process and the use of library by users.
The goal of this project is to make libraries more accessible to everyone, and make the
system of library management more efficient.
This product will be useful to any institute that has a library, a public library etc. This product
is useful as it can be easily implemented or incorporated into an institute, as it has a flexible
system which can be modified to suit the institute.
We have used python, CSS, html, php, JavaScript for this project to make it as efficient as
possible.
1.5 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
https://www.geeksforgeeks.org/
2. Overall Description
2.1 Product Perspective
This is a new self-contained product made to make borrowing books from libraries much
easier and encourage people to read more books. This product aims to be a replacement for
the current offline system of borrowing books. It’s intended to implement newer and more
efficient functionalities to the current system.
This product is a website which uses html, css, javascript, python, php etc.
The proposed Library Management System will take care of the current book detail at any
point of time. The book issue, book return will update the current book details automatically
so that user will get the update current book details.
Contacts such as phone numbers and emails to a online help-desk will also be provided to
help the users have a seamless experience on the library website.
It allows the users to view the issued books, as well as search for all the books present on our
system. It provides security features such as password protected login and secure browsing. It
provides access for the admin to customize the user interface.
A modular approach is applied to enable easy updating and prevents catastrophic failure of
the entire system.
The user interface includes ease of access and simple to use features that implement the core
functionalities required for a library management system as well as additional functionalities
that keep the system secure and up to date with the recent technologies helping implement a
complete application.
3.2 Hardware Interfaces
• Database interfacing will use standard TCP/IP protocols, but using FOSS libraries.
• Http protocols are used to serve the website.
• We will be using a dedicated server for the database.
• It should be accessible to anyone with an internet connection and a compatible device.
• It will be compatible with the following browsers: Chrome, edge, brave, Mozilla firefox.
Communication interfaces that are being utilized for the Library Management System are
TCP/IP for data transmission and SMTP/HTTP for generating emails of reports from the
software. All the data transmission interfaces should have fast transfer rates and reliable
connections which helps maintain a reliable and efficient system.
FOSS protocols are observed to ensure ease of access to the open-source contributors and
helps maintain a consistent code base. Version control programs such as Git are used to
maintain consistency and allow easy code sharing and maintenance.
Security features are set up on every level to reduce the abuse and unauthorized access of the
system.
4. System Features
4.1 Login and registration system
4.1.1 Description and Priority
It is a high priority system that helps us to verify the user, without verification and
logging in the user will not be able to use any of the features of the website. The user
first has to register by filling the appropriate information, and then the user will be
able to login and use the features of the website. The benefits are that unverified users
cannot borrow or steal books. There is a risk level of 9 in the fact that user
information is being handled. Failure in handling user information would lead to
lesser users using the website.
• User First registers to the website by filling in the appropriate information and
making a username and password.
• We will then verify the information.
• The user will then try to login to the website by entering the correct username
and password.
• If there is a match according to our database then the user will be able to login.
• If there is no match then we will show the result that there is something wrong
with the username and password.
It is a high priority system that helps the user to easily find the books he/she wants to
borrow. The benefits of such a system are really high and there is little to none penalty,
and a risk level of 1 in this system.
It is a high priority system that helps the user to borrow the book(s) they want from the
collection of books. The benefits of the system are high as they provide ease of access
and the core functionalities. There is little penalty and a risk level of 2 in the system.
4.3.2 Stimulus/Response Sequences
• Whenever a user borrowed from the library it provides a message about the
books that the users has borrowed, date and time of when they borrowed and
due time.
• Once a book has been borrowed the software will check with the due date
every day.
• If a user has borrowed a book and has kept the book over time, we will send an
alert message through email that “You have borrowed the book over time” and
also about the penalties.
• Monthly reports will be sent to the users about the how many books they
borrowed in a month and the type of books they borrowed.
It is low priority system that allows the user to give a public rating and review about a
book they issued or read. This will help guide other users in the community to decide
whether a specific book is for them. It is a highly beneficial feature and it has a risk
level of 5 that bad users can result in a good book getting bad reviews and ratings. This
can be avoided by restricting the user to one review and rating per book.
• After returning a book, the user will be given the option to provide a review
and rating for the book.
• If they choose to give the book a review or rating, then it will be recorded by
the system and it can be viewed by them under the "My Reviews" tab.
• The user may decide on not giving a review or rating for the book as well
4.6.3 Functional Requirements
It is a high priority system that allows librarians or admins to enter details of the books
like name, author, ssn number etc. and keep a check on the details of users.
Admins/librarians can also view the details of the users and book that have borrowed
from the library and can manage these records. There is risk level of 7 in this system
since user information is being handled. The penalty would be users losing trust in this
system.
• Admins/librarians can enter, modify and view the details of the books.
• Admins/librarians can view the details of the users.
• Admins/librarians can manage the monthly and weekly reports of users.
• Admins/librarians can view every activity performed by the system.
• Admins/librarians can send mails to the users in case of overdue time and about
events of the library.
• Admins/librarians can remove users from the database if they perform any
unrelated practices.
The system shall have the provisions to handle expected as well as non-expected errors in
ways that guarantee no loss of information and prevent long downtime periods. For that
purpose, it should have an inbuilt error handler and detector to identify errors and deal with
them.
The system memory, I.e., the database, shall be optimized to be able to handle large amounts
of data without any fault.
The database supporting the system may crash at any time due to some error that wasn’t
predicted or a virus attack or an OS failure. For that purpose, it is required to have a backup
of the database, from time to time, to ensure minimal to no loss of data, in the case of failure.
Proper power backup shall be maintained at the server farm facility to cover for the situation
of unexpected power cuts
The users will be provided with a view of the system that allows them to only read
information and enter information where required, but it doesn’t allow them to modify or edit
anything, other than their personal info.
Access constraints shall be implemented to enforce access constraints on each user level.
Login system will prevent unauthorized access to the system. Passwords will be stored in an
encrypted manner to prevent fraudulent access of sensitive data.
The database will be maintained in a very easy to use manner, to allow the database admins
to manage it easily. The code base and the server setup are such that it provides room for
scalability in the future.
5.5 Business Rules
1. It is sold to customers for a price.
2. Customers cannot sell the product to others; the product can only be sold by the
product owners.
3. The users should avoid illegal rules and protocols.
4. Neither admin nor member should cross the rules and regulations.
5. Once finalized the terms of agreement cannot be changed.
6. Other Requirements
• There are different categories of users namely Librarian/Admin, students etc.
Depending upon the category of user the access rights are decided. This means if the
user is an administrator/librarian they can modify, delete and append the data. All
other users except the Librarian only have the rights to retrieve the information about
database
• A separate view of the database for potential customers that does not leak any
important information.
• The developers are not allowed to show/use the code anywhere else.
Appendix A: Glossary
• Admin: It is the abbreviation for administrator who is a person responsible for
carrying out the administration of a business or organization.
• User: Is a person who uses the product.
• Client: Intended users for the software
• Database: A database is an organized collection of structured information, or data,
typically stored electronically in a computer system.
• Server: A server is a computer or system that provides resources, data, services, or
programs to other computers, over a network.
• FOSS: Free and open-source software.
• HTTP: Hypertext transfer protocol.