0% found this document useful (0 votes)
13 views69 pages

Omar Tariq 1

Uploaded by

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

Omar Tariq 1

Uploaded by

Sinh Tran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/341945176

Design and Implementation of Human Resource Information Systems Based


on UML

Article · June 2020


DOI: 10.17632/g9hv9chy54.4

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.

The user has requested enhancement of the downloaded file.


Research on Human Resource
Information Systems
Based on Requirement Engineering
By

Omar Tariq
Table of Contents

Table of Contents........................................................................................................................ I

List of figures ...........................................................................................................................III

Abstract ......................................................................................... Error! Bookmark not defined.

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

FIGURE 1.1: WORKING STRATEGY .............................................................................................................. 7


FIGURE 2.1: REQUIREMENTS ENGINEERING PROCESS ............................................................................... 10
FIGURE 2.2: REQUIREMENTS SPECIFICATION ............................................................................................ 12
FIGURE 2.3: FUNCTIONAL REQUIREMENTS ................................................................................................ 12
FIGURE 2.4: NONFUNCTIONAL REQUIREMENTS ......................................................................................... 13
FIGURE 2.5: REQUIREMENTS MANAGEMENT ACTIVITIES .......................................................................... 14
FIGURE 2.6: REQUIREMENTS ENGINEERING IN A WATERFALL PROCESS .................................................... 16
FIGURE 2.7: REQUIREMENTS ENGINEERING IN A SPIRAL MODEL[22] ....................................................... 17
FIGURE 3.1: FUNCTIONAL REQUIREMENTS OF HRIS ................................................................................. 22
FIGURE 3.2: TOPOLOGY STRUCTURE OF HRIS .......................................................................................... 24
FIGURE 3.3: DESIGN FRAMEWORK OF HRIS ............................................................................................. 25
FIGURE 3.4: USE CASE DIAGRAM\ HRIS ................................................................................................... 27
FIGURE 3.5: USE CASE DIAGRAM \ USER LOGIN MANAGEMENT ............................................................... 28
FIGURE 3.6: USE CASE DIAGRAM \ EMPLOYEE INFORMATION MANAGEMENT .......................................................... 28
FIGURE 3.7: USE CASE DIAGRAM \ EMPLOYEE LEAVE MANAGEMENT ...................................................... 29
FIGURE 3.8: USE CASE DIAGRAM \ EMPLOYEE DISCIPLINE MANAGEMENT ............................................................... 30
FIGURE 3.9: ACTIVITY DIAGRAM \ USER LOGIN MANAGEMENT ............................................................... 33
FIGURE 3.10: ACTIVITY DIAGRAM \ EMPLOYEE INFORMATION MANAGEMENT ........................................ 36
39
FIGURE 2.11: ACTIVITY DIAGRAM \ EMPLOYEE LEAVES MANAGEMENT .................................................. 39
FIGURE 2.12: ACTIVITY DIAGRAM \ EMPLOYEE DISCIPLINE MANAGEMENT ............................................. 42
FIGURE 4.1: IMPLEMENTATION OF MVC BASED ON THE STRUTS FRAMEWORK ........................................ 43
FIGURE 4.2: CLASS DIAGRAM HRIS ......................................................................................................... 47
FIGURE 4.3:USER LOGIN MANAGEMENT PAGE .......................................................................................... 50
51
FIGURE 4.4: FUNCTIONAL HRIS PAGE ....................................................................................................... 51
FIGURE 4.5: EDIT EMPLOYEE PERSONAL DETAIL PAGE ............................................................................ 52
FIGURE 4.6: ADD NEW EMPLOYEE PAGE .................................................................................................. 53
FIGURE 4.7: EMPLOYEE LEAVE MANAGEMENT PAGE .............................................................................. 54

III
IV
Introduction
1.1) Research Background

Rapid development of science and technology in the process of social development


during twenty-first century leads to that organizations should actively advocate
"people-oriented "development strategy, in daily management, should give full play to
people's enthusiasm, initiative, creative, and try to tap the human potential. If you only
use the old management pattern, it is unable to keep up the pace with the society
development, affects severely to the daily management. Along with the rapid
popularization of the computer network, it is changing people's lives and promoting
social progress. In the ever-changing world in which we live, new technology is
continually being developed.

Human-Resource Information Systems (HRIS) have drastically evolved since


