Sei sulla pagina 1di 55

SALARY MANAGEMENT SYSTEM

Session (2015-2019)

Program

BACHELOR OF STUDIES IN COMPUTER SCIENCE

Submitted By

Ehsan ullah Khan 39340

Supervised By

Dr. Hizbullah Khattak

Assistant Professor, IT Department

DEPARTMENT OF INFORMATION TECHNOLOGY

HAZARA UNIVERSITY MANSEHRA


DEDICATION

To my families and other loved once,

To anyone who has shown us friendship and kindness during our field travel

To my parents who have never failed to give us financial and moral support and
giving all my needs during the time I developed this system and also our respected
teachers who support me all the way.

I dedicated this degree to my dearest Parents, family, friends and respected teachers
who motivated, supported and encouraged us in every aspect of my life.

Ehsan ullah Khan

i
DECLARATION

I hereby declare that the work on which this thesis is based is entirely on the basis of
my personal efforts, neither as a whole nor as a part has been copied out from any
source (except where acknowledgment indicates otherwise) and that neither the whole
work nor any part of it, is being, or is to be submitted for another degree in this or any
other university.

Ehsan ullah Khan

Signature:__________

ii
ACKNOWLEDGMENT

“Our lord! Give us in this world that which is good and in the hereafter that which is
good, and save us from the torment of the fire” [AL-QURAN 2:201]

It would be my pleasure and I am feeling ecstatically rapturous to pay heartiest thanks


first of all to almighty Allah that he enabled and blessed us to take the leaf out of his
multitude bounties. To my dear parents their prayers became the stepping stones
towards the completion of my project.

I am extremely thankful to my teacher and supervisor of this project and also thankful
to my beloved parents whose prayers made the successful competition of this project.

Ehsan ullah Khan

iii
TABLE OF CONTENTS
CHAPTER 1 .................................................................................................................. 1
INTRODUCTION ......................................................................................................... 1
1.1. Problem Identification ........................................................................................ 2
1.2. Project Description.............................................................................................. 2
1.3. Project Modules .................................................................................................. 3
1.4. Conclusion: ......................................................................................................... 3
CHAPTER 2 .................................................................................................................. 4
REQUIREMENT ANALYSIS ...................................................................................... 4
2.1 Methodology ....................................................................................................... 5
2.2 SDLC Waterfall .................................................................................................. 5
2.3 Reasoning to Choose Waterfall Model ............................................................... 6
2.4 System Requirements.......................................................................................... 7
2.4.1 Functional Requirements................................................................................. 8
2.4.2 Non-functional Requirements ......................................................................... 8
2.5 System Use case .................................................................................................. 9
2.5.1 Team Leader .................................................................................................. 10
2.5.2 Project Manager ............................................................................................ 10
2.5.3 System Administrator ....................................................................................... 11
CHAPTER 3 ................................................................................................................ 12
IMPLEMENTATION .................................................................................................. 12
3.1 DreamWeaver MX 2004 ................................................................................... 13
3.2 Apache 2.2.11 ................................................................................................... 13
3.3 PHP 5.2.9-2 ....................................................................................................... 13
3.3.1 History ........................................................................................................... 13
3.3.2 What is PHP .................................................................................................. 14
3.3.3 Why PHP ....................................................................................................... 14
3.3.4 MySQL 5.1.33 ............................................................................................... 14
3.4 phpMyAdmin 3.1.3 ........................................................................................... 15
3.5 Software Development Architecture................................................................. 15
3.5.1 Presentation/Client ........................................................................................ 16
3.5.2 Middle Tier.................................................................................................... 16

iv
3.5.3 Data Tier ........................................................................................................ 16
3.6 Implementation of Three-Tier Architecture in the System ............................... 17
User Interface ............................................................................................................... 17
Web Server................................................................................................................... 17
Database Server ........................................................................................................... 17
3.7 Implementation of the System .......................................................................... 17
4.7.1 Implementation of User interfaces .................................................................. 17
4.7.2 Salary Calculation ........................................................................................... 18
4.7.3 Drop Down Menus .......................................................................................... 18
4.7.4 Form Validation .............................................................................................. 18
4.7.5 File Handling .................................................................................................. 18
CHAPTER 4 ................................................................................................................ 20
DESIGN ....................................................................................................................... 20
4.1 Physical Design:................................................................................................ 21
4.1.1 Normalized relations, including volume estimates. ...................................... 21
4.1.2 Data Dictionary: ............................................................................................ 21
Input Design: ............................................................................................................ 21
CHAPTER 5 ................................................................................................................ 24
USER INTERFACES .................................................................................................. 24
5.1 Login Form ............................................................................................................ 25
5.2 List of employees ................................................................................................... 25
5.3 Add new Employee ................................................................................................ 26
5.4 Employee Salary details ......................................................................................... 27
5.5 Deductions ............................................................................................................. 27
5.6 Total Salary record ................................................................................................. 28
5.7 Change Overtime ................................................................................................... 28
5.8 Change Basic Salary .............................................................................................. 29
CHAPTER 5 ................................................................................................................ 30
EVALUATION/TESTING .......................................................................................... 30
5.1 Evaluation ......................................................................................................... 31
5.2 Testing Objective .............................................................................................. 31
5.3 System Testing .................................................................................................. 32

