Advanced proficiency in object-oriented programming

Assignment Help Programming Languages
Reference no: EM133710121 , Length: word count:2000

Intermediate Programming - Coding Assignment Analysis

Learning outcome 1: Create unit tests and a test-driven development environment.
Learning outcome 2: Use exception handling and debugging to identify and manage runtime errors.
Learning outcome 3: Create an application via object-oriented programming.
Learning outcome 4: Develop an application using best practices and design patterns.

Your Task

This assessment is to be completed individually. 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 to be completed individually. In this assessment, you will create an advanced Customer Management System using object-oriented programming principles and applying best practices and design patterns. The system should meet the specifications outlined in the case study and demonstrate your proficiency in advanced concepts and techniques.

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 lead software engineer to develop an advanced Customer Relationship Management (CRM) System for a multinational corporation. The system should provide comprehensive customer management functionalities and integrate with various external services. You need to design and implement classes for customer data management, incorporate advanced features, and ensure high performance and security.

Customer (class)
• Properties: id (integer), name (string), email (string), phone_number (string), date
(string), and address (string)
• Getters: getId(), getName(), getEmail(), getPhoneNumber(), getAddress()
• Setters: setName(newName), setEmail(newEmail), setPhoneNumber(newPhoneNumber), setAddress(newAddress)
• Methods:
o A repr method that displays detailed information about the customer
o A calculate_age() method that calculates the customer's age based on their date of birth (provided as a parameter)

CustomerManager (class)
• Properties: customers (list of Customer objects)
• Methods:
o addCustomer(customer: Customer) - adds a customer to the customer list
o removeCustomer(customer: Customer) - removes a customer from the customers list
o getCustomersByAgeRange(min_age: int, max_age: int) - returns a list of customers within the specified age range
o getCustomersByAddress(address: str) - returns a list of customers with a matching address
o exportData(filename: str) - exports customer data to a CSV file (optionally you may use JSON file structure)

Note: You are required to implement appropriate exception handling techniques to handle potential errors, such as invalid data inputs or file handling issues. Ensure that meaningful error messages are displayed to the user when exceptions occur. Develop comprehensive unit tests using a suitable testing framework to verify the functionalities of the Customer and CustomerManager classes.
Ensure that the tests cover various scenarios and edge cases.

Assessment Instructions

Assessment instructions for this assessment:

1. Read the case study provided and interpret the program specifications.

2. Develop a Python 3 program that meets the specifications outlined in the case study.

3. 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.

4. Implement the Python classes and methods based on the provided requirements.

5. Utilise appropriate inheritance and class properties.

6. Apply basic principles of object-oriented programming, including encapsulation and inheritance.

7. Follow the PEP 8 coding conventions and use meaningful names for variables and functions.

8. Include comments to explain the functionality and any assumptions made.

9. Develop comprehensive unit tests using an appropriate testing framework to validate the functionalities.

10. Apply robust exception handling techniques to handle potential errors.

Note: Aim to demonstrate advanced proficiency in object-oriented programming, software design, and exception handling. Consider code correctness, performance, and adherence to best practices in your implementation.

 

Reference no: EM133710121

Questions Cloud

Discuss reasons that support your opposition statement : Discuss reasons that support your opposition statement. Explain the principle of the greatest good for the greatest number.
Present and discuss the fama and french : 7QQMO106 Applied Risk Management for Banking, Kings College London - Report and discuss the results and whether you believe the estimate you have obtained
What are chronic illnesses and how do they impact individual : It is also at the root of a the multi-trillion dollar international medical industry. What are chronic illnesses and how do they impact the individual?
Describe three differences between plant and animal cells : Compare the relative size of a bacteria cell, human cheek cell, and Elodea cell. Describe three differences between plant and animal cells.
Advanced proficiency in object-oriented programming : Intermediate Programming - Implement the Python classes and methods based on the provided requirements and Utilise appropriate inheritance and class properties
Sonny bono copyright term extension act : According to the Sonny Bono Copyright Term Extension Act (CTEA), the protection period for pre-1978 work is: 50 years, 65 years, 75 years, 95 years
Property is available immediately for tenants to move in : George Haffer is the landlord and the property is available immediately for tenants to move in.
What might you do to make the celery crisp again : You are having a party and the celery has become limp. What might you do to make the celery crisp (turgid) again? What is occurring in the cells?
Conduct a comprehensive cybersecurity risk : Demonstrate your comprehensive understanding as well as showcase your cybersecurity risk assessment skills - conduct a comprehensive cybersecurity risk

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd