0% found this document useful (0 votes)
3 views8 pages

Complex Computing Problem Ibad

The document outlines a project report for a backend simulation of an E-Commerce Order Processing System, designed using core data structures in Java. It details the system's objectives, scope, problem statement, and implementation of user management, order processing, inventory management, product recommendations, and invoice generation. The project aims to enhance understanding of data structures while fulfilling complex problem-solving requirements.

Uploaded by

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

Complex Computing Problem Ibad

The document outlines a project report for a backend simulation of an E-Commerce Order Processing System, designed using core data structures in Java. It details the system's objectives, scope, problem statement, and implementation of user management, order processing, inventory management, product recommendations, and invoice generation. The project aims to enhance understanding of data structures while fulfilling complex problem-solving requirements.

Uploaded by

Izma Amin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Complex Computing Problem (CCP) Report

E-Commerce Order Processing System


Group Members: Ibad Farooqui(70339) Izma Amin(70332) Maham Khalid()

Program: BS (Cyber)
Course: Data Structures & Algorithms
CLO: CLO-3
Mapped SDG: Complex Problem Solving
Project Type: Backend Simulation
Language: Java

1. Objective
The objective of this project is to design and implement a backend simulation
of a simplified E-Commerce Order Processing System using core data
structures. The system demonstrates how different data structures work
together to manage users, products, orders, recommendations, and invoice
generation efficiently.

This project aims to strengthen understanding of arrays, queues, linked


lists, binary search trees, and graphs by applying them to a real-world
inspired problem. The system processes user requests sequentially, manages
inventory dynamically, and generates invoices by mapping users to their
respective orders.

2. Scope
In Scope

 User account management

 Product inventory handling

 Order placement and processing

 Product recommendation logic


 Invoice generation

 Data structure–based backend simulation

Out of Scope

 Graphical user interface (GUI)

 Online payment systems

 Database integration

 Real-time networking

The system is entirely memory-based and intended for academic


learning purposes.

3. Problem Statement
Design a backend simulation of a simplified e-commerce order processing
system that handles user management, product catalog, order processing,
and invoice generation using core data structures.

The system must implement the following operations:

 User accounts stored using an Array

 Pending orders handled using a Queue

 Inventory management using a Linked List

 Product recommendations using a Binary Search Tree (BST)

 Order-user mapping and invoice generation using a Graph

4. System Description
The system is designed using a modular Java structure, where each
module represents a core data structure. The logic of the provided code is
preserved, while the structure is organized to clearly reflect DSA concepts.

4.1 User Management (Array)


User accounts are stored in a fixed-size or dynamically managed array
structure. Each user is identified using a unique ID and name. The array
allows:

 Fast indexed access

 Efficient storage of registered users

 Easy removal and update operations

4.2 Order Processing (Queue)


Orders are processed using a queue to ensure First-In-First-Out (FIFO)
behavior. This guarantees fair and sequential handling of user orders. Each
placed order is enqueued and processed in the order it was received.

4.3 Inventory Management (Linked List)


The product inventory is managed using a linked list. This structure allows:

 Dynamic insertion of products

 Efficient traversal

 Flexible memory usage without resizing

Each node represents a product containing ID, name, and price.

4.4 Product Recommendation (Binary Search


Tree)
A Binary Search Tree (BST) is used to recommend and display products.
Products are inserted based on ID or price, enabling:

 In-order traversal for sorted display

 Efficient searching

 Logical recommendation based on traversal results


4.5 Invoice Generation (Graph)
A graph is used to model the relationship between users and their orders.
Each user node is connected to the products they ordered. This structure
allows:

 Efficient user-order mapping

 Accurate invoice generation

 Clear relationship representation

5. Required Features Implementation


Feature Implementation

Add User Inserted into array

Inserted into linked


Add Product
list

Enqueued in order
Place Order
queue

Generate
Graph traversal
Invoice

Suggest
BST traversal
Products

Display
In-order BST traversal
Products

Graph and array


Remove User
update

6. UML Diagrams (Explanation)


6.1 Class Diagram

The class diagram includes:


 User

 Product

 Order

 Inventory

 RecommendationTree

 OrderQueue

 Graph

 MainSystem

Each class contains attributes and methods aligned with its data structure
role.

6.2 Sequence Diagram


The sequence diagram shows:

1. User registration
2. Product insertion

3. Order placement

4. Queue processing

5. Graph-based invoice generation

7. User Guide
Running the Program

1. Compile the Java files

2. Run the main class

3. Enter commands through the console

Sample Commands

ADD_USER 1 Hamza

ADD_PRODUCT P1 Shampoo 250

PLACE_ORDER 1 P1

INVOICE 1
SUGGEST_PRODUCTS

DISPLAY_PRODUCTS

8. Test Cases & Output


Sample Input

ADD_USER 1 Hamza

ADD_PRODUCT P1 Shampoo 250

PLACE_ORDER 1 P1

INVOICE 1

Sample Output

User Hamza added with ID 1

Product P1 added to inventory

Order from user 1 for product P1 placed

Invoice generated for user 1: P1 - 250 PKR

9. CCP Justification
WP1 – Depth of Analysis

The system requires analyzing the interaction between multiple data


structures. For example, order placement affects both the queue and the
graph, while inventory and recommendations depend on linked lists and BST
traversal.

WP2 – Depth of Knowledge

The project demonstrates integrated use of arrays, queues, linked lists,


graphs, and BSTs within a single system, fulfilling the requirements of
complex problem solving.
10. Conclusion
This project successfully demonstrates how multiple data structures can be
combined to solve a real-world inspired problem. By structuring the system
around core DSA concepts, the project enhances understanding of data
handling, processing flow, and inter-dependency between structures. The
implementation fulfills all CCP requirements and provides a solid foundation
for further system expansion.

You might also like