Question: A . Project Overview In this term - long project, you will design and implement an Online Inventory Management System using C# for a small

A. Project Overview
In this term-long project, you will design and implement an Online Inventory Management System using
C# for a small store. The goal is to create an application that efficiently manages the store's inventory,
including functionalities for adding new customers, products, updating quantities, and generating reports. This
project will provide you with hands-on experience in object-oriented programming principles, file handling,
and user interface design.
B. Tasks
Product Management: Create a class hierarchy for every class that you can apply to. For example, create a
class hierarchy for products, with a base class representing generic product attributes and derived classes for
specific product types (book, electronics, clothing). Utilize inheritance and polymorphism to manage diverse
product categories efficiently. (Class/Interface)
Order Management: Implement the Order Class to encapsulate order details, including a collection of
OrderItem objects representing individual products within the order. Also create a Customer Class. Utilize
composition to model the relationship between orders, chstomers and order items, facilitating flexibility and
modularity in managing orders. (Class/Interfaces/Array)
Inventory Management: Design an Inventory class responsible for managing the store's inventory,
encapsulating operations such as adding/removing products, updating quantities, and querying product
availability. Utilize encapsulation to hide internal data structures and provide a clean interface for interacting
with the inventory. (Class/Interfaces/Array)
Reporting: Implement a reporting module using the Strategy design pattern, allowing for interchangeable
report generation algorithms. Define a ReportGeneratgr interface with concrete implementations for different
report types (e.g., InventorxReportGenerator, SalesReportGenerater), enabling extensibility and flexibility in
adding new report formats. (Class Object)
Data Storage: Abstract file I/O operations using a FileHandlet interface, with concrete implementations for
reading/writing product, order, and inventory data from/to text files.
Security: Implement custom exception classes derived from the Exception base class to represent specific
error conditions within the application (e.g., ProductDotEqundException. InsufficientQuantityException).
Utilize inheritance and polymorphism to handle exceptions uniformly across different parts of the application,
promoting code consistency and maintainability.
A . Project Overview In this term - long project,

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!