Employee Management System
Employee Management System
Submitted To:
Teacher Name: Md. Mizanur Rahman
Designation: Lecturer
Department of CSE
Daffodil International University
Submitted By:
Name Student ID
Shakil Mia 221-15-5595
1. INTRODUCTION............................................................................ 3
1. Introduction
This document is a software requirement specification for the Employee Management System Project.
After giving information about the definition of the project at the beginning part of the document, we
will give complete description for overview and list the requirements which meet the needs of
the company roughly.
1.1 Purpose
This document aims to give a brief description about the Employee Management System Project. With the help of this
document the needs of the company and the solution that will be provided to that needs will be clearly
presented. In other words this document will provide a basis for validation and verification.
1.2 Scope
This document covers the whole definition of the Employee Management System (EMS) project. It basically includes
the requirements for managing the personal data, controlling authentication and authorization mechanism,
and evaluating of employees’ performance. After creating the new EMS we have to accomplish data migration from
their existing system to our new one.
More specifically, our EMS (Employee Management System) controls and manages the personal database such that
any user with different role types as manager, admin, employee, and Employee Manage will be able to manipulate
their personal data.
In addition to manipulating the personal data, our EMS will provide authentication and authorization
mechanism. Every user with any role type can be able to login to the system with his/her username and password.
2. Overall Description
ERMS which is an online intranet System will be used by four types of employees’ of Siemens. These types who have
different roles can be stated as; admin, manager, HR, employee. Every user enters the main authentication page and
after that, system will grant them authorization. After being authorized according to their permissions (role type)
users will basically query and edit the database via ERMS.
2.2 Product Functions
ERMS implements some major functions in order to accomplish required tasks. These functions constitute a basis for
the whole system. These functions can be stated as:
Recruitment
Recruitment of a new person which means introducing a new user to the system can be accomplished in two steps.
When it is needed to add a new user to the system, firstly, HR must create an employee account, by the way at this
step HRMS automatically gives an id to that user. At the second step, admin creates a user related to that user id.
Process Data
These functions which can be examined in that process data major function are basically provides user to
manage the database according to the desired task. These management tasks constitute the major feature of the
ERMS. With the help of these functions a user can update some basic personal data like contact information, marital
status etc. In addition to update data, a user can also search the database in order to obtain the list of the users'
which has the properties desired. Also a user may also see the specific information about a user or all users which
can be named as report. In other words searching is the operation with rows of the database while
reporting is operation with columns of the database.
User who have employee role have authorization to see only Personal Data Tab, ER role gives right to see Employee
List Tab and Add New Employee Tab. Manager role gives authorization to see only Manager Tab. And Admin role gives
user right to see User List Tab and Arrange Roles Tab. These authorizations are default ones but an admin can change
these authorizations by Arrange Roles Tab. These tabs can be explained detailed as:
Login User can login to the HRMS system with his/her username and password.
Login failure If the user does not exists in the database or the user did not get authorized
by the HRMS admin yet.
3.2.1.2 Authorization
User role check After logging in, the user role will be checked from the
database and the user interface will be created
according to that role/roles.
Figure 3.2.1.1: Authorization/Authentication DFD
Report This feature is basically used to filter the contents of the search mechanism.
For instance, as we mentioned in the above search feature. The HR wants to get a report
of some specific employees who know “java programming Language”. The list of
employees obtained from the result of search feature he/she can get the specific report
by selecting the corresponding checkbox available for each employee. Or a manager role
type can get a report of some or all employees’ who are working under his/her coverage
by selecting the checkbox. Except employee role type, all other role types such as admin,
HR, and manager can use this feature.
Update authentication This feature can be used only by admin role type. Admin can update the role type of a
specific user. For example, an employee got promotion and his role type will be changed
from employee role to manager role. Admin will be able to update this authentication
mechanism.
2.5.3 Recruitment
Add a new employee HR role type is able to add a new employee to the database. The new
employee will have all the required personal information related to
his/her. The new created employee will have an id.
Add a new user After being created a new employee by HR role, admin role is
responsible for creating a new user by the specified id assigned in the
“Add a new employee” feature. The unique id will be given by the
system. Admin will assign a new role such as employee, manager, HR,
and admin to the new created user.
3.3.1.2) There is no restriction on the number of the users to be added to the database.
3. Stakeholders Comments:
1. Business Analyst: "The SRS outlines the project scope and functionalities clearly. To further enhance clarity, we could
include use-case scenarios to demonstrate how different user roles interact with the system."
2. HR Department Representative: "The functions for employee management, especially in recruitment and personal
data handling, are crucial. However, there should be clear mechanisms for handling confidential employee data securely.
Are there plans to encrypt sensitive data fields?"
3. Senior Developer: "The choice of PHP and MySQL is suitable for web-based applications. I recommend ensuring that
the code is written with modern practices like MVC frameworks for better maintainability and scalability."
4. IT Security Specialist: "The document outlines an authentication and authorization system, but there is a need for
detailed security protocols, especially concerning data breaches and prevention strategies. Incorporating an audit trail to
track changes might be beneficial."
5. Quality Assurance Manager: "We need a detailed section on quality assurance processes, including test cases and
scenarios for functionality testing, usability testing, and security testing."
6. User Experience Designer: "The interface requirements are briefly mentioned. It would be beneficial to include
specific design principles and guidelines to ensure a consistent and user-friendly experience across different modules."
7. Compliance Officer: "Given the handling of personal and potentially sensitive employee data, we must ensure the
system complies with GDPR and other relevant data protection laws. Specific compliance measures should be outlined in
the SRS."
8. Project Sponsor: "The SRS provides a good overview, but I would like to see a risk management plan that identifies
potential project risks and outlines mitigation strategies."
9. End-User (Employee): "It's important that the system is intuitive and easy to use, especially for non-technical staff.
Can we incorporate a feedback mechanism within the system for continuous improvement based on user experiences?"
10. System Administrator: "The non-functional requirements need to include system performance metrics, such as load
times and concurrency levels, to ensure the system can handle peak loads, especially during major HR events like open
enrollments."
4.Technologies to be used:
Software Requirements: -
PHP:
PHP, abbreviated to Hypertext Preprocessor is a server side web programming language that can be
embedded into HTML. PHP is free software i.e. it is open source code. It is used for creating dynamic web
pages that interact with the user and can include functionalities such as getting user input, manipulation of
the input and storage of this data in a suitable DBMS. PHP is also easy to integrate with web pages. [
MySQL:
MySQL stands for My Structured Query Language. It is the world’s most popular open source relational
DBMS. MySQL is available for free under the GNU General Public License for open source benefits/reasons
related to development. Initially MySQL was free and some versions of it are still free though if you desire to
use MySQL for commercial purposes you will need to purchase a license. It is non-proprietary, easily
extensible and platform independent. Its downside is that it lacks a graphical user interface; therefore you
need to know how the database works to make the most efficient use of it.
5. Hardware Requirements :
• Pentium- Intel Pentium IV, 1GHZ or above
• 1GB Ram
• 512 KB Cache Memory
• Hard disk 10 GB
• Microsoft Compatible 101 or more Key Board
7.Architectural Design
7.1. Data Flow Diagram
A data-flow diagram (DFD) is a way of representing a flow of a data of a process or a system (usually an information
system). The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-
flow diagram has no control flow, there are no decision rules and no loops. Specific operations based on the data can
be represented by a flowchart
7.2 Use case diagram
A use case diagram is a dynamic or behavior diagram in UML. Use case diagrams model the functionality of
a system using actors and use cases. Use cases are a set of actions, services, and functions that the system
needs to perform. In this context, a "system" is something being developed or operated, such as a web site.
The "actors" are people or entities operating under defined roles within the system
8. Database Schema:
8.1 Data Dictionary
Data Dictionary consists of the following information:
ER Diagram
8.1.1.1 TBL_Employee Table
Description: Data table for Employee consists of many fields which are responsible for storing the
specific employee personal information. Some important fields in the table can be
said as employee id, name, surname, email, phone, date of birth, and many more
which can be seen in the above database table. Fields in this table will be filled with
the specific data of the Employee. At the time a new Employee is added to the HRMS
system, these fields keeps the data manually provided by the HR. After the first
creation of the Employee account, employee him/herself, manager, HR, and admin
have authorization to modify this information.
8.1.1.2 TBL_APPL_User
Name: TBL_APPL_User
Description: The TBL_APPL_User table consists of basic information about a user. The detailed
information about this table will be given in part (4.2), in Authorization and
Authentication module part.
8.1.1.3 TBL_Employee_Projects
Name: TBL_Employee_Projects
Description: This table stores basic relation between projects and employees. it
stores information about projects that this specified employee takes
part. In other words, it keeps specific employee id, projects id, name,
start, finish, and completed dates, and notes.
Name: TBL_Employee_TechnicalSkills
Description: This table stores information about an employee technical skills.
Information such as employee Id, name, level, confirmation, notes, and
levelId will be kept.
8.1.1.5 TBL_Employee_Education
Name: TBL_Employee_Education
Description: This table keeps information about an employee education. Basically,
information such as employee id, department, degree, institution,
thesis, notes, still studying, entrance date, graduation, and etc.
8.1.1.6 TBL_Employee_Languages
Name: TBL_Employee_Languages
Description: Employee languages table stores data fields such as employee id,
languages, written and speaking level of the languages, native
language, notes, and confirmation.
8.1.1.7 TBL_Employee_Trainings
Name: TBL_Employee_Trainings
Description: This table gives information about an employee trainings. It keeps
employee id, training name, location, duration, provider, confirmation,
star and end dates, and notes.
8.1.1.8 TBL_Employee_Certificates
Name: TBL_Employee_Certificates
Description: An employee may have certificates throughout his/her education
timeline or he/she will get any other certificates during his working
duration in the company. Employee certificate table stores data field
such as employee id, name of the certificate, its provider, date, notes
and confirmation.
8.1.1.9 TBL_Employee_Emergency_Call
8.1.1.10 TBL_Employee_Quit
Name: TBL_Employee_Attachments
Description: This table is used to keep data about employee attachments. The
information that will be stored is employee id, file name, file id, URL,
notes, content type, file size, file type, and id.
8.1.2 Relationships
Relationships between tables are made through a unique field which is employee id. Employee table creates the basic
information table about an employee such as his/her id, name, surname, email, and etc. This provided employee id is a
primary key for the employee table, but it will be a foreign key for all other tables using the specific employee
id. All table mentioned above will manipulate employee personal data through that id. Therefore, employee id, the
primary key, is like bridge between a unique employee and his/her relation to other data fields and tables.
9. Limitations:
1. Performance Constraints: The system can handle a maximum of 50 online users at any given time. There is
no restriction on the number of users that can be added to the database, but the system's performance with
concurrent users is limited to this number.
2. Technical Constraints: The system is primarily designed using PHP and MySQL, which may not be as
scalable or robust as some more modern frameworks or databases. The absence of a graphical interface for
MySQL necessitates proficiency in SQL for effective use.
3. Security Concerns: While the system includes basic authentication and authorization mechanisms, detailed
security protocols are not fully defined, particularly regarding data breaches and prevention strategies. There
is a mention of the need for an audit trail to track changes but no detailed implementation.
4. Compliance Issues: Compliance with data protection laws like GDPR is crucial due to the management of
sensitive personal data. Specific measures for compliance need to be more clearly outlined in the system
requirements.
5. User Experience Limitations: The document briefly mentions interface requirements but lacks detailed
design principles or guidelines to ensure a consistent and user-friendly experience across different modules.
6. Maintenance and Scalability: The use of PHP and a centralized database may pose challenges in scaling
and maintaining the system as the number of users and data complexity grows.
10. CONCLUSION