they were first introduced, is a software or online solution for the data entry, data
tracking, and data information needs of the Human - Resources, reporting beginning
with his recruitment and ending with his retirement [1] [2] .As such, HRIS facilitates
the use of computer technology to streamline HR operations, cut costs and ultimately
enhance the effectiveness of human-resource management. However, the present HRIS
system at the Institution of vocational education \ Ministry Education in Iraq involves a
lot of manual feeding. The employee data is stored in the excel sheet and various other
important factors like attendance records, payroll, insurance, holiday listings, etc., are
stored under different fields in excel sheet or in Microsoft Access. Maintaining such a
kind of data is quite monotonous and boring, with an associated risk of mistakes while
updating such sheets. In addition, there is no sharing of information with other

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.

In this thesis, HRIS web-based designed to be able to meet on high efficiency


and fast pace of modern work and life needs, also aim to be flexible and transparent
among HR managers and top management, so that they can quickly view and update
employee status according to organization hierarchy. This system provides HR
Information to manage the employee database. As well as a system will support
applications such as User Login Management (ULM), Employee Information
Management (EIM), Employee leaves Management (ELM), and Employee Discipline
Management (EDM).

HRIS founded on requirement engineering and underlying conceptual modeling


techniques, borrowed from the information systems community. Requirement
engineering is the process of developing requirements through an iterative cooperative
process of analysis the problem, documenting the resulting observations in a variety of
representation formats. Therefore, much attention is paid to find, representing,
analysis, and design such a system. We describe an HRIS using a conceptual model
that shows how actors create, distribute, and consume objects of economic value. The
motivation it is using a more formal approach for exploring, modeling an HRIS
system explicitly, may contribute to a common understanding.

1.2) Current Status of the Researchl

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

1.3) Problems Remaining

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

FIGURE 1.1: WORKING STRATEGY

1.5) Structure

This thesis is divided into five chapters as described below.

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 Two Methodologies and Theory: This chapter reviews research


methodologies and discusses the theories the main of learning, teaching and
instructions. It also covers the research to practice (RE) forming an argument towards
an integrated and holistic view of the theories and how they are applicable to the
design of the HIRS. Also describes the technical aspects of the design of the HRIS
shows how the various aspects of instructional design can be achieved with a web-
based system using a requirements modelling approach.

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

In this thesis, a researcher follows the requirement engineering approach in analysis,


design, life-cycle the HRIS system web-based. This approach based determines the
Requirement Specification, Requirement Analysis, and system design approach is
based on the specifications of the Unified Modelling Language (UML)[11] [12] [13].
The starts with a phase called requirements capture, during which we define use cases
and scenarios. The goal of the requirements capture phase is to establish some common
ground between the developers and the users by describing what exactly the system is
expected to do. Subsequently, during the analysis and design phase, it will be described
use cases from during diagrams. The system design is completed by describing the
behavior of these cases in terms of their transition from one state to another, depicted
in an activity diagram. During the implementation phase, the design is translated into a
web application Browser / Sever (B/S) [14] form by implementation the spring
framework based on (MVC) and (GUI) prototypes.

2.2) Requirement Engineering process

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 Page |9


phase, engineers document the requirements following the organization's standards to
build the initial version of the requirement specification. After the validation of the
requirement's documents, the requirement specification becomes the official design
document. In addition to these four major steps, there are two other artefacts in this
process model: requirement management and supporting tools[15]. In requirement
management, the changes of the requirements are maintained. The supporting tools are
used in the process to help requirement engineers to carry out their tasks.

FIGURE 2.1: REQUIREMENTS ENGINEERING PROCESS

2.2.1) Requirement Elicitation

Requirement elicitation is a process of identifying needs and bridging the disparities


among the involved communities for defining and distilling requirements to meet the
constraints of these communities [16]. The other often used names for requirement
elicitation are (requirement acquisition, requirement capture, requirement
discovery, requirement gathering, problem analysis, understanding, etc.) [10]. This
process requires application domain knowledge, organizational knowledge and
technical knowledge, as well as specific problem knowledge. Requirement elicitation
is non-trivial because you cannot get all requirements from user and customer by just

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

2.2.2) Requirement Analysis and Negotiation

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.

2.2.3) Requirements Specification

In conjunction with requirements elicitation and analysis, it is necessary that the


