Anda di halaman 1dari 156

Software

Engineering II 1
Payroll And Attendance System

Abstract
Documentation is tangible part of software development which holds equal
importance as software application does. This report has been prepared in
corresponding to the Attendance and Payroll system that is being developed for the
Third Pole Connects, an employment wing of the Islington college.

The purpose of this report is to complete the documentation part of system that is
being developed for the Software Engineering II module. This report aims to develop
team management and team collaboration skills, experiencing real time software
development practice and system design for the real world applications. This report
clearly mentions design phases of the systems represented by various UML diagrams
like use case diagram, activity diagram, collaboration diagram etc. which are
conducted in different time boxes. This report defines different modules of the
system along with the attributes used in the system. The user manual that comes
with this report will help the administration of the Client Organization in order to
know about the software and to run it.

In nutshell, this report taught to conducts the works in different time boxes along
with the scheduling of the tasks and developed the skills of working in a team. On
completion of this coursework, 50% of the total marks for this module will be
completed.

2 Payroll And Attendance System


Table of Contents
CHAPTER 1: INTRODUCTION .............................................................................................. 5
CHAPTER 2: PROJECT PLAN ................................................................................................ 6
A) TIMEBOX 1: PROJECT PLAN ................................................................................................. 6
i) Work Breakdown Structure ........................................................................................... 6
ii) Gantt Chart ................................................................................................................... 6
B) TIMEBOX 2: PROJECT PLAN ..................................................................................................... 7
i) Work Breakdown Structure ........................................................................................... 7
ii) Gantt Chart ................................................................................................................... 7
C) TIMEBOX 3: PROJECT PLAN ..................................................................................................... 8
i) Work Breakdown Structure ........................................................................................... 8
ii) Gantt Chart ................................................................................................................... 8
D) TIMEBOX 4: PROJECT PLAN ..................................................................................................... 9
i) Work Breakdown Structure ........................................................................................... 9
ii) Gantt Chart ................................................................................................................... 9
E) TIMEBOX 5: PROJECT PLAN .................................................................................................... 10
i) Work Breakdown Structure ......................................................................................... 10
ii) Gantt Chart ................................................................................................................. 10
F) TIMEBOX 6: PROJECT PLAN .................................................................................................... 11
i) Work Breakdown Structure ......................................................................................... 11
ii) Gantt Chart ................................................................................................................. 11
G) TIMEBOX 7: PROJECT PLAN ................................................................................................... 12
i) Work Breakdown Structure ......................................................................................... 12
ii) Gantt Chart ................................................................................................................. 12
H) TIMEBOX 8: PROJECT PLAN ................................................................................................... 13
i) Work Breakdown Structure ......................................................................................... 13
ii) Gantt Chart ................................................................................................................. 13
I) TIMEBOX 9: PROJECT PLAN .................................................................................................... 14
i) Work Breakdown Structure ......................................................................................... 14
ii) Gantt Chart ................................................................................................................. 14
J) TIMEBOX 10: PROJECT PLAN .................................................................................................. 15
i) Work Breakdown Structure ......................................................................................... 15
ii) Gantt Chart ................................................................................................................. 15
K) TIMEBOX 11: PROJECT PLAN ................................................................................................. 16
i) Work Breakdown Structure ......................................................................................... 16
ii) Gantt Chart ................................................................................................................. 16
L) TIMEBOX 12: PROJECT PLAN .................................................................................................. 17
i) Work Breakdown Structure ......................................................................................... 17
ii) Gantt Chart ................................................................................................................. 17
M) TIMEBOX 13: PROJECT PLAN ................................................................................................ 18
i) Work Breakdown Structure ......................................................................................... 18
ii) Gantt Chart ................................................................................................................. 18
CHAPTER 3: REQUIREMENT SPECIFICATION ..................................................................... 19
INTRODUCTION ............................................................................................................... 20
PURPOSE ............................................................................................................................... 20
INTENDED AUDIENCE AND READING SUGGESTIONS ........................................................................ 20
PROJECT SCOPE ....................................................................................................................... 21

Software Engineering II 3
Payroll And Attendance System
REFERENCES ........................................................................................................................... 24

OVERALL DESCRIPTION .................................................................................................... 25


PRODUCT PERSPECTIVE ............................................................................................................. 25
PRODUCT FEATURES ................................................................................................................ 25
USER CLASSES AND CHARACTERISTICS ......................................................................................... 26
OPERATING ENVIRONMENT ....................................................................................................... 26
DESIGN AND IMPLEMENTATION CONSTRAINTS .............................................................................. 26
ASSUMPTIONS AND DEPENDENCIES ............................................................................................ 26
SYSTEM FEATURES ........................................................................................................... 27
EXTERNAL INTERFACE REQUIREMENT .............................................................................. 30
COMMUNICATIONS INTERFACES ................................................................................................. 30
OTHER NONFUNCTIONAL REQUIREMENTS ....................................................................... 30
PERFORMANCE REQUIREMENTS ................................................................................................. 30
SAFETY REQUIREMENTS ............................................................................................................ 31
SECURITY REQUIREMENTS ......................................................................................................... 31
SOFTWARE QUALITY ATTRIBUTES ............................................................................................... 31
CHAPTER 4: DESIGN SPECIFICATION ................................................................................. 32
A) DATA DESIGN ................................................................................................................. 32
1) Identifying Entities ...................................................................................................... 32
2) Identifying Relationships ............................................................................................ 32
3) Identifying Cardinality of Relationship .................................................................... 32
4) Identifying Attributes .................................................................................................. 33
7. Entity Relationship Diagram ....................................................................................... 34
8. Data Dictionary ........................................................................................................... 35
B. ARCHITECTURAL DESIGN ....................................................................................................... 38
C. STRUCTURAL DESIGN ............................................................................................................ 39
1. Class Diagram ............................................................................................................. 39
2. Use Case Diagram (High Level) ................................................................................... 40
D. DETAILED DESIGN ................................................................................................................ 41
I. Increment 1: Login ....................................................................................................... 41
II. Increment 2: Staff Management ................................................................................. 46
III. Increment 3: Attendance Tracking ............................................................................. 55
IV. Increment 4: Manage Allowance ............................................................................... 59
V. Increment 5: Manage Deduction ................................................................................ 66
VI. Increment 6: Calculate Salary .................................................................................... 72
VII. Increment 7: Attendance Report .............................................................................. 74
VIII. Increment 8: Salary Report ...................................................................................... 77
IX. Increment 9: Manage Leave ...................................................................................... 80
X. Increment 10: Manage Holiday .................................................................................. 87
XI. Increment 10: Manage Office Time ........................................................................... 96
CHAPTER 5: VERIFICATION AND VALIDATION ................................................................. 104
A. VERIFICATION ................................................................................................................ 104
i) Program Inspection .................................................................................................... 104
C. VALIDATION .................................................................................................................. 132
I. Acceptance Test ......................................................................................................... 132
II Integration Testing .................................................................................................... 133
CHAPTER 6: USER MANUAL ............................................................................................ 154

4 Payroll And Attendance System



CONCLUSION ................................................................................................................. 155
APPENDIX ...................................................................................................................... 156

Software Engineering II 5
Payroll And Attendance System

CHAPTER 1: INTRODUCTION

This coursework deals with developing a Payroll and Attendance System for a
company named Third Pole Connects PLC. According to case scenario, it is a newly
established Software development Company, which decided to outsource the job of
developing above mentioned system for the third party developers. In this case, our
team has proposed to develop system for the company. Based on case scenario,
system along with documentation has been developed by a group of four members.

System is completely web based. It primarily deals with automating the traditional
attendance and payroll management system of the company upgrading the manual
process into a systematic computerized form. It offers an individual dashboard to
every staffs, through which they can make attendances and view their attendance
details themselves. System includes other features like staff management, salary
calculation, allocation of allowances and deductions to staffs and timely reports
generation. Project strictly follows the DSDM methodology, according to which,
whole project duration was divided into several time boxes and tasks were assigned
to each time boxes, allocating resources and identifying dependencies for each tasks.

This document presents overall details of development of the system. It covers
detailed project plan which includes scheduling and Gantt charts of each time boxes.
It consists of a detailed design specification document, i.e. SRS Document. It consists
of high level system designs such as data design, architectural design and structural
design. It also consists of the detailed design model of each increments like
architectural model, sequence model and activity model. Document also covers
testing details as well as systems user manual.

6 Payroll And Attendance System


CHAPTER 2: PROJECT PLAN


a) Timebox 1: Project Plan
i) Work Breakdown Structure

Task No.
1
1.1
1.2
1.3
1.4
2
2.1
2.2

Task Name
Tools selection
Programming language selection
Database selection
IDE selection
Justification
Design Prototype
Search Dashboard Template
HTML enhancement

2.3 CSS enhancement


2.4 PHP integration

ii) Gantt Chart


Resource

Siddhartha Bhatta
Niraj Lama
Ismaran Duwadi
Amulya Lohani

Ismaran Duwadi
Amulya Lohani
Siddhartha Bhatta
Niraj Lama

Dependency



1.3
1.1, 1.2,


2.1
2.1
2.1

Software Engineering II 7
Payroll And Attendance System

b) Timebox 2: Project Plan


i) Work Breakdown Structure
Task No. Task Name
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8

2
2.1
2.2
2.3
2.4

SRS Document
Project scope identification
Project boundaries and constraints identification
External interface requirements identification
Functional and non functional requirements
identification
Product deliverables finalization
Dependencies identification
Cost estimation
SRS document Preparation

Data Design
Entities identification
Relationships identification
Normalization
ER diagram design



ii) Gantt Chart


Resource

Dependency


Niraj Lama
Siddhartha Bhatta
Ismaran Duwadi

Amulya Lohani
Niraj Lama
Ismaran Duwadi
Amulya Lohani
Siddhartha Bhatta


Ismaran Duwadi
Siddhartha Bhatta
Amulya Lohani
Niraj Lama


1.3, 1.4


1.1, 1.2, 1.3, 1.4,
1.5, 1.6, 1.7


