Contact us

This archive is a product necessity particular for the HR Management System Project. After giving data about the meaning of the undertaking toward the starting piece of the document, we will give a total depiction for outline and rundown the prerequisites which address the issues of the organization generally.


1.1 Purpose

This document aims to give a brief description about the HR 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 HR Management System (HRIS) project. It basically includes the requirements for managing the personal data, controlling authentication and authorization mechanism, and evaluating employees’ performance. After creating the new HRMS we have to accomplish data migration from their existing system to our new one. More specifically, our HRMS (HR Management System) controls and manages the personal database such that any user with different role types as manager, admin, employee, and human resource will be able to manipulate their personal data. In addition to manipulating the personal data, our HRMS will provide authentication and authorization mechanisms. Every user with any role type can be able to login to the system with his/her username and password.

1.3 Problem Definition

These days, organizations attempt to improve their administration and have a superior power over their employees. To satisfy these necessities in a more productive manner they need programming called Human Resource Management System.HR Management System is programming which fulfils the requirements of the Human Resources Department of an organization to deal with workers’ very own information (resident personality number, name, last name, birth-date, origin, instructive data and so forth), yearly leaves, finance, trainings, abilities, performance evaluation, etc. Our HR Management System will address the issues for dealing with the personal data, framework validation and approval of an employee. Our HRMS project is being produced for Siemens who needs to control and deal with their employee’s information in a more fitting and flawless manner. With the assistance of our undertaking, they will have better programming to deal with their own information, control system to approve and validate for the representatives’ entrance.


This SRS is organized in a way that any user of the Siemens can easily understand and use the HRMS. In other words, it constitutes a user guideline for HRMS. Basically, this document starts with a brief explanation of the problem. Later on, it continues with a detailed solution we proposed. Also block diagrams of our solution to visualize the solution and system better, specific and functional requirements, interface requirements, constraints that may be confronted while developing the software, relationship between user types each of which is a data object. This document ends with the planning and estimating the basic schedule of our process

2.1 Production Perspective

Currently, Siemens has an HRMS already in use. However, with the HRMS we will provide them with additional capabilities and properties organized neatly. HRMS 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 HRMS.

2.2 Product Functions
2.2.1 Authentication and Authorization

Being connected to internet, users will be able to get into the system. In order to see the interface related to his/her role type, the users account should be authorized and also his/her user’s name and password should be authenticated. These tasks are basically held by the functions implemented under the header of Authentication and Authorization major function.

2.2.2 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 HRMS. With the help of these functions a user can update some basic personal data like contact information, marital status etc. In addition to updating 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 a report. In other words, searching is the operation with rows of the database while reporting is the operation with columns of the database.

2.2.3 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.

2.3 Constraints, Assumptions and Dependencies
2.3.1 Regulatory Policies

Each user must be an employee of Siemens. In other words, each user has an account created by HR and authenticated by admin.

2.3.2 Hardware Limitations

There is no limitation in the operating system in which HRMS will work. However, the HRMS system and the database will work on a server that needs to be always online. Users can access the system with any internet browser.


3.1 Interface Requirements

All the users will see the same page when they enter HRMS. This page asks the users a username and a password. After being authenticated users will see the interface containing the information of the first tab of the user role types. This interface includes different tabs according to their role types determined by admin at the authentication phase. By the way, users may have more than one role. Then a user who has more than one role will be able to see all the tabs that are related to his/her role types. These tabs can be named as; Personal Data Tab, Employee List Tab, Add New Employee Tab, Add New User Tab, Manage Users Tab, Users List Tab and Arrange Roles Tab. Users who have an employee role have authorization to see only Personal Data Tab, HR 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 Tabs.

3.1.1  Personal Data Tab

With the help of this tab, employees will be able to see their personal information which appears in a user-friendly design and also by means of this tab they may edit, update some information in other words manage some personal information which are updatable such as contact information, training information. This tab will only be seen by the users who have a role of Employee.

3.1.2 Employee List Tab

This tab gives the list of all employees as selectable format (there will be a check box near each employee). This tab includes two function buttons namely report and search. When clicked on report button, a window will be opened which enables the user to select any column that he/she wants to see the specified employees’ (Employee list is selectable so HR can specify users by selecting them from the list) or all employees’ information under preferred column/when clicked on search button, again a window will be opened in which the user can enter the fieldname and the desired value. There can be more than one entry and users can choose to OR/AND them.

3.1.3 Add New Employee Tab

With this tab HR can add a new employee (when a new employee is recruited) to the employee database with filling personal master data of this new employee. This tab adds new employees without any authenticated or authorized user attached to it. In other words, only being added via this interface by HR is not enough to access this system. This account must be validated by admins.

3.1.4 Add New User Tab

