0% found this document useful (0 votes)
10 views1 page

Class Diagram Final 2

The document outlines a comprehensive structure for an AI-powered online shopping system, detailing various user roles such as Customer, Administrator, and BusinessOwner. It includes functionalities for user account management, product catalog management, order processing, and payment methods. Additionally, it specifies notification types, feedback mechanisms, and promotional features to enhance user experience and operational efficiency.

Uploaded by

nabighasafdar45
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)
10 views1 page

Class Diagram Final 2

The document outlines a comprehensive structure for an AI-powered online shopping system, detailing various user roles such as Customer, Administrator, and BusinessOwner. It includes functionalities for user account management, product catalog management, order processing, and payment methods. Additionally, it specifies notification types, feedback mechanisms, and promotional features to enhance user experience and operational efficiency.

Uploaded by

nabighasafdar45
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/ 1

Settings

User
Online Shopping AI-Powered Analysis SetPreferences
- language: string
- userId: int
System - currency: string
- username: string - setPreference(lang: string, curr: string ):
void
- password: string
- email: string
- address: string <<Interface>>
<<Interface>>
+ register() Administrator
<<Enumeration>> BusinessOwner
+ login() + addProductinCatalog(item: Product):
OrderStatus void
Notification + logout() + viewmonthlyPerformance(): void
+ removerFromCatalog(item: Product):
Pending + updateProfile() void + viewCustomerBehavior(): void
- notifID: int + generateMonthlyTurnoverReport():
Shipped + viewCatalog(): void
void
Delivered - userID: int Views + createPromo(): void
Cancelled - type: NotificationType + viewStock(): void
- content: string

+ viewNotification(): void BusinessOwner

Customer Administrator
- salesReport: List<Report>

- ShoppingCart: Cart - adminId: string + viewmonthlyPerformance(): void


<<Enumeration>>
- BrowsingHistory: List<Product> - privileges: string + viewCustomerBehavior(): void
PaymentStatus
+ generateMonthlyTurnoverReport():
- WishlistHistory: List<Wishlist> + addProductinCatalog(item: Product):
Review Manage void
Credit void
- OrderHistroy: List<Order> + removerFromCatalog(item: Product):
Debit - reviewID: int - ReviewList: List<Review> void
PayPal - FeedbackList: List<Feedback> + viewCatalog(): void Generate
- userID: int
CashOnDelivery - Notifications: List<Notification> + createPromo(): void
- productID: int
+ viewStock(): void Report
- content: string + addToCart(item: Product): void
- dateCreated: Date + removeFromCart(item: Product): void BotAI
ChatsWith - reportID: int
Write + viewCart(): void
+ submitReview(): void - chatID: int Modifies - type: ReportType
Submit + addToWishlist(item: Product): void Catalog
<<Enumeration>> - userID: int - content: string
+ removeFromWishlist(item: Product): Create
PaymentMethod void - query: string - catalogID: int + generateReport(): void
+ viewWishlist(): void - response: string - productList: List<Product>
Pending Feedback Inventory
+ checkout(): Order - description: string
+ process(query: string): string
Successful
- feedbackID: int + trackOrder(Order): void + addProduct(item: Product): void - inventoryID: int
Failed
- userID: int + viewHomepage(): void + removeProduct(item: Product): void - productID: int
- content: string + searchProduct(category: string, brand: + updateProductInfo(item: Product): void - quantityAvailable: int
string, price: int): List<Product>
- dateCreated: Date - requestThreshold: int
+ chatwithAI(): void
+ submitFeedbacl(): void + accessCustomerService(): void + checkStock(item: Product): void
Owns
+ submitReview(rvw: Review): void + updateStock(item: Product): void
Promotion
+ submitFeedback(fdbk: Feedback): void + notifySupplier(item: Product): void
<<Enumeration>>
<<Interface>> Wishlist - promotionID: int + updateThreshold(thresh: int): void
NotificationType + viewNotifications(): void
Customer
- wishlistID: int - name: string
AccountVerification
+ addToCart(item: Product): void - userID: int - description: string
OrderConfirmation Owns
+ removeFromCart(item: Product): void - items: List<Product> - discountRate: float
ShippingUpdates
+ viewCart(): void + addItem(item: Product,quantity: int): - validFrom: Date
+ addToWishlist(item: Product): void void - validUntil: Date
Cart + removeItem(item: Product): void
+ removeFromWishlist(item: Product): - applicableProducts: List<Product> <<Enumeration>>
void + updateItemQuantity(item: Product,
- cartID: int quantity: int) + generatePromoCode(): void
ReportType
+ trackOrder(Order): void
+ viewWishlist(): void - userID: int + applyPromo(): void monthlySales
+ viewNotifications(): void - items: List<Product> customerBehavior
+ submitReview(rvw: Review): void - itemsQuantity: List<int> monthlyTurnover
+ submitFeedback(fdbk: Feedback): void - totalAmount: float

+ viewHomepage(): void + addItem(item: Product,quantity: int):


void Contains
+ chatwithAI(): void + removeItem(item: Product): void
+ accessCustomerService(): void + updateItemQuantity(item: Product,
+ searchProduct(category: string, brand: quantity: int)
string, price: int): List<Product> + calculateTotal(): int Order
+ checkout(): Order Generates
+ proceedOrder(): void - orderID: int

- userID: int

Contains - cartID: int


- productList: List<Product>
- orderDate: Date
Product - status: OrderStatus
- totalAmount: int
- productID: int
- deliveryCharges: int
- name: string
+ calculateTotal(): void
- description: string
+ processPayment(): void
- price: float
+ trackOrder(): void
- category: string
- brand: string
- stockQuantity: int
IsAssociatedWith
- warehouseLocation: string
- isOutofStock: bool
- discount: float
Payment
- surgePrice: float
- loyaltyDiscount: float - PaymentID: int
- supplier: string - orderID: int
+ applyDynamicPricing(): void - method: PaymentMethod
+ applySurgePricing(): void - status: PaymentStatus
+ getDiscountedPrice(): void - amount: float FetchedFrom

+ getAvailability(): bool + process(): void


+ updateStock(): void + retryPayment(): void

GetStockLevelFrom

You might also like