Final Project Programming 2 - Lab
Final Project Programming 2 - Lab
Human Resource
Management System
(HRMS)
By Instructor
Mumen H. Nashwan
1
Overview
The HRMS is an application that aims to automate the process of managing employee records,
holiday requests, and permissions in a company. The system will have three types of users: admin,
HR manager, and employee. The admin user will have complete control over the system, while the
HR manager will have access to most features except for the ability to add, edit, or delete admin
users. The employee user will have limited access and can only add holiday requests, permission
requests and enter his daily attendance.
Project scope
1. User Registration: The system will allow users to register by providing their personal details
and login credentials. The user's details will be stored in a file for future reference.
2. User Login: The system will have a login page where users can enter their credentials to
access the system. The login process will verify the user's credentials and grant access to the
appropriate features.
3. User Permissions: The system will assign permissions to each user based on their role. An
admin user will have full access to all features, an HR manager user will have access to most
features, and an employee user will have limited access.
4. Admin Features: An admin will have the ability to add, edit, and delete
other users, including HR managers and employees. The admin user will
also be able to view reports on employee records, holiday requests, and
permission requests.
5. HR Manager Features: An HR manager will have access to most features, except for the
ability to add, edit, or delete admin users. The HR manager will be able to view and edit
employee records, approve or reject holiday requests and permission requests, and generate
reports on employee records.
6. Employee Features: An employee will have limited access and can only add holiday requests
and permission requests. The employee user will be able to view their own records, including
their holiday entitlement and remaining balance.
7. Holiday Requests: An employee can add a holiday request by selecting a type of holiday
(annually, sick, or emergency) and entering the start and end dates. The request will be sent
to the HR manager for approval.
2
8. Permission Requests: An employee can add a permission request by selecting a type of
permission (early dismissal, delay request, or permission to leave for a while) and providing a
reason for the request. The request will be sent to the HR manager for approval.
9. Daily attendance: An employee can add a daily attendance by enter time of attendance when
he came to company, and enter time to leave when he wants to leave the company.
10. File Storage: All data will be stored in files using CRUD (Create, Read, Update, Delete)
operations.
Project screens
1. Login screen:
The user can login by all users in the system, and exit from it.
Note: Don’t foregut the validations (if the user is existing or not ).
3
f. Permission requests:
Permission requests screen was shown, then the user chooses if he wants to:
i. View all Permissions (For HR Managers and Employees)
ii. Search about HR manager or Employee is he has Permission request (By his
name) (Optional)
iii. Back to Admin screen
Note:
- The active account can log on to the system.
- The disabled account cannot log on to the system.
h. Get HR managers count and Employees count.
i. Logout:
Take the user to login screen.
Note:
- The active account can log on to the system.
- The disabled account cannot log on to the system.
d. Attendance:
Attendance screen was shown, then the user chooses if he wants to:
i. Time of attendance: The user enters the time
ii. Time to leave: The user enters the time
iii. Back.
e. Holiday:
Holiday screen was shown, then the user chooses if he wants to:
i. My Holidays
ii. Create holiday
iii. Back
Holiday (id, user id, name, type, details, start date, end date, status)
Note: Every user has 14 days, if he exceeds it the system will notify the user and reject
it .
f. Permissions:
Permissions screen was shown, then the user chooses if he wants to:
i. My Permissions
ii. Create Permission
iii. Back
Permission (id, user id, name, type, details, start date, end date, status)
Note: Every user has 3 days, if he exceeds it the system will notify the user and reject it.
The HR manager can upgrade the employee to a manager by entering the employee
ID, so that the employee becomes a manager and can log on as manager and cannot
log on as an employee.
The HR manager enter the Employee id, then the system will notify the user
such as: The employee (id, name) became a manager.
h. Logout.
Take the user to login screen.
5
4. Employee screen contains:
a. Change Password
Change password screen will appear, then the user enters the new password.
After that the system will notify the user such as:
Password Changed Successfully .
b. Attendance:
Attendance screen was shown, then the user chooses if he wants to:
i. Time of attendance: The user enters the time
ii. Time to leave: The user enters the time
iii. Back.
c. Holiday:
Holiday screen was shown, then the user chooses if he wants to:
i. My Holidays
ii. Create holiday
iii. Back
Holiday (id, user id, name, type, details, start date, end date, status)
Note: Every user has 14 days, if he exceeds it the system will notify the user and reject
it .
d. Permissions:
Permissions screen was shown, then the user chooses if he wants to:
i. My Permissions
ii. Create Permission
iii. Back
Permission (id, user id, name, type, details, start date, end date, status)
Note: Every user has 3 days, if he exceeds it the system will notify the user and reject
it .
e. Logout:
Take the user to login screen
BOUNCE TASKS:
1- Use GUI (Java FX or Java swing).
2- Calculate the total(count) of days when create holiday from date to date.
3- Add creative things or things that add value to your project.
6
Notes:
Good Luck