Registration No: SWEN242101031
Submitted By: Umer Asghar
Submitted To: Engr. Zahid Muneer
PBL Statement for Utility Store Management System
Objective:
The objective of this project is to develop a Utility Store Management System (USMS) that
efficiently manages inventory, sales transactions, and customer interactions within utility stores.
This system aims to streamline operations, enhance user experience, and provide comprehensive
reporting functionalities.
Instructions to Solve:
Define Classes:
Product: Represents items available in the store.
Attributes: `product ID`, `name`, `price`, `quantity`, `description`.
Customer: Represents users purchasing products.
Attributes: `customer ID`, `name`, `email`, `phone Number`.
Transaction: Represents sales transactions.
Attributes: `transaction ID`, `customer ID`, `product List`, `total Amount`.
Inventory: Manages the list of products.
Attributes: `products` (using std::vector or std::list).
Implement Data Types:
Use appropriate data types for attributes and methods:
Std::string for text-based attributes (e.g., names, descriptions).
int for numeric identifiers (e.g., product ID, customer ID).
double for monetary values (e.g., price, total Amount).
std::vector<Product> or std::list<Product> to manage maintenance records and
product inventory.
Control Structures (if-else):
Implement if-else logic in the user interface to manage different commands such as:
Adding a product
Processing a sale
Viewing inventory
Handling user login and registration
Utilize Loops:
Use loops for various functionalities:
While Loop: For the main program loop that processes user commands until the user
chooses to exit.
For Loop: To iterate over maintenance records or inventory items.
Define Functions:
Create functions for each functionality within the system:
addProduct(): To add a new product to the inventory.
processSale(): To handle sales transactions.
viewInventory(): To display available products.
validateInput(): To ensure that user inputs are correct and handle errors gracefully.
Inheritance and Polymorphism:
Utilize inheritance to create a base class for general store items and derived classes for specific
types of products if needed. Implement polymorphic behavior in functions that may need to
handle different types of products differently.
User Interface:
Design a simple console-based user interface that guides users through various operations such
as adding a vehicle or entering maintenance details. Ensure that all user inputs are validated
before processing.
Testing and Validation:
Implement a testing strategy that includes unit tests for individual functions, integration tests for
combined functionalities, and user acceptance testing to validate that the system meets user
requirements.
This PBL statement provides a structured approach to developing the Utility Store Management
System, ensuring clarity in design and implementation while addressing key functionalities and
requirements.
Institute of Computer and Software Engineering
Task
Program: BS Software Engineering
Course Title: Software Requirement Engineering
Course Code: (SWEN-2113)
Problem Statement:
A Utility Store Management System streamlines inventory, sales, and customer
management by automating processes, reducing errors, and enhancing efficiency. It
provides real-time tracking, analytics, and a user-friendly interface to optimize store
operations and improve customer satisfaction.
Submitted to: Engr. Zahid Munir
Rubric Based Evaluation
SWEN242101031
Problem Identification
Research & Analysis
Collaboration &
Communication
Problem Solving &
Creativity
Solution
Implementation
Total
Instructor Signature
Group Members
Sr.No Reg. No Name
1 SWEN242101031 UMER ASGHAR
2
3
4
Software Requirement Specifications (SRS) For
Store Management System
1. Introduction
1.1 Purpose of the Document
This document serves as the Software Requirements Specification (SRS) for the Utility
Store Management System (USMS). It provides detailed descriptions of the functionalities,
design constraints, and system requirements to guide developers and validate system
capabilities for stakeholders.
1.2 Scope of the System
The USMS is a web-based system designed to streamline utility store operations by
automating inventory management, sales processes, and customer interactions. It will
enhance operational efficiency, ensure accurate reporting, and improve customer
satisfaction.
1.3 Definitions, Acronyms, and Abbreviations
SMS: Store Management System
SRS: Software Requirement Specification
GUI: Graphical User Interface
Admin: System Administrator
Customer: End-user purchasing products from the utility store
1.4 References
ISO/IEC 25010 Software Quality Standards.
Industry best practices in e-commerce application design.
Comparative analysis of retail management software.
2. Overall Description
2.1 Product Perspective
The USMS integrates seamlessly with existing inventory systems to support utility stores.
It is a web application accessible via modern web browsers and supports various
operational activities including inventory and sales management.
2.2 Product Functions
Product Management: Track stock levels, update product details, and manage
supplier data.
Order Processing: Process customer transactions, manage carts, and handle
payments.
User Management: Register users, manage roles, and control access.
Reporting: Generate inventory, sales, and activity reports for decision-making.
2.3 User Classes and Characteristics
Administrators: Manage all system-level configurations and data.
Store Managers: Monitor operations and generate insights.
Customers: Browse products and make purchases.
3. Specific Requirements
3.1 External Interface Requirements
User Interface: Responsive and intuitive GUI accessible via web browsers.
Hardware Interfaces: Support for barcode scanners, receipt printers, and POS
devices.
Software Interfaces: Integration with third-party payment gateways and inventory
systems.
3.2 Functional Requirements
User Registration/Login:
o New users can register with required credentials.
o Registered users can log in securely.
Product Management:
o Admins can add, edit, and delete products.
o Customers can browse and view product details.
Shopping Cart:
o Customers can add/remove products and view cart contents.
o Customers can proceed to checkout for payment.
Payment:
o Support for credit/debit cards and cash payments.
3.3 Performance Requirements
Concurrent Users: Must handle up to 100 concurrent users.
Response Time: Actions should respond within 2 seconds under standard load.
3.4 Design Constraints
Security: Follow OWASP guidelines for secure coding.
Compliance: Ensure adherence to local e-commerce regulations.
4. Appendices
4.1 Glossary of Terms
Inventory: The total stock of items available for sale.
POS: Devices or software systems used for completing sales transactions.
E-commerce: Online buying and selling of goods and services.
5. System Design Specification:
5.1 Architecture Design:
5.1.1 Data Flow Diagram (DFD):
It is a way of representing system requirements in graphical form; this led to
modular design. A DFD describes a data flow (logical) rather than how they
are processed. So they do not depend upon
Software, hardware, data structure or file organization .It is also known as
‘bubble sort’.
A DFD is a structured analysis and a design tool that can be used for
flowcharting in place of, or in association with, information-oriented and
process oriented system flowcharts.
A DFD is considered as an abstract of the logic of information-oriented or
process-oriented system flowchart. The four basic symbols used to construct
data flow diagrams are:
A rectangle represents a data source or destination.
A directed line represents flow of data.
An Oval represents a process that transforms into streams.
An Open ended rectangle represents storage.
The points at which data is transformed are called as nodes. The principle processes that
take place at nodes are:
1. Combining data streams
2. Splitting data streams
3. Modifying data streams
Context Analysis Diagram-Store Management System
One Level DFD- Store Management System
Two Level DFD- Store Management System
Entity Relation Diagram- Store Management System
Sequence Diagram For Store Management System