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 termlong 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 handson experience in objectoriented 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. ClassInterface
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. ClassInterfacesArray
Inventory Management: Design an Inventory class responsible for managing the store's inventory,
encapsulating operations such as addingremoving products, updating quantities, and querying product
availability. Utilize encapsulation to hide internal data structures and provide a clean interface for interacting
with the inventory. ClassInterfacesArray
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 eg InventorxReportGenerator, SalesReportGenerater enabling extensibility and flexibility in
adding new report formats. Class Object
Data Storage: Abstract file IO operations using a FileHandlet interface, with concrete implementations for
readingwriting product, order, and inventory data fromto text files.
Security: Implement custom exception classes derived from the Exception base class to represent specific
error conditions within the application eg ProductDotEqundException. InsufficientQuantityException
Utilize inheritance and polymorphism to handle exceptions uniformly across different parts of the application,
promoting code consistency and maintainability.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
