You are on page 1of 17

BOOK SHOP AUTOMATION SYSTEM

Abhay Chaturvedi(Team Lead)


Abdul Noman Ansari
Harshit
Table of Contents
1. Introduction
 1.1 Purpose
 1.2 Scope
 1.3 Definitions, Acronyms, and Abbreviations
 1.4 References
 1.5 Overview
2. Functional Requirements
 2.1 User Management
 2.2 Inventory Management
 2.3 Sales Management
 2.4 Customer Management
 2.5 Reporting
 2.6 Search and Filter
 2.7 Order Management
3. Non-Functional Requirements
 3.1 Performance
 3.2 Security
 3.3 Reliability
 3.4 Scalability
 3.5 Usability
4. Constraints
 4.1 Technology Constraints
 4.2 Regulatory Constraints
5. Software Requirements
 5.1 Operating System
 5.2 Web Server
 5.3 Database Server
 5.4 Programming Languages and Frameworks
 5.5 Development Tools
6. Hardware Requirements
 6.1 Server Hardware
 6.2 Client Hardware
 6.3 Network Infrastructure
7. Appendices
 7.1 Glossary
 7.2 Use Case Diagrams
 7.3 Entity-Relationship Diagram
 7.4 Sequence Diagrams
 7.5 Wireframes or Mockups
1. Introduction:
1.1 Purpose
The purpose of this document is to provide a detailed description of the
requirements for the Book Shop Automation System. It outlines the
functional and non-functional requirements, constraints, and appendices
to guide the design, development, and implementation of the system.
1.2 Scope
The Book Shop Automation System aims to automate various processes
within a bookshop, including inventory management, sales tracking,
customer management, reporting, and more. The system will facilitate
efficient bookshop operations, enhance customer experience, and
improve business performance.
1.3 Definitions, Acronyms, and Abbreviations
 SRS: Software Requirements Specification
 CRUD: Create, Read, Update, Delete
 ERD: Entity-Relationship Diagram
 GUI: Graphical User Interface
 API: Application Programming Interface
 DBMS: Database Management System
1.4 References
 Book Shop Automation System Design Document
 User feedback and requirements
1.5 Overview
This SRS provides a comprehensive overview of the functional and non-
functional requirements of the Book Shop Automation System. It includes
detailed descriptions of system functionalities, constraints, and
appendices such as glossary, diagrams, and revision history.
2. Functional Requirements:
2.1 User Management:
The system shall support user authentication and authorization, allowing
administrators to manage user accounts effectively. Admin users shall
have the ability to add, modify, and delete user accounts as needed.
 The system shall provide a login interface for users to authenticate
themselves.
 Users shall have different roles (e.g., admin, staff) with specific
access permissions.
 Admin users shall be able to add new users, modify user roles, and
deactivate or delete user accounts.
2.2 Inventory Management:
The system shall maintain a centralized database of available books,
storing information such as title, author, ISBN, quantity, and price. Users
shall be able to perform CRUD operations on books, including adding new
books, updating existing ones, and removing books from inventory.
 Users shall be able to add new books to the inventory, providing
details such as title, author, ISBN, quantity, and price.
 The system shall allow users to update existing book information,
such as quantity and price.
 Users shall be able to remove books from inventory when they are
no longer available for sale.

Below is an Entity-Relationship Diagram (ERD) illustrating the relationships


between entities such as 'Book' and 'Inventory' for the Inventory
Management section of the Book Shop Automation System:
2.3 Sales Management:
Sales transactions shall be recorded in the system, capturing details such
as the date, time, book sold, quantity, and total amount. Users shall be
able to generate sales reports for specific time periods, facilitating
analysis and decision-making.
 The system shall record sales transactions in real-time, including
details such as book title, quantity sold, and total amount.
 Users shall be able to view sales history, filter sales data by date
range, and generate sales reports.
 The system shall calculate total sales revenue and provide insights
into popular books and sales trends.

Below is a text representation of a simple Use Case Diagram for Sales


Management in the Book Shop Automation System. This diagram provides
a more detailed breakdown of the actions each actor can perform within
the Book Shop Automation System.
2.4 Customer Management:
Customer information shall be stored in the system, including name,
contact details, and purchase history. Users shall have the ability to add
new customers, update existing customer information, and delete
customer records as necessary.
 Users shall be able to add new customers to the system, providing
