Create a Product Inventory Database Program.

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.
Academic Honesty!
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.