Part 1

You are tasked with writing a new program for your company that keeps track of the customer’s information and his or her current bill. The company wants the name, address, phone number, and balance to be stored for each customer.

This program will demonstrate the following:

How to use a class to organize data
How to use methods to access the data of a class
How to create objects from a class

Solving the Problem

Step 1

The first step in designing a class to organize data is to determine what data you want to store in the class and what methods you want to use to modify the data. You have been given the required data items, but what methods do you want to include? It is common to create accessor methods for each data item in the class.

Step 2

The next step is to create the accessor methods of the class. These methods can be used to simply set the values of the data items or even mold how the data look. In the phone number’s accessor method, a specific layout of the number is required to be set, and the balance accessor does not allow a negative balance to be entered.

Step 3

The next step is to create a list of customers in the program. A loop is used to add 5 customers. If bad input is entered into the phone or balance, then the program will continue to ask for those data.

Step 4

You can now write code to find the customer information for all of the customers or individual customers in the list.

Documentation Guidelines:

Use good programming style (e.g., indentation for readability) and document each of your program parts with the following items (the items shown between the ‘<‘ and ‘>’ angle brackets are only placeholders.  You should replace the placeholders and the comments between them with your specific information).  Your cover sheet should have some of the same information, but what follows should be at the top of each program’s sheet of source code.  Some lines of code should have an explanation of what is to be accomplished, this will allow someone supporting your code years later to comprehend your purpose.  Be brief and to the point.  Start your design by writing comment lines of pseudocode.  Once that is complete, begin adding executable lines.  Finally run and test your program.

Deliverable(s):

Your deliverable should be a Word document with screenshots showing the source code and running results, and discuss the issues that you had for this project related to AWS and/or Python IDE and how you solved them for all of the programs listed above as well as the inputs and outputs from running them. Submit a cover sheet with the hardcopy of your work.

Part 2

You work for a dealership that deals in all kinds of vehicles. Cars, Trucks, Boats, and so forth need to be inventoried in the system. The inventory must be detailed so that it could be searched based on number of doors, engine type, color, and so on.

This program will demonstrate the following:

How to create a base class
How to extend a based class to create new classes
How to use derived classes

Solving the Problem

Step 1

The first thing you have to do is decide what attributes and aspects of all vehicle types will be shared. Once this decision is made, a base class can be created to be shared by the child classes later in the program. In this case, the color, horsepower, engine type, and price will be attributes shared by all vehicles. Included is a method that will be shared by all children to set the attributes that are common to them all.

Step 2

Given the base class, there are some aspects that need to be included for each vehicle type. Some have doors, and some do not. Some have length that matters, while most do not care. Some might have more or fewer wheels than others. These more specific classes take advantage of the common attributes while adding their own.

Step 3

After defining the classes, it is necessary to create objects of each type to add data to them. Although an object of type vehicle can be created, it is so generic that you really could not say what type of vehicle it was. The more specific objects will have the attributes that make them different from the other child classes.

Documentation Guidelines:

Use good programming style (e.g., indentation for readability) and document each of your program parts with the following items (the items shown between the ‘<‘ and ‘>’ angle brackets are only placeholders.  You should replace the placeholders and the comments between them with your specific information).  Your cover sheet should have some of the same information, but what follows should be at the top of each program’s sheet of source code.  Some lines of code should have an explanation of what is to be accomplished, this will allow someone supporting your code years later to comprehend your purpose.  Be brief and to the point.  Start your design by writing comment lines of pseudocode.  Once that is complete, begin adding executable lines.  Finally run and test your program.

Deliverable(s):

Your deliverable should be a Word document with screenshots showing the source code and running results, and discuss the issues that you had for this project related to AWS and/or Python IDE and how you solved them for all of the programs listed above as well as the inputs and outputs from running them. Submit a cover sheet with the hardcopy of your work.

part 3

Problem

You are writing software for a company’s human resources department. As part of the requirements, it would like to have a function that calculates the salary of an individual based on the position he or she holds, years of service, and hours worked.

This program will demonstrate the following:

How to create an abstract class,
How to overload a method,
How to use polymorphism to call functions on similar objects.

Solving the Problem

Step 1

The first thing that you must determine is what attributes are common to all employees and what methods they can share. Can salary be easily calculated by the same method without some additional input from the user? By using polymorphism, you can make one method that calculates salaries for different groups. First, determine the base class and what method needs to be implemented by the child classes. By making the calcSalary() method abstract, it will be a required method of the child classes.

Step 2

You can then define the child classes that inherit the shared attributes from the base Employee class but also inherit the requirement that they implement from the calcSalary() method. Each employee type will have a different set of attributes and a different method of calculating the salary, but the same method call will be used to calculate it.

Step 3

You can now create a list to hold all employee types and populate it.

Step 4

Because you used polymorphism in the classes, you can now use one loop to calculate and output the salaries of the employees.

Documentation Guidelines:

Use good programming style (e.g., indentation for readability) and document each of your program parts with the following items (the items shown between the ‘<‘ and ‘>’ angle brackets are only placeholders.  You should replace the placeholders and the comments between them with your specific information).  Your cover sheet should have some of the same information, but what follows should be at the top of each program’s sheet of source code.  Some lines of code should have an explanation of what is to be accomplished, this will allow someone supporting your code years later to comprehend your purpose.  Be brief and to the point.  Start your design by writing comment lines of pseudocode.  Once that is complete, begin adding executable lines.  Finally run and test your program.

Deliverable(s):

Your deliverable should be a Word document with screenshots showing the source code and running results, and discuss the issues that you had for this project related to AWS and/or Python IDE and how you solved them for all of the programs listed above as well as the inputs and outputs from running them. Submit a cover sheet with the hardcopy of your work.