details such as name, email, phone number, and address.
 The system shall maintain a purchase history for each customer,
recording details of their past transactions.
 Users shall be able to update customer information, such as contact
details or preferences, as needed.

Below is an Entity-Relationship Diagram (ERD) illustrating the relationships


between entities such as 'Customer' and 'Purchase History' for the
Customer Management section of the Book Shop Automation System:

2.5 Reporting:
The system shall generate various reports to provide insights into sales
performance, inventory status, and customer purchase history. Reports
shall be exportable in formats such as PDF or Excel for further analysis or
sharing.
 The system shall provide predefined report templates for common
use cases, such as sales summary and inventory status.
 Users shall be able to customize report parameters, such as date
range or data filters, to generate custom reports.
 Reports shall be exportable in formats such as PDF or Excel for easy
sharing and distribution.
Below is a Use Case Diagram with filled-in boxes, depicting how users
interact with the system to generate and export reports in the Book Shop
Automation System:

2.6 Search and Filter:


Users shall be able to search for books based on criteria such as title,
author, ISBN, or category. The system shall provide filtering options to
refine search results, enhancing the user experience and facilitating
efficient book discovery.
 The system shall provide a search interface for users to enter
keywords or criteria to find specific books.
 Users shall be able to filter search results by various attributes, such
as author, genre, or price range.
 The system shall display search results in a clear and organized
manner, with relevant book details and options for further actions.

Below is a simple flowchart demonstrating the process flow for searching


and filtering books based on different criteria in the Book Shop
Automation System:
2.7 Order Management:
Customers shall be able to place orders for books through the system,
which will be recorded and processed accordingly. Order status shall be
tracked, and users shall be notified of updates such as order confirmation,
shipment, and delivery.
 Customers shall have the ability to browse available books, add
them to a shopping cart, and proceed to checkout.
 The system shall record order details, including book titles,
quantities, prices, and customer information.
 Users shall be able to track order status and update customers on
order progress, including shipment and delivery updates.
Here's a simple activity diagram for the order management process:
3. Non-Functional Requirements:
3.1 Performance:
The system shall be capable of handling concurrent user access without
significant performance degradation. Response times for common
operations shall be within acceptable limits, ensuring a smooth user
experience.
 The system shall be designed to handle a minimum of 100
concurrent users without performance degradation.
 Response times for common operations, such as book search or
sales transaction processing, shall be less than 2 seconds.
 Performance testing shall be conducted regularly to identify and
address any performance bottlenecks.
3.2 Security:
User authentication shall be implemented securely using encryption
techniques to safeguard sensitive data. Access to confidential information
and critical operations shall be restricted based on user roles and
permissions.
 User passwords shall be stored securely using encryption algorithms
such as bcrypt.
 Access to sensitive data, such as customer information or sales
reports, shall be restricted based on user roles.
 The system shall implement HTTPS encryption for data transmission
to prevent unauthorized access or interception.
3.3 Reliability:
The system shall be highly available, with minimal downtime for
maintenance or upgrades. Data integrity shall be maintained through
regular backups and robust error handling mechanisms to prevent data
loss or corruption.
 The system shall have a minimum uptime of 99.9%, excluding
scheduled maintenance windows.
 Data backups shall be performed daily, with multiple backup copies
stored in geographically diverse locations.
 Error handling mechanisms shall be in place to detect and recover
from system failures gracefully without data loss.
3.4 Scalability:
The system architecture shall be designed to accommodate future growth
in terms of data volume and user load. Scalability measures shall be
implemented to ensure that additional hardware resources can be
seamlessly integrated to meet increasing demands.
 The system shall be designed using a scalable architecture, such as
microservices or serverless computing, to facilitate horizontal
scaling.
 Load balancing mechanisms shall be employed to distribute
incoming traffic evenly across multiple servers or instances.
 Monitoring tools shall be implemented to track system performance
and resource utilization, allowing for proactive scaling as needed.
3.5 Usability:
The user interface shall be intuitive and user-friendly, requiring minimal
training for new users to navigate the system effectively. Error messages
shall be clear and informative, guiding users to resolve issues efficiently.
 The system shall follow industry best practices for user interface