v
5.4 Stepwise Testing or Verification Testing ......................................................... 32
5.5 Computer program testing: ............................................................................... 32
5.5.1 The place of Testing in SDLC....................................................................... 32
5.6 Testing Strategies .............................................................................................. 33
Assertion Testing .............................................................................................. 33
Functional Testing ............................................................................................ 33
Stress Testing .................................................................................................... 33
Black-Box Testing ............................................................................................ 34
White- Box testing ............................................................................................ 34
5.7 Benefit of White Box Testing ............................................................................ 35
Unit Testing ...................................................................................................... 35
Beta Testing ...................................................................................................... 35
Regression Testing ............................................................................................ 36
Integration Testing ............................................................................................ 36
5.7 Testing Specification Plan ................................................................................ 36
Testing Metrics ........................................................................................................ 37
Software Bug ........................................................................................................... 38
Project Testing Report ............................................................................................. 38
Trace-ability Matrix ................................................................................................. 39
Conclusions .................................................................................................................. 40
The software at its best ............................................................................................ 40
CHAPTER 6 ................................................................................................................ 42
CONCLUSIONS & FURTHER WORK ..................................................................... 42
6.1 Conclusions ....................................................................................................... 43
6.2 Future Enhancements ........................................................................................ 43
6.2.1 Budget Program .............................................................................................. 43
6.2.2 Visual Representation of Data ........................................................................ 43
CHAPTER 9 ................................................................................................................ 44
REFERENCES ............................................................................................................ 44

vi
LIST OF FIGURES
Figure 1.1: Project Modules ........................................................................................... 3
Figure 2.1: Waterfall Model Diagram ........................................................................... 7
Figure 2.3: Use Case Diagram ..................................................................................... 10
Figure 3.1: Three Tier Architecture of the System ...................................................... 16
Figure 5.1: Login Screen.............................................................................................. 25
Figure 5.2: Employee List............................................................................................ 25
Figure 5.3: Add new Employee ................................................................................... 26
Figure 5.4: Employee Salary details ............................................................................ 27
Figure 5.5: Deductions ................................................................................................. 27
Figure 5.6: Total Salary record .................................................................................... 28
Figure 5.7: Change Overtime ....................................................................................... 28
Figure 5.8: Change Basic Salary .................................................................................. 29

vii
ABSTRACT

The organization we are working for, is dealing with educational activities. The task
is to build a salary management system for this organization. Current salary system is
manual therefore the organization wants to switch to an automated computerized
salary management system. After building this system we have to integrate it with the
existing Manual system.. Employee salary management system is a web application,
enabling the organization to handle salaries of employees of Kohisar Academy
Mansehra. The managers or team leaders of this organization are able to fill out all
necessary information of an employee, i.e., residential address, social security
number, banking details, type of salary either fixed, monthly or hourly and other
relevant information..

Our proposed system can be considered as a complex adaptive system (CAS) as the
blocks of profiles data are growing non-linearly, as well as the access and searches to
these components. In order to develop this website, a number of Technologies must
be studied and understood. These include server and client side scripting techniques,
programming language (such as PHP), relational databases (such as MySQL) and
CSS.

viii
CHAPTER 1
INTRODUCTION

1
1.1. Problem Identification

The organization is using a manual system to calculate salaries and tax of employees.
They also have to calculate and keep record of tax of whole organization and maintain
tax files manually. The management of organization also has to deal with bank files
manually. All this work requires a lot of paper work, is extremely time consuming
job, and accordingly costly as well, as they have to hire more man power. Since there
is always a risk of human errors present in a manual system so the chances of errors
are very high and to figure out such errors is also a very lengthy procedure. Therefore,
the organization decided to switch from a manual system to an automated
computerized salary management system. The requirement of the organization is to
develop a web based application that is able to deal with salary and tax calculation of
employees within the organization and maintain its data base. Furthermore this system
should be able to generate automatic files such as, salary slips, bank files and tax files
in response of queries from the data stored in the database..

1.2. Project Description

The purpose of developing this software project is to fully automate salary system for
an organization Kohisar Academy Mansehra. This software is capable of calculating
monthly salaries, tax and social security of employees of that organization. On the
basis of certain formulas it will generate files as an output such as bank files and
salary slips etc. The system is also capable of calculating tax payable by the
organization and social security. The tax file is generated for the tax office. All the
data such as, employee information, salaries, social security and tax will be stored in
database as a track record.

2
1.3. Project Modules

Figure 1.1: Project Modules

1.4. Conclusion:

In the first chapter we introduce the Project “Online Salary Management FOR BS
PROGRAM, it describes about the project setup and purpose of online web system.
Then we described the problems and explain why we develop a current system to
web-based system, then we discuss the scope and objectives of the project and at the
last we plan estimated time distribution for the project and also describe the outputs
from the project.

3
CHAPTER 2
REQUIREMENT ANALYSIS

4
In this chapter, we are going to discuss the requirements, design of the system and
analyze them using some appropriate software models

2.1 Methodology

The most suitable and appropriate software development methodology we found for
our software development is waterfall software development model, which gave us a
clear view about our software and helped us to achieve our goal.

