RAD Dipto Vai

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

University of Dhaka

Department of Computer Science and Engineering


CSE-3112 : Software Engineering Lab

Software Requirements Analysis Document (RAD)


E-Lib
A Library Management Software
Submitted By:
1. Syed Mumtahin Mahmud, Roll: 50
2. Nazira Jesmin Lina, Roll: 55
Submitted On :
February 21, 2023
Submitted To :
1. Dr. Saifuddin Md. Tareeq
2. Redwan Ahmed Rizvee
Contents

1 Introduction 4

1.1 Purpose of the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Scope of the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Objective and success criteria of the project . . . . . . . . . . . . . . . . . . 5

1.4 Definitions, Acronyms and Abbreviations . . . . . . . . . . . . . . . . . . . . 5

1.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Overall Description 6

2.1 Product perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Product functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 User Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5 Assumptions and Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Proposed System 9

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3 Non Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3.1 Usability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3.2 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3.3 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1
CONTENTS 2

3.3.4 Supportability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.5 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.6 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.7 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.8 Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3.9 Maintainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.1 Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.2 Use cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4.3 Use case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4.4 Dynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4.5 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.4.6 User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Supporting Information 21
List of Figures

3.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3 Statechart Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3
Chapter 1

Introduction

1.1 Purpose of the System

The purpose of E Lib is to streamline and automate the library management process, making
it more efficient and accurate. The software is intended to be used by the library staff and the
admin, who will have access to a range of tools to manage the library’s collection of books
and track borrowing and returning activities.

By implementing the E Lib, the library will be able to manage its collection more effectively,
resulting in improved member satisfaction and better utilization of resources. The software
will also help to reduce the workload of the library staff, allowing them to focus on more
important tasks such as member engagement and outreach.

Overall, the E Lib is aligned with the corporate goal of improving operational efficiency and
member satisfaction. By providing a modern and efficient library management solution, the
library will be better positioned to achieve its objectives and fulfill its mission of serving the
needs of its members.

1.2 Scope of the System

The scope of this system includes all the necessary features and functionalities required for
managing the library’s collection of books and tracking borrowing and returning activities. The
software will include tools for user management, book management, borrowing management,
returning management, notifications, and reports and analytics. The system will be designed
for use by the library staff and admin, who will have access to different levels of functionality
based on their role.

However, it should be noted that the software may be updated or revised in the future to
address new requirements or improve functionality. Any changes made to the system will be
documented and communicated to all relevant stakeholders.

4
CHAPTER 1. INTRODUCTION 5

1.3 Objective and success criteria of the project

The objective of the E Lib project is to improve the efficiency and accuracy of the library
management process. The success of the project will be measured by user and member satis-
faction, accuracy of records, resource utilization, and adherence to timelines and budget. The
specific objectives of the project include providing a user-friendly software tool for managing
the library’s collection of books, tracking borrowing and returning activities, and improving
the experience of library members.

1.4 Definitions, Acronyms and Abbreviations

• UI: User Interface

• API: Application Programming Interface

• UX: User Experience

• JS: JavaScript

• CRUD: Create, Read, Update, Delete

• HTTPS: Hypertext Transfer Protocol Secure

• SQL: Structured Query Language

• JSON: JavaScript Object Notation

1.5 References

[1]. Django: https://docs.djangoproject.com/en/4.1/


[2]. RAD methodology: https://en.wikipedia.org/wiki/Rapid_application_development
[3]. SQLite: https://www.sqlite.org/docs.html
[4]. Google Cloud Functions: https://cloud.google.com/functions

1.6 Overview

E Lib is designed to streamline and automate the library management process, making it more
efficient and accurate. The software will be used by the library staff and admin to manage the
library’s collection of books, track borrowing and returning activities, and improve member
satisfaction. The success of the project will be measured by user and member satisfaction,
accuracy of records, resource utilization, and adherence to timelines and budget.
Chapter 2

Overall Description

2.1 Product perspective

E-lib is a web application designed to automate library management processes and provide a
user-friendly environment for library staff and members. The software is intended to be the
central hub for all library operations, allowing for efficient management of book borrowing,
returns, and inventory. E-lib is designed to be a standalone system, but can also integrate
with other library systems or databases. The software is built using the Python programming
language with the Django web framework, and utilizes a SQLite database to store and manage
data.

