General

Developers at the Bellpeek Software Company are creating a prototype for some payroll applications. They are developing some classes that will be reused throughout the application.

Assignment

You will create classes representing an employee and use those classes to calculate yearly pay for employees.You will create classes representing an employee and use those classes to calculate yearly pay for employees.

You will create a multi-tier application to demonstrate the use of the Employee classes. In the application, the presentation tier will use the business or middle tier and the business or middle tier will use the data access tier.

Make sure your application not only works, but also conforms to the Software Development Standards.

Detailed Problem Specification

Create an Employee class library (Middle or Business Layer):

1. You must create a class that represents an Employee.

  • The Employee class should have public properties that provide access to the following information:
    • Employee Last Name
    • Employee First Name
    • Employee Middle Name
    • Employee Full Name
    • Employee Date of Birth
    • Employee Age
  • The Employee class must have an abstract Calculate Yearly Pay method that returns a dollar amount.

2. You must create a class that represents an Hourly Employee.

  • The Hourly Employee class should inherit functionality from the Employee class.
  • The Hourly Employee class should have additional public properties:
    • Hourly Rate of Pay
  • The Hourly Employee class should implement a Calculate Yearly Pay method that returns the amount an hourly employee would earn in 2000 hours (about 1 year).

3. You must create a class that represents a Salaried Employee.

  • The Salaried Employee class should inherit functionality from the Employee class.
  • The Salaried Employee class should have additional public properties:
    • Monthly Pay
  • The Salaried Employee class should implement a Calculate Yearly Pay method that returns the amount a salaried employee would earn in 1 year.

4. You must create a class to provide data retrieval capability using Data Access Layer functionality.

5. You must create a class with a method that reads employee data from a text file and returns the information as a list or an array

  • The format of the text file that lists employees is as follows:
    • Employee Last Name
    • Employee First Name
    • Employee Middle Name
    • Employee Date of Birth
    • Employee Type (H for hourly, S for salaried)
    • Employee Pay Rate – dollar amount earned per hour if employee type is Hourly, dollar amount earned per month if employee type is Salaried
    • Data for an individual employee is found on 1 line. Each data element is separated from the next by a comma. There is no comma at the beginning or at the end of the line. The file: Employees.txt contains an example.
  • Please write your code so that the text file will be found in “c:databasesEmployees.txt”.

Create a Windows or Web Application (Presentation Layer):

  • Your presentation application should provide the following functionality:
    • The application must use a class from the business or middle tier to retrieve the employee data
    • The application must display the employee full names in a drop down list.
    • When an employee is chosen from the list, the application should display the employee’s projected yearly earnings and employee age.
    • The application must use the Employee classes to do all earnings calculations and handle employee information.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.