Assignment 3 - Algorithms and Programming Foundations in Python
This assignment will develop your skills in designing, constructing,
testing, and documenting a small Python program according to specific
programming standards. This assessment is related to the following
learning outcome (LO):
● LO4: Investigate useful Python packages for scientific
computing and data analysis;
● LO5: Experiment with data
manipulation, analysis, and visualisation techniques to formulate
business insight.
Instruction
This assignment requires you to create an e-commerce system which
allows customers to login to the system, perform some shopping
operations like purchasing products, viewing order history and showing
user consumption reports. Besides, admin users need to be created to
manage the whole system, who are able to create/delete/view customers,
products and all the orders. Except for the management part, admin
users can view the statistical figures about this system. Since the
whole system is executed in the command line system, it is better to
design a well-formatted interface and always show proper messages to
guide users to use your system. In this assignment, we use the open
source data from data.world, which contains 9 files of products. All
the product's data should be retrieved from these files.
In this assignment, we are going to decouple the
relationship between various classes.
We have four main
parts and when using the system, end users only need to interact with
the IOInterface class.
The Main Control class handles the
main business logic. The operation classes use the model classes as
templates to manipulate the data reading/writing.
With
this design pattern, the input() and print() functions only
exist
in the I/O interface class. No other classes have these functions.
The file reading/writing operations happen in the
operation classes, which simulate the database activities.