2.1
2.1, 2.2
2.1, 2.2, 2.3

8 Payroll And Attendance System


c) Timebox 3: Project Plan


i) Work Breakdown Structure
Task No.
1
1.1
1.2
1.3
1.4
2
2.1
2.2
2.3
2.4
3
3.1
3.2
3.3
3.4

Task Name
SRS Document Enhancement
Missed requirements re-identification
Missed product deliverables re-identification
Cost estimation
SRS document update
Data Design Update
Entities re-Identification
Relationships re-Identification
Normalization
ER diagram Re-Design
Design Prototype Enhancement
Staff profile page design
Addition of forms, tables, lists, etc in admin dashboard
Overall CSS enhancement
PHP script addition

ii) Gantt Chart





Resource

Niraj Lama
Ismaran Duwadi
Amulya Lohani
Siddhartha Bhatta

Ismaran Duwadi
Siddhartha Bhatta
Amulya Lohani
Niraj Lama

Amulya Lohani
Niraj Lama
Siddhartha Bhatta
Ismaran Duwadi

Dependency




1.1, 1.2, 1.3


2.1
2.1, 2.2
2.1, 2.2, 2.3




3.1,3.2,3.3

Software Engineering II 9
Payroll And Attendance System


d) Timebox 4: Project Plan
i) Work Breakdown Structure

Task No.
1
1.1
1.2
1.3
1.4
2
2.1
2.2
2.3
2.4

Task Name
Enhancement of ER Diagram
Entities update
Relationships update
Re-Normalization
ER diagram re-design
Design Prototype Enhancement
Login page design
Attendance report table design
Overall CSS enhancement
PHP script addition

ii) Gantt Chart



























Resource

Ismaran Duwadi
Siddhartha Bhatta
Amulya Lohani
Niraj Lama

Ismaran Duwadi
Niraj Lama
Amulya Lohani
Siddhartha Bhatta

Dependency


1.1
1.1,1.2
1.1,1.2,1.3




2.1,2.2,2.3

10 Payroll And Attendance System



e) Timebox 5: Project Plan


i) Work Breakdown Structure
Task No.
1
1.1
1.2
1.3
1.4
2
2.1
2.2
3
3.1
3.2

Task Name
Contextual Model Design
Use cases identification
Actors identification
Usecase diagram design
Usecase description
Architectural Model Design
Architecture Selection
Description on chosen MVC architecture
Design Prototype Enhancement
Salary sheet design
Overall CSS enhancement

ii) Gantt Chart




























Resource

Amulya Lohani
Siddhartha Bhatta
Ismaran Duwadi
Niraj Lama

Group
Suddhartha
Bhatta

Ismaran Duwadi
Siddhartha Bhatta

Dependency


1.1
1.1,1.2
1.1,1.2,1.3


2.1


Software Engineering II 11
Payroll And Attendance System

f) Timebox 6: Project Plan


i) Work Breakdown Structure

Task No.
1
1.1
1.2
2
2.1
2.2
2.3
2.4
2.5
3
3.1
3.2
3.3
3.4
3.5

Task Name
Structural Model Design (Whole System)
Textual Analysis
Class Diagram Design
Staff Management Module Development
Architectural Model design
Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist
Login Module Development
Architectural Model design
Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist

ii) Gantt Chart

























Resource

Amulya Lohani
Siddhartha Bhatta

Niraj Lama
Amulya Lohani
Siddhartha Bhatta
Ismaran Duwadi
Siddhartha Bhatta

Ismaran Duwadi
Siddhartha Bhatta
Ismaran Duwadi
Amulya Lohani
Niraj Lama

Dependency


1.1




2.1, 2.2, 2.3
2.4




3.1, 3.2, 3.3
3.4

12 Payroll And Attendance System


g) Timebox 7: Project Plan


i) Work Breakdown Structure

Task No.
1
1.1
1.2

Task Name
Manage Allowances Module Develoment
Architectural Model design
Sequence Model Design

1.3 Activity Model Design


1.4 Coding
1.5 Prepare Inspection Checklist

ii) Gantt Chart






























Resource

Ismaran Duwadi
Ismaran Duwadi
Siddhartha
Bhatta
Niraj Lama
Amulya Lohani

Dependency




1.1, 1.2, 1.3
1.4

Software Engineering II 13
Payroll And Attendance System

h) Timebox 8: Project Plan


i) Work Breakdown Structure

Task No. Task Name
1 Manage Deduction Module Develpoment
1.1 Architectural Model design
1.2
1.3
1.4
1.5

Sequence Model Design


Activity Model Design
Coding
Prepare Inspection Checklist

ii) Gantt Chart






























Resource

Amulya Lohani
Siddhartha
Bhatta
Niraj Lama
Niraj Lama
Ismaran Duwadi

Dependency




1.1, 1.2, 1.3
1.4

14 Payroll And Attendance System


i) Timebox 9: Project Plan


i) Work Breakdown Structure

Task No.
1
1.1
1.2
1.3
1.4
1.5

Task Name
Salary Calculation Module
Architectural Model design
Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist

ii) Gantt Chart


































Resource
Dependency


Amulya Lohani

Niraj Lama

Amulya Lohani

Siddhartha Bhatta
1.1, 1.2, 1.3
Ismaran Duwadi
1.4

Software Engineering II 15
Payroll And Attendance System

j) Timebox 10: Project Plan


i) Work Breakdown Structure

Task No.
1
1.1
1.2

Task Name
Attendance Report Generation Module
Architectural Model design
Sequence Model Design

1.3 Activity Model Design


1.4 Coding
1.5 Prepare Inspection Checklist

ii) Gantt Chart































Resource

Ismaran Duwadi
Amulya Lohani
Siddhartha
Bhatta
Niraj Lama
Siddhartha
Bhatta

Dependency




1.1, 1.2, 1.3
1.4

16 Payroll And Attendance System


k) Timebox 11: Project Plan


i) Work Breakdown Structure
Task No. Task Name
1 Salary Report Generation Module
1.1
1.2
1.3
1.4
1.5

Architectural Model design


Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist

ii) Gantt Chart































Resource

Siddhartha
Bhatta
Niraj Lama
Amulya Lohani
Niraj Lama
Ismaran Duwadi

Dependency




1.1, 1.2, 1.3
1.4

Software Engineering II 17
Payroll And Attendance System

l) Timebox 12: Project Plan


i) Work Breakdown Structure

Task No.
1
1.1
1.2
1.3
1.4
1.5
2
2.1
2.2
2.3
2.4
2.5
3
3.1
3.2
3.3
3.4
3.5

Task Name
Manage Leave Module Develoment
Architectural Model design
Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist
Manage Holiday Module Develoment
Architectural Model design
Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist
Manage Office Time Module Develoment
Architectural Model design
Sequence Model Design
Activity Model Design
Coding
Prepare Inspection Checklist

ii) Gantt Chart





















Resource

Ismaran Duwadi
Ismaran Duwadi
Siddhartha Bhatta
Niraj Lama
Amulya Lohani

Niraj Lama
Amulya Lohani
Siddhartha Bhatta
Ismaran Duwadi
Siddhartha Bhatta

Ismaran Duwadi
Amulya Lohani
Ismaran Duwadi
Niraj Lama
Siddhartha Bhatta

Dependency




1.1, 1.2, 1.3
1.4




2.1, 2.2, 2.3
2.4




3.1, 3.2, 3.3
3.4

18 Payroll And Attendance System


m) Timebox 13: Project Plan


i) Work Breakdown Structure

Task No.
1
1.1
1.2
1.3
1.4
2
2.1
2.2

Task Name
Testing
Identify Test Cases
Executes Tests
Refine System
Test Documentation
Documentation
Prepare User Manual
Finalize Documentation

ii) Gantt Chart


























Resource

Amulya Lohani
Siddhartha Bhatta
Niraj Lama
Siddhartha Bhatta

Group
Group

Dependency


1.1
1.2



2.1

Software Engineering II 19
Payroll And Attendance System

CHAPTER 3: REQUIREMENT SPECIFICATION


Table of Contents
1. INTRODUCTION ............................................................................................................................................. 20
1.1 PURPOSE ........................................................................................................................................................................ 20
1.2 INTENDED AUDIENCE AND READING SUGGESTIONS ................................................................................................... 20
1.3 PROJECT SCOPE ............................................................................................................................................................. 21
1.4 REFERENCES ................................................................................................................................................................... 24
2. OVERALL DESCRIPTION ................................................................................................................................ 25
2.1 PRODUCT PERSPECTIVE ................................................................................................................................................. 25
2.2 PRODUCT FEATURES ..................................................................................................................................................... 25
2.3 USER CLASSES AND CHARACTERISTICS ......................................................................................................................... 26
2.4 OPERATING ENVIRONMENT .......................................................................................................................................... 26
2.5 DESIGN AND IMPLEMENTATION CONSTRAINTS ........................................................................................................... 26
2.6 ASSUMPTIONS AND DEPENDENCIES ............................................................................................................................. 26
3. SYSTEM FEATURES ....................................................................................................................................... 27
4. EXTERNAL INTERFACE REQUIREMENTS .................................................................................................... 30
4.1 COMMUNICATIONS INTERFACES .................................................................................................................................. 30
5. OTHER NONFUNCTIONAL REQUIREMENTS .............................................................................................. 30
5.1 PERFORMANCE REQUIREMENTS .................................................................................................................................. 30
5.2 SAFETY REQUIREMENTS ................................................................................................................................................ 31
5.3 SECURITY REQUIREMENTS ............................................................................................................................................ 31
5.4 SOFTWARE QUALITY ATTRIBUTES ................................................................................................................................ 31

20 Payroll And Attendance System


Introduction
Purpose
The main purpose is to develop payroll and attendance system, which will include
various aspects like:
Keeping track of the attendance of the different staff employed in the
organization
This will help to keep record of various activities like allowing the employees to
input their login and logout time. More on, this will also helps to keep track of
the staffs logging in late in the system. All staffs can view their respective
attendance sheet by logging in the system.