design, with a clean layout, consistent navigation, and intuitive
controls.
 Help documentation and tooltips shall be provided throughout the
system to assist users in performing tasks and understanding
features.
 Error messages shall be descriptive, indicating the nature of the
problem and providing guidance on how to resolve it.
4. Constraints:
4.1 Technology Constraints:
The system shall be developed using Java for backend logic and
HTML/CSS/JavaScript for frontend presentation. The database shall be
implemented using either MySQL or PostgreSQL to ensure compatibility
and scalability.
 Backend logic shall be implemented using Java, with Spring
Framework for dependency injection and MVC architecture.
 Frontend presentation shall be developed using HTML, CSS, and
JavaScript, with a responsive design for compatibility across devices.
 The database shall be implemented using MySQL or PostgreSQL,
with Hibernate ORM for object-relational mapping and database
connectivity.
4.2 Regulatory Constraints:
The system shall comply with relevant data protection regulations such as
GDPR or CCPA to ensure the privacy and security of user data. Payment
processing functionalities shall adhere to PCI-DSS standards for handling
credit card information securely.
 User data shall be stored and processed in compliance with data
protection regulations such as GDPR or CCPA, with explicit user
consent obtained for data collection and processing.
 Payment processing functionalities shall adhere to PCI-DSS
standards, with encryption and tokenization used to secure credit
card information during transmission and storage.
 The system shall provide mechanisms for users to view, update, or
delete their personal data in compliance with data protection
regulations.
5. Software Requirements:
5.1 Operating System:
 The system shall be compatible with Windows, macOS, and Linux
operating systems.
 Server-side components shall run on Linux-based servers for
optimal performance and stability.
5.2 Web Server:
 The system shall require a web server such as Apache Tomcat or
Nginx to host web applications and serve HTTP requests.
5.3 Database Server:
 The system shall support MySQL (version 5.7 or higher) or
PostgreSQL (version 9.6 or higher) as the backend database
management system (DBMS).
 Database servers shall be deployed on separate machines for
scalability and performance optimization in production
environments.
5.4 Programming Languages and Frameworks:
 Backend logic shall be implemented using Java programming
language, with Spring Framework for dependency injection and
MVC architecture.
 Frontend presentation shall be developed using HTML5, CSS3, and
JavaScript, with frameworks such as Angular or React for building
responsive user interfaces.
5.5 Development Tools:
 Integrated Development Environments (IDEs) such as IntelliJ IDEA or
Eclipse shall be used for software development and debugging.
 Version control systems such as Git shall be used for collaborative
development and code management.
 Continuous Integration (CI) tools such as Jenkins or Travis CI shall be
used for automated build and deployment processes.
6. Hardware Requirements:
6.1 Server Hardware:
 Minimum:
 CPU: Intel Core i5 or equivalent
 RAM: 8GB
 Storage: 100GB HDD/SSD
 Recommended:
 CPU: Intel Xeon or equivalent
 RAM: 16GB or higher
 Storage: 500GB SSD or higher
6.2 Client Hardware:
 Minimum:
 CPU: Intel Core i3 or equivalent
 RAM: 4GB
 Storage: 128GB HDD/SSD
 Recommended:
 CPU: Intel Core i5 or higher
 RAM: 8GB or higher
 Storage: 256GB SSD or higher
6.3 Network Infrastructure:
 High-speed internet connectivity shall be required for accessing
cloud-based services, updates, and data synchronization.
 Local area network (LAN) infrastructure shall be necessary for
internal communication between servers, clients, and network
devices.

7. Appendices:
 Glossary: Provides definitions for terms used throughout the
document to ensure clarity and mutual understanding.
 Use Case Diagrams: Visual representations of user interactions with
the system for various functional areas, aiding in the
comprehension of system behaviour.
 Entity-Relationship Diagram: Illustrates the relationships between
different entities in the system's database schema, guiding database
design and implementation.
 Sequence Diagrams: Illustrate the flow of interactions between
system components or actors in response to specific user actions or
events, helping to clarify the system's behaviour during runtime.
 Wireframes or Mock-ups: Visual representations of the user
interface design, depicting layout, navigation, and interaction
elements to provide stakeholders with a preview of the system's
appearance and functionality.

You might also like