Omar Tariq 1
Omar Tariq 1
net/publication/341945176
CITATION READS
1 35,854
1 author:
Omar Tariq
Chongqing University
6 PUBLICATIONS 44 CITATIONS
SEE PROFILE
All content following this page was uploaded by Omar Tariq on 10 June 2020.
Omar Tariq
Table of Contents
Table of Contents........................................................................................................................ I
Introduction ......................................................................................................................... 1
1.1) Research Background................................................................................................... 1
1.2) Current Status of the Researchl ................................................................................. 2
1.2.1) HRIS ..................................................................................................................... 3
1.2.2) RE .......................................................................................................................... 4
1.3) Problems Remaining..................................................................................................... 5
1.4) Working Strategy.......................................................................................................... 7
1.5) Structure of the Thesis ................................................................................................ 7
............................................................................................. 9
2.5) Methodologies ............................................................................................................... 9
2.2) Requirement Engineering process .............................................................................. 9
2.2.1) Requirement Elicitation .................................................................................... 10
2.2.2) Requirement Analysis and Negotiation ........................................................... 11
2.2.3) Requirements Specification .............................................................................. 11
2.2.4) Requirements Validation and Verification...................................................... 13
2.2.5) Requirements Management .............................................................................. 14
2.3) Requirement Engineering in a development Life-cycle ..................................... 14
2.3.1) Waterfall model ................................................................................................. 15
2.3.2) Spiral model ....................................................................................................... 16
2.4) Object-Oriented Analysis and Design .................................................................. 18
2.4.1) Unified Modelling Language (UML)................................................................ 18
2.4.2) JSP....................................................................................................................... 19
2.4.3) J2EE .................................................................................................................... 20
2.4.4) MVC.................................................................................................................... 20
2.4.5) Struts framework ............................................................................................... 21
................................................................................................................... 21
3.1) Functional Demand Analysis Of System ............................................................. 21
3.2) The Function Of Each Module ................................................................................. 22
3.3) System Topology Structure ....................................................................................... 23
3.4) Design Idea ................................................................................................................ 24
3.5) System Framework Design ...................................................................................... 25
3.6) Use Case Modeling ................................................................................................... 27
I
3.7) Use Case Description System ................................................................................... 31
3.7.1) Use Case Description UCD1: User Login Management (ULM) .................... 31
3.7.2) Use Case Description UCD2: Employee Information Management (EIM).. 34
(3.7.3 Use Case Description UCD3: Employee Leave Management (ELM) ............ 37
3.7.4) Use Case Description UCD4: Employee Discipline Management (EDM) .... 40
System Implementation................................................................................................ 43
4.1) System implementation ............................................................................................. 43
4.1.1) The View Implementation: JSP pages and presentation ............................... 44
4.1.2) The Controller: ActionServlet and ActionMapping ....................................... 44
4.1.3) The Model Implementation: business logical layer and data persistence
layer ............................................................................................................................. 45
4.2) Class Diagram ............................................................................................................. 47
4.3) Pseudo Code ............................................................................................................... 48
4.4) User Interface ............................................................................................................ 50
4.4.1) Home Page Tab .................................................................................................. 50
4.4.2) User Login Management Tab ........................................................................... 50
4.4. 3) Employee Information Management Tab ....................................................... 52
4.4. 4) Employee Leave Management Tab ................................................................. 54
Conclusions......................................................................................................................... 55
5.1) Conclusions................................................................................................................. 55
5.2) Acknowledgement ........................................................... Error! Bookmark not defined.
5.3) Appendix A ................................................................................................................. 58
5.4) References ................................................................................................................... 60
II
List of figures
Number Page
III
IV
Introduction
1.1) Research Background
Interodction Page |1
departments in the organization because lacks a unified whole system in the
management process an ability to meet the demand of social development.
There has been already a lot of research works focusing on the Human Resources
Information System (HRIS) and Requirement Engineering (RE) of a review of these
studies.
Interodction Page |2
1.2.1) HRIS
(Dr. Shikha N. Khera, Ms. Karishma Gulati, 2012), States that human-resource
information system (HRIS) is not a new concept, but it is recuperating day by day with
a changing environment. Its major role is in Human- Resource Planning (HRP) which
itself a crucial activity in any organization. They are stressed upon impact of (HRIS)
on Human-Resource Planning and the advantages of HRIS with special reference of
(IT) companies [3]. (Jiang Yan, 2013), In his research paper has stressed upon Human
Resources Information Sharing System, which may include self-service (employee and
teacher) in the process of daily management in the university. The strategic advantages
of (HRIS) which can be in the course of information gathering, processing, and sharing
among all colleges [4]. (Zhu Ye, 2011), He has proposed about various advantages,
applications and importance of HRIS. Who highlights implement a corporate personnel
management system has the potential to be an enterprise-wide decision support system
that helps achieve both strategic and operational objectives [5]. (Barkha Gupta, 2013),
In his study (HRIS) can play an important part in a company’s (HR) function. That
referring implementing an effective (HRIS) can be sure - fire for (HR) to stay on the
cutting edge in its bid to deliver a more effective and streamlined services. The study
also states that (HRIS) cannot be used for analytical purpose, but can only be done for
administrative purpose[1]. (MD. Sadique Shaikh, 2012), Discussed about three models
for (HRIS) designing namely basic (HRIS) design model, (HRIS) hexagonal and
(HRIS) phase’s model. The author emphasized on the payback of (HRIS) designing
and execution for all levels and domains of businesses; In the form of profitable
strategies (HR) and related business plans and decision, to forecast and to control (HR)
processes inside and outside of business organization using HR-databases or HR-
Knowledge base's, which includes information related to human resource maintained
and processed by (HRIS) [6].
Interodction Page |3
1.2.2) RE
(Ian Summerville, 2011), He refers in his book the requirement engineering (RE) is the
relatively new term, contains a set of activities for discovering, analyzing,
documenting, validating, and maintaining a set of requirements for a system for
building a computer-based information system (IS). Author refers to the report
(CHAOS) by [Johnson, 2000] which states for about half of the factors associated with
a project or product success are requirements-related, also recently, researchers have
reported in studies showing that project success is directly tied to requirement quality
(Kamata, 2007). Author said with such overwhelming evidence that requirement
engineering is a cornerstone of software engineering [7]. (R. Thayer and M. Thayer,
2007), In their study that states on requirement engineering (RE) means the
requirement for a system are defined, managed and tested. Confirm the study also that
even though requirement engineering has a fairly narrow goal to determine a need and
define the external behavior of a solution, it seems to be a challenge for organizations
[8]. (S. Jacob, 2009), He is referred to introducing requirement engineering in a
change of behavior and culture and not just a change of process and technology.
Additionally, he claims that it is important that the cost of fixing a requirement's
defect later in the development stage is much higher than the cost of identifying and
fixing it in the early stages of development. He said from order to do this the system
requirements must be properly identified, analyzed and reviewed early in the
development process. Many errors can be detected in the requirement's phase [9]. (Karl
E. Wiegers, 2003), He referred in his book the goal of requirement engineering (RE) is
to reach a thorough understanding of the needs of individuals involved in the problem
to be solved, Because of this goal and its impact on subsequent phases. Through
research in his book, we noted that requirement engineering was divided into two
main groups of activities (requirement development and requirement management).
Requirement development includes activities related to elicitation, analysis,
specification, and validation requirements, whereas requirement management includes
Interodction Page |4
activities related to maintenance, namely identification, trace ability, and change
management of requirements. Additionally, we noted that, every system had an
assortment of (requirement functional and requirement non-functional). Functional
requirement includes input that the software gets an output it generates. Requirement
non-functional is the properties of software such as portability, reliability, testability,
efficiency and modifiability. Author said also in many cases, requirement functional
and requirement non-functional are separated treated independently and in some
situations, dealt with using different teams of people. Author confirms that essential
functional and non-functional requirement is related to each other, are developed
through requirement engineering, and this is one of the key aspects of requirement
modelling [10].
In twenty-first Century, with the rapid development of science and technology, the
traditional human resource management system has been unable to meet the demand of
social development and personnel training in vocational education. Related problems
of human resource management information system mainly include the following
aspects:
The current management system in the vocational education, the biggest problem is
that all departments are working independently depend on human management,
without affecting each other, so the automatic information conversion and sharing,
does not achieve the related requirements. Transferring the related information
needs to be systematically combined all departments. The vocational educations are
still using the decentralized management model, and management system is mainly
(LAN) and single microcomputer in the management process. The system in use
process, are mainly independent system operation, rarely exchanges information
between each department. At the same time, it wastes a lot of time, and the result is
not ideal.
Interodction Page |5
A Large Amount of Information Maintained. lacks survey and overall
optimization, causes a lot of resources not to be used normally, this wastes
manpower, material and financial resources, at the same time, still largely
increases redundancy. Once a system problem occurs, it needs related person to
maintain, so it increases maintenance costs. In addition, the system is has no
its own (C / S) structure, it needs to the server and client in the using process.
Insufficient Information. In the human resources information system in
vocational education, management and decision makes as a unified whole,
cannot be separated in use process.
The Lack of Humanity. In daily management, human resource information
management not only relates to the management Employee order, but also
directly affects thefuture development of vocational education. However, in the
current human resources information management system, the design symbolic
collects and manages information date, doesn’t do any reminder for the
management flow and scale. For example, a employee 's tenure is over and
needs for renewal, system does not prompt remind managers, it can only rely
on manager's memory, once forgot, it will directly impact the working state and
emotion on both sides.
Interodction Page |6
1.4) Working Strategy
1.5) Structure
Chapter One Introduction: This chapter illustrates the general overview of this
study. It consists of Research Background, and Current Status of the Research,
Problems Remaining, and Working Strategy.
Chapter Three System Design: This chapter investigates the methodology for
requirements capture, during which we define the functional requirements of the
system, use cases and scenarios in order to present a proper design of an HRIS system.
Also architecture system design on the Unified Modelling Language (UML) of which
Interodction Page |7
are will be obtained on a clear description of the conceptual or logical model the
requirement specifications of the system. Additionally, system- framework design on a
program of the Struts framework based on (MVC) model.
Chapter Four System Implementation: This chapter presents the system structure
implementation. Also a discussion of implementing a struts framework based on
(MVC) model. As well as Pseudo Code and User Interface.
Chapter Five Conclusion: This chapter consists of the thesis summary, conclusion.
Also appended appendix, references.
Interodction Page |8
2.5) Methodologies
The requirement engineering process [10] [7] starts from requirement elicitation, then
goes to requirement analysis and requirement specification. After the requirement
specification has been validated, the process ends. During requirement elicitation,
requirement's engineers identify the roles that will be affected by the system, articulate
the goals of the system, and define operational and organizational constraints on the
system. The techniques used in this phase include interviews, scenario's prototypes,
facilitated meetings, and observation. In the requirement analysis phase, engineers
group the requirements, create conceptual models, analysis requirement, and negotiate
with stakeholders to resolve requirement conflicts. In the requirement specification
Methodologies &Theories P a g e | 10
asking what a system should do. A lot of techniques can be used in the requirement
elicitation process[15].
Requirements Analysis and Negotiation are a process during which requirements are
analysed and modeled. Possible conflicts are resolved by negotiation between
stakeholders. The elicitation process provides the input to this process. The output of
the process is a consistent and complete set of requirements.
Methodologies &Theories P a g e | 11
Acts as a binding contract between the customers and the suppliers.
Reduces the effort needed for maintenance and changes.
Provides a basis for estimating costs and schedules.
Provides a baseline for verification and validation.
Functional requirements [10] specify what the system does include its inputs and
outputs functional requirements development starts from transforming functionalities
described in an informal, textual form, to use case design, and then to the formal
specification of the requirements. The possible transitions in the functional
requirements development process are shown in figure (2.3).
Methodologies &Theories P a g e | 12
2.2.3.2) Non- Functional Requirement
Requirements verification and validation (V&V) are the process to ensure that the
requirement document is unambiguous, consistent and complete, that the stakeholders
are satisfied with the final requirement specification. SRS can be used as guidance for
requirements verification and validation. So the task of verification is to ascertain that
the SRS complies with standards, and is consistent, complete, unambiguous and
determines whether the requirements satisfy the users' intentions. Requirements
Methodologies &Theories P a g e | 13
verification and validation (V&V) can uncover and rectify many deficiencies that may
otherwise go undetected until late in the development cycle, where the correction
would be much more expensive. Thus, requirements (V&V) have a critical impact on
the outcome of the software-development life-cycle and should be conducted carefully.
Whatever the case, RE activities remain in are many models available for software-
development processes, and many of these have been used for many years. This
Section discusses the processes of Requirements Engineering, in the context of the
following software-development models.
Methodologies &Theories P a g e | 14
2.3.1) Waterfall model
The waterfall model suggests a linear, systematic and sequential approach to the
development of software as depicted in figure (2.6). The model begins with the
requirements analysis phase and progresses through design, implementation,
integration and testing. The requirements' phase appears at the start of the model, and it
culminates with the production of the (SRS). This phase is at a high level of abstraction
and is not explained in detail. The high level requirement objectives pertaining to the
activities of elicitation, analysis, specification, verification and validation (V&V), and
management are identified. However, neither the process of achieving these objectives
nor the methods for this phase are well-defined. The waterfall model has been
criticized for representing an unrealistic approach to software development. Software
projects in industry seldom follow the sequential pattern that the waterfall model
proposes. To overcome this drawback, the model can be modified to incorporate
iteration. Because iteration is often indirectly implemented, changes in the
specification and design can cause confusion as the project proceeds [Pressman 2001].
Furthermore, the waterfall model stipulates that requirements be completely specified
before the rest of the development can proceed. Freezing requirements before design
may be possible for some projects, but it is difficult for the majority of the software
projects because the user is often unsure about his or her requirements. The waterfall
model has problems in accommodating this uncertainty effect; the requirement
engineering phase in this model is rigid and provides process details at a high level of
abstraction. Despite these limitations, the waterfall model is the most widely used
process models. It is well suited for projects where the requirements are well
understood. To provide flexibility to the waterfall model, the literature includes a
number of variations of this model [Holt 97]. Lack of user involvement in the
development after requirement specification has ended [Mc Cracken and
Jackson, 1981]. In flexibility to accommodate prototypes [Alavi, 1984].
Methodologies &Theories P a g e | 15
Inability to accommodate reused software [Castano and De Antonellis 1993;].
Maintainability problems [Balzer et al, 1983].
Complicated systems integration [Yeh and Ng, 1990].
In conclusion, the waterfall model takes a static viewpoint of Requirements
Engineering by ignoring issues such as the inherently dynamic nature (volatility) of
requirements and its impact on earlier and later phases of development.
Methodologies &Theories P a g e | 16
The Spiral Model introduces the additional subprocesses of requirement engineering,
known as requirements risk analysis using techniques such as simulation and
prototyping and planning for design. Such additions aim at reducing the risk of change
at any subsequent stage. By evaluating the feasibility of the proposed requirements, for
example, the approach reduces the risk of having to repeat Requirements Engineering
once it has reached a stage (e.g. Design) where it might be discovered that it is not
feasible to produce the required software system. The Spiral model, however cannot
cope with unforeseen changes during any stage of development and their impact on
other phases. If, for example, a new business objective occurs whilst the development
has reached the coding stage, then unavoidably Requirements Engineering and design
has to be repeated[19].
Methodologies &Theories P a g e | 17
2.4) Object-Oriented Analysis and Design
The (UML) is the successor to the wave of object-oriented analysis and design
(OOA&D) methods that appeared in the late '80s and early '90s. It most directly unifies
the methods of Booch, Rumbaugh (OMT), and Jacobson, but its reach is much wider
than that. The (UML) went through a standardization process with the (OMG) (Object
Management Group) and is now an (OMG) standard[20] [21]. As a language for
specifying, visualizing, constructing, and documenting the artefacts of software
systems, The (UML) represents a collection of the best engineering practices that have
proven successful in the modelling of large and complex systems. Developing a model
for a web-based application system prior to its construction or renovation is as essential
as having a blueprint for large buildings. Good modelling is essential for
communication between domain experts and (IT) professionals to assure architectural
robustness. The good modelling techniques are more demanding when the complexity
of systems increases. Among many additional factors of a project’s success, a rigorous
modelling language standard is an essential one. A modelling language must include at
least three kinds of components: model elements, notation, and guidelines. As a visual
modelling language of choice for building object-oriented and component-based
systems, (UML) has become a well-defined and widely accepted standard to that need.
In (UML), a diagram is defined as the graphical presentation of a set of elements, most
often rendered as a connected graph of vertices (things) and arcs (relationships). In
theory, a diagram may contain any combination of things and relationships[22]. The
(UML) method includes nine diagrams: class diagram, object diagram, use case
diagram, sequence diagram, collaboration diagram, state chart diagram, activity
diagram, component diagram, deployment diagram. In practice, however, a small
number of common combinations arise, which are consistent with the five most useful
views that comprise the architecture of a software intensive system. Five most useful
views are often encountered in software design: use case view (for the end-user:
Methodologies &Theories P a g e | 18
functionality), logical view (for analysts /designers: structure), process view (for
system integrators: performance, scalability, throughput), implementation view (for
programmers: software management) and deployment view (for system engineering:
system topology, delivery, installation, communication). We will apply these diagrams
to analysis and visualize the (B / S) Browser / Sever HRIS system in latter chapter of
this thesis. (UML) models can be categorized into three groups:[12]
State models: which describe the static data structures (Class Diagram,
Package Diagram, Component Diagram, Composite Structure Diagram, Object
Diagram, and Deployment Diagram).
Behaviour models: which describe object collaborations (Activity Diagram,
Use Case Diagram, State Machine Diagram, and Interaction Diagrams).
State change models: which describe the allowed states for the system over
time (Communication Diagram, Interaction Overview Diagram, Sequence
Diagram, and Timing Diagram).
2.4.2) JSP
Java Servlet Page (JSP)[23] [24] [25] is a technical standard of a Dynamic Web Page
advocated by Sun Microsystems and many companies contribute to its building. (JSP)
technology is similar to (ASP) technology. JSP file is formed after inserting Java
program segment and JSP tags into traditional (HTML) page. In (JSP) technology, the
Java language is used to edit the tags of XML-like and scriptlets and pack the
processing logic to generate dynamic web pages. Through tags and scriptlets, Web
page could visit the applied logic lies in the resource of severs side. (JSP) sets web
logic apart from web design and display, support the design of reusable components
making the development of web application rapid and easy. When a web server is
requested to visit the (JSP) web page, it would run the program segment, and send the
result back to the client with the (HTML) code in the (JSP) file. The inserted Java
program segment has the functions of database operation, web page redirection, which
Methodologies &Theories P a g e | 19
are used to build dynamic web page. In order to develop the dynamic web site
conveniently and rapidly, (JSP) has made improvement in the following aspects which
make it become the first choice to build a cross-platform dynamic web site.
2.4.3) J2EE
Java 2 Platform (J2EE)[23] [24] [26], is a system to develop, deploy and manage
complex issues related to enterprise solutions by means of a Java 2 platform. The
(J2EE) system provides an integrated framework of the middle layer to meet the
requirements of low costs, but high availability, high reliability and scalability of
applications. By providing a unified development platform, (J2EE) reduces the cost
and complexity of multi-tier application and development, meanwhile providing strong
support for the integration of existing application program. The system can fully
support Enterprise JavaBeans, Servlet and (JSP), support package and deployment
wizard. It has added directory support, enhanced security and increased performance.
2.4.4) MVC
Overview (MVC) Model - View - Controller[27] is more popular in the current (J2EE)
design patterns, (MVC) pattern appears not only to achieve the separation of the
function module and display module, but it also improves the maintainability of the
application system, scalability, portability and reusability of the components[28].
(MVC) best to achieve the separation of data layers and presentation layer, the
application is divided into three categories: Class Model (model), View (view) class
and the Controller (Controller), and a controller for a link through flow control systems
business and data logic model and linked to complete the display logic. The application
of the (MVC) pattern the system's business logic and data logic business-oriented areas
of the control logic and display logic associated with the application. Logic
independent of each other, carries out their duties, and therefore such as business
restructuring or algorithm changes, simply modifies the corresponding logic, so that
not only improves the efficiency and reliability. (MVC) pattern separation of data
Methodologies &Theories P a g e | 20
access and data performance, so that not only improves the reusability of the code also
reduces the maintenance overhead[24].
As a design pattern of (MVC) [29] thinking through the design language. The
framework is a mixture of design and code, and can give good scalability of the
developers in order to achieve the different applications. A strut is a typical use of the
Web application framework of the (MVC) pattern. Struts framework architecture to
achieve the concept of the (MVC) design pattern, and mapping these concepts to the
components and concepts of the web application. The application's user interface and
back-end logic of the data handling code abstraction; it contains rich tag libraries and
independent in the framework utility class. In the Struts framework, The model
consists of the Action and ActionForm objects, all of the Action processor objects are
derived from the Struts Action class, subclass. Action Processor objects encapsulate
the details of the processing logic, business logic module is called, and the response
submitted to the appropriate View component to produce a response [28] [30] [24].
Methodologies &Theories P a g e | 21
3.1) Functional Demand Analysis Of System
The overall Human Resources Information System (HRIS) web-based, design divides
the overall task into many basic and specific function modules; these specific function
modules can be reasonably integrated to form the overall system. The system's basic
tasks are as follows:-
Dividing the system into larger modules;
Doing a further breakdown of each function module to form more specific
functional modules;
Determining the specific function of each module;
Determining the module calling relationships;
Determining the module interface and the interaction of information between
modules;
System Design P a g e | 21
Employee Discipline Management includes: input information punishment, query
information punishment.
1. User login Management (ULM) is divided into ordinary user login and
administrator login. When ordinary users log on, the system will give him low
authority to meet the basic needs of ordinary users. When the user is an
administrator, the system will assign a higher authority in order to achieve the
system's updates and maintenance by the administrator.
2. The Employee Information Management (EIM) is mainly the basic information
management for employees. Employees can view the personal information page
their own such as (name, address, sex, minority status, etc.,) when they enter
System Design P a g e | 22
system and do not have any right to edit and manage of the information as defined
by HR Policies of the organization. They can edit personal information only as
defined by HR administrators of the organization and also uploads their personal
photographs into the system.
3. The Employee leaves Management (ELM) is the assessment of the daily work of
employees. The employee worth an annual leave when he has at least one year of
continuous service to be eligible for this type of leave. The employee can request
another leave (maternity, satisfactory, without pay, etc.,) as well as a local leave
period of seven days for a while if an employee did not complete the year on his
appointment and will be in cases necessary only. The employee can send request
leave to the administrator after getting employee's to initial approval from the
senior management for submission of the application.
System Design P a g e | 23
FIGURE 3.2: TOPOLOGY STRUCTURE OF HRIS
The design program of the Struts framework based on MVC model combining with the
Hibernate technology[14], which is used to achieve the ORM is adopted in this system.
The most significant feature of Struts is to give all the business process control of the
system to the configuration files to complete, which can realize the business logic and
interface separation, reduce the coupling of the system, while an increase the
maintainability of the system.The Hibernate guide’s development in a completely
object-oriented concept, which liberates the programmer from much of the repetitive
work. Hibernate is responsible for the mapping between Java’s objects and relational
data, is a bridge between Java applications and the relational database, which can avoid
the developers operate the database using too many SQL statements with JDBC,
provide flexible business logic, and reduce operating database workload. Therefore, the
system established through the combination of Struts and Hibernate, not only conforms
to the MVC design pattern, but also conforms to the multi-story structure of the J2EE
platform. At the same time, it makes the system design have lower level coupling and
higher maintainability and scalability.
System Design P a g e | 24
3.5) System Framework Design
The design program based on Struts and Hibernate is adopted to realize the human
resources information, and according to J2EE multi-tier architecture, the system uses
level design concepts to design, the specific design framework as shown in figure3 [4].
System Design P a g e | 25
In the hierarchical design, the interface each level provided is the basis of inter-layer
communication, the principle is to realize strict independence and separation between
layers, and do not make the details of each layer public. Using this type of multi-tier
architecture can restrict the expression of application data to the corresponding layer,
which reduces the data coupling between each layer and improves the maintainability
and scalability of the overall framework [6]. The specific processes are as follows: First
of all, after the system framework was deployed to the application server, in the first
phase the handling request Web Action corresponding to the different request names
are firstly downloaded and cached from the configuration files and the database, and
once the request needs to active certain Web Action the front-end controller will
dynamically load the Web Action. The HTTP protocol communication between client
and the expression layer refers to receive user input and return the results to the user
respectively through HTTP Request and HTTP Response; the Servlet of the expression
layer will transmit the client request after encapsulated to the controller object of
business logic layer, and then controller will complete the corresponding logic
operations through transferring Java Bean, finally through the JSP component to
generate dynamic web pages and return them the client; through the data access objects
DAO, logic layer will interact with data persistence layer, in which business logic layer
provides the DAO interface and the data persistence layer provides the DAO
implementation. When the implementation framework of the data persistence layer is
changed, the work of the business logic layer will not be affected, thus the system
flexibility and maintainability will be further improved; communication layer is
responsible for the communication between the logical processing layer and the
database, Hibernate realizes the DAO interface of the business logic layer and realizes
the conversion and visits between Java classes and database according to configuration
files information[7].
System Design P a g e | 26
3.6) Use Case Modeling
The use case model for web-based Human Resources Information System (HRIS) is
depicted in figure (3.2) which includes - three actors. The employee, who initiates a
service request and the beneficiary of the system functions. Administrators, who are
responsible for maintaining, updating the entire system and have more rights on the
system. Senior Management, who is responsible for the implementation decisions and
feedback results of the acceptance or rejection reports. In addition, it could be
determined four main use cases (ULM, EIM, ELM, EDM).
3.6.1) In the (User Login Management) use case; we have different types of logging
into our system, namely employees, administrator and senior management. It’s very
important that every registered user has to select their designated login method to login
into the system. Registering the employees will be in the hands of the administrator.
He will give the employees a user name, id and password to proceed further to create
the details and further validations.
System Design P a g e | 27
FIGURE 3.5: USE CASE DIAGRAM \ USER LOGIN MANAGEMENT
System Design P a g e | 28
3.6.2) In the (Employee Information Management) use cases; The employees (his /
her) can send requests edit their personal information by email to the administrators.
An administrator receives an email from an employee, and then the administrator will
be (entry, changes, deletes, query) information and sends a report. Senior management
receives a report from the administrator for the purpose of a preview.
3.6.3) In the (Employee Leave Management) uses case; The employee (his/her) can
send requests by email to the administrator after obtaining approval from senior
management of the leave request. An administrator receives an email from the
employee, and then the administrator shall be able to input the type leave, query leave
and sends a report. Senior management receives reports for the purpose an acceptance
or rejection. Employee waits for the response from the administrator.
System Design P a g e | 29
3.6.4) In the (Employee Discipline Management) use case. The senior management
sends notification written warning (his/her) on email to the administrator. An
administrator receives an email from the senior management, and then the
administrator will be input punishment type or warning, query and sends a report. The
senior management receives a report from the administrator. The employee waits for
the response from the administrator.
System Design P a g e | 30
3.7) Use Case Description System
The use cases are described in detail, except for the very simple view order use case In
this section, each (use case) is described textually and is depicted using an activity
diagram. Activity diagrams are popular in business process modeling. They can be
integrated into the analysis and design of object-oriented applications to model the
sequence of use case activities. In particular, they describe more precisely the main and
alternative sequences of the use case, depicting exactly how they diverge from each
other.
The system allows a user (his\her) to log in via a password protected. The user has to
register prior to log in the application and log out. The user enters (his/her) username
and password and then clicks the Login button. The system looks up the user profile
using the username and checks the password. The system will log in the user and will
give him low authority to meet the basic needs of ordinary users.
Precondition:
1. Internet connection available.
2. The user login into HRIS.
3. The user has an email.
Postcondition: User is active.
A) Register User:
2. The user his/her enters the username (ID number mandatory), password
(at least six numbers, should be entered twice for validation mandatory) that is
to be given an account.
System Design P a g e | 31
3. The system looks up the user profile using the username and checks the
password.
4. The user will choose the submit command.
A) Logon User:
B) Logout User:
Extensions:
2a. If the user enters an invalid username, password or employee number, the
system will go back to create new account window and notify the user of the
problem.
7a. User provides invalid login parameters (see login failed).
8a. When ordinary users log on the system will give him low authority to meet the
basic needs of ordinary users. When the user is an administrator, the system will
assign a higher authority in order to achieve the system's updates and
maintenance by the administrator.
Trigger:
1. The user selects the "register user" link.
2. The user selects the "login" link.
System Design P a g e | 32
FIGURE 3.9: ACTIVITY DIAGRAM \ USER LOGIN MANAGEMENT
System Design P a g e | 33
3.7.2) Use Case Description UCD2: Employee Information Management (EIM)
Goal in Context: The employee displays personal information screen using their
unique passwords. Initially, the employee should select diagnosis the personal
information that (his/her) wants of the administrator edited (entry, changes, deletes,
query) and then he writes request and sends by email to the administrator. When the
administrator completes the steps, system will send a report to senior management.
Scope: Summary.
Precondition:
4. The administrator selects the page option information personal of the employee.
5. This system will ask for a number the employee his/ her to determine which the
field needs to entry, changes, deletes.
System Design P a g e | 34
6. The system will generate a window containing details of the employee
consisting of the name, address, sex, minority status, etc.
7. The administrator will check that the information that entered in the field.
8. The administrator will choose the save command.
9. The system will update the necessary changes entered by the administrator.
10. The system will notify the administrator that the process has been successful.
11. The administrator will click sends a report option.
12. The system sends a report to senior management.
13. The senior management receives reporting then and view reporting for the
purpose of a preview.
14. The employee can also upload their picture in the system.
Extensions:
1a. The employee has to write an email stating which information he is going to
apply with the reason and send a copy to the administrator.
3a. The employee knows the administrator a leave and has phone number office,
and email for future contact.
3b. If the administrator has any queries can communicate through the same means.
6a. If the entered employee number is invalid does not exist in the database the
system will go back to the Home page the system and notify the administrator of
the problem.
.
Trigger:
System Design P a g e | 35
FIGURE 3.10: ACTIVITY DIAGRAM \ EMPLOYEE INFORMATION MANAGEMENT
System Design P a g e | 36
3.7.3) Use Case Description UCD3: Employee Leave Management (ELM)
Goal in Context: Employee (his / her) writes request leave after obtaining approval
from senior management of the leave request and sends requests by email to the
administrator. After the administrator receives e-mail from an employee, the
administrator selects the leave, enters an ID number of employee and input type of
leave. When the administrator completes the steps he clicks "Send Report". The system
sends a report to senior management. Employee waits for the response from the
administrator.
Precondition:
1. The employee writes request an email stating the kind of leave his/her wants to
apply giving the reason for the leave and the time days leave.
2. The employee sends the email to the administrator.
3. The administrator will observe emails literally at regular intervals frequently to
check any new queries or requests.
4. The administrator receives the email from the employee.
5. The administrator selects the leave.
6. The administrator is will displays screen leaves and enter the ID number
employee.
7. The administrator checks kind of leave and period of continuous service for the
employee.
8. The administrator will fill the fields of leave, such as (entry: name of employee,
kind of leave, the purpose of the law, history, etc.)
System Design P a g e | 37
9. The administrator will update the leave balance
10. The administrator will choose the save command.
11. The system will notify the administrator that the successful process has been
done.
12. The administrator will click sends a report.
13. The system will send a report to senior management.
14. The senior management receives.
15. The senior management will view the report for the acceptance or rejection.
16. The senior management will send e-mail for the response on the reporting to
the administrator.
17. The employee waits for the response from the administrator.
Extensions:
1a. The employee should write request stating which kind of leave, he is going to
apply with the reason and send a copy to the administrator.
2a. The employee knows the administrator a leave and has phone number office and
e-mail for future contact.
3a. If the administrator has any queries can communicate through the same means.
7a. If annual leave would be accepted in case the employee has more than one year
in his job.
7b. If maternity leaves given would be accepted in case the employee has
medical reports attached with the request for the license.
7c. If a Local leave employee has a balance of leaves, just 7 days within one
month.
5a. If the employee has valid leaves the administrator will send reporting stating
whether the leave is approved or not.
5b. In case the leave would not approve the administrator should give reasons for
the rejection.
Trigger: Employee selects the "email" link.
System Design P a g e | 38
FIGURE 2.11: ACTIVITY DIAGRAM \ EMPLOYEE LEAVES MANAGEMENT
System Design P a g e | 39
3.7.4) Use Case Description UCD4: Employee Discipline Management (EDM)
Goal in Context: Senior management sends notification written warning, (his/her) got
the sanctions on the email to the administrator. The administrator receives an email
from senior management. The administrator will input type warning and sends a report.
Senior management receives reporting from the administrator. Employee waits for the
response from the administrator.
Scope: Summary.
Precondition: Non.
8. The system will notify the administrator that the process has been
successful.
9. The administrator will click sends a report.
10. The system will send a report to senior management.
System Design P a g e | 40
11. The senior management receives.
12. The senior management view reporting .
13. The senior management sends email for the response on the reporting to the
administrator.
14. The employee waits for the response from the administrator.
Extensions:
1a. The senior management has to notification written warning an email stating
which kind of warning sends a copy to the administrator.
2a. The senior management knows administrator an (EDM) and has phone number
office and email.
3a. The administrator has to literally observe email at regular intervals frequently to
see any new queries or requests.
3b. If any further queries, administrator again has to communicate through the same
means.
6a. If the employee (his/her) got more than three written warning, (his/her)
dismissal of a work or transferred to another organization.
6b. If the employee (his/her) got less than three written warning, (his/her) Continue
to work.
11a. If the senior management did not respond to the report, the administrator sends
reporting stating whether the Punish is approved or not.
14a. If the punish employee is not approved the administrator gives the reason for
the same.
14a. If the punish employee is approved the administrator gives the reason for the
same
System Design P a g e | 41
FIGURE 2.12: ACTIVITY DIAGRAM \ EMPLOYEE DISCIPLINE MANAGEMENT
System Design P a g e | 42
4.1) System implementation
After the design, we complete the implementation of the system. MVC organizes an
interactive application into three separate modules: one for the application model with
its data representation and business logic, the second for views that provide data
presentation and user input, and the third for a controller to dispatch requests and
control flow. User's requests will be received by the Struts controller ActionServlet
that decides which action will process the requests through finding the configuration
file strutsconfig Xml.
System implementation P a g e | 43
4.1.1) The View Implementation: JSP pages and presentation
To achieve that view level by the Struts framework to complete, mainly constituted by
The JSP page and ActionForm .View level is responsible for receiving the request sent
from the user, and then transmitting the request to the business logic layer and finally
sending the results back to the user. The user expression layer in the HRIS modules
mainly includes the following JSP pages: (User Login Management (ULM), Employee
Information Management (EIM), Employee leave Management (ELM), and Employee
Discipline Management (EDM)). This information is provided for the appropriate
input text boxes to get user input. When users fill out and submit the completed
information, the first data from the legitimacy of JavaScript validation script. If
validated and is accepted by the request type ActionServlet, through the Struts
configuration file mapping calls the corresponding ActionForm encapsulated. Thus,
view layer task even completed. ActionForm in typical cases only getXXX () and
setXXX () method is used to read and set the property value, and JavaBean similar, and
which defines the property name to the text box and display the page with the same
name. Using the ActionForm validate method can also verify the legitimacy of data,
but need to display labels of error with the use of ActionErrors.
Implementation of controller layer is the central control of the entire system, which
determines the application system process. The Controller layer of the application is
focused on receiving requests from the client (typically a user running a web browser),
deciding what business logic function is to be performed, and then delegating
responsibility for producing the next phase of the user interface to an appropriate View
component. Control layer is a servlet of class Actionsevlet primarily from a
configuration file and Struts in Action, ActionMapping, and ActionForward other
components to achieve both. Web.xml file is based on the J2EE platform necessary for
System implementation P a g e | 44
Web application configuration file, Web container uses this file to load and configure
the application.
In this information system, also need to specify in the web.xml associated with the
Struts framework for some important configuration information. In addition to the
definition of the configuration file, the controller layer is also required components of
the Action programming.
4.1.3) The Model Implementation: business logical layer and data persistence
layer
BO (Business Object) is the core business logic, it receives the property from the view
layer, business processes based on business rules, it will handle properties of the results
need to be persistent with the DTO (Data Transfer Object) for packages to pass to the
persistence layer. As each module of the system is not very close connection, there are
no cross-module business processes. So each module can be seen as a business object,
In order to reduce development time, in this system framework, Action components are
used for the expansion because they support simple database application development
and implementation. The use of Action components simplifies the implementation of
the complex business operations in the system framework. In the system framework, a
class is established to achieve business representative, which mainly obtains the
business-processing request of the control layer and analyzes the location information
of the business processing class, and then specifically realizes the business service
processing class orientation, which is achieved through transferring. Conversation
appearance in the system framework is achieved through a conversation bean without
the state, which is responsible for achieving the request processing of complex
business logic.
System implementation P a g e | 45
4.1.3.2) Data persistence layer
Hibernate configuration files and mapping files based on XML documents to achieve,
in a specific application, the configuration file can only exist one, but there are several
mapping file. Hibernate initialization will automatically find the file, and read one of
the configuration information, to prepare for later database operations.
Persistent object (Persistent Object, PO) is required to save to the database instance in
Java entity classes, meet the JavaBean specification rule, in addition to the main
property is acquired, the other property contains a pair of storage, access methods
(setXXX () and getXXX ()) in order to interact with each database table fields. Taking
into account the expansion and maintenance, in the system, Hibernate was packaged
combines factory and DAO model in the data persistence layer model. Factory pattern
is responsible for creating a DAO with the associated module of system, DAO mode
also includes DAO interface and realization of DAO: DAO Interface defines a
corresponding persistent abstract class business logic methods; DAO interface
implementation class using Hibernate-API implements abstract methods defined by
DAO Interface.
System implementation P a g e | 46
4.2) Class Diagram
* 1
Employee Employee leave Management
1
* -UseName: (String) -AppilcationLeave:(string)
-password:(String) -TypeLeave:(string)
* 1
-E-mail:(String) -Date:(date)
User -ID:(int) *
+gatAppilcationLeave:(viod)
+RequestLeave():viod +IssuanceLeave():viod
-Emp Id:(int) +RequestEidet():viod 1 +RejactLeave():viod
-Name:(string) +CommittingBreach():viod
-Photo:(amg)
HRIS -Sex:(string)
-BOD:(date) 1 1
+getUser:()viod -Father Name:(string) Administrator Employee Discipline Management
*
+setUser()viod -code:(int)
-Typepunishment:(string) 1
+getEmpoymentDetails():viod -Blood Group: (String) -UseName: (int)
* 1 -Date:(date)
+setEmpoymentDtails():viod -Religion:(string) -Domn:(string)
+getleaveDtails():viod -Marital Status:(string) -password:(String) +inputpunishment():viod
1
+getpunishmentDtails():viod -House / Flat Number:(int) -E-mail:(String) * 1 +InputInformationLeavet ():viod
+getview():viod -City:(string) 1 -ID:(int)
+logout(userID : string) *
* -Street Name:(string) +SendReports ():viod
+login(userID
1 :1 string,1password : string) -Pin:(int) +Inquiry ():viod
+registerSystem(userID : string, pass : -Telephone Number:(int) ..
string, type : string, details : string 1 ..
-mobile Number:(int)
+Save(viod)
-Personal Verification Card:(string) 1 Employee Information Management
-Personal E-mail Id:(string)
-Permanent Address:(string) 1
+inputInformation ():viod
+changesInformation ():viod
+getpassowd():string
Senior Management 1 +DeleteInformation ():viod
+getName():string
* 1
+setEmpName(NameEmp:String):viod
*
-UseName: (String)
+getEmpID():int *
-password:(String)
+SetEmpID(EmpID:int):viod
-ID:(int)
+getAddress():viod *
-E-mail:(String)
+getBOD():date
+setBod(BOD:date):viod +Receiving reports()
.. +Determine punishment()
.
System implementation P a g e | 47
4.3) Pseudo Code
System implementation P a g e | 48
UNTIL “save” button clicked and
“Reports ” button clicked
IF “ Add New Employee ” button clicked THEN
OPEN Add New Employee Detail page with text areas to Add description
Emp Id, Name, photo, BOD ,Sex ,code , Blood , father Name , Religion,
Marital Status, House / Flat Number, City, Street,….. )
END IF
END IF
System implementation P a g e | 49
4.4) User Interface
Any potential user interacts with the system through an interface that has been
designed in a way to allow ease of use, this interface includes the following main
pages:
All the users will see the same page when they enter HRIS. This page asks the users a
Doman, User ID and a Password. The system will verify that the login name matches
the login password. If they do not match, an error message will be indicated to the
users.
System implementation P a g e | 50
4.4.2.3) Arrange Roles Tab
In this tab, an Admin can list all roles determined in the system, display all users who
have this 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 select 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 displays users in that role
but also change roles of these users.
When the Admin login successfully, this page my account will appear with full
privileges. When the User who have an employee role successfully, this page will
appear with specific privileges. his\ her authorization to see only employee information
Tab and employee application.
System implementation P a g e | 51
4.4. 3) Employee Information Management Tab
In 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 see by the users
who has a role of Employee Ordinary but can't edit information. Admins can edit
information of employees who are attached to his /her. When this tab is selected there
exist a search, report,save, edit and print buttons. If the admin selects a user to display
or edit information of, system displays information of that user in editable form.
System implementation P a g e | 52
4.4. 3.2) Add New Employee Tab
With this tab, admins can add 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 employee 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.
System implementation P a g e | 53
4.4. 4) Employee Leave Management Tab
System implementation P a g e | 54
5.1) Conclusions
In this work we have presented the state of the art of requirements engineering in
methodologies used for the development of HRIS system web-based. To achieve this
purpose, we started describing the structure of the requirements engineering process
and the most common techniques used in such a process in the classic software
development for HRIS Traditionally non-web applications in an organization. During
this study, various stages of the system development life cycle were executed.
Understanding the problem statement, literature survey, analysis, interpretation, design
and implementation gave the thorough idea of a study life-cycle. The objective behind
designing of a new HRIS was to eliminate manual work to some extent and also help
employees to access their own HRIS, and also sharing information with other
departments in the organization.
The process developed by this HRIS web-based system includes. First, I have main
activities: capture requirements, definition and Analysis of requirements. The
techniques most frequently used to perform these activities are among others, use
cases, scenarios. I have used a combination of three requirements elicitation method-
observation, interviews and brainstorming. In the interview process, I have interviewed
Conclusions P a g e | 55
three potential customers. And finally, after brainstorming, I have used use case
technique to specify the user requirements. Based on the user requirements, I have
designed class attributes and activity diagram. In a second step I have designed the
class diagram to get the clear picture of the future HRIS system. I have designed an
outline of the methodologies for the web describing how these approaches cover the
aspects related to requirements engineering, I use struts MVC framework and J2EE
standard platform technology, a new flexible, high-effect, expandable enterprise
human resources management system framework is designed and then implemented.
This system not only can successfully resolve a large number of practical problems the
enterprise human resources management faced to improve human resources
management efficiency, but also the information system is simple and easy to
implement, has strong features such as easy to expand, easy to maintain, flexible and
secure. Finally, I have also designed GUI prototypes.
This study can be further extended in implementation of other modules of HRIS like
recruitment and selection, training and development, compensation, benefits and
payroll. Can be used another framework for developing this application for example
(ASP.NET MVC &Spring MVC) easily. Reason the persistence layer and business
logic layer it will not be affected, thus the system flexibility and maintainability.
Conclusions P a g e | 56
Conclusions P a g e | 57
5.3) Appendix A
Glossary of Terms
RE-Requirements Engineering.
HRIS-Human Resources Information System.
HR-Human Resources.
DOM- Document Object Model.
DTI-Department of Trade & Industry.
EJB-Enterprise Java Beans.
ER -Entity-Relation.
GUI- Graphical User Interface.
HTML-Hypertext Markup Language.
HTTP- Hyper Text Transfer Protocol.
IDE-Integrated Development Environment.
IIS -Internet Information Services Server from Microsoft.
IT- Information Technology.
J2EE -Java 2 Enterprise Edition.
JDBC-Java Database Connectivity.
JSON- Java Script Object Notation.
JSP-Java Server Pages from Sun Microsystems.
JVM-Java Virtual Machine.
MDI-Multiple Document Interface.
MVC- Model-View-Controller.
OMA- Office Management Application.
OO-Object Oriented.
ORM- Object Relational Mapping.
OS -Operating System.
UI -User Interface.
UML- Unified Modeling Language.
Conclusions P a g e | 58
WWW- World Wide Web.
XML- Extensible Markup Language.
SASD- Structured Analysis Structured Design.
SDL- Specification and Description Language.
V&V -Requirements verification and validation.
CMMI- Capability Maturity Model Integration.
CMM- Capability Maturity Model.
SEPG- Software Engineering Process Group.
OMG- Object Management Group.
OOA&D- Object-Oriented Analysis and Design.
B / S-Browser / Sever.
Conclusions P a g e | 59
5.4) References
Primary Sources
Secondary Sources
Uncategorized References
[1] Barkha Gupta."Human resource information system (hris): Important element of
current scenario". IOSR Journal of Business and Management (IOSR-JBM),
2013: pp. 41-46.
[2] Mohan Thite and Richard D. Johnson and Michael J. Kavanagh. "Second edition,
human resource information systems :Basics, applications, and future directions".
SAGE,2012.
[3] Dr. Shikha, N. Khera and Ms. Karishma Gulati."Human resource information
system and its impact on human resource planning: A perceptual analysis of
information technology companies ". 2012: pp. 06-13.
[4] Jiang Yan."The analysis and design of human resources information sharing
system in university". Springer-Verlag Berlin Heidelberg, 2013: pp. 447- 452.
[5] Zhu Ye."The application of sql-based corporate personnel management system".
IEEE, 2011: pp. 498-500.
[6] MD. Sadique Shaikh."Human resource information system designing needs for
business application". International Journal of Business Economics &
Management Research, 2012: pp. 256-258.
[7] Ian Sommerville."Software engineering". Addison-Wesley,2011: pp. 82-117.
[11] Doug Rosenberg and Matt Stephens."Use case driven object modeling with uml:
Theory and practice". Apress,2007: pp. 1-373.
[12] Hassan Gomaa."Software modeling and design : Uml, use cases, patterns, and
software architectures". Cambridge University Press,2011: pp. 3-520.
Conclusions P a g e | 60
[15] Mohammad Ubaidullah Bokhari and Shams Tabrez Siddiqui."Metrics for
requirements engineering and automated requirements tools". Bharati
Vidyapeeth's Institute of Computer Applications and Management, 2012: pp. 1-5.
[16] Bray I. K."Introduction to requirements engineering". Addison -Wesley,2002.
[22] Grady Booch, James Rumbaugh and Ivar Jacobson."The unified modeling
language user guide". 2009.
[23] Liu Yang and Cao Baoxiang.The design and realization of the testing system
based on j2ee. Computer Engineering and Design, 2007.
[24] Aseem Paul S. Cheema, Struts2jsf:Framework migration in j2ee using
framework specific modeling languages, in Master degree. 2007. pp. 11-31.
[25] JavaServer Pages Technology.Http://java.Sun.Com/products/jsp/.
[26] The J2EETM1.4 Tutorial. Http://java.Sun.Com/j2ee/1.4/docs/tutorial/doc/.
[27] Java Blueprints - J2EE Pattern Model-View-
Controller.Http://java.Sun.Com/blueprints/patterns/mvc-detailed.Html.
[28] Du Jiangyi and Niu Yan. The design and implement of information warehouse
based on structs. IEEE, 2009: pp. 657-658.
[29] Apache Software Foundation. Struts-Faces Integration Library.
Http://struts.Apache.Org/1.X/struts-faces/.
[30] Lin Lihua and Xu Jianan.Research and implementation of e-mail direct
marketing management system based on extjs
IEEE, 2013: pp. 1106-1108.
[31] O. Tariq and G. Zhu, "Research on human resource information systems based
on requirement engineering," 2014 IEEE 5th International Conference on
Software Engineering and Service Science, Beijing, 2014, pp. 165-169.
[32] Omar Tariq, Jun Sang, and Kanza Gulzar. "Design and Implementation of
Human Resource Information Systems Based on MVC a Case Study Vocational
Education in Iraq." International Journal of u-and e-Service, Science and
Technology 9.11 (2016): 15-26.
Conclusions P a g e | 61