Generate salary sheet at the end of every month
At the end of every month, total amount payable to each staff will be generated.
All details that include various deductibles like tax deduction, late arrival
deduction, absence deduction will be calculated along with additions of the
various allowances and incentives. System will also calculate the salary figure for
the newly hired staff.

Attendance report for the top management
At the end of every week, top management will be able to view the weekly
attendance report statistics of each staffs working in different departments. The
system will automatically highlights those staff being late or has left early. Top
management will generate salary sheet at the end of every month.


Intended Audience and Reading Suggestions


The primary audiences of this document are top management staffs responsible for
generating salary sheets. This document will be also helpful for the different staffs
under respective department head of the organization. This document contains
various contents like product scope, functionality of the product going to be
developed etc. In addition, this document will describe the different features that
the system will contain and various classes of the users and the different
characteristics that will be performed by each users and the environment in which
system will operate. This document will also highlight on various functional and non-
functional requirement of the system including various interfaces like user interface,
software interfaces, hardware interfaces etc.




Software Engineering II 21
Payroll And Attendance System

Project Scope
Project purpose and justification


The purpose of this project is to manage the attendance and salary record with the
help of computerized attendance and payroll system. As a software development
organization, Third pole connects organization is facing challenges in managing staffs
within the organization. This system eyes to eliminate these challenges by
computerizing the whole process of managing the staff. By implementing
Attendance and Payroll system, Third pole connects can manage their staffs easily
and assume to discard the challenges that the organization is currently facing.


Scope Description


The scope of this project is to plan, design, build and implement an Attendance and
Payroll system for Third pole Connects. Various permissions and privileges will be
provided to the respective personnel responsible to use this system in order to
manage the attendance and payroll. Individual dashboard will be available to all the
staffs working in the organization where staffs can register their attendance, which
will be monitored by the Executive committee member of the organization.



High Level Requirements


This project has been approved to meet the internal staff management and business
need for Third pole Connects. In order to meet this business need there are several
requirements, which must be met as part of the successful execution of this project.
The following high-level requirements have been identified for the Attendance and
Payroll System:
1. Individual dashboard to all the staffs where they can register their
attendance.
2. Accessible remotely within organization only
3. Calculation of salary including allowances, incentives and deductibles.
4. Executive committee staff with full access to other staffs attendance record
and responsible for generating salary sheet at the end of every month.


22 Payroll And Attendance System




Boundaries


This Project includes all work associated with planning, designing, building, and
implementing the Attendance and Payroll System for Third Pole Connects. This
includes requirements gathering, gathering input from all departments, conceptual
and technical design and coding work, server configuration, testing, troubleshooting,
and deployment of the Attendance and Payroll system across the organization. This
also includes training manuals and materials associated with operating the system.

Not included in the scope of this project are:
1. Ongoing maintenance of the system,
2. Implementing commercial database products,
3. Ongoing help desk and/or service support, or hardware/software upgrades.


Strategy


For the Attendance and Payroll Project strategy, the project team will leverage the
expertise of several developers from the Palungo IT group. They will aid the project
manager and other team members in conceptual and technical design, coding,
server configuration, testing and troubleshooting, and deployment. The project
manager will ensure that the IT experts incorporate all input from stakeholders and
gathered requirements.


Deliverables


There are several deliverables, which will be produced as a result of the successful
completion of this project. If all of the following deliverables are not met then the
project will not be considered successful. The Project Manager is responsible for
ensuring the completion of these deliverables.

1. Deliverable 1: A tested and operational Attendance record system free of
errors and meeting the specifications described in the Project Scope
Description.
2. Deliverable 2: A tested and operational Salary Calculation module free of
errors and meeting the specifications described in the Project Scope
Description.
3. Deliverable 3: A tested and operational Attendance report generation
module
4. Deliverable 4: A complete and thorough users manual, which provides step-
by-step instructions on how to use the system for users of all permission
levels.



Software Engineering II 23
Payroll And Attendance System

Acceptance Criteria

Acceptance criteria have been established for the project to ensure thorough vetting
and successful completion of the project. The acceptance criteria are both
qualitative and quantitative in nature. All acceptance criteria must be met in order to
achieve success for this project:

1. Meet all deliverables within scheduled time and budget tolerances.
2. Reduce schedule delays by at least 30%.
3. Reduce budget overruns by at least 30%.
4. Accomplish an overall performance improvement in program metrics.


Constraints


Several constraints have been identified for this Project. It is imperative that
considerations be made for these constraints throughout the project lifecycle. All
stakeholders must remain mindful of these constraints, as they must be carefully
planned for to prevent any adverse impacts to the projects schedule, cost, or scope.
The following constraints have been identified for this Project:

1. IT experts will only work 50% of billable hours on this project.
2. Project manager will only work 75% of billable hours on this project.
3. Project must be completed by close of business on November 31, 2014.
4. Project must be completed within budget tolerance.

Assumptions

Several assumptions have been identified for this Project. All stakeholders must be
mindful of these assumptions as they introduce some level of risk to the project until
theyre confirmed to be true. During the project planning cycle every effort must be
made to identify and mitigate any risk associated with the following assumptions:

1. IT group is capable of producing quality and professional manuals and guides
in their print shop.
2. IT experts working only 50% of their billable hours on this project is adequate
to complete the project by November 31, 2014.
3. The Project Manager working only 75% of billable hours on this project is
adequate to complete the project by November 31, 2014.
4. This Project has full support from senior management across all departments
within Palungo IT group.






24 Payroll And Attendance System


Cost Estimate

The estimated costs for this project are included in the table below. As the project
proceeds and any additional costs become known, this cost estimate will be refined
and communicated to all project stakeholders.

A cost benefit analysis has been performed for this Project. The successful
completion of this project will provide significant benefits to Palungo IT Group. It is
imperative that all stakeholders understand these benefits as well as the importance
of the successful completion of this project. The table below shows a net benefit of
Rs x over one year after successful completion of the Attendance and Payroll system
for Third Pole Connects. This is a total benefit of $x if no project is done and
schedule delays, cost overruns, and poor resource allocation continue.

Expense

Estimated
Budget

Expended to Estimate to
Date
Complete

Variance

Labor

Internal

External

Software

Hardware

Others

Total

References
1. Donn Le Vie, J., 2010. Writing software requirement specifications. [Online]
Available at: http://techwhirl.com/writing-software-requirements-specifications/
[Accessed 15 October 2014].

2. Project Management Docs, 2014. Project Scope statement. [Online] Available at:
http://www.projectmanagementdocs.com/project-documents/project-scope-
statement.html [Accessed 20 October 2014].




Software Engineering II 25
Payroll And Attendance System

Overall Description
Product Perspective
Current System
The organization is currently implementing paper-based method to track the
attendance and the calculation of salary, which has resulted many drawbacks in the
organizations like miscalculation of salary, inaccurate attendance statistics and other
problems as well. Thats why this Attendance and Payroll System has been
proposed to eliminate these kinds of drawback for saving the time within the
organization.

Proposed System
This system Attendance and payroll system is totally new system going to be
developed for Third Pole Connects. This system allows organization to keep track of
the staff details employed in the different department of organization along with
attendance record of each staffs. This system will also calculate the salary of each
staff with necessary allowances, incentives and deductibles at the end of every
month. As the time passes, different versions of the system will be released in
coming days with the addition of necessary features.

Product Features
The following list offers a brief outline and description of the main features and
functionalities of the Attendance and Payroll System. The features are split into two
major categories: core features and additional features. Core features are essential
to the applications operation, whereas additional features simply add new
functionalities. The latter features will only be implemented as time permits.

Core Features (MOSCOW)












a) Addition of New Staff (Must Have)


b) Individual Dashboard to all staff (Must Have)
c) Attendance recording system (Must Have)
d) Salary Report at the end of every month (Must Have)
e) User Privileges (Must Have)

26 Payroll And Attendance System


User Classes and Characteristics


This project is meant to offer a shared expenses solution that is faster, easier, and
more convenient than manually calculating the salary and tracking the attendance
statistics. Consequently, the system will have little or no learning curve, and the user
interface will be as intuitive as possible. Thus, technical expertise wont be an issue.
Instead, anticipated users can be defined by how they will use the product in a
particular situation. The following list categorizes the characteristics users who will
be using Attendance and Payroll System.
1. Staffs working in different department who will be responsible to input the
attended time in organization
2. Ex. Co who will be responsible for calculating salary of each staff and generating
the salary sheet.
3. Developers within the Palungo IT group, who are interested in making the
system better, finding and correcting bugs.
4. Testers, who uses the beta version of the system and test it in many ways for
bugs and errors.


Operating Environment
Attendance and Payroll System is web-based system however it can be used in all
platforms including windows, Linux and MAC OSX.

Compatible Browsers:
Internet explorer (May not be compatible with all versions)
Firefox (Full compatible)
Google Chrome (Full compatible)
Safari (Full Compatible)

Best viewed using Mozilla Firefox.

Design and Implementation Constraints

The system shall use the current corporate standard Oracle database engine.
All HTML code shall conform to the HTML 4.0 standard.
All scripts shall be written in PHP.
System will only work within the organization
Only registered Staffs will be allow to use this system
GUI will be only on English language

Assumptions and Dependencies


No assumptions and dependencies affect this system at this time.

Software Engineering II 27
Payroll And Attendance System

System Features
a) Addition of New Staff


Priority: High, Must Have

Whenever new staff joins the organization, system must have ability to add new
members to the system.


Stimulus/Responses
Step 1: Ex. Co member log in to the system.
Step 2: Then the user will be prompted to add the details of the staff and the
department, which new staff will be joining
Step 3: The information will be sent and stored in database
Step 4: User will be prompted with success message


Functional Requirements
1. User must input valid email address and mobile number. Registration wont
complete until the system is provided with valid email address and mobile
number.



b) Staff login
Priority: High, Must Have

User must be able to login to the system using username and password


Stimulus/Response
Step 1: Staff logs in to the system with the username and password.
Step 2: System will check the validity of username and password.
Step 3: Staff will be able to see the dashboard.


