In: Computer Science
Programming language= In Java and Oracle Sql
You are required to develop a simple HR application for a small
accounting firm that wishes
to keep track of all the employees at the firm; storing details
about their salary, phone numbers
and Date of Birth. The firm has many departments and there are 5 to
20 employees in each
department. The department information includes department name,
description and total
number of employees in that department. The company also provides
vehicles for some of its
employees. An employee maybe allocated one car. To ensure timely
maintenance of vehicle,
the company would like to store the following details of the
vehicle: make, model,
next_maintenance_date.
Each employee has a position (manager, accountant, administrator,
clerk, etc.). Various
allowances are allocated to each position. For example, the
managers have fuel allowance,
house allowance, social allowance and managers allowance. On the
other hand, the
administrators have house allowance and social allowance. Clerks
have social allowance and
uniform allowance. The name and description of each allowance needs
to be stored.
The HR system keeps track of all Projects in the organization. Each
department is assigned to
one or more project. Project can be assigned to one or more
department (Interdisciplinary
projects).
Each HR Employee has his own credentials to login into the system
to manipulate the database.
The HR credentials are stored in a table (Login). You will also
need a table to store transactions
(Transaction Date/Time and User Name).
The system must store employees’ grades. Each employee will have a
grade (Example A, B,
C). The grade should have a predefined salary range.
You need to have the following constraints in your system: The
employee’s salary should be
between the grade range (Example: Grade A - Salary between
30000-50000). Employee’s
phone number and Date of Birth should not be empty. Vehicle next
maintenance is within 6
month of current date. Each position should not exceed the
predefined 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 five
record 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 then
perform transaction.
4- Update employee’s salary.
5- Calculate the total amount of allowances. Need to enter Employee
ID to retrieve data.
6- The system must fire a SQL trigger whenever adding a new
employee. The trigger
must store the following information (Date/Time transaction and the
Username)
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 to
retrieve 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 as
follows:
2.1 Project (ERD + SQL Script (Schema) + Java Application source
code + 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)
Part A:
Rule #1: Department will have minimum 5 to maximum 20 employees
Rule #2: Employees will have unique Emp_ID
Rule #3: Some employees of HR_Employee type will have username and password.
Rule #4: Car can be assigned to one or none employee.
Rule #5: Employee can have 0 or one car.
Rule #6: Multiple allowances will be given to multiple employees
Rule #7: Multiple departments will handle multiple projects.
Rule #8: A project can be assigned to multiple departments.
Rule #9: An employee will has assigned Grade.
Rule #10: Transactions will be stored for HR_Employees
The listed relationships under d) has below relationships of M:N cardinalities:
Emp_Allowance(Emp_ID, Allowance_Name)
Primary key: (Emp_ID, Allowance_Name)
Foreign key: Emp_ID from Employee
Allowance_Name from Allowance
Department_Projects(Department_name, Project_ID, start_date, end_date)
Primary key(Department_name , Project_ID)
Department_name foreign key from Department
project_ID foreign key from Project