2.2 SDLC Waterfall

Small and medium size softwares are usually divided into six stages that are
interrelated with each other in a top-down approach named as waterfall. The input of
one specific stage is the output of previous stage which initializes the next stage. At
every step or stage of the model some additional information is also added up into the
input of that stage and generating the results. But that additional information is
restricted in scope and previous stages are directly traceable from that stage. The first
stage of the waterfall model is planning stage in which the most critical task is to
clearly mention the high level requirements or goals of the software. It helps to make
feasibility and risks associated with the project and also provides the basic project
structure. The next stage is the requirement definition stage that takes goals as input
from the planning stage and then these goals are defined into a set of one or more
requirements. Major functionalities, initial data entities and the operational data areas
are defined under this stage.

The input of design stage is the out put of the requirement stage which is an approved
requirements documentation. In this stage the design elements are defined with the
help of interviews, prototypes and workshops conducted. These design elements
consist of functional hierarchy , business process diagrams, pseudo code and entity-
relationship diagram. These design elements provide detail description about the
software and each element is related to a specific requirement. The development stage
is initialized by the previous design stage. At this stage the code for the design
elements of software is written and it provides the functional software components.
Integration and test stage is provided the output of the development stage. At this
stage the different software functioning components developed in the previous stage

5
are integrated with each other to provide full fledge software project which is
providing all the high-level requirements. This software is also passed through
different test cases to check the validity, correctness, completeness and hence enables
us to achieve our goals regarding our project. Finally, the installation and acceptance
stage arrives. The software is loaded to the server at site of customers and tested with
different test cases once again to check the correct working. If all this shows adequate
results satisfying the customer then the software is handed over to the customer
formally [3], [4],[5].

2.3 Reasoning to Choose Waterfall Model

As in this model all the phases are in a sequence and are dependent with one another ,
therefore a phase can not be started until the previous phase is completed and fully
documented. This approach is most appropriate for our project, because all the
requirements and goals of our project are very clear. Secondly, it is easy to do work in
components and waterfall model is providing this approach. After the completion of
all the phases individually, they are integrated together. This model is very
economical and risk free due to its sequential approach.

6
Figure 2.1: Waterfall Model Diagram

2.4 System Requirements

Requirement analysis is an important phase of the system development cycle which


provides us all the specification of system in detail which are very essential to build
the system and also provides us knowledge about the behavior of the system.
Collection of system requirements is a very critical point because the whole system is
based on this knowledge and it also provides input to the next following stages of the
system development life cycle. We can classify the requirements of the system in two
categories as following:

 • Functional Requirements
 • Non Functional Requirements

7
2.4.1 Functional Requirements

Functional Requirements specifically defines functionalities of the system, behavior


of the system and the goals to achieve it. Functions that describe the behavior of the
system are considered as behavior requirements and will be shown in the form of use
cases. The importance and description of functional requirements are explained in the
following table:

Table 2.1: Functional Requirements

2.4.2 Non-functional Requirements

Non-functional requirements are also knows as quality of a system. Hence, it provides


us knowledge regarding the operations instead of behavior or functionalities,
contradicting with the FR in this manner. Non-FR are described in the system
architecture helping us to achieve the quality goals and improves the functionalities of
the system. Non-functional requirements are as following:

Table 2.2: Non-functional Requirements

8
2.5 System Use case

In this section we will discuss the use case of salary management system. Uses cases
show how the users interact with the system. There are three actors in our system,
team leaders, project managers and administrator. Each one has its own
responsibilities and level of access to the system. The figure 3.2 is showing a general
overview of use cases and its general description.

9
Figure 2.3: Use Case Diagram
2.5.1 Team Leader

Team leader is responsible to maintain basic information of his team members such as
name, address, date of birth, joining date, social security number etc. A team leader
will be assigned a login and password for the system. After authentication he/she will
be the only person authorized to add and edit the basic information of the employees.
He/she will be able to calculate the salaries of the particular employees on the basis of
given parameters.
2.5.2 Project Manager

Project manager is the main actor in our system. After passing through the
authentication process the he has the access to the system and is authorized to do the
following actions:-

 1. Addition of necessary information, updates and news etc.

10
 2. Verification of employee data and salary calculation entered by the team
leaders.
 3. To generate salary slips through the system.
 4. To generate bank files and send them to the bank.
 5. To calculate tax payable by employees and organization on the basis of
formula provided by the tax office.
 6. To generate tax files and send them to the tax office.

2.5.3 System Administrator

The last actor is system administrator. Maintenance is one of his major


responsibilities. He checks the security logs, handles the security issues, checks the
application logs, handles the error massages of the application, handles the database
errors and web server problems etc.

11
CHAPTER 3
IMPLEMENTATION

12
In this chapter we will describe elements of development phase, technologies, tools
that are required in the completion and implementation of our software project.

3.1 DreamWeaver MX 2004

DreamWeaver MX 2004 is a very powerful tool . It enables a user, either a beginner


or professional, to develop a web application and to manage it. It has many beautiful
features like support for PHP, java scripting, ASP. Net, HTML, XML, MySQL drag
and drop feature. It provides GUI based layout tools, code editor and application
development features. Dreamweaver also has a powerful feature of CSS-based design
and integration support. As from the above discussion we have come to a conclusion
that dreamweaver is providing powerful features, hence we have choosed
dreamWeaver MX 2004. [6],[7].

