You are tasked with creating a text-based program for simulating a supermarket self-service checkout using the Python 3 programming language.
The assignment is broken up into four main components:
1.) Design and model two classes: Product and CheckoutRegister,
2.) Create an activity chart which describes the behaviour of the checkout system,
3.) Create a computer program that allows a user to interactively check out a number of products, then provides an opportunity to enter some virtual money to pay for the products and finally and prints out a receipt for the user (to the screen, not on paper), and finally
4.) Explain and integrate some code into your checkout program that places the products purchased into virtual shopping bags.
Your submission should consist of one Microsoft Word or LibreOffice document containing the first two parts of the assignment, and three Python scripts that implement the computer program (checkoutregister.py, product.py and main.py).
The main.py script runs the main logic of the program and will use instances of the CheckoutRegister and Product classes to simulate checking out of the supermarket.
You are provided with a Microsoft Word template to help you complete the first two parts of this assignment.
Towards the end of this document you will also be provided with the output of a simulated run of the completed computer program which may help you with this assignment.