Functional Requirements
1) Staff must be the member of the Third Pole Connects in order to use the system.
2) Provided username and password must match with the database username and
password.







28 Payroll And Attendance System


c) Edit Staff Details



Priority: High, Must Have

Admin must be able to edit the details of the existing staff.

Stimulus/Response
Step 1: Admin selects the staff whose details need to be updated
Step 2: Admin provides new details for the staff
Step 3: System records new details
Step 4: Admin gets success message

d) Deleting staff details


Priority: High, Must Have



Admin must be able to delete the details of the existing staff.

Stimulus/Response
Step 1: Admin selects the staff whose details need to be deleted
Step 2: Admin provides command for deleting the staff
Step 3: Information of the selected staff gets deleted from the system.
Step 4: Admin gets success message

e) Attendance recording system


Priority: High, Must Have

System must record the time of staff logging in and logging out. If staff arrives late,
then system must assign it as late.

Stimulus/Response
Step 1: Staff fills in the arrived time.
Step 2: System checks whether staff is on time or not.
If staff is late, it will be automatically marked red
Step 3: Staff will get attended confirmation.
Step 4: Staff will again fill the leave time.
Step 5: System checks whether staff is leaving early or in time.
If staff is leaving early, system will keep record of it.
Step 6: Staff will get leaving confirmation.



Functional Requirements
1. Staff must be valid and is registered employee of Third Pole Connects.

Software Engineering II 29
Payroll And Attendance System

f) Calculation of Salary & Report at the end of every month


Priority: High, Must Have

Only the member from executive committed owns right to calculate the salary for
each staff, which in our case is Mr. Sanjay Budhathoki. System must be able to
generate salary sheet at the end of every month along with necessary allowances,
incentives and deductibles like TAX deduction and late deduction.


Stimulus/Response
Step 1: Ex. Co member will select the month for which salary has to be generated.
Step 2: System runs query in database.
System automatically calculates salary by including allowances, tax, incentives
and deductibles
Step 3: Ex. Co member gets salary report.


Functional Requirements
1. Only Ex. Co member has the right to generate salary. Therefore, the user name
and password of Ex. Co member must match with the username and password
of database


g) Addition of Holiday

Priority: High, Must Have



Admin can add holiday by specifying the date and the name of the holiday. This
feature can be used only by the Ex.Co.

Stimulus/Response
Step 1: Admin selects the data for which holiday needs to be declared
Step 2: System records the details
Step 3: Admin gets success message


Functional Requirements
Only Ex.Co. can add holiday




30 Payroll And Attendance System



h) Attendance Report

Priority: High, Must Have

The attendance detail of the staff from a chosen date can be viewed in a table
format by the Ex.Co. Report will include various informations like number of present
days, absent days etc.

Stimulus/Response
Step 1:Admin selects the staff whose attendance report needs to be generated.
Step 2: Admin specifies the duration for which the report needs to generated
Step 3: System generates the Attendance report for the selected staff.

External Interface Requirement


Communications Interfaces
The Attendance and Payroll system will have a network server that is web-based
and created using the PHP (Hypertext Processing) language. The server exists to
retrieve information from the database and calculate payments. The system also
calls for a database system that stores user information, record staffs attendance
and calculate the staffs salary.


Other Nonfunctional Requirements
Performance Requirements
Performance should not be an issue because all of our server queries involve small
pieces of data. Changing screens will require very little computation and thus will
occur very quickly. Server updates should only take a few seconds. The cost-division
algorithms used in this system will be highly efficient, taking only a fraction of a
second to compute.

Software Engineering II 31
Payroll And Attendance System

Safety Requirements
Attendance and Payroll System will not affect data stored outside of its servers It
cannot cause any damage to the computers or its internal components.

Security Requirements
Only the staffs working for Third Pole Connects can use this system. With that being
said, the username and password of the staff is required to use the system. Since it is
password protected, username and password will be used to authenticate the users
identity. This could only pose a thread if a user has very weak password.

Software Quality Attributes


The graphical user interface of Attendance and Payroll System is to be designed
with usability as the first priority. The system will be presented and organized in a
manner that is both visually appealing and easy for the user to navigate. There will
be feedbacks and visual cues such as notifications to inform users of updates and
pop-ups to provide users with instructions.
To ensure reliability and correctness, there will be zero tolerance for errors in the
algorithm that computes and splits expenses between group members. To maintain
flexibility and adaptability, the system will take into account situations in which a
user inputs invalid time or for whatever reason cannot establish a connection with
the server. These users will still be able to use the system.





32 Payroll And Attendance System


CHAPTER 4: DESIGN SPECIFICATION


a) Data Design
1) Identifying Entities
Department, grade, allowance, incentive, staff, deduction, incentive, attendance, tds
slab

2) Identifying Relationships

Department Staff: 1 department has many Staff


Staff Department: 1 Staff belongs to 1 department
Staff Allowance: 1 Staff can have multiple allowance
Allowance Staff: 1 allowance belongs to multiple staff
Staff Incentive: 1 Staff can have multiple incentive
Incentive Staff: 1 incentive belongs to multiple staff
Staff deduction: 1 staff can have multiple deduction
Deduction staff: 1 deduction belongs to multiple staff
Staff attendance: 1 staff can have 1 attendance
Attendance Staff: 1 attendance is of 1 staff
Staff Grade: 1 staff is of 1 grade
Grade Staff: 1 Grade can be of many staff
Staff Staff: 1 staff can manage many Staff

3) Identifying Cardinality of Relationship



Relationship

Cardinality

Department Staff

1 : N

Staff Allowance

M: N

Staff Incentive

M:N

Staff Deduction

M:N

Staff Attendance

1:1

Grade Staff

1:N

S.N

Representation

Software Engineering II 33
Payroll And Attendance System

4) Identifying Attributes

S.No. Entity

Attribute

Staff_allowance

allowance_amount

Staff_incentive

amount

Allowance

allowance_name

Attendance

checked_in, checked_out, checked, late_entry

Deduction

absent_amount, miscellaneous, tds_amount

Department

department

Grade

staff_post, grade_amount

Incentive

incentive_name

Office_date

office_date, entrance_time, exit_time

Staff

staff_name, staff_post, staff_type, username,


email, password, password_temp, code, active,
grade, self_pf, marital status, address, phone

Tds_sab

married_status, amount, tds_rate

34 Payroll And Attendance System


7. Entity Relationship Diagram















































Software Engineering II 35
Payroll And Attendance System

8. Data Dictionary

a) staff_allowance table

P/F Field_name
Caption

Notes

Reference
Table

staff

Data Type Field


Size
allowance_id

Integer
10
allowance_amount Allowance Integer
11
Amount
staff_id

Integer
10

F


b) staff_incentive table

P/F Field_name
Caption
P
incentive_id

amount
F
staff_id


c) Allowance table

P/F Field_name
P

Field Size Notes

Integer
Integer
Integer

10
11
10

Caption

Data Type Field


Size
id

Integer
10
allowance_name Allowance Text
15
Name
Allowance_id

Integer
10

F


d) Attendance Table

P/F Field_name
Caption
P




F




Data Type

id
checked_in
checked_out
checked
late_entry
staff_id

Notes

Reference
Table


staff

Reference
Table

Staff_allowance

Data Type

Field Size Notes

Integer
Date/Time
Date/Time
Integer
Time
Integer

10


1

10

Reference
Table





staff

36 Payroll And Attendance System



e) tbl_deduction table

P/F Field_name
Caption
P



F

Data Type Field


Size
id

Integer
10
absent_amount Absent Amount Float
8,2
miscallaneous
Float
8,2
tds_amount

Float
8,2
staff_id

Integer
10



f) tbl_department table

P/F Field_name
Caption
P
id

department


g) tbl_grade table

P/F Field_name

Caption

Notes Reference
Table









staff

Data Type Field


Size
Integer
10
Text
50

Notes Reference
Table



Data Type Field


Size
Integer
10
Text
10
Integer
11

Notes Reference
Table





P
id


staff_post
Staff post

grade_amount Grade amount



h) tbl_incentive table

P/F Field_name
Caption
Data
Type
P
id

Integer

incentive_name Incentive
Text
Name
F
incentive_id

Integer








Field
Size
10
15

Notes Reference
Table



10

Staff_incentive


i) tbl_office_date table

P/F Field_name
Caption

Software Engineering II 37
Payroll And Attendance System

id

Data Type Field


Size
Integer
10

office_date

Todays date

Date/Time

entrance_time

Date/Time

exit_time

Date/Time

Caption

Data
Type
Integer
Text
Text
Text
Text
Text
Text
Text
Text
Integer
Integer
float
Integer
Text
Integer
Integer



j) tbl_staff table

P/F Field_name
P
staff_id

staff_name

staff_post

staff_type

username

email

password

password_temp

code

active

grade

self_pf

marital_status

address

phone
F
dept_id




k) tds_slab

P/F Field_name

Caption

id

Field
Size
10
150
150
50
200
100
250
60
60
1
11
8,2
1
50
11
10

Notes Reference
Table

Notes Reference Table
































Tbl_department

Data
Type
Integer

Field
Size
10

Notes Reference
Table

married_status

Integer

amount

Integer

11

tds_rate

Float

8,2

38 Payroll And Attendance System


b. Architectural Design











































c. Structural Design
1. Class Diagram











































Software Engineering II 39
Payroll And Attendance System

40 Payroll And Attendance System


2. Use Case Diagram (High Level)














































Software Engineering II 41
Payroll And Attendance System

d. Detailed Design
I. Increment 1: Login
1. Increment Description
This increment provides login functiionality to the system. Each staff is
provided with username and password. Staff can navigate to their dashboard
with the help of the provided username and password.




















Login
High Leve Use Case Description
Name: Staff Login
Actor(s): Staff
Description: Staff can view the attendance details by logging in to the system.

Expanded Level Use Case Description
Name: Staff Login
Actor(s): Staff
Purpose: To let staff log in to their dashboard.
Overview: Staff needs to provide the username/password in order to login to
the dashboard. After the successful login, staff will get navigated to their
dashboard where they can view their attendance stats and other necessary
information
Type: Essential


