For this problem, you will build an object-oriented solution to a Product Inventory system. You will create classes, retrieve and store data in files, and allow the user to add, change, delete, and view all items in the list. You will use classes to keep track of the attributes of each product and you will use lists/arrays to hold the data while in the program. (Files should be used on startup and shutdown only!)
Create a pseudocode algorithm for your project.
Create a super class to store product information
Must include at least 3 attributes (i.e. ProductID, Description, SKU, Category, Quantity on Hand, Price, etc)
Must include a constructor (__init__) and a string method (__str_)
Must include all getters/setters
Must include at least 2 additional methods (ex: Add to QOH, Remove from QOH, Update Price, Change Category
Create 2 sub-classes to your Product class
Must include at least 1 additional attribute
Must overload constructor and string method
Must include at least 1 additional method.
Create a main program to build and manipulate your product database.
Must store objects in a list/array structure
Must give the user a menu of options, including: Add, Change, Delete and View List. You MUST use all your class methods in your program, so you can add additional options as necessary.
Must implement each of the menu options in a separate method
Must have a startup and shutdown method
Retrieve your serialized array of data from the file (.dat) when the program is opened, using pickle. Serialize and store your array of data using pickle in a file (.dat) when your program is closed.
Be sure to include your test .dat file on submission
Comments/Coding Style
Be sure to include a header comment (at the top of each file), method comments (at the top of each method) and inline comments when appropriate
Your coding style should be well defined, with consistent naming conventions and appropriately named variables.
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference
and should not be submitted as is. We are not held liable for any misuse of the solutions.
Please see the frequently asked questions page
for further questions and inquiries.
Kindly complete the form.
Please provide a valid email address and we will get back to you within 24 hours.
Payment is through PayPal, Buy me a Coffee
or Cryptocurrency.
We are a nonprofit organization however we need funds to keep this organization operating
and to be able to complete our research and development projects.