3.2 Apache 2.2.11

Apache web server 2.0 is widely used as HTTP(web) server which is an enhanced
version of the previous ones. The reason of its popularity is due to its robustness, rich
features, open source code and platform independence. The main reason to choose the
apache is due to its platform independence which enables our system to run on any
environment under any operating system. [8],[9]

3.3 PHP 5.2.9-2

3.3.1 History

PHP is a structured programming language, composition of variables, classes and


functions like c++. It was first introduced in 1994 by Rasmus Lerdorf. It had some
loose free ware scripts, based on perl and dubbed. At that time PHP was an
abbreviation of personal home page. Now a days it called hypertext preprocessor.
With the release of PHP version 3 in 1998, it appeared as a very popular and strong
web developing tool in the web developering society. PHP V.3 supports a lot of
features such as, support to data bases of different platforms like ODBC, Oracle,
mySQL, images, XML and host of many other technologies. Zend encoder is another
powerful feature due to which PHP becomes more popular amongst the professional

13
web developers. Therefore it enables the PHP source code to be encrypted. PHP V.5
is currently in use which is providing strong features of OOP. [10]
3.3.2 What is PHP

PHP is an open source server side scripting language which needs three things the
php parser (CGI or Server module), a web server and a web browser to perform work.
Another feature in it which is the reason of its popularity is platform independence,
i.e., php can be used for all major operating systems including linux, many unix
variants, microsoft windows etc. It also supports most of the web servers today such
as apache, microsoft IIS, netscape and many others. PHP supports for procedural,
OOP with many code libraries as well as SAX and DOM standards. PHP also
generates automatically and saves a variety of out put files other than HTML
including PDF files, images, XML files and many more. More over a very strong and
significant feature of PHP is its support for a wide range of databases. PHP can
instantiate java objects to use them as PHP objects. [11], [12], [13]
3.3.3 Why PHP

PHP is popular as it is simple and easy to use, even for people with no programming
experience can use it for designing and developing web applications. It also provides
stability, compatibility (platform independence), working efficiently with a variety of
web servers. PHP is an open source, it does not need any license and is available free.

We are using MySQL database and XML which is perfectly supported by PHP. We
chose PHP because we found it to be a flexible, user friendly ,platform independent
and it supports for a variety of web servers. [14].
3.3.4 MySQL 5.1.33

MySQL is an open source, multi-threaded, relational database management system


created by Micheal Monty in 1995, it can be used by anyone for personal use. There
are several reasons of its popularity among other freely available open source
database systems such as availability, reliability, scalability, speed, security,
performance. It is providing a strong back end support to web applications. Moreover
MySQL is providing a lot of built-in functions and also a variety of storage engines

14
which are responsible to handle the queries between the back end storage database
and a users SQL statement. That is why we choosed it in our project. [15], [17]

3.4 phpMyAdmin 3.1.3

PHP Myadmin is an open source tool that is used to administrate MySQL over world
wide web. It supports most of the MySQL features such as managing databases,
tables, fields and setting the privileges to the users, management of stored procedures
and triggers . It can import data from SQL and CVS and can export it into various
formats like CSV, SQL, PDF, XML etc. More over it can administrate multiple
servers, perform search operations in the database, generate complex quires using
query-by-example(QBE) and a wide range of many other features. As discussed
above php MyAdmin is a useful tool for the administration of a database and since we
are using MySQL in our project so, found phpMyAdmin very useful for our project.
[18]

3.5 Software Development Architecture

In software engineering a system can be divided into multiple-layers either physically


or logically providing a client-server environment known as n-tier architecture. The
purpose of dividing the system is to provide a model for software developers
developing flexible, reusable and more secure applications. We applied 3-tier
architecture in the development of our web application due to reliability, re-usability,
flexibility and security. Making change in one layer has no efficient on other layers,
so, less work is required for maintenance and error correction.

Three-Tier Architecture A 3-tier architecture comprises of following layers :-

 • Presentation/Client Tier
 • Middle Tier
 • Data Tier

15
3.5.1 Presentation/Client

Tier This layer is on the top of application development hierarchy which enables a
client to put some requests by putting a URL in the web browser or enter some data
into a form. This layer fetches the results according to the request from the other tiers
by communicating with them and presents it to the user.
3.5.2 Middle Tier

The layer that works as an agent between the data storage and presentation tier is
known as middle tier. This layer also performs logical processing of the application
and provides all the functions. In web applications, the middle tier consists of a web
server which is responsible to get the request from client tier. It then sends it to data
tier after doing appropriate processing on the request generated by the presentation
tier, giving back results to the client tier.
3.5.3 Data Tier

In 3-tier architecture database server is considered as a third layer of the architecture.


At this level data is stored and retrieved according to the requirements and requests
sent by the presentation tier through middle tier.This layer is independent of other
tiers due to which the performance and scalability of the system increases.

Figure 3.1: Three Tier Architecture of the System

16
3.6 Implementation of Three-Tier Architecture in the System
User Interface