42 Payroll And Attendance System




Action Steps
Actor Action

System Response

1. Staff provides username/password

2. System validates the username and


password
3. If validation is successful, staff will get
navigated to their dashboard. If
validation fails, staff will get error
message.




2. Architecture






























3. Sequence Model












































Software Engineering II 43
Payroll And Attendance System

44 Payroll And Attendance System




4. Collaboration Model





















In order to login into the system, staff enters user Id and password in the interface.
System calls validateUserInput() method to validate the user input. Login controller
checks for the validity of the input in the database. Then the controller passes
validity status. If input is valid, staff dashboard is displayed in the UI. Else, login UI
will be re-displayed.






















5. Activity Model









































Software Engineering II 45
Payroll And Attendance System

46 Payroll And Attendance System


II. Increment 2: Staff Management



1. Increment Description
This module allows the admin to manage the staff in different ways. With the help of
this module, admin can add a new staff, edit existing staff details and delete staff
details from the system.
















a) Add Staff details

High Leve Use Case Description
Name: Add Staff details
Actor(s): Ex.Co
Description: When new staff joins the company, the information about the
staffs needs to be added by the Ex.Co by assigning the department for the
newly joined staff

Expanded Level Use Case Description
Name: Add Staff details
Actor(s): Ex.Co
Purpose: To add new staff details when new staff joins the company.
Overview: Third pole connect hire new staffs time to time and for all the staffs
Whenever new staff joins the company, the information about the staffs need
to be added.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co enter staff details.

2. System stores the record for the new


staff

3. Ex.Co gets staff details added


notification.

Software Engineering II 47
Payroll And Attendance System




b) Update Staff details

High Leve Use Case Description
Name: Update Staff details
Actor(s): Ex.Co
Description: There might be a situation when the details about the staff like
address, phone no. etc needs to be changed. To overcome this purpose, Ex.Co
can update details about the staff.

Expanded Level Use Case Description
Name: Update Staff details
Actor(s): Ex.Co
Purpose: To edit information about the staff working in the company
Overview: Ex.Co can make ammendment in the staff details if needed. This will
be applicable in a situation when staff changes their phone number and other
relevant personal details
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co selects the staff for whom
information needs to be edited.

2. Ex.Co enters new details for the
selected staff

4. Ex.Co gets the details edited
notification.

















3. System records new details for the
selected staff

48 Payroll And Attendance System



c) Delete Staff Details

High Leve Use Case Description
Name: Delete Staff Details
Actor(s): Ex.Co
Description: Whenever staff leaves the company, there might be a need to
delete the information about the staff from the system.

Expanded Level Use Case Description
Name: Delete Staff Details
Actor(s): Ex.Co
Purpose: To delete information about the staff leaving the company
Overview: There might be a situation when staff leaves the company. In this
case, the details about the leaving staff needs to be deleted from the system.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co selects the staff for whom
information needs to be deleted.


4. Ex.Co gets the details deleted
notification.


2. Architecture



















2. System deletes the information about
the selected staff

Software Engineering II 49
Payroll And Attendance System



3. Sequence Model
a) Add Staff





























To add a new staff in the system, Ex. Co. first enters staffs details in the UI. Then
controller records details into the database and retrieves recorded status. The
recorded status is passed to the UI. Finally Ex. Co. can view addition success or
failure message from the UI.










50 Payroll And Attendance System







b) edit Staff































To edit staff details, Ex. Co. first selects a staff whose details is to be edited. Then
Ex.Co. makes necessary changes in the UI. A method is called to add new details.
Controller records new details into the database and retrives update status. This
status is passed to the UI. Finally user can view edit success or failure message in the
UI.





Software Engineering II 51
Payroll And Attendance System


c) Delete Staff
































To delete a staff, Ex. Co. first selects a staff who is to be deleted from the system.
Then Ex.Co. enters the delete command by clicking a button in the UI. After the
confirmation of deletion, a method is called to remove staff. Controller removes
staff from the database and retrives deletion status. This status is passed to the UI.
Finally user can view delete success or failure message in the UI.








52 Payroll And Attendance System



4. Collaboration Model

a) Add Staff





















b) Edit Staff






















c) Delete Staff




















5. Activity Model
a) Add Staff























Software Engineering II 53
Payroll And Attendance System

54 Payroll And Attendance System

































b) Edit Staff

c) Delete Staff

Software Engineering II 55
Payroll And Attendance System

III. Increment 3: Attendance Tracking


1. Increment Description
This module will record the attendance details of the staff working in the
organisation. It will record the time staff has logged in and logged out.


















Attendance Tracking
High Leve Use Case Description
Name: Attendance Tracking
Actor(s): Staff, Ex.Co
Description: The attendance details of every staff working in the company
needs to be recorder by the system.

Expanded Level Use Case Description
Name: Attendance Tracking
Actor(s): Staff, Ex.Co
Purpose: To track the attendance of the staffs.
Overview: In order to track the attendance, system extracts the time in which
staff logged in to the system and logged out from the system. These
informations then is recorded in the system.
Type: Essential
Action Steps
Actor Action
System Response
1. Staff clicks on the check in and
checkout button in order to pass the
login time and logout time.


2. System stores the record about the
login and logout time.

56 Payroll And Attendance System




2. Architecture












































Software Engineering II 57
Payroll And Attendance System



3. Sequence Model































To make attendance, staff clicks on check-In button in the AttendanceUI. Then a
method is called to record check-in time. Attendance controller records check-in
time in the database and retrives recorded status. Finally staff can view checked-in
message in the the UI.









58 Payroll And Attendance System






4. Collaboration Model




















5. Activity Model




















IV. Increment 4: Manage Allowance

Software Engineering II 59
Payroll And Attendance System


1. Increment Description
This module is responsible for managing allowances that is provided to different
staffs. Different Allowances includes Medical Allowance, House Rent Allowance,
Dearness allowance, Special allowance etc. Admin can specify different types of
allowances for each staff working in the company.







































60 Payroll And Attendance System



Manage Allowance
High Leve Use Case Description
Name: Manage Allowance
Actor(s): Ex.Co
Description: Ex.Co can manage allowane by managing other components of
allowances like medical allowances, house rent allowances, dearness
allowances etc.


Expanded Level Use Case Description
Name: Manage Allowance
Actor(s): Ex.Co
Purpose: To manage allowances for the different staffs working in the
organisation.
Overview: Ex.co can manage basic allowance by managing various components
that is the part of the allowance. Various components includes medical
allowance, house rent allowance, fuel allowance, special allowance etc. These
components are different for every staff. Ex.Co manages allowance for each
staff working in the company.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co assigns different allowances
figure to different staff.





















2. System makes the record of the
allowance for each staff



2. Architecture












































Software Engineering II 61
Payroll And Attendance System

62 Payroll And Attendance System




3. Sequence Model

a) Add Allowance
































To add allowance to a staff, Ex. Co. first selects a staff. Then in the allowance UI,
Ex.Co. specifies allowance type and adds allowance details for that particular staff.
Then system calls a method to record this information. Allowance controller records
allowance details into the database and retrives addition status. This status is passed
to the UI and finally Ex.Co can see addition success or failure message in the UI.





Software Engineering II 63
Payroll And Attendance System



b) Edit Allowance






























To edit/update allowance, Ex. Co. first selects a staff. Then in the allowance UI,
Ex.Co. specifies allowance type and edits allowance details for that particular staff.
Then system calls a method to record this edited information. Controller records
new allowance details into the database and retrives updated status. This status is
passed to the UI and finally Ex.Co can see update success or failure message in the
UI.








64 Payroll And Attendance System




5. Collaboration Model

a) Add Allowance





















b) Edit Allowance






















6. Activity Model
a) Add Allowance
























b) Edit Allowance

















Software Engineering II 65
Payroll And Attendance System

66 Payroll And Attendance System


V. Increment 5: Manage Deduction



1. Increment Description
This module is responsible for managing deduction that is provided to different
staffs. Different deduction includes P/F, self P/F, TDS, advance, Absence deduction
etc.















Manage Deduction
High Leve Use Case Description
Name: Manage Deduction
Actor(s): Ex.Co
Description: Ex.Co can manage deduction by managing other components of
deduction like provident fund, self provident fund, TDS, advance etc.

Expanded Level Use Case Description
Name: Manage Allowance
Actor(s): Ex.Co
Purpose: To manage deduction for the different staffs working in the
organisation.
Overview: Ex.co can manage deduction by managing various components that
is the part of the deduction. Various components includes provident fund, self
provident fund, TDS, advance etc. These components are different for every
staff. Ex.Co manages deduction for each staff working in the company.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co assigns different deduction
figure to different staff.



2. System makes the record of the
deduction for each staff


2. Architecture













































Software Engineering II 67
Payroll And Attendance System

68 Payroll And Attendance System



3. Sequence Diagram

a) Add Deduction





























To add deduction to a staff, Ex. Co. first selects a staff. Then in the deduction UI,
Ex.Co. specifies deduction type and adds deduction details for that particular staff.
Then system calls a method to record this information. Deduction controller records
deduction details into the database and retrives addition status. This status is passed
to the UI and finally Ex.Co can see addition success or failure message in the UI.









Software Engineering II 69
Payroll And Attendance System


b) Edit Deduction






























To edit/update deduction, Ex. Co. first selects a staff. Then in the deduction UI,
Ex.Co. specifies deduction type and edits deduction details for that particular staff.
Then system calls a method to record this edited information. Controller records
new deduction details into the database and retrives updated status. This status is
passed to the UI and finally Ex.Co can see update success or failure message in the
UI.










70 Payroll And Attendance System



4. Collaboration Diagram
a) Add Deduction





















b) Edit Deduction























5. Activity Diagram

a) Add Deduction























b) Edit Deduction



















Software Engineering II 71
Payroll And Attendance System

72 Payroll And Attendance System


VI. Increment 6: Calculate Salary



