0% found this document useful (0 votes)
4 views6 pages

Project Two

The document outlines the functional requirements for a Servlet-only Human Resource Management (HRM) System, which includes mandatory modules for employee management, attendance, leave, and payroll functionalities. Users are categorized into roles with specific access controls, and the system supports various response formats, including HTML and JSON. Optional modules and features are available for students to enhance their projects based on interest and capability.

Uploaded by

naniabdi2504
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views6 pages

Project Two

The document outlines the functional requirements for a Servlet-only Human Resource Management (HRM) System, which includes mandatory modules for employee management, attendance, leave, and payroll functionalities. Users are categorized into roles with specific access controls, and the system supports various response formats, including HTML and JSON. Optional modules and features are available for students to enhance their projects based on interest and capability.

Uploaded by

naniabdi2504
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Here is a Servlet-only HRM System Functional Requirements Guide, suitable for a Java Servlet

project where:
 Servlets handle business logic
 Responses can be HTML generated in Servlets, JSON (API-based), or frontend handled
separately
 Backend focus (good for modern teaching)
Students are required to fully implement modules 1 to 4.
Implementation of any module from 5 up to 13 is optional; students may choose
one or more of these modules based on their interest and capability.

If you want it more formal (for university documents), use this:


Implementation of Functional Requirements 1 through 4 is mandatory.
Functional Requirements 5 to 13 are optional, and students may implement any
subset of these based on their interest and project scope.

Or a student-friendly version:
You must implement features 1–4.
Features 5–13 are optional and can be implemented if you want to extend your
project.

HRM System – Functional Requirements


(Servlet-Only)
Technology Stack:
 Java Servlets
 JDBC
 MySQL / PostgreSQL
 Apache Tomcat
 (Optional frontend: HTML/CSS/JS or REST client)

1. System Overview
The Human Resource Management (HRM) System is a web-based backend application
developed using Java Servlets to manage employee records, attendance, leave, payroll, and user
roles.
The system exposes functionalities via Servlet endpoints and does not use JSP for presentation.

2. User Roles
1. Administrator
2. HR Manager
3. Employee
Each role has controlled access to system functionalities.

3. Authentication & Authorization


3.1 User Login
 The system shall authenticate users via a servlet endpoint.
 Users shall provide:
 Username
 Password
 Credentials shall be verified from the database.
 On success, a session token shall be created.

3.2 Role-Based Access Control


 The system shall restrict endpoints based on user roles.
 Unauthorized access shall return:
 HTTP 403 (Forbidden)

3.3 Logout
 The system shall invalidate the active session.
 Session data shall be cleared securely.

4. Employee Management
4.1 Create Employee
 The system shall allow Admin/HR to create employee records.
 Employee data includes:
 Employee ID
 Full Name
 Gender
 Email
 Phone
 Address
 Department ID
 Job Title
 Hire Date
 Salary

4.2 Read Employee Information


 The system shall return employee details via servlet response.
 Employees can view only their own profile.
 Admin/HR can view all employees.

4.3 Update Employee


 Admin/HR shall update employee records.
 Changes shall be persisted in the database.

4.4 Delete Employee


 Only Admin shall delete employee records.
 Deletion confirmation shall be required.

5. Department Management
 The system shall allow Admin to:
 Create departments
 Update department details
 Remove departments
 Employees shall be assigned to one department.

6. Attendance Management
6.1 Record Attendance
 HR/Admin shall record daily attendance.
 Attendance statuses:
 Present
 Absent
 Leave
6.2 View Attendance
 Employees shall retrieve their attendance history.
 HR/Admin shall retrieve attendance for all employees.

7. Leave Management
7.1 Apply for Leave
 Employees shall submit leave requests via servlet endpoints.
 Required fields:
 Leave type
 Start date
 End date
 Reason

7.2 Leave Approval


 HR/Admin shall approve or reject leave requests.
 Leave status shall be updated accordingly.

7.3 Leave History


 Users shall retrieve leave history records.

8. Payroll Management
8.1 Salary Configuration
 The system shall store salary components:
 Basic salary
 Allowances
 Deductions

8.2 Payroll Generation


 HR/Admin shall generate payroll per employee per month.
 Payroll records shall be stored and retrievable.

9. Reports
 The system shall generate reports via servlet responses:
 Employee reports
 Attendance reports
 Leave reports
 Payroll reports
 Reports may be returned as:
 JSON
 CSV
 PDF (optional advanced)

10. Input Validation & Error Handling


 The system shall validate all incoming request parameters.
 The system shall return appropriate HTTP status codes:
 400 – Bad Request
 401 – Unauthorized
 403 – Forbidden
 500 – Internal Server Error

11. Session Management


 The system shall manage sessions using:
 HttpSession or
 Token-based authentication (optional)
 Sessions shall expire after inactivity.

12. Logging & Auditing (Optional)


 The system shall log:
 Login attempts
 Data modifications
 Errors
 Logs shall be stored for auditing.

13. API Endpoint Examples (For Students)


POST /api/auth/login
POST /api/auth/logout

POST /api/employees
GET /api/employees
GET /api/employees/{id}
PUT /api/employees/{id}
DELETE /api/employees/{id}

POST /api/attendance
GET /api/attendance

POST /api/leave
PUT /api/leave/{id}/approve
PUT /api/leave/{id}/reject

POST /api/payroll/generate
GET /api/payroll/{employeeId}

14. Project Evaluation Criteria (Helpful for You)


You can assess students based on:
 Proper use of Servlets
 Clean JDBC operations
 Role-based security
 HTTP status usage
 Database normalization
 Code organization (DAO, Service, Servlet)

You might also like