Inventory Management System (Lab3) (11)

You might also like

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

Inventory Management System

1. Problem Description

An Inventory Management System (IMS) is required for a retail store to efficiently track, manage,

and control its inventory. The system aims to optimize inventory levels, reduce stockouts, prevent

overstock situations, and streamline inventory-related operations.

We need to create an inventory management system for tracking stock levels, managing product

information, and processing orders for businesses. Include features such as barcode scanning, supplier

management, inventory forecasting, reporting to optimize inventory control and streamline business

operations.

The Inventory Management System will be designed as a web-based platform accessible to

businesses of various sizes and industries. It will enable users to track inventory levels in real-time,

manage product data and suppliers, automate order processing, and generate reports for informed

decision-making.

2
2. Functional Requirements

▪ Enable users to create accounts and log in securely with unique credentials.

▪ The system should support different user roles such as admins, managers, and warehouse staff.

▪ User permissions should be configurable to control access to specific features and data.

▪ Enable users to add, edit, and delete product information such (Product Name, Description, SKU,

Price, and Quantity).

▪ Products should be categorizable and searchable for easy navigation.

▪ Enable users to upload images and attach documents (e.g., specifications, manuals) to product

records.

▪ The system should track inventory levels in real-time and update quantities automatically as

products are received, sold, or returned.

▪ Enable users to perform inventory counts and reconcile discrepancies between physical counts and

recorded quantities.

▪ Low stock alerts should be triggered when inventory levels fall below predefined thresholds.

▪ The system should support barcode scanning.

▪ Enable users to scan barcodes to add products to orders, update inventory levels, and perform stock

checks.

▪ Barcode labels should be printable from the system to facilitate labeling of products and bins.

▪ Enable users to manage supplier information, including contact details, pricing agreements, and

lead times.

▪ The system should track supplier performance metrics such as on-time delivery rates and product

quality.

▪ Enable users to generate purchase orders directly from supplier records and track order statuses.

▪ The system should support the creation and processing of purchase orders, sales orders, and

transfer orders between locations.

3
▪ Enable users to generate invoices, packing slips, and shipping labels for outgoing orders.

▪ Order statuses should be updated automatically as orders are fulfilled and shipped.

▪ The system should analyze historical sales data and inventory trends to forecast future demand.

▪ Enable users to generate inventory forecasts for individual products or product categories.

▪ Forecast accuracy should be continuously evaluated and adjusted based on actual sales data.

3. Non-Functional Requirements

▪ Performance: The system should be scalable and have fast response times and smooth

performance.

▪ Security: User data and sensitive information must be encrypted and securely stored. The system

should implement access controls to ensure that only authorized users can modify inventory data.

▪ Usability: user interface should be user-friendly, with clear navigation and easy access to key

features.

▪ Platform: Web-Based Platform using web languages such as HTML, CSS, JavaScript, and a

backend programming language (e.g., Python, Ruby).

4
4. Use Case Model

There are eight actors, the Admin, Product Manager, Inventory Manager, Warehouse (Supplier),
Order Processing Staff, Developers, Testers, and IT Support Team.

1. The Admin can create accounts, upload images (attach documents), manage system and manage

all users.

2. The Product Manager can manage product info (add, delete, update).

3. The Inventory Manager can track inventory levels (inventory counts), manage stock. manage staff,

scan barcodes, and generate reports.

4. The Warehouse (Supplier) can deliver orders, create invoices, and receive returns.

5. The IT Support Team can provide technical support and ensure performance and Security.

6. The Order Processing Staff can handle orders (create, process, fulfill).

7. The Testers can ensure system quality.

8. The Developers can build the system.

5
Figure 1: Inventory Management System Use Case Model

6
Use Case Name: Create Accounts
Create Accounts Summary: The admin creates accounts for users.
Use Case
Actor: Admin
Pre-Condition: The system is operational and accessible.

Main Sequence:

1. The admin accesses the registration form provided by the system.


2. The registration form will include fields for username, email address, password, and some other
required information.
3. The admin will fill required info (username, email address, password, etc.) into the registration
form.
4. The system will validate the entered information to ensure it meets the required criteria.
5. If the entered information passes validation, the system creates a new account for the user.
6. The system stores the user’s information in the database, associating it with a unique identifier
(e.g., user ID).
7. The system confirms successful account creation to the user, typically by displaying a success
message or redirecting them to a confirmation page.

Alternative Sequences:

Step 3: If the entered information is invalid or misses required fields, the system prompts them to
correct the errors and resubmit the form.