captured requirements are also documented. During requirement specification, the
requirements are precisely and clearly recorded to act as a basis for a contract between
the customer and the problem solver/developer. The Requirement document or
Requirement Specification describes external behavior of software systems. This
document can be written by a user or developer. A well-written requirement document
helps in meeting the desired goals of successful software within the time limit. This
requirement document can also have an adverse effect on the software if not written
with care. Errors that are found in the requirements documents are easy to fix, cost less
and consume less time. If these documents are handled properly, errors can be reduced.
Fixing requirements errors during the design, coding or implementation phase will be a
tedious task. There are two types of errors that can be found in the requirement
document. Knowledge errors, which are caused due to not knowing what the
requirements are and specification errors, caused due to lack of knowledge of
experience of specifying requirements. The need for a well-defined requirement
specification has led to the emergence of several different specification languages such
as Requirements Specification Language (RSL), Gist, Problem Statement language
(PSL), etc. A well-defined software requirements specification (SRS) has the following
benefits [17]:

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.

FIGURE 2.2: REQUIREMENTS SPECIFICATION

2.2.3.1) Functional Requirements

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

FIGURE 2.3: FUNCTIONAL REQUIREMENTS

Methodologies &Theories P a g e | 12
2.2.3.2) Non- Functional Requirement

A non- functional requirement [10] includes a complete description of efficiency,


reliability, security, portability and maintainability. The non-functional requirements
start by identifying topics or analysis of the information. Following the progress of the
development process, the goals and system constraints are derived. The process ends
when all the attributes for each nonfunctional requirement have values assigned to
them, each non-functional requirement has been agreed on by each stakeholder, and
each non-functional requirement has been completely satisfied by one or more
implementation constraints or functional requirements [7] shown in figure (2.4).

FIGURE 2.4: NONFUNCTIONAL REQUIREMENTS

2.2.4) Requirements Validation and Verification

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.

2.2.5) Requirements Management

Requirement management is a process of managing changes to requirements.


Changes are inevitable because of system errors and better understanding development
of customers real needs. Requirement Management is carried out in parallel with
another requirement activities in the software development. Activities of requirement
management include keeping the project plan, undated with requirements, controlling
requirement versions, tracking status of requirements and tracing the requirements as
depicted being developed in figure (2.5).

FIGURE 2.5: REQUIREMENTS MANAGEMENT ACTIVITIES

2.3) Requirement Engineering in a development Life-cycle

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

 Unrealistic separation of specification from design [Jackson, 1982].

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.

FIGURE 2.6: REQUIREMENTS ENGINEERING IN A WATERFALL PROCESS

2.3.2) Spiral model

The Spiral Model of Software-Development [Boehm, 1988] recognizes the iterative


nature of development and the need to plan and assess risks at each iteration.
According to this model, in each of the software-development phases, the following
activities must be performed[18] :

 Plan next phases


 Determine objectives, alternatives, constraints
 Evaluate alternatives, identify and resolve risks
 Develop, verify next level product.

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

FIGURE 2.7: REQUIREMENTS ENGINEERING IN A SPIRAL MODEL[19]

Methodologies &Theories P a g e | 17
2.4) Object-Oriented Analysis and Design

2.4.1) Unified Modelling Language (UML)

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

2.4.5) Struts framework

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;

The Human-Resources Information System (HRIS) web-based, it is divided into four


parts; they are User Login Management (ULM), Employee Information Management
(EIM), Employee Leaves Management (ELM), and Employee Discipline Management
(EDM) show figure (3.1).
In the User Login Management, it is divided into ordinary user login, and administrator
user login. The ordinary user is the registered user, such as employees and so on. The
administrators are responsible for maintaining and updating the entire system and have
more rights on the system. Employee Information Management includes: employee
information entry, employee information changes, employee information inquiry, and
employee information deleted. The Employee Leaves Management includes: leave
information input, leave information query and statistics leave information.

System Design P a g e | 21
Employee Discipline Management includes: input information punishment, query
information punishment.

FIGURE 3.1: FUNCTIONAL REQUIREMENTS OF HRIS

3.2) The Function Of Each Module

Because of the use of object-oriented programming method, the function of each


module is relatively independent. It will also help the realization of program design
and the operation and maintenance of functional modules.

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.

4. The Employee Discipline Management (EDM) is the It encourages harmony and


cooperation among employees as well as acts as a morale booster for the
employees. In the absence of discipline, there will be chaos, confusion, corruption
and disobedience in an organization. If the employee has committed any breach,
the senior management will determine the type of offense and the punishment
necessary. After the notify system administrator, such as (dismissal, written
reprimand, etc.) when the employee gets on three written reprimand the
administrator will notify senior management to take appropriate procedures
against the employee such as separating the employee or transmission in the same
or the outside institution.

3.3) System Topology Structure

The information collected through the above modules will be maintained in a


centralized server could be accessed through the Internet and, also the availability to
create a (LAN) network to connect all offices, their network would be utilized in case
of implementation. The information collected through these managements and process
related activities are maintained as follows shown in figure (3.2).

