Programming language= In Java and Oracle Sql
You are required to develop a simple HR application for a smallaccounting firm that wishes
to keep track of all the employees at the firm; storing detailsabout their salary, phone numbers
and Date of Birth. The firm has many departments and there are 5 to20 employees in each
department. The department information includes department name,description and total
number of employees in that department. The company also providesvehicles for some of its
employees. An employee maybe allocated one car. To ensure timelymaintenance of vehicle,
the company would like to store the following details of thevehicle: make, model,
next_maintenance_date.
Each employee has a position (manager, accountant, administrator,clerk, etc.). Various
allowances are allocated to each position. For example, themanagers have fuel allowance,
house allowance, social allowance and managers allowance. On theother hand, the
administrators have house allowance and social allowance. Clerkshave social allowance and
uniform allowance. The name and description of each allowance needsto be stored.
The HR system keeps track of all Projects in the organization. Eachdepartment is assigned to
one or more project. Project can be assigned to one or moredepartment (Interdisciplinary
projects).
Each HR Employee has his own credentials to login into the systemto manipulate the database.
The HR credentials are stored in a table (Login). You will alsoneed a table to store transactions
(Transaction Date/Time and User Name).
The system must store employees’ grades. Each employee will have agrade (Example A, B,
C). The grade should have a predefined salary range.
You need to have the following constraints in your system: Theemployee’s salary should be
between the grade range (Example: Grade A - Salary between30000-50000). Employee’s
phone number and Date of Birth should not be empty. Vehicle nextmaintenance is within 6
month of current date. Each position should not exceed thepredefined allowances.
Part A:
Include the following before drawing the ERD:
a. Write the business rules.
b. Identify all Entities and attributes
c. Identify Primary key and Foreign Key in each table/Entity
d. Identify the Relationships between Entities.
e. Resolve any M:N relationship between the entities.
Part B:
Draw the ERD using any Data Modelling Software.
Part C:
Create the SQL script to create tables and insert at least fiverecord in each table.
Part D:
The System must provide the following functionalities:
1- Login Screen with a Username and Password for HR Employees only.Username and
password must be retrieved from a table.
2- Add a new Employee.
3- Remove (Drop) an Employee. Retrieve employee by ID and thenperform transaction.
4- Update employee’s salary.
5- Calculate the total amount of allowances. Need to enter EmployeeID to retrieve data.
6- The system must fire a SQL trigger whenever adding a newemployee. The trigger
must store the following information (Date/Time transaction and theUsername)
7- The System must provide the following reports:
7-1- Employee History (Include: Employee Name, Department Name,Position).
7-2- Vehicle History (Include: Employee Name, Vehicle Model).
7-3- List Employee’s allowances. Need to enter Employee ID toretrieve data.
Part E:
Create the Screens using Java Swing Windows Builder
Grading:
Task Percentage
Develop ERD 30%
SQL Script 10%
1 10%
2,3,4,5 20%
6,7 20%
GUI 10%
Important:
1. Submitting Due Date: 25th of April 2020.
2. The grade for the project is 10 points distributed asfollows:
2.1 Project (ERD + SQL Script (Schema) + Java Application sourcecode + Report)
(80%)
2.2 Discussion and project demo (20%):
3. Copying and/or plagiarism (-100%)
4. Program does not compile (-50%)
5. In case of late submission, (-10%) for each day of delay.
6. No Teamwork effort (-20).
7. Each group can have two to three students.
8. Include all work in one ZIP file(Student1_Student2_Student3.zip)