Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

The Islamia University of Bahawalpur

Department of Computer Science

SOFTWARE DESIGN DESCRIPTION


(SDD DOCUMENT)

for

Employee Leave Management System


Version 1.0

By
Muhammad Amir Abbas
F21BDOCS1M08012
Session Fall 2021 – 2023

Supervisor
Mr. Omer Ajmal

Bachelor of Science in Computer Science


Table of Contents
Introduction ........................................................................................................................................................ 1
Design methodology and software process model ........................................................................................... 1
System overview ................................................................................................................................................. 4
Design models [along with descriptions] .......................................................................................................... 7
Data design .......................................................................................................................................................... 8
Algorithm & Implementation ......................................................................................................................... 14
Software requirements traceability matrix...................................................................................................... 2
Human interface design ................................................................................................................................... 16
Appendix I......................................................................................................................................................... 17
Revision History
Name Date Reason for changes Version
Application Evaluation History

Comments (by committee) Action Taken


*include the ones given at scope time both in doc and
presentation

Supervised by
Mr. Omer Ajmal

Signature
1 Introduction
Employee management system is web based system, to manage employee details easily.
Employee Management System is a system that developed to maintain the details of
employees working in organization. It maintains the information about the personal details of
their employees. An online management system is a web-based management that automates
every step of the employee management process without compromising functionality. Unlike
onsite leave management tools, an online leave management system gives employees the
freedom to request, approve, reject and manage vacation requests from anywhere, at any time
and from any device.

1.1 Purpose
The purpose of this system is to save and manage the data of employees. This is the easy way
to manage the large amount of data with the help of a system. A leave management system is
software that simplified the time off requests for employees. An automated leave
management system makes it easy to track, approve, or deny employee leave requests. In
most of the colleges the leave related information’s are maintained through the letter or paper
work which is very difficult task because as the time passed the information will be lost. The
administrator can view the information of a particular employees’ that for how many days he
was on leave so that he can have the information about the remaining leave period of an
employee.

1.2 Scope
An employee can view and maintain personal data easily. With the help of this system the
large amount of data can be manage easily. This system have a module of leave. This system
can manage the leave module easily. A leave management system helps in recording,
Managing, and tracking employee’ time off requests. Its main objective is to handle
employees’ absence from work doesn’t adversely impact the business.
2 Design Methodology And Software Process Model
2.1 Software Development Life Cycle

The systems development life cycle (SDLC), also referred to as the application development
life cycle, is a term used in systems engineering, information systems and software
engineering to describe a process for planning, creating, testing, and deploying an
information system. The systems development life-cycle concept applies to a range of
hardware and software configurations, as a system can be composed of hardware only,
software only, or a combination of both.

Figure 1.0 SDLC


2.2 SDLC Model

The software development models are the various processes or methodologies that are
being selected for the development of the project depending on the project’s aims and
goals. Many development life cycle models have been developed in order to achieve
different required objectives. The models specify the various stages of the process and the
order in which they are carried out.
The selection of model has very high impact on the testing that is carried out. It will define
the what, where and when of our planned testing, influence regression testing and largely
determines which test techniques to use.
There are various Software development models or methodologies. They are as follows:

1. Waterfall model
2. V model
3. Incremental model
4. RAD model
5. Agile model
6. Iterative model
7. Spiral model
8. Prototype model
Choosing right model for developing of the software product or application is very
important. Based on the model the development and testing processes are carried out.
2.21 Scrutinizing Our Project Model

Selecting accurate model for developing of the software invention or request is very
significant. Founded on the model the expansion and testing processes are accepted out.
As Waterfall model is more traditional and easy to gather requirements and analyzing
system, so we choose the model according to complete the project. This technique
works well for big projects that may take numerous to progress
3 System Overview

3.1 Overall Description


A leave management system helps in recording, managing, and tracking employees’ time-off
requests. Its main objective is to handle employees’ leave requests impartially while ensuring
that the employees’ absence from work doesn’t adversely impact the business.
If you still use paper forms, emails, or excel sheets to record employee leaves, you’re heading
for a disaster. It can be anything from payroll processing errors, legal compliances, or
employee crunch on a particular day.
Contrarily, a good leave management system provides a unified view of employee
availability across your company and saves you from all these troubles. Some solutions,
like RazorpayX Payroll, also synchronize employee leaves, shift timings, and holidays with
payroll for automated payroll processing.

3.2 Product Perspective


An employee can view and maintain personal data easily. With the help of this system the large
amount of data can be manage easily. The proposed Employees Management System will take
care of the current leave detail at any point of time. The leave accepted, leave deadline will update
the current leave details automatically so that user will get the update current leave details.