It is easy to use and easy to understand user interface. User interacts with the web
server through interface and performs different tasks like employee registration or
salary calculation etc. Web browser is required to run the user interface.

Web Server

In our project apache is used as web server. Web server is used for secure
communication between user interface and database server. Web server receives the
request from client and sends them to the database. Similarly, it takes data from the
database against the clients request and forwards it to the client.

Database Server

MySql server is used in this project to handle database operations. The client does not
directly interact with database, rather it goes through web server in order to keep the
database secure from an unauthorized access. It is also called a third tier in the three
tier architecture as implemented in this project.

3.7 Implementation of the System

This section will describe how the system is implemented using different web
techniques.
4.7.1 Implementation of User interfaces

User interfaces are front end of any system with whom users interact to communicate
with the system. There are two major users of this system that are team leaders and
project managers. Hence we can divide the interface of our system into two major
interfaces. Team leaders user interface and project managers interface. After login
into the system the users of the system are able to view only their authorized section,
i.e., a Team leader can access the employee registration, employee management and
salary calculation interfaces only. Where as the project managers can access interface
which generates different reports other than the access of team leader interface.
Different web development techniques are used to develop and implement these

17
interfaces such as XHTML, CSS, java scripting, ajax toolkit. With the help of these
techniques we developed interactive and user-friendly interfaces.
4.7.2 Salary Calculation

Salary calculation interface is available for both team leader and project manager.
This interface contains two drop down menus which are implemented using ajax. PHP
code is used to fetch the data from the database after selecting particular employee
from the list of employees that belong to a city which is selected from the drop down
menu of city. After the fields filled out automatically the user can fill some fields
manually that are optional such as allowances or deductions if any. PHP code is
working behind the calculate button which will be activated and give result to user in
response. After calculating the salary could be stored in the database or can be
calculated again.
4.7.3 Drop Down Menus

All the drop down menus in the interfaces are generated dynamically using ajax and
CSS. PHP and HTML code is used to implement these drop down menus which will
interact with the database and fetch the required data from the database to drop down
menus.
4.7.4 Form Validation

At user interfaces/front end of the system, different forms are available. The data
entered into the fields of these forms by the users is validated by using the java
scripting at the client side. After validation using the PHP code on client side
interface, data is sent to the server side interface. Finally the data is sent to the
database system to be stored.
4.7.5 File Handling

Different kind of files are required to generate such as salary slips, bank files/invoices
or tax file. These files generate on server side interface by using the PHP code. This
code interacts with the database, gets the required data and fills out the fields of the
form which is developed using ajax. This form is then converted into the files with

18
.pdf extension and can be saved into the system and can be sent via email. The whole
process is done with the help of PHP code

19
CHAPTER 4
DESIGN

20
4.1 Physical Design:

The purpose of physical database design is to translate the logical description of data
into technical specification for storing and retrieving data. Its goal is to create such a
design, which will store data and will provide adequate performance and insure
database integrity, security, consistency and recoverability.

Designing physical files and databases, certain information is required that should
have been collected and produced during prior development phases. The information
needed for physical file and database design include the following requirements:
4.1.1 Normalized relations, including volume estimates.

Definition of each attribute.

Description of data that where and when it will be used, entered, retrieved,
deleted and updated?

Expectations or requirements for response time, data security, backup,


recovery, retention and integrity.

Description of technologies (Database Management System) used for the


development and implementation of the database.

The Automation of Silk Road Handicrafts Swat consists of the following


physical files / relations.
4.1.2 Data Dictionary:

The purpose of this section is to explain all the data elements used in different
data base files. The dictionary of the files used in the program will make the reader to
understand what data name means and where it is used. All their field names, their
data types, sizes and their Full Names are described below
Input Design:

Input design is the second category, which prescribes the manner in which
data is to be entered or fed into the computer and then to be processed to produce the
desired outputs.

21
If the data entered is accurate and in correct format then desired outputs may be
obtained otherwise there would be the problem of black hole, black hole means that
the system has inputs but no outputs have been returned by the system. It means that
the inputs entered to the system are not accurate or valid which gives no output. Input
design is very important so that no wrong data is to be entered to the system and so no
false or unexpected outputs will be faced.

In the input design following things must be followed carefully to achieve


integrity of the system.

 What are the inputs?

 Types of inputs.

 Length of input data item.

 Source of input data item.

Input means data items entered to the system for processing. After reviewing
and discussing thoroughly we collected the whole data items that has to be used in
different database files.

Keyboard will be used as main input device however a mouse can also be used
because the software which is going to be developed is in visual language so mouse
can also be the hottest input device.

It is very important to define or declare the maximum length of data items in


first attempt because one data item may be used in different places so its length must
be specified before it is used.

By output design we mean the design produced by the system and the form in
which it is to be produced. That is whether printed displayed or spoken. Output design
is in important factor as the system success and failure largely depends on the output
design therefore more attention is given to this output design. It is through these
outputs that the system becomes useful to the user. Presently computer can produce
two types of outputs i.e.

22
 Output on Screen

 Output on Paper

23
CHAPTER 5
USER INTERFACES

24
5.1 Login Form

Figure 5.1: Login Screen

5.2 List of employees

Figure 5.2: Employee List

25
5.3 Add new Employee

