0% found this document useful (0 votes)
5 views17 pages

SDD of Bakery Managment System

The Software Design Document (SDD) outlines the design for a Bakery Product Management System, detailing its architecture, component design, and user interface to enhance bakery operations. Key functionalities include product and order management, inventory tracking, financial reporting, and role-based access. The system employs a 3-tier architecture using ReactJS, Django Rest Framework, and PostgreSQL to ensure efficient management and integration with existing systems.

Uploaded by

Uzair Habib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views17 pages

SDD of Bakery Managment System

The Software Design Document (SDD) outlines the design for a Bakery Product Management System, detailing its architecture, component design, and user interface to enhance bakery operations. Key functionalities include product and order management, inventory tracking, financial reporting, and role-based access. The system employs a 3-tier architecture using ReactJS, Django Rest Framework, and PostgreSQL to ensure efficient management and integration with existing systems.

Uploaded by

Uzair Habib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Page 1 of 21

The Islamia University of Bahawalpur


Department of Software Engineering
Faculty of Computing

SOFTWARE Design Document (SDD)

for

Bakery Product Management System

By

Student Name: Ayaz Maqsood

Roll No: F21BSEEN1E02161

Student Name: Ch Ali Hassan

Roll No: F21BSEEN1E02162

Section: Evening 1st

Session: Fall 2021 – 2025

Supervisor: Muhammad Nabeel Sarwar


Bachelor of Science in Software Engineering

December 15, 2024


Page 2

Revision History

Date Description Author Comments

20/10/2024 Bakery Product Ayaz Maqsood First Name Selection


Management Ch Ali Hassan
System

Document Approval

The following Software Requirement Specification (SRS) has been accepted and approved by the
following:

Signature Printed Name Title Date

. Supervisor, SENG-4301 <date>

December 15, 2024


Page 3

Table of Contents
1. Introduction
1.1. Purpose
1.2. Scope
1.3. Overview
1.4. Reference Material
1.5. Definitions and Acronyms
2. System Overview
3. System Architecture
3.1. Architectural Design
3.2. Decomposition Description
3.3. Design Rationale
4. Data Design
4.1. Data Description
4.2. Data Dictionary
5. Component Design
6. Human Interface Design
6.1. Overview of User Interface
6.2. Screen Images
6.3. Screen Objects and Actions
7. Requirements Matrix
8. Appendices

December 15, 2024


Page 4

1. Introduction

1.1 Purpose
This document provides a detailed design for the Bakery Product Management System. It includes
architectural designs, component descriptions, user interface layouts, and database structures to meet
the requirements outlined in the SRS. This system focuses on improving bakery operations by
managing products, inventory, orders, and financial reports.

1.2 Scope
The system will provide the following functionalities:
1. Product Management : Add, edit, delete, and automatically expire products.
2. Order Management : Process orders (online and offline).
3. Inventory Tracking : Manage raw material and finished goods stock.
4. Financial Reporting : Generate sales and profit reports.
5. Role-Based Access : Secure user roles with access controls for admins and employees.

1.3 Overview
This SDD includes:
1. System Architecture: A 3-tier architecture with ReactJS, Django Rest Framework, and SQL.
2. Component Design: Frontend, backend, and database modules.
3. Human Interface Design: Mock screen layouts for user interaction.
4. Data Design: Relational database structure and flow.

1.4 Reference Material