3.3 Software Interface/Programming Interfaces


Programming interfaces are the dialects, codes and messages that projects use to
speak with one another and to the equipment.

Models are the following is described Windows.


Mac
Linux
Working frameworks
SMTP email
IP organize conventions
The product drivers that enact the fringe gadgets.
3.4 Hardware Interface
There is different type that is interacting with hardware.

Command line (CL)


Graphical user interface (GUI)
Menu driven (MD)
Form based (FB)
Natural language (NL)

3.5 Product Function


There is some function that is described about the function of job
counseling.
Search your module
Connected leave seeker with the admin
All instruction is posted in the web page that is about the employee.
We can easily apply for any type of leave at one platform.
The entire user connective at single web application.
4 Identifying External Entities

The identification of the external entities is based on the information contained in the above
abstract. The Identification of External entities is done in two phases

Over Specify Entities from Abstract

1) Admin side
2) Employee side
4.1 Refined Entities
After refining the entities, we found the following entities to fit our Business
Logic.
1) Admin side
2) Employee side
4.2 Summary of Requirements (Initial Requirements)
Our purposed system must fulfill the requirements as follow

1) Register
2) Login
3) Logout
4) Manage personal data
5) Request for leave
6) Response on leave
7) Search Module
5 Design Models
The applicable models may include:
• Class Diagram
• Sequence Diagram
• State Transition Diagram
• Data Flow Diagram
5.1 Class Diagram
Class diagram is used to represent the relationship between different classes. In UML class
diagram is represented by a rectangular box having three sections. At the top section we write
the class name, in second section we write the attributes of the class and the last section
contains the operations/methods of the class.

user

type_id
username
password
email
CNIC
dept_id
dept_name

employee
user_type
employee_code department
first_name type_id
last_name department_id description
address department_name
contact
picture

employee_leave

leave_type leave_id
emp_id
type_id leave_type_id
description start_date
end_date
user_id
status
remark

Figure 2.0 Class Diagram


5.2 Sequence Diagram
Sequence Diagrams Represent the objects participating the interactionhorizontally and time vertically.

Admin Login Bal: AdminLogin Dal: SqlHelper DataBase

1:Login

2:CheckUser()

3:Execute NonQuery()

4:Execute NonQuery()

5:Response to Execute
6: Get Respons() NonQuery()

7: ShowResult()

Figure 3.0 Sequence Diagram


5.4 State-Transition Diagrams (STD)

A state machine is any device that stores the status of an object at a given time and can
change status or cause other actions based on the input it receives. States refer to the different
combinations of information that an object can hold, not how the object behaves. In order to
understand the different states of an object, you might want to visualize all of the possible
states and show how an object gets to each state, and you can do so with a UML state
diagram.
Each state diagram typically begins with a dark circle that indicates the initial state and ends
with a bordered circle that denotes the final state. However, despite having clear start and end
points, state diagrams are not necessarily the best tool for capturing an overall progression of
events. Rather, they illustrate specific kinds of behavior—in particular, shifts from one state
to another.
Leave Management System

State Transition Diagram

Sign Up

Failed

Take
Apply Leave
Readiness Test

Passed
Select Leave
Categories

Alerts

Successful Application

Review, Select
Feedback
And apply

Figure 4.0 State Transition Diagram


5.4 Data Flow Diagram
A data flow diagram shows the way information flows through a process or system. It
includes data inputs and outputs, data stores, and the various sub processes the data moves
through. DFDs are built using standardized symbols and notation to describe various
entities and their relationships. Data flow diagrams visually represent systems and processes
that would be hard to describe in a chunk of text. You can use these diagrams to map out an
existing system and make it better or to plan out a new system for implementation.
Visualizing each element makes it easy to identify inefficiencies and produce the best
possible system.
Data flow diagrams are also categorized by level. Starting with the most basic, level 0,
DFDs get increasingly complex as the level increases. As you build your own data flow
diagram, you will need to decide which level your diagram will be
.
Context DFD

Level 0 DFDs, also known as context diagrams, are the most basic data flow diagrams.
They provide a broad view that is easily digestible but offers little detail. Level 0 data flow
diagrams show a single process node and its connections to external entities.

Level 1 DFD

Level 1 DFDs are still a general overview, but they go into more detail than a context
diagram. In a level 1 data flow diagram, the single process node from the context diagram is
broken down into sub processes. As these processes are added, the diagram will need
additional data flows and data stores to link them together.
Leave Management

Employee Management Leave Status

Leave
Management

System User
Salary Management

Login

Zero Level

Figure 5.0 DFD


First Level DFD