Figure 5.3: Add new Employee

26
5.4 Employee Salary details

Figure 5.4: Employee Salary details

5.5 Deductions

Figure 5.5: Deductions

27
5.6 Total Salary record

Figure 5.6: Total Salary record

5.7 Change Overtime

Figure 5.7: Change Overtime

28
5.8 Change Basic Salary

Figure 5.8: Change Basic Salary

29
CHAPTER 5
EVALUATION/TESTING

30
5.1 Evaluation

The development of software system involves a series of production activities where


opportunities for injection of human fallibilities are enormous. Error may begin to
occur.

At the very inception of the process where the objectives imperfectly specified, as
well as in later design and developments stages.

The increasing visibility of software as a system element and the attendant” costs”
associated with software failure are motivating forces for well for planned, though
testing. It is not unusual for software development organization to expend between 30
to 40 percent of total project of testing.

5.2 Testing Objective

Testing is a process of executing a program with the intent of finding an error.

o A good test case is one that has high probability of finding an as-yet undiscovered
error.

o A successful testing is one that uncovers an as-yet undiscovered error. The above
objectives are simply a dramatic change in viewpoint. They move counter to the
commonly help view that successful test is one systematically uncover different
classed of errors and do so with minimum amount of time and effort.

If testing conducted successfully (according to the object stated above), it will


uncover error in the software. As a secondary benefit, testing demonstrates that
software functions appear to be working according to specification and that
performance requirement appears to have been met. There is one thing that testing
show the absence of errors, it can only show that software errors are present.

31
5.3 System Testing

While developing software, there is tendency to push the end product “out the door
“as soon as possible .Most of the time, software projects are not estimated properly
and tend to run behind schedule. When it comes to meeting he deadline, people seem
to ignore a very important phase in the whole process testing. But our project has been
thoroughly tested by us.

System testing is an essential step for the development of a reliable and error-free
system. Testing is a process of executing a program with the explicit intension of
finding errors but this does not mean to embarrass the programmer or fail the product
but the positive intention to remove as many problems room the system. A test case is
a set of data items that the system processes as normal input. Good testing involves
much more than just running the program a few times to see whether it works. A
successful test is the one that finds error.

5.4 Stepwise Testing or Verification Testing

In stepwise testing modules were tested with some dummy as well original data at the
time of its creation to ensure that system is free of errors.

5.5 Computer program testing:

On completion of the whole program, each module was again run from the main
menu and was again tested by applying pretends data to it, for this purpose heavy data
was applied to it to ensure that system is working still accurately. A large number of
data is given to this project and it was tested with that data, which could not produce
any errors in the project so the new system is fully tested and debugged, thus it may
be implemented.
5.5.1 The place of Testing in SDLC

Testing has an important place is SDLC (software Development Life Cycle). The
SQA (Software Quality Assurance) team should be involved in the early phases of his
project. This will make them the aware of the requirements and techniques that are
going followed enabling them to develop an appropriate test strategy.

o The marketing group will bring the customer requirement.

32
o The engineering group will access the feasibility.

o The engineering and SQA groups will work together during the design
phase and generate the product specification.

o The developers will start implementing while the SQA team is developing
the test plans and so on.

o While the developers are ready with the code, the SQA team will be ready
for testing. The testing phase is no longer bottleneck for product delivery
because the SQA team has been involved since the start of the project.

5.6 Testing Strategies

A well –organized testing strategy should include following types of testing:

 Assertion Testing

This is also referred to as black box testing. It involves testing at the API level and the
goal is to make sure that the code performs as specified.

 Functional Testing

This is also referred to as white box testing. It is some at high level and takes
individually tested features and places them together in small applications and test
cases to test whether they work together in small application.

 Stress Testing

This is the type of testing that is dreaded by developers because the kinds of bugs it
reveals are difficult for them to simulate and fix. It involves the running of feature and
methods randomly to simulate real world scenarios and determine whether they can
sustain real world usage. Stress testing is useful in identifying memory leaks, garbage
collection, thread, execution, scalability and other issues that are not easy to
reproduce.

33
 Black-Box Testing

A strategy in which a software component is treated like an opaque box. This tests
designers’ focus on determining how well the component conforms to the published
requirements for the component, instead of worrying about the implementation
details.

Black box testing focuses on the functional requirement of the software. This testing
strategy enables us to derive sets of input conditions that wilfully exercise all
functional requirements for a program. Black box testing is not an alternative to white
box testing. Rather, it is a complementary approach that is likely to uncover a
different class of errors than white box testing method.

Black box testing used to find following errors:

o Incorrect or missing functions.

o Interface errors.

o Performance errors.

o Initializing and termination errors.

 White- Box testing

A strategy in which software component is treated as a transparent box. Test designer


can peek into the box and gain knowledge about the implementation. They can use
this knowledge to build test cases cover different parts of the code and also follow
different execution paths.

White box testing is a test case design method that uses the control structure of the
procedure design to derive test cases. White box testing enables to derive test case
that:

o Guarantee that all independent paths within a module have exercised at


least once.

34
o Execute the all loops at their boundaries and within their operational
bounds.

o Exercise all logical conditions on their true and false paths.

5.7 Benefit of White Box Testing

