Employee Information System
For Administrative use
This is an Employee Information system, intended for the use ofthe manager or other administrative personal to store, edit, andre-access their Employees’ information. Simple budget and salarycalculations will also be implemented. The following detailedprogram description contains the minimum programrequirements. Students are encouraged to add more features(classes, Methods, etc…) after creating theinitial classes and methods.
This program will include the fundamentals of object-orientedprograming and all of the requirements for the final project,including:
Arrays or ArrayLists of objects
Static variables and methods
Method overriding (of the toString())
Random number generation
The storing, editing, and deleting of data using objects
Class Name: EmployeeClient
Class Description: Create a client class whichdisplays the capabilities of the program. Creativity is encouraged.However, it MUST include the following:
Main should contain a loop, presenting a list of options at thestart of each iteration.
Using an array or ArrayList, allow the user to add and deleteEmployees from the list.
Allow the user to search through the system for specificEmployees. If the Employee is found, print their correspondinginformation.
GUI or console may be used.
Class Name: BasicInfo
Class Description: This class will haveinstance variables to store each Employee’s:
the specific department they each work for
Include set and get methods for each variable. Include atoString() method which returns a formatted string of an Employee’sdata from this class.
Class Name: GenerateID
Class Description: This class will haveinstance variables for each Employee’s:
Variable department should be of type BasicInfo (Composition).Each Employee ID should be a randomly generated 4 digit number.Each position number should be a randomly generated 4 digit number,concatenated to the back of the abbreviation for the department(for example, if the department is Math, the position number shouldbegin with the prefix MA, if English, then ENG, etc).
Include the appropriate methods for each instance variable.Include a toString() method which returns a formatted stringnotifying the user that a new Employee’s Employee ID and positionnumber have been generated, and display this data.
Class Name: HoursAndSalary
Class Description: this class will allow theadministrator to edit:
The salary for the Employees. Note: all Employees receive thesame salary.
The sum of the hours worked each week.
Include code to verify that the salary is above minimum wage,and that the budget and sum of hours are positive number.
Class Name: SalaryCalc
Class Description: this class is a subclass ofHoursAndSalary (Inheritance). The variables and methods of thisclass are largely up to the programmer. However, it is stronglysuggested that they be in some way pertaining to salary or budget.This class will:
Calculate the budget deficit or surplus.
Contain at least three instance variables and theircorresponding methods.