With the help of this tab, Admins can add new users to the system. Admin can add a user with user ID and arrange authentication and authorization to it. This user will be created by synchronizing to the employee with the same ID from the employee database.

3.1.5 Manager Tab

With the use of this tab, Managers can edit information of employees who are attached to him/her. When this tab is selected there exists a search and report button (similar to the one in Employee List Tab but this one is restricted for employees whose manager is the user) and list of employees who are attached to him/her, below it. If Manager selects a user to display or edit information of, the system displays information of that user in editable form.

3.1.6 User List Tab

In this tab, an Admin can list all users. Also there exists a search button as in Manage Users Tab which lets the admin select users from the list by searching. After selecting the user, a new window is opened with information about that user. Admin can edit all information of that user including roles information (roles part of a user can be changed only by admin). When an admin wants to change the role of a user, a list comes up of all roles determined in the system. Admin can select/deselect roles from this list; this selection determines authorization of this user. If any of these roles are selected then automatically this user becomes unauthenticated.

3.1.7 Arrange Roles Tab

Admin can list all roles determined in the system, display all users who have these roles, arrange permissions for all roles and create new roles. In this tab, there are two lists and two buttons above them. These buttons are: “Change Permissions” and “Create New Role”, these two lists are Roles List above and Users List below. When Admin selects any of the roles from the above list, all users who have that role are listed on the list below. From this list admin can not only display users in that role but also change roles of these users.

3.2 Functional Requirements
3.2.1 Employee Information Management
  • Employee Records and Database
  •  Employee Self-Service Portal
  •  Job History
  •  Salary History
  •  Disciplinary History
  •  Insurance Plans
  •  Banking and Tax Details
  •  Time Off Used and Accrued
3.2.2 Recruitments and Hiring
  • Job Requisitions
  •  Job Descriptions
  •  Job Board Posting
  •  Social Recruiting
  •  Applicant Evaluation
  •  Applicant Tracking System (ATS)
  •  Candidate Pre-Screening
  •  Auto-Response
  •  Job Offer Extension
  •  Background Check
  •  Onboarding
  •  Branded Company Job Site
3.2.3 Benefits Management
  • Benefits Administration
  •  Wellness
  •  Health Insurance
  •  Life Insurance
  •  Retirement Plans
  •  Travel Compensation
  •  Paid Time Off (PTO)
3.2.4 Financial Management
  • Payroll
  •  Compensation
  •  Rewards
  •  Salary Administration
  •  Employee Recognition
3.2.5 Time and Attendance Management
  •  Clock In/Out
  •  Time Reporting
  •  Time Tracking
  •  Project Billing
  •  Overtime Tracking
  •  Workforce Scheduling
  •  Paid Time Off (PTO)
  •  Absence Management
  •  Biometrics
  •  Holidays Calendar
3.3 Non-functional Requirement
3.3.1 Accuracy and Validity

The solution should have various data quality assurance elements, including but not limited to: Data logic warnings (incomplete information from mandatory fields, etc.), Ability to define organization specific data completeness requirements, Drop down menu fields with standard responses, Text field input masks

3.3.2 Reliability

The solution must be able to; Enable users to work offline and synchronize data when connection is available, 

Enable backup of data so information is recoverable in the event of a system or hardware failure, Be able to reliably perform input tasks within an appropriate amount of time with resistance to failure.

3.3.3 Privacy and Security

Prevent unauthorized access to personal health information ii. Allow administrator controls to establish unique user logins for each user and establish access privileges and priorities based on user role iii. Support administrator-controlled data access feature capabilities,  viewing, entry, editing, auditing, and deleting iv. Generate privacy reports and audit logs to track user access by date and time of access, IP address where record accessed, number of records accessed and what information was accessed etc. Create an automated time stamped audit trail record on each unique record to trace and track changes to data by users (updates, deletions, additions) vi. Provide flexible password control to users.

3.3.4 Usability 

Allow for administrator defined configurations based on the context of use (fields not used are not visible) ii. Provide a pleasing and satisfying interaction for the user (look and feel and user friendliness) iii. Enable easy data entry that is organized and easily disseminated iv. Be user friendly, intuitive and easily learned by users and supervisors to meet solution effectiveness and efficiencies, Deploy compatibility on a variety devices to reduce data entry burden and improve accuracy.


This section describes attributes of database objects and relationships between them with a data table dictionary and tables to overcome confusions. These data objects are made under the consideration of getting rid of unnecessary attributes and normalization factors. The HRMS application consists of two main database groups. First one is storing information for the Personal Master Data module and the second one is for the Authorization and Authentication Module.

4.1 Personal Master Data Module