o Logic errors and incorrect assumptions are inversely proportional to the


probability that a program path will be execute. Errors tend to creep into our
work when we design and implement functions, condition or controls that
are out of mainstream. Every day processing tends to be well understood,
while “special cases” tends to fall into the cracks.

o We in fact believe that a logical path is not likely to be executed when; in


fact it may be executed on regular bases. The logical flow of a program is
sometime counterintuitive. Meaning that our unconscious assumption about
flow of control and data may lead us to make design error that is uncovered
only once path testing commences.

o Typographical errors are random. When a program is translated into


programming language source code. It is likely that some typing error will
occur. Many will be uncovered by syntax checking mechanism, but will go
undetected until testing begins. It is a likely that a typo will exist on an
obscure logical path as on a mainstream path.

 Unit Testing

The testing of individual units of the application in isolation for Resultple, a single
class. Unit testing focuses verification efforts on the smallest unit of software design,
the module. Important control paths are tested to uncover errors with in the boundary
of the system.

 Beta Testing

The process of distribution a pre-release version of a product to a subset of its


intended audience for the purpose of obtaining feedback.

35
 Regression Testing

The process of testing entire system to uncover defects. It tends to finds problems due
to resources, security, and so on.

 Integration Testing

The process of testing the integration and communication between the components
that form the application.

5.7 Testing Specification Plan

For quality control to be effective, one must test time same things he same way every
time one test. When you change your tests, your results become inconsistent. You
need a test plan. A test plan is simply a high-level summary of the areas (functionality
, elements, regions ,etc) one will test , how frequently one will them , and where in the
development or publication process one will test them. A test plan also needs an
estimate of the duration of testing, and statement of any required resources.

The major phases of software need test plans, because the focus and emphasis of
testing will change over time. Testing new software in development is very different
from testing software that has been running for some time. Furthermore, any changes
to the software code, incremental or major, require regression test plans.

Clearly, one needs to decide what will be test, understand the software-the software
should have a concrete explanation of the “vision” behind its creation and the hoped-
for “path “for its success. If the software has no such explicit statement of direction,
then the codifying of such a statement should be first goal. To help define what one
should test, ask yourself if these types of questions.

o Why did I make this software? What is the software’s purpose?

o What are the business goals, if any, behind this software?

o What has to work for this software to be effective? What has to work for his
to even function as software?

36
o Who are the end-users for this software? Can they use this software with
ease?

o What is core functionality offered by this software? Can all users at least
access this core functionality?

Use the answers to these questions to decide what needs to be tested, and then develop
your test cases.

Testing Metrics

Most bugs are the result of poor design. It is important to realize that when you
develop software, bugs will appear. Instead of trying to create a bug free product,
your goal should be to achieve software of good quality. A handy rule of thumb is to
expect 20 bugs for every 1,000 lines of code generated. Keeping such a realistic
expectancy will enable you to focus on finding those bugs and fixing them. It also
enables you to have a quantifiable sense of software quality.

The easiest bugs are found in the early stages of testing whereas the difficult ones are
found at the later stages under obscure situations. It is important to track the number
of bugs found over time. In general, such a chart should rapidly rise during the early
stage and the eventually level off. The leveling off indicates that the software quality
is becoming stable. If the curve just keeps rising, this indicates that either the design is
very poor or new bugs are being introduced as he old ones are being fixed.

Another metric to determine your software quality is the bug discovery trend. This
technique is commonly used at sun Microsystems it involves determining the ratio of
the number of hours it takes to find the next bug. In order word you keep track of the
number of bugs found in say a day. The logic is that as the software quality gets better
it should become more and more difficult to find new bugs. As a result the ratio
obtained as the number of hours spent to find a new bug should keep rising all the
time.

Code-coverage analyzers are important tools that can provide code-coverage metrics.
The way these work is that you compile your software and then run all your test cases.

37
The code-coverage analyzer will capture all the methods statements and so percentage
of your code was used. The remaining portion of your code was used. The remaining
portion of your code is considered to be dead code because it indicates this code was
not really tested. Let’s say that during the testing, we found 50 percent of target
number of bugs. This means that we might have about 50 percent of the bugs in the
untested 30 percent of the code. As you can see, we need a more rigorous testing
strategy.

Software Bug

A piece of software code that is not working as expected. No matter what metrics you
use for testing your software, it is important to realize that robustness you expect from
the software is dependent on his development phase of the software. In other words
the robustness expected from a final product is more than that from a beta release,
which in turn is more than an alpha release.

Project Testing Report

The testing of Project “Online Result Processing System” is under gone through all
stages of black box testing and white box testing. In the evaluation phase the system is
reviewed to see whether the objectives of the system are accomplished or not. A
major factor during system evaluation is to evaluate the system with the perspective
of the user because he/she is eventually being the one who use it. The testing of
“Online Result Processing System” is as follows.

o Trace-ability Test matrix

o Test Case Description

38
Trace-ability Matrix

Test Case ID Test Result

Verify that user can access all Pages of the Test has passed
Test 1
Website successfully.

Test 2 Verify that user can Access all modules Passed successfully.

Verify that user get error messages on wrong Test has passed
Test 3
entry successfully.

Verify that user gets error message on entering Test has passed
Test 4
wrong password successfully.