1. Increment Description
This module allows admin to calculate salary for each staffs. During the calculation of
salary, different actions needs to be performed like calculation of the basic salary,
calculation of the allowances and deductions. All these actions will be handled by
this module.














Calculate Salary
High Leve Use Case Description
Name: Calculate
Actor(s): Ex.Co
Description: Ex.Co can calculate salary by calcluating basic salary, allowances
and deduction

Expanded Level Use Case Description
Name: Calculate Salary
Actor(s): Ex.Co
Purpose: To calculate salary for the different staffs working in the organisation.
Overview: Ex.co can calculate basic salary by calculating various components
that is the part of the salary. Various components includes basic salary scale,
allowances and deduction. These components are different for every staff.
Ex.Co calculate salary for each staff working in the company.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co choses to calculate salary for
specific staff

3. Ex.Co can view the net salary.


2. System calculates the net salary by
adding necessary allowances and making
necessary deductions to the basic salary.


2. Architecture





















Software Engineering II 73
Payroll And Attendance System

74 Payroll And Attendance System


VII. Increment 7: Attendance Report



1. Increment Description
This module is responsible for generating the attendance report based on different
criteria. Different Criteria includes generation of the attendance report weekly,
monthly, department wise and staff wise.













. Attendance Report
High Leve Use Case Description
Name: Attendance report
Actor(s): Ex.Co
Description: Ex.Co can generate report regarding attendance in various forms
like monthly report, weekly report, department wise and staff wise.

Expanded Level Use Case Description
Name: Attendance report
Actor(s): Ex.Co
Purpose: To generate the report regarding attendance
Overview: There might be a situation where Ex.Co needs to generate the report
regarding the attendace. Ex.Co can generate attendance report based on
various basis which are weekly, monthly, department wise, staff wise
respectively
Type: Essential
Action Steps

Actor Action
System Response
1. Ex.Co chooses the basis on which
attendance report needs to be
genearted.

3. Ex.Co can view the attendance
report.


2. System generates the attendance
repot.

Software Engineering II 75
Payroll And Attendance System


2. Sequence Model






























To generate attendance report, Ex.Co. first selects staff. Then a method is called to
pass staff Id to the controller. Controller searches for attendance details of that
particulart Id and retrives attendence details as specified by the Ex.Co. Controller
passes Attendance details UI and finally Ex.Co can view the report.











76 Payroll And Attendance System



3. Collaboration Model




















5. Activity Model

Software Engineering II 77
Payroll And Attendance System

VIII. Increment 8: Salary Report



1. Increment Description
This module is responsible for generating the salary report based on different
criteria. Different Criteria includes generation of the salary report monthly,
department wise and staff wise.
















Generate Salary Report
High Leve Use Case Description
Name: Generate Salary report
Actor(s): Ex.Co
Description: Ex.Co can manage salary report on different basis like monthly
report, staff wise and department wise.

Expanded Level Use Case Description
Name: Generate Salary Report
Actor(s): Ex.Co
Purpose: To generate salary report on different basis
Overview: Ex.Co can generate salary on the basis of various topics like salary
report on monthly basis, staff wise and department wise etc.
Type: Essential
Action Steps

Actor Action
System Response
1. Ex.Co chooses the basis on which
salary report needs to be genearted.

3. Ex.Co can view the salary report.

2. System generates the salary report

78 Payroll And Attendance System



2. Sequence Model






























To generate salary report, Ex.Co. first selects staff. Then a method is called to pass
staff Id to the controller. Controller searches for salary details of that particulart Id
and retrives salary details. Controller passes Salary details UI and finally Ex.Co can
view the salary report in salaryReport UI.













3. Collaboration Model


















5. Activity Model
























Software Engineering II 79
Payroll And Attendance System

80 Payroll And Attendance System


IX. Increment 9: Manage Leave


1. Increment Description
This module allows admin to manage leave taken by the staff. In this module, leave
can be added as well as edited.











Add Leave
High Leve Use Case Description
Name: Add Leave
Actor(s): Ex.Co, Staff
Description: Staff can take leave by filling up Add Leave form. For this, staff
needs to mention start date and end date of the leave and submits it which will
be viewed by the Ex.Co

Expanded Level Use Case Description
Name: Add Leave
Actor(s): Ex.Co, Staff
Purpose: To pass the leave requested by the staff
Overview: There might be situation when staff needs to take an emergency
leave. For this, staff can fill up the add leave form by mentioning start date for
the leave, no. of days and end date for the leave and submits it to the Ex.Co.
Type: Essential
Action Steps

Actor Action
System Response
1. Staff selects the start date, number of
days and end date for the leave.
2. Staff submits the form to the Ex.Co


4. Ex.Co either approves or rejects the
leave request



3. System will send the leave request to


the Ex.Co

Software Engineering II 81
Payroll And Attendance System




Edit Leave
High Leve Use Case Description
Name: Edit Leave
Actor(s): Ex.Co, Staff
Description: When Ex.Co gets the leave request from the staff, Ex.Co will either
approve or disapprove the leave request.s





Expanded Level Use Case Description
Name: Edit Leave
Actor(s): Ex.Co, Staff
Purpose: To approve or disapprove leave request.
Overview: Whenever staff submits the leave request, Ex.Co can view the leave
request submitted by the staff. Ex.Co can either approve or reject the request
Type: Essential
Action Steps

Actor Action
System Response

1. Ex.Co views the leave request.

2. Ex.Co either approves or rejects the


request

82 Payroll And Attendance System




2. Architecture












































Software Engineering II 83
Payroll And Attendance System



3. Sequence Model
a) Add Leave






























To add leave, staff first enters a date in leave UI. Then a method is called to record
that date. Leave Controller adds leave date into the database and retrieves the
addition status. This status is passed to the the LeaveUI. Finally staff can view the
addition success or failure status in the UI.









84 Payroll And Attendance System
















































b) Edit Leave




4. Collaboration Model
a) Add Leave



















b) Edit Leave






















Software Engineering II 85
Payroll And Attendance System

86 Payroll And Attendance System





5. Activity Model
a) Add Leave
























b) Edit Leave

















Software Engineering II 87
Payroll And Attendance System

X. Increment 10: Manage Holiday


1. Increment Description
















a) Add Holiday
High Leve Use Case Description
Name: Add Holiday
Actor(s): Ex.Co
Description: Ex. Co can declare holiday by mentioning date for which Ex.Co
wants holiday to be.

Expanded Level Use Case Description
Name: Add Holidays
Actor(s): Ex.Co
Purpose: To add Holiday in Calendar
Overview: Whenever Ex.Co wants to assign holiday for specific day, Ex.Co first
selects the day for which Ex.Co wants to declare the holiday and confirms it.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co selects the date for the holiday.

2. System updates the day as a holidays

3. Ex.Co gets success/failure notification.

88 Payroll And Attendance System






b) Remove Holiday

High Leve Use Case Description
Name: Remove Holiday
Actor(s): Ex.Co
Description: Ex. Co can remove holiday by mentioning date for which Ex.Co
wants to remove the holiday.




Expanded Level Use Case Description
Name: Remove Holiday
Actor(s): Ex.Co
Purpose: To Remove holiday from the calendar
Overview: Whenever Ex.Co wants to remove holiday for specific day, Ex.Co first
selects the day for which Ex.Co wants to remove the holiday and confirms it.
Type: Essential
Action Steps

Actor Action
System Response
1. Ex.Co selects the date for removing
the holiday.

3. Ex.Co gets success/failure notification.

2. System removes the day as a holidays




c) Architecture











































Software Engineering II 89
Payroll And Attendance System

90 Payroll And Attendance System





d) Sequence Model
a) Add Holiday






























To add a holiday, Ex.Co. enters a date in Holiday UI. Then a method is called to
record the date. Holiday Controller adds specified date for holiday into the database
and retrieves the addition status. This status is passed to the HolidayUI. Finally Ex.Co
can view the addition success or failure status in the UI.








Software Engineering II 91
Payroll And Attendance System

b) Edit Holiday







































92 Payroll And Attendance System




c) Remove Holiday


































To remove a holiday, Ex.Co. selects a date in Holiday UI. After Ex.Co. confirms
removal of holiday, HolidayController passes method to remove holiday from
database and retrieves the removal status. This status is passed to the HolidayUI.
Finally Ex.Co can view the removal success or failure status in the UI.









e) Collaboration Model
a) Add Holiday






















b) Edit Holiday




















Software Engineering II 93
Payroll And Attendance System

94 Payroll And Attendance System



c) Remove Holiday





















f) Activity Model
a) Add Holiday






















Software Engineering II 95
Payroll And Attendance System
b) Remove Holiday

96 Payroll And Attendance System



XI. Increment 10: Manage Office Time


1. Increment Description
















a) Add Office Time
High Leve Use Case Description
Name: Add Office Time
Actor(s): Ex.Co
Description: Ex. Co can set new office time by adding Check in time and
Checkout time

Expanded Level Use Case Description
Name: Add Office Time
Actor(s): Ex.Co
Purpose: To add new office time.
Overview: Ex.Co can set new office time by adding new check in time and
checkout time. Ex.Co specifies duration for which new office hour is applicable
and confirms it.
Type: Essential
Action Steps
Actor Action
System Response
1. Ex.Co selects the date for the new
office time.

3. Ex.Co gets success/failure notification.





2. System updates the date for new office
time.

Software Engineering II 97
Payroll And Attendance System




b) Edit Office Time

High Leve Use Case Description
Name: Edit office Time
Actor(s): Ex.Co
Description: : Ex. Co can edit new office time by either updating or removing
Check in time and Checkout time


Expanded Level Use Case Description
Name: Edit office Time
Actor(s): Ex.Co
Purpose: To Edit office time
Overview: Ex.Co can edit office time by updating new check in time and
checkout time. Ex.Co specifies duration for which new office hour is applicable
and confirms it.
Type: Essential
Action Steps

Actor Action
System Response
1. Ex.Co selects the date for removing or
updating the office time.

2. System removes/updates the office
time
3. Ex.Co gets success/failure notification.

