System Design P a g e | 23
FIGURE 3.2: TOPOLOGY STRUCTURE OF HRIS

3.4) Design Idea

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

FIGURE 3.3: DESIGN FRAMEWORK OF HRIS

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

FIGURE 3.4: USE CASE DIAGRAM\ HRIS

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

FIGURE 3.6: USE CASE DIAGRAM \ EMPLOYEE INFORMATION 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.

FIGURE 3.7: USE CASE DIAGRAM \ EMPLOYEE LEAVE MANAGEMENT

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.

FIGURE 3.8: USE CASE DIAGRAM \ EMPLOYEE DISCIPLINE MANAGEMENT

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.

3.7.1) Use Case Description UCD1: User Login Management (ULM)


Goal in Context:

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.

Scope: Summary. Level: User goal. Primary Actor: User.

Precondition:
1. Internet connection available.
2. The user login into HRIS.
3. The user has an email.
Postcondition: User is active.

Main Success Scenario:

A) Register User:

1. The user his/her selects the "register" link.

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:

5. The user selects the "logon" link.


6. The user types in his/her username and password.
7. The system checks if the given login parameters are non-valid.
8. The system informs the user that his/her typed a non-registered user name.
9. The user hits the "ok" button.

B) Logout User:

10. The user selects the "logout" link.


11. The system shall be able to log out from his/her pages when the user clicks “log
out” button.

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.

Channels to Primary Actors: Website, Email, Phone.

Secondary Actor: None.

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.

Primary Actor: Employee, Administrator.

Scope: Summary.

Level: user goal.

Precondition:

1. The employee has an email.


2. The administrator must enter each employee’s email address on the employees
page.
3. The administrator is in the edit employee record.

Postcondition: Employee and administrator are active.

Main Success Scenario:

1. The employee diagnosis information personal his/her wanted modifications.


2. The employee his/her writes requests stating that his/ her wants to make
amendments to their page and send by email. The administrator receives e-mail.
3. The administrator will observe emails literally at regular intervals frequently to
check any new queries or requests.

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:

1. The employee selects the email link.


2. The administrator selects the page option information personal.

Channels to Primary Actors: Website, Email.

Channels to Secondary Actors: Website, Email, Phone and Printer.

Secondary Actor: Senior Management.

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.

Primary Actor: Employee, Administrator. Scope: Summary.

Level: User goal.

Precondition:

1. The employee has an Email.


2. The employee writes requests leave and sends Email.
3. The administrator must enter each employee’s Email address on the employees
page.
Postcondition: Employee and Administrator are active.

Main Success Scenario:

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.

Channels to Primary Actors: Website, email.

Channels to Secondary Actors: Website, email, phone and printer.

Secondary Actor: Senior Management.

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.

Primary Actor: Senior Management, Administrator.

Scope: Summary.

Level: User goal.

Precondition: Non.

Postcondition: Senior Management is active.

Main Success Scenario:

1. The senior management sends notification written warning, his/her on e-mail to


the administrator.
2. The administrator receives the email from senior management.
3. The administrator selects the discipline.
4. The administrator is will displays screen discipline and Enter number id
employee.
5. The administrator checks number of warnings and continuous service for an
employee.
6. The administrator will be a fills fields discipline such as (name employee, kind
warning, Reason for punishment, etc.).
7. The administrator will choose the save command.

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

Trigger: Senior management selects "email" link.

Channels to Primary Actors: Website, email, phone.

Channels to Secondary Actors: Website, email, phone and printer.

Secondary Actor: employee.

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.

FIGURE 4.1: IMPLEMENTATION OF MVC BASED ON THE STRUTS FRAMEWORK

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.

4.1.2) The Controller: ActionServlet and ActionMapping

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

4.1.3.1) Business logical 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

Data persistence implementation to achieve mainly by the Hibernate framework, based


on the request of the business logic operations database.

4.1.3.2.1) Implementation of mapping file and Configuration file

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.

4.1.3.2.2) Persistent objects using Hibernate

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()
.

FIGURE 4.2: CLASS DIAGRAM HRIS

System implementation P a g e | 47
4.3) Pseudo Code

IF the user clicks on “new account” button THEN


OPEN New account page
ENTER required user information
CHECK the availability of the user information
IF Correct information THEN
IF “Sign Up” button clicked THEN
Account created
ELSE IF “Cancel” button clicked THEN
New account page closed
END IF
ELSE
Error Message appears
END IF
END IF

IF “member log in” clicked