The primary goal of E-lib is to streamline the library management process and reduce the work-
load on library staff. By automating processes such as cataloging, borrowing, and inventory
management, librarians can focus on other important tasks. Additionally, the user-friendly
interface of the software provides a seamless experience for library staff and members, making
it easy to search for books, check availability, and manage accounts.

2.2 Product functions

The E Lib software has the following major functions:

• User account management: The E lib software enables the admin to create and
manage user accounts for library staff. Staff members can then log in and access the
system, where they can manage their profile and perform various library management
tasks.

• Member management: The software allows library staff to manage member infor-
mation, including adding new members, editing member details, and deleting members.

• Cataloging: The E lib software provides a cataloging feature that allows staff members
to add new books to the system, categorize and subcategorize them, and update book
details as needed.

6
CHAPTER 2. OVERALL DESCRIPTION 7

• Circulation management: With the circulation management feature, staff members


can manage borrowing transactions, including keeping track of the lend date, due date,
and user data.
• Inventory management: The software enables staff members to conduct inventory
management tasks, such as adding and removing books from the system.

2.3 User Profiles

The E lib software is designed to be used by two types of users: admins and library staff.

• Administrator: This user profile will have full access to the system and can perform
all functions, including creating accounts for library staff and managing system settings.
• Library staff: This user profile will have access to all library management functions,
including adding and removing books, managing member accounts, and conducting
borrowing transactions.
• Library member: While library members will not have direct access to the system, they
can interact with library staff to borrow and return books, as well as request information
about their account status or available books.

2.4 Constraints

There are no significant constraints that will limit the options available to the developers for
the E lib project. However, there are a few factors that could be considered when developing
the software:

• Technology: The software is only available for PC operating systems, specifically


Windows. Therefore, the development team should keep in mind the compatibility
requirements of the software.
• Databases: SQLite database is used with Python and Django, so the development
team should have knowledge and experience in working with these tools.
• Security: The software may contain sensitive information, such as user data and
borrowing history. Therefore, it is essential to ensure that proper security measures are
implemented to protect the data.

2.5 Assumptions and Dependencies

Assumed Factors:

• The software will be developed using modern programming languages and frameworks
such as Python, Django etc.
CHAPTER 2. OVERALL DESCRIPTION 8

• The E Lib software will use SQLite for storing and managing library data.

• The system will be accessed via a web interface that is optimized only for desktop.

• The software will be tested and deployed in a controlled development environment before
finalization.

Dependencies:

• The E-Library software will depend on the modern programming languages, frameworks,
and databases that are used to develop it.

• Any updates or changes made to the cloud infrastructure provider, programming lan-
guages, or databases could affect the software system.
Chapter 3

Proposed System

3.1 Overview

The project is the development of E Lib that aims to improve the efficiency and accuracy of
the library management process. The software will be used by the library staff and admin to
manage books, users, borrowing, returning, notifications, and generate reports and analytics.
The objectives of the project are to automate and streamline the library management process,
reduce human error, and improve the overall user experience. The project scope includes the
development of the software, testing, and implementation.

3.2 Functional Requirements

ID 3.2.1
Name User Management

1. The system shall allow the admin


to create and manage staff ac-
counts.

2. The system shall allow staff to up-


Description date their account information.

3. The system shall allow the admin


to reset passwords for staff ac-
counts.

Priority High
Reference

9
CHAPTER 3. PROPOSED SYSTEM 10

ID 3.2.2
Name Book Management

1. The system shall allow the staff


to add new books to the library
database with information such
as title, author, publication date,
ISBN, and category.

2. The system shall allow the staff to


update book information such as
book cover, title, author, and cat-
Description
egory.

3. The system shall allow the staff to


search for a book by title, author,
ISBN, or category.

4. The system shall allow the staff


to delete a book from the library
database.

Priority High
Reference

ID 3.2.3
Name Borrowing Management

1. The system shall allow the staff to


borrow a book to a member.

2. The system shall allow the staff to


check if a book is available for bor-
rowing.

Description 3. The system shall allow the staff to


record the borrowing details such
as the book ID, member ID, and
borrowing date.

4. The system shall send notifications


to the member if the book is not
returned by the due date.

Priority High
Reference
CHAPTER 3. PROPOSED SYSTEM 11

ID 3.2.4
Name Returning Management

1. The system shall allow the staff to


return a borrowed book.

2. The system shall record the return


Description details such as the book ID, mem-
ber ID, and return date.

3. The system shall calculate any late


fees or fines for overdue books.

Priority High
Reference

ID 3.2.5
Name Reports and Analytics