98 Payroll And Attendance System




c) Architecture












































Software Engineering II 99
Payroll And Attendance System



d) Sequence Model
a) Add Office Time

































To add a new office time, Ex.Co. specifies date and enters check-in and check-out
time for that particular date in OfficeTimeUI. Then a method is called to record this
information. OfficeTimeController adds specified date and time into the database
and retrieves the addition status. This status is passed to the OfficeTimeUI. Finally
Ex.Co can view the addition success or failure status in the UI.





100 Payroll And Attendance System




b) Edit Office Time



































To edit office time, Ex.Co. first selects a particular date and updates thwe check-in
and check-out times OfficeTimeUI. Then a method is called to record this new
information. OfficeTimeController adds updated time into the database and
retrieves the update status. This status is passed to the OfficeTimeUI. Finally Ex.Co
can view the update success or failure status in the UI.







e) Collaboration Model

a) Add Office Time




















b) Edit Office Time





















Software Engineering II 101


Payroll And Attendance System

102 Payroll And Attendance System





f) Activity Model
a) Add Office Time










































Software Engineering II 103


Payroll And Attendance System

b) Edit Office Time

104 Payroll And Attendance System


CHAPTER 5: VERIFICATION AND VALIDATION


a. Verification
i) Program Inspection
1. Increment 1: Login
a) Inspection Checklist

Data-Reference Errors
1. Is a variable referenced whose value is unset or uninitialized?

Yes
No

2. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

3. For all array references, does each subscript have an integer value?
Yes
No

4. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
1. Have all variables been explicitly declared?
Yes
No

2. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

3. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

4. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
1. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

2. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

Software Engineering II 105


Payroll And Attendance System


3. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No


Control-Flow Errors
1. Will every loop eventually terminate?
Yes No

2. Will the program, module, or subroutine eventually terminate?
Yes No

3. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

4. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
1. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

2. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

3. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
1. If files are explicitly declared, are their attributes correct?
Yes No

2. Are the attributes on the OPEN statement correct?
Yes No

106 Payroll And Attendance System





b. Evidence Of Debug
(using laravel debugger)























Error exception message

Showing error message

Locating error

Software Engineering II 107


Payroll And Attendance System













Solving error

108 Payroll And Attendance System




2. Manage Staffs
a) Inspection Checklist

Data-Reference Errors
5. Is a variable referenced whose value is unset or uninitialized?

Yes
No

6. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

7. For all array references, does each subscript have an integer value?
Yes
No

8. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
5. Have all variables been explicitly declared?
Yes
No

6. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

7. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

8. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
4. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

5. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

Software Engineering II 109


Payroll And Attendance System


6. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No


Control-Flow Errors
5. Will every loop eventually terminate?
Yes No

6. Will the program, module, or subroutine eventually terminate?
Yes No

7. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

8. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
4. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

5. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

6. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
3. If files are explicitly declared, are their attributes correct?
Yes No

4. Are the attributes on the OPEN statement correct?
Yes No


110 Payroll And Attendance System





b. Evidence Of Debug
(using laravel debug)










































Error Exception

Locating error

Error on code

Software Engineering II 111


Payroll And Attendance System

Solving the error

112 Payroll And Attendance System




3. Attendance Tracking
a) Inspection Checklist

Data-Reference Errors
9. Is a variable referenced whose value is unset or uninitialized?

Yes
No

10. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

11. For all array references, does each subscript have an integer value?
Yes
No

12. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
9. Have all variables been explicitly declared?
Yes
No

10. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

11. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

12. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
7. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

8. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

Software Engineering II 113


Payroll And Attendance System


9. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No


Control-Flow Errors
9. Will every loop eventually terminate?
Yes No

10. Will the program, module, or subroutine eventually terminate?
Yes No

11. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

12. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No




Interface Errors
7. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

8. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

9. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No




Input/Output Errors
5. If files are explicitly declared, are their attributes correct?
Yes No

6. Are the attributes on the OPEN statement correct?
Yes No

114 Payroll And Attendance System




b. Evidence of Debug
(using laravel debug)











































Staff trying to log in

Viewing error using laravel debug

error in code

Software Engineering II 115


Payroll And Attendance System

Solving error

116 Payroll And Attendance System



4. Manage Allowance
a) Inspection Checklist

Data-Reference Errors
13. Is a variable referenced whose value is unset or uninitialized?

Yes
No

14. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

15. For all array references, does each subscript have an integer value?
Yes
No

16. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
13. Have all variables been explicitly declared?
Yes
No

14. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

15. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

16. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
10. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

11. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

12. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 117


Payroll And Attendance System



Control-Flow Errors
13. Will every loop eventually terminate?
Yes No

14. Will the program, module, or subroutine eventually terminate?
Yes No

15. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

16. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
10. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

11. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

12. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
7. If files are explicitly declared, are their attributes correct?
Yes No

8. Are the attributes on the OPEN statement correct?
Yes No








118 Payroll And Attendance System



6. Manage Deduction
a) Inspection Checklist

Data-Reference Errors
17. Is a variable referenced whose value is unset or uninitialized?

Yes
No

18. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

19. For all array references, does each subscript have an integer value?
Yes
No

20. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
17. Have all variables been explicitly declared?
Yes
No

18. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

19. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

20. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
13. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

14. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

15. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 119


Payroll And Attendance System



Control-Flow Errors
17. Will every loop eventually terminate?
Yes No

18. Will the program, module, or subroutine eventually terminate?
Yes No

19. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

20. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No



Interface Errors
13. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

14. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

15. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No




Input/Output Errors
9. If files are explicitly declared, are their attributes correct?
Yes No

10. Are the attributes on the OPEN statement correct?
Yes No





120 Payroll And Attendance System



7. Calculate Net Salary
a) Inspection Checklist

Data-Reference Errors
21. Is a variable referenced whose value is unset or uninitialized?

Yes
No

22. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

23. For all array references, does each subscript have an integer value?
Yes
No

24. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
21. Have all variables been explicitly declared?
Yes
No

22. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

23. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

24. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
16. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

17. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

18. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 121


Payroll And Attendance System



Control-Flow Errors
21. Will every loop eventually terminate?
Yes No

22. Will the program, module, or subroutine eventually terminate?
Yes No

23. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

24. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
16. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

17. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

18. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
11. If files are explicitly declared, are their attributes correct?
Yes No

12. Are the attributes on the OPEN statement correct?
Yes No








122 Payroll And Attendance System



8. Generate Attendance Report
a) Inspection Checklist

Data-Reference Errors
25. Is a variable referenced whose value is unset or uninitialized?

Yes
No

26. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

27. For all array references, does each subscript have an integer value?
Yes
No

28. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
25. Have all variables been explicitly declared?
Yes
No

26. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

27. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

28. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
19. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

20. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

21. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 123


Payroll And Attendance System



Control-Flow Errors
25. Will every loop eventually terminate?
Yes No

26. Will the program, module, or subroutine eventually terminate?
Yes No

27. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

28. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
19. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

20. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

21. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
13. If files are explicitly declared, are their attributes correct?
Yes No

14. Are the attributes on the OPEN statement correct?
Yes No







124 Payroll And Attendance System



9: Generate Salary Report
a) Inspection Checklist

Data-Reference Errors
29. Is a variable referenced whose value is unset or uninitialized?

Yes
No

30. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

31. For all array references, does each subscript have an integer value?
Yes
No

32. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
29. Have all variables been explicitly declared?
Yes
No

30. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

31. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

32. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
22. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

23. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

24. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 125


Payroll And Attendance System



Control-Flow Errors
29. Will every loop eventually terminate?
Yes No

30. Will the program, module, or subroutine eventually terminate?
Yes No

31. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

32. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
22. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

23. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

24. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
15. If files are explicitly declared, are their attributes correct?
Yes No

16. Are the attributes on the OPEN statement correct?
Yes No







126 Payroll And Attendance System



10. Manage Leave
a) Inspection Checklist

Data-Reference Errors
33. Is a variable referenced whose value is unset or uninitialized?

Yes
No

34. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

35. For all array references, does each subscript have an integer value?
Yes
No

36. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
33. Have all variables been explicitly declared?
Yes
No

34. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

35. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

36. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
25. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

26. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

27. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 127


Payroll And Attendance System



Control-Flow Errors
33. Will every loop eventually terminate?
Yes No

34. Will the program, module, or subroutine eventually terminate?
Yes No

35. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

36. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
25. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

26. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

27. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
17. If files are explicitly declared, are their attributes correct?
Yes No

18. Are the attributes on the OPEN statement correct?
Yes No







128 Payroll And Attendance System



11. Manage Holiday
a) Inspection Checklist

Data-Reference Errors
37. Is a variable referenced whose value is unset or uninitialized?

Yes
No

38. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

39. For all array references, does each subscript have an integer value?
Yes
No

40. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
37. Have all variables been explicitly declared?
Yes
No

38. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

39. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

40. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
28. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

29. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

30. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 129


Payroll And Attendance System



Control-Flow Errors
37. Will every loop eventually terminate?
Yes No

38. Will the program, module, or subroutine eventually terminate?
Yes No

39. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

40. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
28. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

29. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

30. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No




Input/Output Errors
19. If files are explicitly declared, are their attributes correct?
Yes No

20. Are the attributes on the OPEN statement correct?
Yes No






130 Payroll And Attendance System



12. Manage Office Time
a) Inspection Checklist

Data-Reference Errors
41. Is a variable referenced whose value is unset or uninitialized?

Yes
No

42. For all array references, is each subscript value within the defined bounds of the
corresponding dimension?

Yes
No

43. For all array references, does each subscript have an integer value?
Yes
No

44. When indexing into a string, are the limits of the string exceeded?

Yes No

Data-Declaration Errors
41. Have all variables been explicitly declared?
Yes
No

42. Where a variable is initialized in a declarative statement, is it properly
initialized?

Yes
No

43. . Is each variable assigned the correct length, type, and storage class (e.g.,
STATIC, AUTOMATIC, BASED, or CONTROLLED in PL/I)?