This section we mainly describe each table of the Personal Master Data Module in detail. We determine each table and its responsibility in the module. Each table keeps many fields related to the specific data object. Then in the following sections we will explain the relationships of each database module table with each other.

4.1.1 Table of Employee

Data table for employees 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 HRI system, these fields keep the data manually provided by the HR. After the first creation of the Employee account, employees, manager, HR, and admin have authorization to modify this information.

4.1.2 Table of Employee Project

This table stores basic relations between projects and employees. it stores information about projects that this specified employee takes part in. In other words, it keeps specific employee id, project id, name, start, finish, and completed dates, and notes.

4.1.3 Table of Employee Technical 

This table stores information about an employee’s technical skills. Information such as employee Id, name, level, confirmation, notes, and level id will be kept.

4.1.4 Table of Employee Education

This table keeps information about employee education. Basically, information such as employee id, department, degree, institution, thesis, notes, still studying, entrance date, graduation, and etc.

4.1.5 Table of Employee Language

Employee languages table stores data fields such as employee id, languages, written and speaking level of the languages, native language, notes, and confirmation.

4.1.6 Table of Employee Training

This table gives information about employee training. It keeps employee id, training name, location, duration, provider, confirmation, star and end dates, and notes.

4.1.7 Table of Employee Certificate

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.

4.1.8 Table of Employee Emergency Call

This table will be used in case there is an urgent call to a specific employee. In order to rich the employee information, we store employee id, name, surname, his/her relation to a person, and phone number.

4.1.9 Table of Employee Quit

Table employee quit is used to back up the specific employee information after he/she quits the job. The HRMS system will not delete the employees who quit the job. Instead, it stores their basic data and data fields that he/she was charged for. For instance, an employee during his work-life period might have been given items belonging to a company such as PC, company id card, GSM card, credit card, phone, vehicles, etc. When he/she leaves the company, those data fields mentioned above will be marked. Basic data fields are; employee id, start and end dates of the position, PC, phone, training-cancel, health insurance, and etc.

4.1.10 Table of Employee Attachment

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.

5. Description for software behavior

Each employee will be added to the system by entering the personal data of an employee by HR. At the creating state, HRMS will give an id to the newly added employee. After being added by HR, each employee has a right to be introduced to the system by admin. At this state, admin determines the role type of the user and this user is given a password automatically. At the entering state of the system, each user sees the same interface which asks a username and a password. After entering state, each user sees the same interface with different tabs related to their role type/s (manager, HR, admin, employee). At this stage:

5.1 Managers can
  • Search employees under his responsibility or search all the users he/she desires. a manager can search rows of the database.
  • Edit the employees’ data who are under his responsibility. 
  • Get a report of information related to the employees he/she desires to learn, a manager can search columns of the database.
5.2 Employees can
  • Edit their personal data.
  • see their data in editable form.
5.3 HR can
  • Search employees who have the properties he/she desires.
  • Get report about an employee, or employees.
  • Add employee by entering some specific personal data of that employee.
  • Edit employees’ data
5.4 Administrator can
  • Edit any user’ s (manager, admin, HR, employee) data 
  • Add user, in other words create a valid account to login. 
  • Edit role properties, for example there can be a need to change the attributes of each role type such that the type of tabs each user sees may change. For that kind of situation there may be need to change the properties of each role type.
  • Add a new role type to the system. Since, our HRMS is going to be a generic program there can be an addition to the role types and our system will perfectly welcome that kind of need.
  • Search the users who have the desired capabilities or properties specified.


6.1 Eclipse IDE

Eclipse is a multi-language software development environment comprising an integrated development environment(IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R, Ruby(including on Rails framework), Scala, Clojure, Groovy, and Scheme. It can be used to develop packages for the software Mathematica. The IDE is often called Eclipse JDT for Java programming language, Eclipse ADT (Ada Development Toolkit) for Ada, Eclipse CDT for C/C++, and Eclipse PDT for PHP.

Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. The Eclipse community is a not-for-profit corporation who are members of the Eclipse community hosts the Eclipse projects and helps develop an open source community and a world of complementary products and services.

6.2 MySql Administrator

MySQL is a relational database management system(RDBMS) that runs as a server providing multi-user access to a number of databases. The SQL phrase stands for Structured Query Language.[8]The MySQL development platform has made its source code available under the terms of use of the GNU General Public License. Open source free-software projects use MySQL if a full-featured database management system is required. Several paid editions are available for commercial use, and offer additional functionality. MySQL is also used in may high-profile, large-scale World Wide Web products, including Wikipedia, Google, Facebook, and Twitter.

6.3 Microsoft SQL Server

Microsoft SQL Server is a relational database server, developed by Microsoft; it is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for different workloads(ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time).

Leave a Reply

Your email address will not be published. Required fields are marked *