Reference no: EM133746920 , Length: word count:2000
Intermediate Programming
Assessment - Tasks Analysis
Task: In this assessment, you will create an application via object-oriented programming and develop an application using best practices and design patterns which meets the specifications described in the case study.
Assessment Description
This assessment is designed to test your advanced understanding and practical application of classes, inheritance, and design patterns in Python 3. You will be developing an Online Bookstore Management System, implementing classes for different types of books, users, and order processing.
You will be provided with a case study which will require you to use your problem-solving skills and you will create an application via object-oriented programming and apply best practices and design patterns to an application. You will need to create a solution and develop the program using Python 3 language.
Case Study:
You have been hired as a senior software engineer to design and develop an Online Bookstore Management System for a multinational book retail company called "Bookiverse." The system should handle various aspects of an online bookstore, including book inventory management, user management, and order processing. You need to create classes for books, users, and orders, implementing advanced features and design patterns as outlined below:
Book (class)
Properties: title (string), author (string), price (float), quantity (integer), and type (one of multiple book types: ‘Fiction', ‘Non-Fiction', ‘Sci-Fi', ‘Mystery', and ‘Biography') Getters: getTitle(), getAuthor(), getPrice(), getQuantity(), getType() Setters: setPrice(newPrice), setQuantity(newQuantity) Methods: A repr method that displays information about the book
User (class)
Properties: username (string), email (string), and password (string)
Getters: getUsername(), getEmail()
Setters: setEmail(newEmail), setPassword(newPassword)
Methods: A repr method that displays information about the user
Order (class)
Properties: order_id (string), user (User object), book (Book object), and quantity
(integer)
Getters: getOrderId(), getBook(), getQuantity()
Setters: setQuantity(newQuantity)
Methods: A repr method that displays information about the order
Note: You may need to incorporate appropriate design patterns, such as Factory, Singleton, or Observer, to enhance the system's architecture and functionality.
Learning outcome 1: Create an application via object-oriented programming.
Learning outcome 2: Develop an application using best practices and design patterns.
Assessment Instructions
Assessment instructions for this assessment:
Read the case study provided and interpret the program specifications.
Develop a Python 3 program that meets the specifications outlined in the case study.
Submit your Python 3 program code to the designated submission platform by the due date.
a) You must submit your Python 3 program code in .py format extension. Any other formats will not be accepted.
Implement the Python classes and methods based on the provided requirements.
Utilise appropriate inheritance and class properties.
Apply basic principles of object-oriented programming, including encapsulation and inheritance.
Follow the PEP 8 coding conventions and use meaningful names for variables and functions.
Include comments to explain the functionality and any assumptions made.
Test the classes with suitable inputs to ensure correctness.