Software Engineering
Assignment
Project: Store Management System
1. Introduction
In today’s competitive retail environment, store operations must be efficient,
accurate, and reliable to ensure profitability and customer satisfaction. Manual
processes such as writing bills, recording inventory in registers, and preparing reports
are not only time-consuming but also highly error-prone.
Our project, the Store Management System (SMS), is designed to automate and
streamline the internal operations of a retail store. It covers billing, inventory
control, supplier management, and sales reporting in a structured way.
This system serves three key stakeholders:
1: Cashier: Responsible for handling billing and receipt generation.
2: Manager: Maintains inventory, manages suppliers, and ensures product
availability.
3: Administrator: Oversees the system as a whole, generating reports and
monitoring employee performance.
The objective of this project is to provide a scalable, secure, and user-friendly
system that minimizes errors, reduces workload, and improves decision-making for
store operations.
2. Selected Process Model
Chosen Model: Incremental Model
The Incremental Model is a process model in which the system is built and
delivered in multiple smaller parts (increments). Instead of developing the entire
system in one go, development is divided into phases, where each increment adds
new functionality to the system.
For example, in our Store Management System:
1: The first increment focuses only on billing.
2: The second increment introduces inventory management.
3: The third increment covers supplier information.
4: The fourth increment finalizes reporting and analytics.
Why Incremental Model for SMS?
1: Practical Early Delivery: The store can start using the system (billing module)
before the entire project is finished.
2: Risk Reduction: Issues are discovered and resolved in smaller increments instead
of at the end.
3: Flexibility: If the store requests new features (e.g., barcode scanning, discounts),
these can be added in later increments.
4: Improved Testing: Each increment can be tested independently, ensuring a more
stable and bug-free system.
4: Better Feedback Loop: Store staff can use each increment and suggest
improvements before the final version is ready.
Increment Planning for SMS:
Increment 1: Billing & Receipt Generation.
Increment 2: Inventory Management & Stock Updates.
Increment 3: Supplier Records & Reordering.
Increment 4: Sales Reports, Analytics & Employee Role Management.
This incremental approach allows us to deliver value progressively and ensures the
system grows in a structured, maintainable way.
3. Requirements
3.1 Functional Requirements
Cashier Functions:
1. Log in with cashier credentials.
2. Enter or scan product codes.
3. Generate bills including taxes and discounts.
4. Print or email receipts for customers.
Manager Functions:
1. Add, update, and remove product details.
2. Monitor stock levels with automatic low-stock alerts.
3. Record supplier details (name, contact, supply history).
4. Generate restock requests when items run out.
Administrator Functions:
1. Generate and export sales reports (daily, weekly, monthly).
2. Analyze revenue and identify top-selling products.
3. Manage employee accounts and system roles (Cashier, Manager).
4. Monitor the overall performance of the system.
3.2 Non-Functional Requirements
Performance: System must process billing transactions within 2–3 seconds.
Reliability: Database must prevent duplicate transactions and ensure data
integrity.
Security:
Passwords must be encrypted.
Role-based access must be enforced.
Sensitive data (sales, supplier info) must be protected.
Usability: User interface should be simple enough for non-technical staff.
Scalability: System should support multiple billing counters in the future.
Maintainability: Modules should be designed in a way that new features can
be added with minimal code changes.
Availability: Must work reliably during all store working hours.
3.3 Domain Requirements
System must comply with local taxation laws (GST, VAT, or equivalent).
All receipts must include legal information such as store name, tax ID, and
timestamp.
System must support barcode scanners to ensure fast and accurate billing.
Inventory must update in real-time after each sale.
Daily data backup must be maintained to prevent loss.
4. Use Case Diagram
📌 Actors:
Cashier – Generates bills and receipts.
Manager – Manages stock and suppliers.
Administrator – Generates reports and oversees employees.
📌 Key Use Cases:
Cashier: Generate Bill, Print Receipt.
Manager: Add/Update Products, Manage Stock, Record Supplier Info.
Administrator: Generate Reports, Manage Users.
5. Use Case Description Example
Billing Use Case (Increment 1)
Actor: Cashier
Precondition: Cashier is logged in.
Main Flow:
1. Customer presents items at checkout.
2. Cashier scans barcodes or enters product codes.
3. System retrieves product name, price, and tax.
4. Discounts (if any) are applied.
5. Customer pays, and receipt is generated.
6. Inventory automatically reduces the sold quantity.
Postcondition: Transaction saved in database; stock updated.
Exception Flow:
1) Invalid product code → Error message displayed.
2) Payment fails → Transaction canceled or retried.
6. Development Flow with Incremental
Model
Increment 1 (Billing & Receipt):
Cashier login.
Billing module.
Receipt printing.
Increment 2 (Inventory Management):
Add/update/delete products.
Real-time stock updates.
Low stock alerts.
Increment 3 (Supplier Management):
Maintain supplier details.
Generate restock requests.
Increment 4 (Reports & Admin):
Generate and export sales reports.
Analyze performance.
Manage user roles.
7. Conclusion
The Store Management System (SMS) provides a comprehensive solution for
retail store operations by automating billing, inventory tracking, supplier
management, and reporting.
By adopting the Incremental Model, the development is carried out in well-defined
phases, ensuring:
Early delivery of a usable system.
Reduced risks by testing and refining each increment.
Flexibility to add new features as requirements evolve.
Better user feedback, since staff can test each module progressively.
This approach guarantees that the final system is robust, user-friendly, and aligned
with business needs, making it a practical and effective tool for modern store
management.