First Level DFD

Generate Employee
Employee Management Report

Generate Leave Report


Leave Management

Generate Leave Status


Leave Status Leave Report
Management Management
System

Generate Notification
Notification Report
Management

Login Management Check User Login

Generate System User


System User Management
Management

Figure 6.0 First level DFD


6 Data design
6.1 Data Description
We use MYSQL database with php as a backend Language and HTML for Front End Language.
6.2 Data Dictionary
After carefully understanding the requirements of the client the the entire data storagerequirements
are divided into tables. The below tables are normalized to avoid any anomalies during the course
of data entry.

Field Name Data Type Constraints Description


Master ID Numeric Primary key User ID

User Name Var Char Unique Key User Name

Password Var Char Unique Key Password

6.3 Employee Details


Field Name Data Type Constraints Description
Education ID Numeric Primary Key Education ID
Candidate ID Numeric Forign Key Candidate Master
ID
Qualifications ID Var Char Not Null Qualifications
Levels
Education Var Char Not Null Candidate Stream
Specifications Degree
Passing Year Numeric Not Null Passing Year
7 Algorithm & Implementation

ID User Requirements Forward Traceability

U1 Login S1, S3, S4

U2 User Find Leaves S5

U3 Leave Details S1, S3, S5

U4 User search Leaves S1, S3, S6

U5 User Apply For Leave S1, S3, S7

Forward
ID System Functional Requirements
Traceability
S1 Login Page Should be Display U1
User is accepted by the System when all the relative
S2 U1
information corrects

S3 Data store by the System U1

S4 Guest user allowed to find the jobs in a System U2

S5 Leave Should be allowed to place in a System U2

S6 Leave shown by the user in a system U3

S7 Leave cauterized by the User in a System U3

S8 User set wish list through the System U3


8 Human Interface Design
System Interfaces
Our system has three types of interfaces
1) Admin side
2) Employee side

8.1 Interfaces
Our application has two interfaces

1) User Side
2) Admin Side
8.2 Hardware Interfaces
1) Dual Core
2) Ram 512 mb
3) Hard 160gb

8.3 Software Interfaces


1) php language
2) web server
3) windows 7,8
10 Appendix
My Project is a web-based application that can run on any browser with internet functionality. You
don't need to install any hardware or software tools. On this platform you have easy access to the
vacancy and candidate. It is easy for all users.

11 Conclusion
Electronic recruitment is one of the most important developments in today's labor market.
Ignoring the traditional recruiting process, online recruiting has revolutionized the world of
interviewing and recruiting. Although the app aims to provide users with a simple yet logical user-
friendly experience, it has been successful in its completion. This is also specializes in
entrepreneurship with the latest technology used in today's industries. Test results show that is
scalable and can handle heavy loads. This is also geographically limited as anyone from anywhere
in the world can register on this and find or select module about his needs. By developing this
project with the main goal of learning new technologies, I gained extensive experience in
understanding technologies like Node JS not only at the implementation level but also in the
context of these technologies. Similarly, Angular JS learned and saw how a front-end tool can
make your life much easier with front-end development. Some of the biggest challenges in this is
understanding and implementing the callback/promise concepts. I found many advanced
technologies to debug, test and run applications. It has always added to my practical knowledge a
wide range of techniques that would be beneficial to the industry after graduation.
12 Benefits

• The project is determined by the system functions offered to the user. The benefits of this
project are as follows: -

• Project that supports the web.

• This project allows the user to enter data through simple and interactive forms. This is
very convenient for the customer to enter the required information very easily.

• The user is primarily concerned about the correctness of the data, whatever is entered.
There are checks at all stages of any new creation, data entry or update process so that the
user cannot enter invalid data, which could lead toproblems at a later date.

• Sometimes in the later stages of using the project, the user may find that he needs to
update some information that he previously entered. There are options to update the
records. In addition, there are limitations that the primary data field cannot be changed.
This keeps the data valid for longer.
• The user is given the opportunity to check the records he has previously entered. He can see
the records he wants with the variety of options he offers.

• The user gets links from each part of the project through frames, so that he can move from
one option in the project to another according to the requirements. No doubt this is simple
and very easy to use. This means that we can say that the project is user-friendly, and it is one
of the mainconcerns of any good project.

• Storing and retrieving data becomes faster and easier to maintain because data is stored
systematically and in one database.

• The decision-making process will be significantly improved with faster information


processing, as collecting data from information available on the computer takes much less
time than with a manual system.

• Preparing inspection results becomes much faster because the user can simultaneously view
records.

• Easier and faster data transfer thanks to the latest computer and communication technologie

You might also like