Step 4: If the entered username or email address already exists in the system, the system informs the
user to choose a different one.

Step 4: If the system encounters a technical issue during account creation (e.g., database error), it
informs the user to try again later or contacts support for assistance.

Post-Condition: The user's account is successfully created and stored in the system's database.

7
Use Case Name: Manage Product Information.
Manage Product
Information Summary: The product manager manages product information.

Use Case Actor: Product Manager


Pre-Condition: The product manager has permission to access and manage
product information.
The system is operational and accessible.
Main Sequence:

1. The product manager accesses the product management section of the system.
2. The system displays a list of existing products with details such as name, description, SKU, price,
and quantity.
3. If the product manager wants to add a new product, he will select the option to add a new product.
4. The system presents a form to enter details for the new product, including name, description,
category, price, and initial quantity.
5. The product manager fills in the required information and submits the form.
6. The system validates the entered data and creates a new product entry in the database.
7. If the product manager wants to modify product, he will select the desired product from the list.
8. The system displays a form pre-filled with the current details of the selected product.
9. The product manager makes the desired changes to the product information (e.g., price, quantity,
description) and submits the form.
10. The system updates the product information in the database.
11. If the product manager wants to delete a product, he will select the desired product from the list.
12. The system prompts the product manager to confirm the deletion.
13. Upon confirmation, the system deletes the selected product from the database.

Alternative Sequences:

Step 6/ Step9: If the product manager enters invalid information while adding or editing a product,
the system prompts him to correct the errors before proceeding.

Step 6/ Step9: If the system encounters technical issues during product management operations (e.g.,
database error), it notifies the product manager and prompts him to try again later or contact support
for assistance.

Post-Condition: The product manager successfully manages product information, including adding,
editing, and deleting products as needed.

8
Use Case Name: Handle Orders.
Handle Orders Summary: The order processing staff handle orders.
Use Case
Actor: Order Processing Staff
Pre-Condition: The order processing staff have permission to access and
handle orders.
The system is operational and accessible.
Main Sequence:

1. The order processing staff access the order management section of the system.
2. The system provides an option to create a new order.
3. The order processing staff enter order details.
4. The system validates the entered information and generates a unique order ID for the new order.
5. After creating the new order, the system will check the availability of each product in the inventory
to ensure that enough are in stock to fulfill the order.
6. If all products are available, the order processing staff confirm product availability and proceeds.
7. The system updates the order status to "In Progress" and deducts the sold quantities of products
from the inventory.
8. Once the order is processed and products are available, the order processing staff prepare the
products for shipment or pickup, ensuring proper packaging and labeling.
9. The system updates the order status to "Completed" or "Shipped," indicating that the order has
been fulfilled and is ready for delivery.

Alternative Sequences:

Step 6: If any product in the order is unavailable or has insufficient quantity: The order processing
staff contact the customer to discuss alternatives.

Step 8: If the customer cancels the order before it is processed, the order processing staff update the
order status to "Cancelled" and restocks any deducted quantities of products back into the inventory.

Post-Condition: The order processing staff successfully handle the new order, from creation to
processing and fulfillment.

9
Use Case Name: Generate Reports.
Generate Reports Summary: The inventory manager generates reports.
Use Case Actor: Inventory Manager
Pre-Condition: The inventory manager has permission to access & generate
reports.
The system is operational and accessible.
Relevant data is available in the system's database for report generation.
Main Sequence:

1. The inventory manager accesses the reporting module of the Inventory Management System.
2. The inventory manager selects the type of desired report to generate from the available options.
3. Depending on the selected report type, the inventory manager sets parameters such as: date range,
products, categories, or locations to include in the report.
4. After setting the parameters, the inventory manager initiates the report generation process.
5. The system retrieves relevant data from the database based on the specified parameters.
6. Once the report is generated, the inventory manager reviews the report to ensure that it meets their
requirements and expectations.
7. The inventory manager may analyze the data presented in the report, identify trends, and draw
insights to inform decision-making.
8. The inventory manager can export the report to various formats such as PDF, Excel, or CSV for
further analysis or sharing with stakeholders.

Alternative Sequences:

Step 4: If the inventory manager requires a customized report that is not available as predefined
options, he may request assistance from the admin or IT support team to create a custom report.

Step 5: If the report data is outdated or needs to be refreshed, the inventory manager can trigger a data
refresh to ensure that the report reflects the latest information from the system's database.

Post-Condition: The inventory manager successfully generates the desired report from the Inventory
Management System, providing valuable insights into inventory status, sales performance, revenue
trends, or other relevant metrics.

10

You might also like