1. The system shall allow the staff to


generate reports on borrowing and
returning activities.
Description
2. The system shall allow the staff to
view analytics on book borrowing
trends.

Priority Medium
Reference

3.3 Non Functional Requirements

3.3.1 Usability

The software should have a clear and user-friendly interface, with intuitive navigation and
easy-to-use controls..The software should be consistent in its layout and design, to avoid
confusion and make it easier to use.The software should allow for quick and easy data entry
and retrieval, reducing the time needed for administrative tasks.The software should have a
search function that is easy to use and returns accurate and relevant results.

3.3.2 Reliability

The software should be available for use at all times.The software should have automatic data
backups to prevent data loss in case of system failure.The software should be able to recover
from errors or crashes without losing any data or corrupting the database.The software should
be able to handle concurrent users without performance degradation.The software should be
regularly updated and maintained to ensure stability and reliability.
CHAPTER 3. PROPOSED SYSTEM 12

3.3.3 Performance

The system should respond to user input within 2 seconds or less.The system should be
able to handle a minimum of 100 concurrent users without experiencing any performance
degradation.The system should be able to process book checkout and return transactions
within 5 seconds or less.The system should be able to handle at least 10,000 book records
without experiencing any slowdown.The system should be able to handle search queries for
books by various parameters (author, title, caategory,subcategory) within 3 seconds or less.

3.3.4 Supportability

The system should be easy to install and configure, with clear documentation and installation
guides provided to the customer.The system should be modular and easy to maintain, with
clear separation of concerns between different components and modules.The system should
be designed to minimize downtime and provide automatic backups and recovery options.The
system should be designed to work with different hardware and software environments, with
clear guidelines and recommendations provided for the customers.

3.3.5 Implementation

The software should be developed using a high-level programming language, Python, Django
and JS.The software should use a database management system (DBMS) to store and re-
trieve data efficiently. The preferred DBMS for the project is MySQL.The software should
be developed using version control software, such as Git, to enable collaboration and manage
code changes effectively.

3.3.6 Scalability

The system should be able to handle a minimum of 1000 users concurrently without significant
degradation in performance.The response time for critical transactions should not exceed 3
seconds, even under peak load conditions.he database should be designed to handle a large
volume of data, with indexing and partitioning strategies to optimize performance.

3.3.7 Security

The system should have a secure login process for all users, including admin and library staff.
The login should require a unique username and password for each user.The system should
have role-based access control to ensure that users only have access to the functions and data
that they are authorized to use.The system should ensure the privacy and confidentiality of
user data, such as personal information, borrowing history.The system should have regular
backups of all data and implement a disaster recovery plan to ensure data can be recovered
in the event of a breach or system failure.The system should maintain an audit trail of all
user activities, including logins, transactions, and changes to data, to aid in detecting and
investigating security breaches.
CHAPTER 3. PROPOSED SYSTEM 13

3.3.8 Testability

The software must be designed in a modular fashion so that individual components can be
easily tested in isolation.Testing and debugging will have to be conducted to ensure maximum
reliability of our system.

3.3.9 Maintainability

The product should be modular and well-structured, with clear separation of concerns, to
make it easier to understand and modify. The code should be well-documented to make it
easier to maintain and update.The product should be designed with future changes in mind,
so that new features and functionality can be added with minimal impact on existing code.

3.4 System Model

3.4.1 Scenarios

Create new user account

• Admin can create new user account.


• Admin gives different information for the account.
• Only Admin can access create new user section.

Member Maintenance

• Librarian and staffs who have user account maintain the member of the library.
• User can update ,delete the information of the member.
• Book lending facilities for the member also maintain by the users.

Book Management

• User can add books according to their section,subsection and categories.


• User can filter the books on basis of category.
• user can update quantity or availability of the books.

Book Transaction

• Users handle the book transaction section.


• Users update the information like status,borrowing date,returning date etc related to
each transaction
CHAPTER 3. PROPOSED SYSTEM 14

Book Return

• Users make sure that the book must be returned in the selected date.

• After returning book users update the information.

3.4.2 Use cases

Name Create new account


Actor Admin
System Admin will create a new account for other librar-
Flow of events ian and stuff. With the account created , Librarian will
have the access to the software.
Admin will give information about the new account taken
Entry Condition
from the library stuff.
The app will create the account, store it in the local
Exit Condition
database and display it