OPEN “member log in” Page
ENTER required information to log in
CHECK the availability of the log in information
IF Correct information THEN
Allow access to the user pages
ELSE
Error Message appears
END IF

IF “ Employee Information Management ” button clicked THEN


OPEN Employee Information Management page with 2 choices
IF “ Edit Employee Personal Detail ” button clicked THEN
OPEN Edit Employee Personal Detail page with text areas to entry description
info . (Emp Id, Name, photo, BOD ,Sex ,code , Blood , father Name ,
Religion, Marital Status, House / Flat Number, City, Street )
REPEAT
IF “ changes ” button clicked THEN
Changes Information Employee
ELSE IF “cancel” button clicked THEN
Cancel to Changes Information Employee
ELSE IF “delete question” button clicked THEN
Display confirm Message
IF “OK” button clicked THEN
Delete Information Employee
ELSE IF “cancel” button clicked THEN
CANCEL to Information Employee

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

IF “ Employee leave Management ” button clicked THEN


OPEN Employee leave Management page with 2 choices
IF “ Employee Leaves ” button clicked THEN
OPEN Employee Leaves Detail page with text areas to input description info .
(Emp Id ,Emp Name ,Type, Date,)
IF “ Save ” button clicked THEN
SAVE Employee Leaves
ELSE IF “cancel” button clicked THEN
CANCEL to Save Information Employee

IF “Reports ” button THEN


REPORT Employee Leaves
IF “ Employee Application ” button clicked THEN
UNTIL “ Apply” button clicked
END IF
END IF

IF “ Employee Discipline Management ” button clicked THEN


OPEN Employee Discipline Management page with 1 choices
IF “ Punishments” button clicked THEN
OPEN Punishments Detail page with text areas to input description info.
(Emp Id ,Emp Name ,Type Punishments, Date,)
IF “ Save ” button clicked THEN
SAVE Punishment
ELSE IF “cancel” button clicked THEN
CANCEL to Save Punishments
IF “Reports ” button THEN
REPORT Employee Leaves
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:

4.4.1) Home Page Tab


Page shows the home page of our website. It includes the basic navigations and part for
the last news and events related to HRIS.

4.4.2) User Login Management Tab

4.4.2.1) Register Tab


In this tab, If the employee is a new user, he can request to register with the system.

4.4.2.2) Login Tab

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.

FIGURE 4.3:USER LOGIN MANAGEMENT PAGE

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.

FIGURE 4.4: FUNCTIONAL HRIS PAGE

System implementation P a g e | 51
4.4. 3) Employee Information Management Tab

4.4. 3.1) Edit Employee Personal Detail 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.

FIGURE 4.5: EDIT EMPLOYEE PERSONAL DETAIL PAGE

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.

FIGURE 4.6: ADD NEW EMPLOYEE PAGE

System implementation P a g e | 53
4.4. 4) Employee Leave Management Tab

FIGURE 4.7: EMPLOYEE LEAVE MANAGEMENT PAGE

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.

Human resources management system is a large complex system, I am useing four


functions it will be developed of this HRIS system. The reason is requirements analysis
is an iterative process and maybe I need to change the requirements based on my future
realization. I am putting much detail in the requirements and design documents. Also, I
have put diagrams and drawings and text or a detail of the requirements and design to
use my time more effectively and to move forward faster.

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.

[8] R. Thayer and M. Thayer.“Software requirement engineering glossary”. IEEE


Computer Society Press,2007: pp. 489-520.

[9] S. Jocob.“Introducing measurable quality requirements: A case study”. IEEE


International Symposium on Requirement Engineering, IEEE Computer Society
Press, 2009: pp. 172-178.

[10] Karl E. Wiegers."Software requirements". Microsoft Press A Division of


Microsoft Corporation 2006.

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

[13] leszek a. maciaszek."Requirements analysis and system design". Addison


Wesley,2007: pp. 1-520.

[14] Hibernate Object Relation Mapping. Http://www.Hibernate.Org/.

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.

[17] IEEE."Recommended practice for software requirements specifications". IEEE


Computer Society, 1993.
[18] B.W. Boehm."A spiral model of software development and enhancement". IEEE
Computer, 1988: pp. 61-72.
[19] G. Kotonya and Ian Summerville."Requirements engineering: Processes and
techniques". Wiley,2004.

[20] et al. Grady Booch.Object-oriented analysis and design applications. 3rd


edition, Pearson Education Inc, 2007.
[21] Tim Weilkiens."Systems engineering with sysml/uml". Elsevier,2007: pp. 143-
148.

[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

View publication stats

You might also like