Yes No

44. Are there any variables with similar names (e.g., VOLT and VOLTS)?
Yes No

Comparison Errors
31. Are there any comparisons between variables having inconsistent data types
(e.g., comparing a character string to an address)?
Yes No

32. Are there any mixed-mode comparisons or comparisons between variables of
different lengths?
Yes No

33. For expressions containing more than one Boolean operator, are the
assumptions about the order of evaluation and the precedence of operators
correct?
Yes No

Software Engineering II 131


Payroll And Attendance System



Control-Flow Errors
41. Will every loop eventually terminate?
Yes No

42. Will the program, module, or subroutine eventually terminate?
Yes No

43. Is it possible that, because of the conditions upon entry, a loop will never
execute? If so, does this represent an oversight?
Yes No

44. Are there any "off by one" errors (e.g., one too many or too few iterations)?
Yes No


Interface Errors
31. Does the number of parameters received by this module equal the number of
arguments sent by each of the calling modules?
Yes No

32. Do the attributes (e.g., type and size) of each parameter match the attributes of
each corresponding argument?
Yes No

33. Does the number of arguments transmitted by this module to another module
equal the number of parameters expected by that module?
Yes No



Input/Output Errors
21. If files are explicitly declared, are their attributes correct?
Yes No

22. Are the attributes on the OPEN statement correct?
Yes No








132 Payroll And Attendance System


c. Validation
I. Acceptance Test

1. Acceptance Test Plan

Test
Test Case Description
Case No.

Test Type

Requirements
Traceability

Test Schedule

Acceptance

SRS 1. a)

2014/12/10

1.

To test whether new staffs


can be added or not.

2.

To test whether system


Acceptance
accepts invalid username or
password

SRS - b

2014/12/13

3.

To test whether staff details


can be edited.
To test whether the staff
details can be deleted from
the system or not
To Test checkin and checkout
function(Attendance
Recording) in the system
To check the Salary calculation
module
To check whether salary
report is generated or not
To check whether the new
holiday can be added or not
To Check whether the
attendance report is
generated or not

Acceptance

SRS - c

2014/12/17

Acceptance

SRS - d

2014/12/19

Acceptance

SRS - e

2014/12/24

Acceptance

SRS - f

2014/12/29

Acceptance

SRS - f

2015/01/02

Acceptance

SRS - g

2015/01/04

Acceptance

SRS - h

2015/01/07

4.

5.

6
7
8
9

Software Engineering II 133


Payroll And Attendance System

II Integration Testing
2. Test Cases

A
Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

1 - a
To Test whether the system accepts empty fields for new
staff
Username: null; password: null ; email: null; Staff Name:
Null, Address: Null; Phone: Null
System should display the proper error message
System displays error message mentioning all the fields
must be filled with some data.
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 1: Empty fields

Figure 2: Showing errors

134 Payroll And Attendance System



Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:











1 - b
To Test whether the system displays error message or
not if the username matches.
Username: sanjay
System should display the proper error message
System displays error message mentioning that the
username has already been taken
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 3: username that already exists in database

Figure 4: Staff trying to signup with already existing username

Software Engineering II 135


Payroll And Attendance System

Figure 5: Error message regarding username

136 Payroll And Attendance System




Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

1 - c
To Test whether the system displays error message or
not if the email is invalid.
Email: democracy
System should display the proper error message
System displays error message mentioning that the
username has already been taken
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 6: Inputting invalid email

Figure 7: system showing error on inputting invalid email


Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

Software Engineering II 137


Payroll And Attendance System
1 - d
To Test whether the system displays error message or
not if the password is invalid or its length donot match.
Password: 9 character long password
Retype password: 17 character long password
System should display the proper error message
System displays error message mentioning that the
password is invalid
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 8: Staff Inputing invalid password

Figure 9: System showing an error message

138 Payroll And Attendance System




Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

1 - e
To Test whether the system displays error message or
not if the email already exists
Email: democracy011@gmail.com
System should display the proper error message
System displays error message mentioning that the user
with this email already exists.
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 10: showing email already exists in the database

Figure 11: datas with already taken email address

Figure 12:System showing error mentioning email has already taken





Test Case NO.
Test Case:
Test Data:

Expected Outcome:
Actual Outcome:
Test Result:

Software Engineering II 139


Payroll And Attendance System

1 - f
To Test whether the system adds new staff on providing
all information correctly or not
Staff Name: amulya Lohani
Address: Phutung
Phone: 9841082351
Marital Status: unmarried
Username: amulya
Email: democracy012@gmail.com
Password: test12345
Retype Password: test12345
System should display the proper success message
System displays success message mentioning account
has been created.
Expected outcome meets Actual Outcome. Hence Test
successful.

Figure 13: User inputing all valid datas

140 Payroll And Attendance System


















Figure 14: System showing account created message

Figure 15: Account activation email

Figure 16: Account activated and user successfully created




B.
Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:



































Software Engineering II 141


Payroll And Attendance System

2 - a
To Test whether the system accepts invalid
username/password combination.
Invalid email: democracy011@gmail
System should display the proper error message
System displays error message mentioning that the email
is invalid
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 17: Providing invalid email

Figure 18: Showing error message

142 Payroll And Attendance System




Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:




































2 - b
To Test whether the system accepts invalid
username/password combination.
Email: empty
Password: empty
System should display the proper error message
System displays error message mentioning that the email
and password field is required.
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 19: Empty email and password field

Figure 10: system showing error message



Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:





































Software Engineering II 143


Payroll And Attendance System
2 - c
To Test whether the system accepts invalid
username/password combination.
Invalid password
System should display the proper error message
System displays error message mentioning that password
is invalid
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 11: Inputing invalid password

Figure 12: showing error message

144 Payroll And Attendance System




Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:





































2 - d
To Test whether the system is able to log in the staff on
providing correct email and password.
Email: democracy011@gmail.com
Password: valid password
System should be able to log in the staff into the system
Staff gets navigated to the dashboard.
Expected outcome meets Actual Outcome. Hence Test
Unsuccessful.

Figure 13: Providing valid login credentials

Figure 14: Staff navigated to their dashboard

Software Engineering II 145


Payroll And Attendance System



3
Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

































3
To Test whether the information of the staff can be
edited or not.
Current Address: Hattisar
New Address: Nuwakot
System should be able to update the new address of the
staff
The details of the staff gets updated
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 15: Choosing staff whose information needs to be edited

Figure26: existing detail of the staff

146 Payroll And Attendance System



Figure 27: Entering new Address for the staff

Figure 28: Updated Staff Details



4.


Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:


































Software Engineering II 147


Payroll And Attendance System

4
To Test whether the staff details can be deleted from the
system or not.
Removing staff named Ammarman Shrestha
System should be able to delete the details of selected
staff
The details of the staff gets deleted
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 29: List of the existing staff

Figure 30: Deleted Confirmation

Figure 31: New List after deletion of Staff

148 Payroll And Attendance System



5.


Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

5
To Test Attendance recording in the system.
-
System should be able to record the checkin and
checkout time of the staff
The checkin and checkout time of the staff is recorded
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 32: checkin option

Figure 33: system recorded checked in time

Figure 34: system recorded checked out time

Figure 35: Error message if user try to checkout instantly

Software Engineering II 149


Payroll And Attendance System



Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:




































6
To Check salary calculation module
Staff: Siddhartha Bhatta
Month: july
System should be display the salary for selected staff
The system displays salary for the selected staff.
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 16: Selecting staff to view the salary

Figure 37: Displaying Salary for the selected staff

150 Payroll And Attendance System





Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:

7
To Check whether the salary report is generated or not
Staff: Siddhartha Bhatta
Month: july
System should be display the salary report for selected
staff
The system displays salary report for the selected staff.
Expected outcome meets Actual Outcome. Hence Test
result is successful










Figure 38: Selecting the staff for whom salary report needs to be generated

Figure 39: Salary report

Software Engineering II 151


Payroll And Attendance System



Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:





































8
To Check whether the new holiday can be added
Date: 2015/02/13
Holiday Description: Purnima Diwas
System should record the added holiday
The system displays added holiday
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 40: Adding New holiday

Figure 41: New holiday added message

152 Payroll And Attendance System





Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:




































9
To Check whether the attendance report is generated or
not.
Start Date: 2015/02/13
End Date: 2015/01/09
System should display attendance report
The system displays attendance report.
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 42 : Selecting date for generating report

Figure 43 : Monthly attendance report



Test Case NO.
Test Case:
Test Data:
Expected Outcome:
Actual Outcome:
Test Result:



































Software Engineering II 153


Payroll And Attendance System

10
To Check whether the system accepts new office time or
not.
Date: 2015/28/01
Entry Time: 10:00
Exit Time: 13:00:31
System should add new time.
The system displays new time.
Expected outcome meets Actual Outcome. Hence Test
result is successful

Figure 44: Adding new entry and exit time

Figure 45: New Office time created successfully

154 Payroll And Attendance System




CHAPTER 6: USER MANUAL
















Software Engineering II 155


Payroll And Attendance System

CONCLUSION

After few difficulties, finally the report of Software Engineering II has been
completed. In this coursework, we were provided a case study, according to which,
an Attendance and Payroll system had to be built for Third Pole Connects. For the
development of the software PHP is used as the main programming language. This
report includes the design of the whole system along with brief description of such
chart diagrams.
After the completion of the course work, we have got good practical knowledge on
completing and designing the system. We have gained good skills on preparing ER
diagram, UML diagrams like sequence diagram, collaboration diagram, state chart
diagram etc., data dictionary, class diagram, interface design and actual software
development. Such design techniques are very critical for professional software
development. More precisely, this coursework will serve as a solid base for us in the
area of software design and development. We will continue to research and explore
more on it which could be very helpful in future.

We have also got good experience on working successfully in a small group to a
given time scale. Regarding documentation and building the system, we have tried
our best. We have tried to maintain clarity in each part. We think our overall work is
good and we are hoping for a good result.











156 Payroll And Attendance System




























APPENDIX

Anda mungkin juga menyukai