- ReactJS Documentation: [https://reactjs.org](https://reactjs.org)
- Django Documentation: [https://www.djangoproject.com](https://www.djangoproject.com)
- PostgreSQL Documentation: [https://www.postgresql.org](https://www.postgresql.org)

1.5 Definitions and Acronyms

December 15, 2024


Page 5

- CRUD : Create, Read, Update, Delete.


- UI : User Interface.
- POS : Point of Sale.
- API : Application Programming Interface.
- JWT : JSON Web Token.

2. System Overview

The Bakery Product Management System is a web-based application designed to:


- Enable bakery owners to manage products and inventory efficiently.
- Automate product expiration.
- Improve decision-making through analytics and reports.
- Provide seamless integration with POS and accounting systems.
1. Product and Inventory Management

• Centralized Database: The BPMS is a central hub for all product information. This includes:

• Product names, descriptions, and images

• Ingredients and their quantities

• Production costs (labor, raw materials)

• Selling prices

• Stock levels (quantity on hand, reorder points)

• Expiration dates

• Inventory Tracking:

• Real-time updates on stock levels: Automatic adjustments for sales, purchases, and
wastage.

• Low stock alerts: Notifications to prevent stockouts and ensure timely replenishment.

• FIFO (First-In, First-Out) tracking: Helps manage inventory efficiently and minimize
spoilage.

• Batch Management: Track individual batches of products with their own production dates
and expiration times. This allows for better control over quality and reduces the risk of
expired goods.
2. Automated Product Expiration

December 15, 2024


Page 6

• Expiration Date Tracking: The BPMS automatically tracks the expiration dates of all
products.

• Automated Alerts: System generates alerts for:

• Products nearing expiration

• Expired products

• Potential spoilage

• Reduced Wastage: Timely alerts help prevent the sale of expired goods, minimizing losses
and maintaining customer trust.
3. Analytics and Reporting

• Sales Analysis:

• Track sales trends over time (daily, weekly, monthly)

• Identify best-selling and slow-moving products

• Analyze customer buying patterns

• Inventory Reports:

• Generate reports on stock levels, inventory value, and usage trends

• Track product wastage and identify areas for improvement

• Cost Analysis:

• Calculate production costs and track profitability for each product

• Identify areas for cost reduction


4. Integration with Other Systems

• Point of Sale (POS) Integration: Seamlessly integrate with existing POS systems.

• Real-time updates on inventory levels after each sale.

• Automatic generation of sales orders.

• Accounting Integration: Integrate with accounting software for:

• Automated recording of sales and purchases.

• Accurate tracking of inventory costs.

• Generation of financial reports.

December 15, 2024


Page 7

Benefits of using a BPMS

• Increased Efficiency: Streamlined inventory management, reduced manual data entry, and
automated tasks.

• Reduced Costs: Minimized wastage, optimized production, and improved cost control.

• Improved Decision-Making: Data-driven insights to make informed business decisions.

• Enhanced Customer Satisfaction: Consistent product quality and availability.

• Improved Profitability: Increased sales, reduced costs, and improved overall business
performance.

3. System Architecture

3.1 Architectural Design


The system is based on a 3-tier architecture :
1. Presentation Layer (Frontend) :
- ReactJS: A responsive, dynamic UI.
- Axios: Facilitates communication with the backend.
2. Application Layer (Backend) :
- Django Rest Framework: Handles business logic and API requests.
- Celery: Executes background tasks (e.g., product expiration checks).
3. Data Layer (Database) :
- PostgreSQL: Stores relational data.
- Redis: Acts as a broker for Celery tasks.

3.2 Decomposition Description

Frontend Components :
- Product Catalog: Displays product details and actions (add/edit/delete).
- AdminDashboard: Provides a comprehensive view of system status (e.g., inventory, sales).

Backend Services :

December 15, 2024


Page 8

- Product Service: Handles CRUD operations and expiry notifications.


- User Service: Manages authentication and roles.

Database :
- Structured tables with indexing and foreign key relationships.

3.3 Design Rationale


- Modularity : Separates concerns for scalability and maintainability.
- Efficiency : Handles concurrent tasks with Celery and Redis.
- Security : Uses JWT-based authentication.

4. Data Design

4.1 Data Description


The database includes:
- Products :
- Fields: id, name, description, price, expiry_date, status.
- Users :
- Fields: id, name, email, role.
- Orders :
- Fields: id, product_id, customer_name, quantity, status.

December 15, 2024


Page 9

4.2 Data Dictionary

Table Name Column Type Description


Products id Integer Primary key.
name String Product name.
expiry_date Date Expiry date of the product.
Orders id Integer Primary key.
customer_name String Customer placing the order.
Users role String Role of the user (admin/employee).

5. Component Design

Frontend
- Components :
- ProductCatalog: Displays product list, forms for adding/editing products.
- OrderForm: Manages order placement.
- Actions :
- Add, Edit, Delete buttons trigger modals or forms.
- Real-time stock status alerts.

Backend
- Services :
- ProductService: Implements logic for CRUD operations.
- OrderService: Processes order requests and maintains statuses.
- Endpoints :
- /api/products/ (GET, POST, PUT, DELETE).
- /api/orders/ (POST, GET).

Database
- Design : Normalized structure with indexed tables.

December 15, 2024


Page 10

- Key Relationships :
- Products → Orders (one-to-many).

6. Human Interface Design

6.1 Overview of User Interface

The UI is simple and modern, focusing on ease of use:


- Admins have access to all features (products, users, orders).
- Employees access specific features based on their roles.

6.2 Screen Images


Here are mockup descriptions and generated images:

December 15, 2024


Page 11

December 15, 2024


Page 12

7. Requirements Matrix

Requirement ID Requirement Design Component


1 Manage Products (CRUD) ProductCatalog Component
2 Automated Expiry Notifications Celery Task Scheduler
3 Order Processing OrderForm Component
4 Role-Based Access Authentication Module

8. Appendices

Appendix A: Sequence Diagram


Use Case: Adding a Product
1. User fills out a form and submits it.
2. The system validates the data.
3. The product is saved in the database.

December 15, 2024


Page 13

Appendix B: Data Flow Diagram


Product Expiry Automation :
1. Celery identifies expired products.
2. Database updates the product status.
3. Frontend reflects the changes.

December 15, 2024


Page 14

Data Flow Diagram

Level 0_DFD

LEVEL 1_ADMIN

December 15, 2024


Page 15

LEVEL 2_USER

December 15, 2024


Page 16

UML DIAGRAM

December 15, 2024


Page 17

State-Transition Diagrams (STD)


- Product status transition from active to expired.

December 15, 2024

You might also like