Verify that all links are linked with the desired Test has passed
Test 5
Pages successfully.

Verify that user can submit the records in Test has passed
Test 6
desired fields of each Page. successfully.

Verify that user can perform all database Test has passed
Test 7
operations. successfully.

Table 7.1 Test cases

39
Conclusions

The software developed is theoretical idea, which of course can be implemented as

well. The software is flexible enough to be modified easily for further needs. This

software will be serving as a product for information system. Therefore it will be

customized for every change in the policy.

Due to the time constraints to the submission of his project “ Online Salery

management system“ the system could not be fully evaluated but generally it

produces information that possess the properties of accuracy, completeness,

timeliness and conciseness. Some of the measurable human factors that are central in

evaluation are ease of use, speed of performance and rate of errors.

All the factors mentioned above do not guarantee a unique interface and every

software no matter how carefully designed and implemented has got its respective

pros and cons. The ones associated with our software are mentioned bellow:

The software at its best

o The software is reliable because it produces accurate results and there is no

probability of loss of data.

o The software is user friendly because its design is made as user friendly as

possible, keeping in mind the diversity of its users.

o The software has all of the helping aspects that are covered while developing this

software, so it comes with a complete helping text.

40
o The software also generates proper error messages for his convenience of the user.

This enables the users to interact more easily with this software.

o A regular schedule for the database backup should be followed to avoid problems

causing from software breakdown.

o The system is secure, fault tolerant and efficient.

41
.

CHAPTER 6
CONCLUSIONS & FURTHER WORK

42
6.1 Conclusions

The system is able to calculate employees salaries according to certain parameters,


such as age. It is also able to generate specific files for the organization such as
employee salary slips and bank files. The system is also able to calculate tax payable
by the organization on the basis of certain formulas provided by the tax authorities
according to the Pakistani law. It generates and sends tax files to tax office, moreover,
the system is more cost effective as compare to other salary management systems. As
this system is integrated with the existing system so does not need new resources to
run the system. Therefore, it is easy to handle single system instead of two.
Maintenance is easy and requires no further cost, further enhancement is possible
according to the requirements of the organization which is not possible in the case of
using existing salary management softwares available in the market. Hence the system
is developed successfully and is in proper function according to our goals and criteria.

6.2 Future Enhancements


6.2.1 Budget Program

This salary management program can be further enhanced by a budget program in


future. In budget program every team leader will have support to manage and utilize
specific amount of money in a better way. With this amount he will manage
everything like stadium rent, office expenditures and employees salaries.
6.2.2 Visual Representation of Data

Graphs and charts can be added into future version of salary management program.
Through these charts or graphs management can see the change in the salary of an
employee or over all increment in salaries of employees. Management can also
analyze the tax paid by company in different time periods.

43
CHAPTER 9
REFERENCES

44
[1] http://www.taskmanagementsoft.com/purchase/ ”Last visiting date 20th March

2011”

[2] http://www.spinetechnologies.com/products/payrollindex.htm ”Last visiting

date 20th March 2011”

[3] http://www.elucidata.com/refs/sdlc.pdf ”Last visiting date 20th March 2011”

[4] http://www.relativitycorp.com/projectmanagement/article10.html ”Last

visiting date 20th March 2011”

[5] http://www.freetutes.com/systemanalysis/sa2-waterfall-software-lifecycle.html
”Last visiting date 20th March 2011”

[6]
http://site.ebrary.com.lt.ltag.bibl.liu.se/lib/linkoping/docDetail.action?docID=100438
87

”Last visiting date 20th March 2011”

[7] http://oit.wvu.edu/training/files/dw2004mx.pdf ”Last visiting date 20th March

2011”

[8] http://httpd.apache.org/docs/ ”Last visiting date 20th March 2011”

[9] http://www.serverwatch.com/tutorials/article.php/3074841/IIS-vsApache-
Looking-Beyond-the-Rhetoric.htm ”Last visiting date 20th March 2011”

[10] http://www.developer.com/lang/php/article.php/900521/LearningPHP-The-
Whats-and-the-Whys.htm ”Last visiting date 20th March 2011”

[11] Luke Welling; Laura Thomson (2008). PHP and MySQL Web Development,
Fourth Edition, Addison-Wesley Professional ”Last visiting date 20th March

2011”

[12] http://se.php.net/manual/en/intro-whatis.php ”Last visiting date 20th March


2011”

[13] http://se.php.net/manual/en/intro-whatcando.php ”Last visiting date 20th March

2011”

45
[14] http://www.developer.com/lang/php/article.php/900521/LearningPHP-The-
Whats-and-the-Whys.htm ”Last visiting date 20th March 2011”

[15] Russell Dyer (2008). MySQL in a Nutshell, 2nd Edition, O’Reilly Media,

Inc. ”Last visiting date 20th March 2011”

[16] Tsui, Frank F. Essentials of software engineering, second edition , Jones

and Bartlett Publishers. ”Last visiting date 20th March 2011”

[17] http://www.mysql.com/why-mysql/topreasons.html ”Last visiting date 20th


March

2011”

[18] http://www.phpmyadmin.net/home page/index.php ”Last visiting date 20th

46

Potrebbero piacerti anche