Professional Documents
Culture Documents
Le Duc Anh
Page | 1
– Hanoi, August 2023–
Page | 2
Record of Changes
A*
Version Date In charge Change Description
M, D
V1.0 15/2
V1.0 16/2
Page | 3
Table of Contents
Record of Changes 2
I. Product Overview 5
1. Product Vision 5
2. Product Context 5
3. Major Features 6
4. User Requirements 6
4.1 Actors List 6
4.2 Use Cases 7
5. Assumptions & Dependencies 8
6. Limitations and Exclusions 8
7. Business Rules 8
II. Use Case Specifications 9
1. Order Meals Feature 9
1.1 Order a Meal 9
1.2 Change Meal Order 11
1.3 Cancel Meal Order 11
2. Meal Subscriptions Feature 11
2.1 Register for Payroll Deduction 11
2.2 <<Next Use Case Name..>> 12
3. <<Next Feature Name..>> 12
3.1 <<Use Case Name>> 12
3.2 … 12
III. Functional Requirements 13
1. System Functional Overview 13
1.1 Screens Flow 13
1.2 Screen Descriptions 13
1.3 Screen Authorization 13
1.4 Non-Screen Functions 14
1.5 Entity Relationship Diagram 14
2. <<Feature Name 1>> 14
2.1 <<Function Name 1>> 14
2.2 <<Function Name 2>> 15
2.3 <<Feature Name 2>> 15
Page | 4
IV. Non-Functional Requirements 16
1. External Interfaces 16
2. Quality Attributes 16
2.1 Internal Attributes 16
2.2 External Attributes 16
Page | 5
I. Product Overview
1. Product Vision
Our Human Resource Application, which benefits both businesses and individuals, sees a day
when simple HR administration completely changes how businesses develop and support
their employees. This advanced program offers a complete payroll, organizational structure,
and personnel information management solution, promoting effective cross-role
collaboration. Our program streamlines HR procedures, resulting in time savings and more
transparency, by providing an intuitive user interface that is compatible with several
platforms. Our mission is to contribute to a future where businesses prosper through
confident, effective, and motivated teams—all within the boundaries of practical expense
and resource considerations—based on the reality of changing labor dynamics and
organizational strategy.
2. Product Context
In which:
Administrator: Manages company information and user accounts. Establishes the
organizational structure of the company by adding, editing, or deleting departments and
defining relationships between them.
Page | 6
HR Personnel: Manages all employee information, conducts monthly attendance tracking
using the attendance system, and generates salary details for employees. Send the salary
information to the manager for approval.
Accounting: Views salary information and prints payslips for employees to facilitate salary
payments.
Manager: Manages employee information within their assigned department, approves leave
applications submitted by employees.
Employee: Views personal information, salary details, and monthly salary history. Manages
leave requests, including adding, editing, or deleting requests.
Employee Communications Officer: Manages internal communications, including posting
news articles, comments, and votes on the internal news system.
Internal Systems: Includes the Attendance System, responsible for providing daily
check-in/check-out information, and the News System, managed by the Internal
Communication Officer, which allows posting and managing internal news articles.
3. Major Features
FE-01: Manage Employee Information: This feature focuses on the comprehensive
management of employee information within the HR Management System. Users,
particularly HR personnel and administrators, can efficiently handle details such as
employee ID, name, department, position, personal identification, and address.
FE-02: Salary Calculation and Management: This feature revolves around the calculation
and management of employee salaries, covering various components such as basic
salary, production bonuses, allowances, and deductions.
FE-03: Organisational Structure Management: This feature enables users to define and
maintain the organisational structure of the company.
4. User Requirements
4.1 Actors List
# Actor Description
Manages company information.
- Manages employee accounts.
1 Admin - Establishes the organisational structure of the company.
- Adds/Edits/Deletes departments and establishes relationships
between departments.
- Manages employee information.
HR (Human - Conducts monthly attendance tracking.
2
Resources) - Generates salary statements and submits for director's approval.
- Manages employee leave requests.
- Views employee salary information.
3 Accountant
- Prints salary statements for payroll processing.
4 Manager - Manages information for employees within their assigned
Page | 7
department.
- Approves employee leave requests.
- Views personal information and salary details. - Checks monthly
5 Employee salary history.
- Manages leave requests (add/edit/delete, view).
Internal - Manages internal company news.
6 Communicatio - Posts articles and manages comments and votes from other
ns Officer employees.
Timekeeping
7 Provide daily employee check in/check out information
System
Admin
Page | 8
1. Mock-up Add Employees
HR
Page | 9
Page | 10
Page | 11
Accountant
Page | 12
3. Mock-up Collect Attendance Data:
Page | 13
4. Mock-up Perform Payment:
Page | 14
Manager
Page | 15
1. Mock up Manager Employee Info
Page | 16
2. Approve leave application
Page | 17
Employee
Page | 18
Mock-up Add Employee Profile:
Page | 19
Mock-up Generate News Article:
Timekeeping System
In which:
Page | 20
Admin can add new employees'
Manage accounts to the system and accounts'
01 Add Employees
Employees permission to access information due
to it’s role.
Manage Admin have the authority to delete
02 Delete Employees
Employees user accounts from the system.
Manage Allows admin to edit employees'
03 Update Employees
Employees accounts within the system
Amin can add new departments in the
Manage
04 Add departments system with basic informations about
departments
departments.
Manage Admin can delete departments in the
05 Delete departments
departments system.
Admin can update departments in the
Manage systems (ex: add employees in these
06 Update departments
departments departments, rename the
departments,..)
Establishes Admin can establish relationships
Manage
07 relationships between between departments in the system.
departments
departments.
HR can accurately calculate employee
Manage salary inside the company, taking into
08 Calculating Payroll
Employee Payroll account a number of different
standards.
HR can produce comprehensive reports
Manage Prepare Payroll that provide an in-depth overview of
09
Employee Payroll Report the payroll computations for a certain
time frame. .
HR can create a payroll report and
Manage Send Report to
10 forward it to the respective
Employee Payroll Manager
management for approval.
As a Manager, you have the authority
Manage Employees
11 Manager to oversee and manage comprehensive
Info
employee information.
Managers Have the capability to
update and modify employee
information as needed. This involves
Update Employees
12 Manager keeping abreast of any changes in
Info
personnel details, ensuring that the
records are current and reflective of
the latest developments.
Access to view employee information
13 Manager View Employees Info allows manager to stay informed about
the workforce under your supervision.
This involves assessing the validity of
14 Manager Approve Leave
requests, considering the impact on the
Page | 21
team, and making informed decisions
that balance both individual needs and
organizational requirements.
The ability to view approved leave
provides manager with a
15 Manager View Approve Leave
comprehensive overview of the team's
availability.
In addition to approving leave,
manager can accept the approved
16 Manager Accept Approve Leave
leave and incorporate it into the team's
schedule.
As a Manager, you can allocate
17 Manager Assign Approve Leave approved leave in a way that minimizes
disruptions to workflow.
Identify salary period determines the
frequency and timing of employee
18 Accountant Identify salary period
salary payments, ensuring consistency
and compliance with labor regulations.
Collecting attendance data involves
19 Collect attendance recording and compiling information on
Accountant
data employee presence and absence during
scheduled work hours.
Applying a salary calculation formula
involves utilizing predefined algorithms
Apply salary to compute employee compensation
20 Accountant
calculation formula based on various factors such as hours
worked, overtime, bonuses,
deductions, and applicable rates.
Verifying calculation involves reviewing
the results of the salary computation
21 Accountant Verify calculation process to ensure accuracy and
compliance with established standards
and regulations.
Storing calculation results involves
Store calculation securely archiving the outcomes of
22 Accountant
results salary computations for each
employee.
Recording payment involves
documenting the disbursement of
23 Accountant Record payment
salaries or wages to employees after
the completion of the payroll process.
Identifying payment method entails
determining the manner in which
Identify payment employee salaries or wages are
24 Accountant
method disbursed, whether through direct
deposit, physical checks, electronic
transfers, or other means.
Page | 22
Performing payment involves executing
the process of transferring funds to
25 Accountant Perform payment
employees according to their salary or
wage entitlements.
Preparing payment method involves
Prepare payment selecting and setting up the
26 Accountant
method appropriate means by which employee
salaries or wages will be disbursed.
Internal
Timekeep
H Accountan Manage Communi
Function Admin Employee ing
R t r cations
System
Officer
Log in x x x x x x
Add Employees X x x
Delete Employees x x x
Update
x x
Employees X
View Employees x x x x x
Add departments X
Delete
departments x
Update
departments x
Establishes
relationships
x
between
departments. x
Calculating
x x
Payroll
Prepare Payroll
x x
Report
Add Leave
x
Request
Edit Leave
x
Request
Delete Leave
x
Request
View Leave
x x
Request
Send Report to
x
Manager
Approve Leave x
View Approve
x x
Leave
Page | 23
Accept Approve
x
Leave
Assign Approve
x
Leave
Identify salary
x x
period
Collect attendance
x
data
Apply salary
calculation x x
formula
Verify calculation x x
Store calculation
x x
results
Record payment x x
Identify payment
x
method
Perform payment x
Prepare payment
x
method
Add News
x
Articles
Update News
x
Articles
Delete News
x
Articles
View News
x x x x x
Articles x
Comment News
x x x x x
Articles x
Report News
x x x x x
Articles x
Record
x
Attendance
AS (System Assumptions):
AS-1: The system will have a user-friendly interface that is easy to use for all employees,
including those with limited computer experience.
AS-2: The system will integrate with other relevant systems, such as payroll and timekeeping
systems.
AS-3: The system will have high security and comply with data privacy regulations.
AS-4: The system will be scalable to meet the organization's future growth needs.
Page | 24
DE (Data Assumptions):
DE-1: Accurate and complete employee data will be entered into the system.
DE-2: Employee data will be updated promptly in accordance with changes in the
organization.
CT (Technology Assumptions):
CT-1: The system will be built on a stable and reliable technology platform.
CT-3: Employees will be adequately trained on how to use the new system.
PR (Project Assumptions):
PR-1: The project will be completed within the planned timeframe and budget.
PR-2: Key stakeholders will be involved in the system development and implementation
process.
● Advanced Reporting and Analytics: While the application may support basic reporting
and analytics, it may not include advanced features like predictive analytics or
machine learning algorithms.
Page | 25
● Mobile Compatibility: While the application may be compatible with mobile devices,
it may not provide a fully optimized mobile experience or support all mobile
platforms.
● Security: While the application may be designed to be secure, it may not include
advanced security features like multi-factor authentication or encryption of sensitive
data.
● Support and Maintenance: While the application may include basic support and
maintenance, it may not include extensive support options like 24/7 support or
dedicated account management.
● Training and Documentation: While the application may include basic training and
documentation, it may not include extensive training materials or user guides.
7. Business Rules
Page | 26
allowed to access data of other employees.
If an employee takes unpaid leave, the salary deduction is
BR-10 Computations calculated based on the number of days absent and total
working days in the month.
The number of days of leave for employees is calculated
BR-11 Computations based on the regulations each year and accumulates until the
end of March the following year.
If an employee takes continuous leave for more than 3 days,
the leave request must be approved by the department
BR-12 Constraints
manager and the administrator and must be sent before 3
days
BR-13
Computations Leave requests can be compensated for after the leave days.
Page | 27
ID and Name: FE-01 Add Employee's Account
1.6 The administrator configures access rights for the
employee based on their role.
1.7 The system generates a notification to inform the
employee about their new account.
1.1. Add New Employee Profile
Page | 28
ID and Name: FE-02 Establish Relationships between Departments
PRE-2. The organization has at least two existing departments.
POST-1. Relationships between departments are established and
updated in the system.
Postconditions:
POST-2. Notifications are sent to relevant department managers
about changes in relationships.
1.0 Admin Establish Relationships between Departments
1.1 The system administrator selects the function to manage
department relationships.
1.2 The system displays a list of existing departments.
1.3 The administrator selects two or more departments to
establish relationships.
1.4 The system provides options to define the type of
Normal Flow:
relationship (e.g., reporting, collaboration).
1.5 The administrator specifies the nature of the relationship
and any additional details.
1.6 The system updates the relationship information for the
selected departments.
1.7 Notifications are triggered to inform relevant department
managers about the established relationships.
1.0.A1 Modify Existing Relationship
A1. If the administrator chooses to modify an existing relationship:
1.1 The system displays a list of current relationships for the selected
departments.
1.2 The administrator selects the relationship to modify.
1.3 The administrator updates the relationship parameters.
1.4 The system saves the modified relationship information.
1.5 Notifications are triggered to inform relevant department
managers about the updated relationship.
1.0.A2 Remove Relationship
Page | 29
ID and Name: FE-02 Establish Relationships between Departments
E1.1 If the administrator attempts to establish relationships for
non-existing departments, the system displays an error message.
E1.2 The administrator corrects the selection and resubmits the
form.
1.0.E2 Relationship Conflict
Priority: Medium
Frequency of Use: Occasional, based on organisational changes.
Business Rules: BR-3, BR-5.
The system ensures that changes in department relationships do not
violate company policies or industry regulations.
Other
The administrator may need to coordinate with department
Information:
managers to gather input on relationship definitions.
Secondary
Primary Actor: Manager
Actors:
Page | 30
PRE-1. The employee profile manager has logged into the system.
Preconditions: PRE-2. The employee profile manager has the access rights to
manage employee information.
Priority: High
Page | 31
Business Rules: BR-1, BR-2, BR-3, BR-4
Date
Created By: Nguyễn Mạnh Đức 1/21/24
Created:
Page | 32
1.0 Leave Application Approval
1.1 Manager logs into the system.
1.2 Navigates to the leave application approval section.
Normal Flow: 1.3 Reviews pending leave applications.
1.4 Approves or rejects the leave application.
1.5 Optionally assigns another user to review the application.
1.6 Saves changes.
Priority: High
The system ensures that the manager can only access and
Assumptions: manage leave applications of employees within their
authorization.
5. Calculating Payroll
Page | 33
ID and Name: FE-05 Calculating Payroll
1.1 The HR retrieves essential data for each employee, including
basic salary, business production-related earnings, additional
allowances (if any), insurance deductions, income tax, union fees,
and any outstanding debts.
1.2 The system applies the provided formula to calculate the total
salary for each employee.
Normal Flow: 1.3 The HR system records the calculated salary, along with a
breakdown of each component, for each employee..
1.4 The system generates payroll reports, providing detailed
information about each employee's salary components, deductions,
and the overall financial impact on the organization.
1.5 The system sends the payroll report to the Manager for validation
before it is distributed to employees.
Page | 34
ID and Name: FE-06 Update Employee Information
HR user decisions in response to events such as changes in employee
Trigger:
details, regular maintenance, system alerts, or employee requests.
PRE-1. The HR user has successfully logged into the system.
Preconditions:
Priority: High
Frequency of Use: High
Business Rules: BR-1, BR-2, BR-3, BR-4, BR-11, BR-12, BR-33
Other
None
Information:
Page | 35
ID and Name: FE-06 Update Employee Information
Assumptions:
Page | 36
Alternative Flows: None
Exceptions: None
Priority: High
Page | 37
Decision of the employee to view their own monthly salary
Trigger:
history.
Exceptions: None
Priority: Medium
Page | 38
Created By: Đặng Ngọc Khoa Date Created: 1/18/24
Exceptions: None
Priority: High
Page | 39
Other Information: None
Page | 40
1.5 The system confirms the successful update of the leave
request.
Priority: High
Page | 41
The employee accesses the system to delete a previously
Description:
submitted leave request.
Priority: High
Page | 42
Other Information: None
Page | 43
1.1.E1 Unable to View Leave Requests
1.1.1 The system notifies the Employee that viewing the leave
requests is not possible.
Exceptions: 1.1.2 If it's a technical error, the Employee reports it to the
technical support department.
1.1.3 If it's an access rights error, the Employee checks their
access rights.
Priority: High
Secondary
Primary Actor: Accountant None
Actors:
Page | 44
Trigger: The Accountant initiates the salary calculation process.
1.2 Accountant identifies the salary period for which salaries need
to be calculated.
Page | 45
1.0.E1 System Unavailability
Priority: High
Nguyễn Xuân
Created By: Date Created: 1/18/24
Kiên
Page | 46
Secondary
Primary Actor: Accountant None
Actors:
Page | 47
1.0 AF1 Payment Adjustment
Priority: High
Frequency of
Regularly
Use:
Other
None
Information:
Page | 48
15. View News Articles
Internal
Primary Actor: Communication Secondary Actors: None
Officer
Exceptions: None
Page | 49
Priority: High
Internal
Primary Actor: Communication Secondary Actors: None
Officer
Page | 50
POST-1. Internal Communication successfully comments on the
Postconditions:
selected news article.
Exceptions: None
Priority: High
Page | 51
Internal
Primary Actor: Communication Secondary Actors: None
Officer
Exceptions: None
Priority: High
Page | 52
Other Information: None
Internal
Primary Actor: Communication Secondary Actors: None
Officer
Page | 53
Alternative Flows: None
Exceptions: None
Priority: High
Internal
Primary Actor: Communication Secondary Actors: None
Officer
Page | 54
PRE-1. Internal Communication has successfully logged into the
system.
Preconditions:
PRE-2. Internal Communication has access rights to add news
articles.
Postconditions: POST-1. The new news article is successfully added to the system.
Exceptions: None
Priority: High
Page | 55
Created By: Đặng Ngọc Khoa Date Created: 1/18/24
Internal
Primary Actor: Communication Secondary Actors: None
Officer
Exceptions: None
Priority: High
Page | 56
Business Rules: BR-2, BR-3, BR-4, BR-9
Page | 57
Admin confirms the deletion and understands the
2 Delete consequences of removing access and data
Admin Employees associated with the account.
Update Admin can modify details like contact information,
3
Admin Employees job title, or department affiliation.
Add Admin enters basic department information like
4
Admin Departments name and description (optional).
Delete Admin confirms the deletion and understands the
5
Admin Departments impact on associated employees and data.
Update Admin can modify details like department name,
6
Admin Departments description, or assign employees to the department.
Calculating The system considers factors like hours worked,
7
HR Payroll overtime, bonuses, deductions, and applicable rates.
Prepare The report might include individual employee
8
HR Payroll Report details, salary breakdown, and total payroll costs
Manage Managers can access details like contact
9 Employees information, job title, department affiliation, and
Manager Info other relevant data.
Update Managers can update details like contact
10 Employees information, ensuring records are accurate and
Manager Info reflect recent changes.
System
# Feature Description
Function
Automatic procedure carried out on predetermined
Data timetables to ensure consistency and synchronise
Synchronisation employee data between the HR system and other
databases or systems.
Batch/Cron
1 Scheduled job in charge of finding and eliminating
Job
unnecessary or redundant records from the HR
Data Cleanup system, as well as enhancing system performance
and data storage.
Page | 58
API endpoints allowing external applications to
Data Retrieval
API securely retrieve or update employee information
and Update
(Application within the HR system.
3
Programming Integration with API enables data sharing by providing smooth
Interface) Third-Party contact between the HR system and other solutions
Systems like payroll processors or timekeeping systems.
Process that is scheduled to provide data resilience
Regular Backups by backing up important HR system data, such as
Data Backup personnel records, configurations, and logs.
4
and Restore the ability to recover from data loss or corruption
Point-in-Time
problems by restoring the HR system to a certain
Restoration
point in time.
Entities Description
# Entity Description
Page | 59
Contains details about individual employees, such as
1 Employee employee ID, name, department, position, date of birth,
CCCD, and current address.
Tracks employee attendance with attributes like attendance
2 Attendance
ID, employee ID, check-in time, check-out time, and date.
Represents information about the company, including its
3 Company name, taxCode, address, and details of the legal
representative
Describes the organisational structure with
4 Department department-specific details such as department ID,
department name, and parent department ID.
Represents job positions within the company, including
5 Job Position
position ID and position name.
Stores user account details for the application, including
6 Account account ID, username, password, associated employee ID,
and role ID.
Captures salary-related information for employees, including
basic salary, production/business bonus, other allowances,
7 Employee Salary
social insurance, unemployment insurance, union fee,
workdays, leave days, and remaining leave days.
Manages internal news articles with attributes such as news
8 News
ID, title, content, posted date, and posted by.
Captures information about dependents of employees,
9 Dependent including dependent ID, dependent name, relationship, and
associated employee ID.
Composition
Data Element Description Length Values
or Data Type
Company Information
Page | 60
Tax identification
Tax ID Text Varies
number of the company
Geography address of
Address Text Varies
the company
Employee Information
ID Card
Number/Issue Identification card
Date/Place of number, issue date, and Text Varies
Issue place of issue
Page | 61
Current residential
Current Address address of the Text Varies
employee
Salary Information
Bonus based on
Production
production String 10
Bonus
performance
Number of dependents
Dependents Integer 2
for the employee
Social insurance
Social Insurance amount for the String 10
employee
Unemployment
Unemployment
insurance amount for String 10
Insurance
the employee
Number of days of
Unpaid Leave
unpaid leave taken by Integer 2
Days
the employee
Page | 62
Number of remaining
Remaining Leave
leave days for the Integer 2
Days
employee
Organizational Structure
ID of the department
Under System-generated
this department reports Integer 8
Supervision of sequential integer
to
Page | 63
IV. Non-Functional Requirements
1. External Interfaces
# Interfaces
Page | 64
5 Communication 1. RESTful API: The system will provide a RESTful API to
Interfaces allow external applications to interact with its
functionalities programmatically. This API will support
operations such as employee data retrieval,
attendance tracking, and payroll processing.
2. FTP/SFTP: Optionally, the system can support FTP or
SFTP for secure file transfer purposes, enabling
external systems to exchange data with the system.
3. WebSocket: WebSocket communication will be
utilised for real-time updates and notifications,
facilitating instant communication between the
system and connected clients.
2. Quality Attributes
2.1 Internal Attributes
1. Modifiability: The application's codebase should be structured in a modular and
maintainable way, allowing for ease of modification and updates to accommodate
changes in business requirements or technology advancements.
2. Scalability: The application's architecture should be designed to handle increasing
loads and user demands gracefully, ensuring that it can scale both vertically and
horizontally as needed without significant performance degradation.
3. Security: The application must incorporate robust security measures to protect
sensitive employee data from unauthorised access, ensuring compliance with
relevant regulations and standards such as GDPR or HIPAA.
4. Reliability: The application should be reliable and resilient, minimising the occurrence
of errors or system failures through thorough testing, error handling mechanisms,
and redundancy where applicable.
5. Usability: The application's user interface and overall user experience should be
intuitive and user-friendly, facilitating efficient navigation and task completion for
employees and managers without extensive training or support.
Page | 65
2.2 External Attributes
1. Availability: The application should always be available for employees and managers
to use, ensuring that they can access the application when needed to manage their
employment-related tasks.
2. Installability: The app should be easy to install and set up, allowing for quick
deployment across different devices and platforms.
3. Integrity: The application must maintain the integrity of employee data, ensuring that
it is accurate and up to date.
4. Interoperability: The application must be able to integrate with other systems or tools
commonly used in employment management, such as payroll systems or HR
software.
5. Performance: The application must perform its functions efficiently, with minimal
latency when accessing or updating employee information.
6. Reliability: The application must be reliable, ensuring that it is always available and
functional when needed without unexpected downtime or errors.
7. Robustness: The application must be able to handle errors or unexpected input
dynamically, preventing crashes or data corruption.
8. Safety: Applications must prioritise employee safety and data security, taking
measures to protect data from unauthorised access or breach.
9. Security: Apps must have strong security measures in place to protect sensitive
employee information, such as encryption and access controls.
10. Usability: The application must be user-friendly, with an intuitive interface that makes
it easy for employees and managers to navigate and use.
Page | 66