Name Login
Actor Admin , Librarian
1. User enters email and password
Flow of events
2. User clicks on ”Log In” button
Entry Condition The user is not logged in and has a registered account
Exit Condition The user is logged in and taken to the home screen

Name Logout
Actor Admin , Librarian
Flow of events User clicks on ”Log Out” button
Entry Condition The user is logged in
Exit Condition The user is logged out and taken to the login screen

Name Update Profile


Actor Admin , Librarian
1. User selects ”Edit Profile” option
2. User makes desired changes to their profile informa-
Flow of events
tion
3. User clicks on ”Save” button
Entry Condition The user is logged in .
Exit Condition User’s profile information is updated and saved.
CHAPTER 3. PROPOSED SYSTEM 15

Name Maintain Book Records


Actor Admin , Librarian
1. Add Book: Admin/Librarian adds a new book to the
library’s collection by filling out the book’s information
in the system.
2.Remove Book: Admin/Librarian removes a book from
the library’s collection by deleting the book’s record from
Flow of events the system.
3. Update Book Info: Admin/Librarian updates a book’s
information in the system, such as the title, author, or
publisher.
4. Add Category/Sub Category: Admin/Librarian adds
a new book category to the system.
Entry Condition Admin/Librarian is logged in
The book records are updated in the system and the
Exit Condition Admin/Librarian can continue to manage the library’s
book collection.

Name Issue / Return Book


Actor Admin , Librarian, Member
1. The librarian or admin searches for the book in the
system
2. If the book is available, the librarian or admin pro-
cesses the borrowing or returning request
Flow of events
3. The system updates the book status accordingly
4. The librarian or admin provides the book to the mem-
ber (in the case of borrowing) or receives the book from
the member (in the case of returning)
1. A member requests to borrow or return a book
Entry Condition 2.The librarian or admin is logged in and has access to
the system
Exit Condition The book is successfully borrowed or returned.

Name Maintain Members


Actor Admin , Librarian
Admin/Librarian adds, removes or updates member in-
Flow of events
formation
Admin/Librarian is logged in and authorized to maintain
Entry Condition
member records
Member record is added, removed or updated in the sys-
Exit Condition
tem, and the Admin/Librarian is notified of the action.
CHAPTER 3. PROPOSED SYSTEM 16

3.4.3 Use case diagram

Figure 3.1: Use Case Diagram


CHAPTER 3. PROPOSED SYSTEM 17

3.4.4 Dynamic model

Sequence Model

Figure 3.2: Sequence Diagram

Statechart model

Figure 3.3: Statechart Diagram


CHAPTER 3. PROPOSED SYSTEM 18

3.4.5 Activity Diagram

Figure 3.4: Activity Diagram


CHAPTER 3. PROPOSED SYSTEM 19

3.4.6 User interface

Home Page

The Home page shows statistics of all the options for the system which includes Home,Category,Sub
Category,Books,Students,Borrowing Transaction,User etc. There will be a menu bar above,
which will show the options.

Menu Bar

Admin can be able to access all of the sections of menu-bar.But Librarian and other staffs
can’t access user section part. In this specific section , new user for the software can be added

Categories

In this section the books will arrange according to their category.The description and the date
from when the book has been added will be provided.Here will be the action part in which
the users can update,remove or view the books.Here Users can add the books by filling up
the information about the book and the searching option will also available in this page.

Subcategories

It will be same as categories page.The main deference is it will provide the information more
specific for the users.All the options which are available in the Categories page will also be
available in this page.

Books

In this section books will be displayed with their category/subcategory,title,id added date
,status, action etc.Book searching option will be available in this section.User can add new
book ,update the information ,remove and view the book.

Member

This section will provide the information of the library member.The information like name,ID,Added
date will be available.Users can add or remove the member if they want.There will be update
or view option for editing or viewing member’s information.Searching option will also available.
CHAPTER 3. PROPOSED SYSTEM 20

Transaction

In this section users can add the information of borrowing and returning book.Users will keep
the record of the members who will borrow or return the book with their name,id and the
book name which will be transacted.

Create New Account

Admin can only access this section.Admin can add new account.Other users (Librarian,Stuffs)
won’t have the access to create new account.

Software Interface

The project is a web based application. Hence it will need a working web browser and windows
OS. The app can be kept in the pc’s memory and can be runned locally.

Hardware Interface

The app will need the keyboard/mouse to interfere with the user.
Chapter 4

Supporting Information

As of this moment, we do not have any supporting information that needs to be documented.
If we face such an information, we will update it with the necessary information.

21

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy