documentation of payroll
TRANSCRIPT
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 1/19
Project Report On
Payroll System
2009-2010
BABU BANARSIDAS INSTITUTE OF
TECHNOLOGY, GHAZIABAD
AFFILIATED TO U.P. TECHNICAL UNIVERSITY, LUCKNOW
(U.P.)
Submitted to:- Submitted by:-
Shipra Goel
Prakash Joshi Saurabh Titoria
Shivam Sharma
1
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 2/19
INDEX
• Acknowledgement
• Introduction
• Technical Details
• Market Potential & Competitive
Advantage
• SDLC:-
Feasibility study
Requirement analysis
Designing
Coding
Testing
Implementation
Maintenance
• Bibliography
2
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 3/19
ACKNOWLEDGEMENT
It is a matter of great pleasure to express our sincere gratitude to our faculty
members for their ever-encouraging attitude, valuable guidance & keen
interest for providing us necessary assistance in doing this project. The
effective co-operation made the task easy. We will remain ever grateful tothem.
We would like to express a special thanks to the technical staff of Computer
Science Dept. for the support and cooperation in lab.
A heartfelt vote of thanks is to our family and friends for their constant
support and encouragement. Last but not the least we thank all the concerned
ones who directly or indirectly helped us in completing our project.
Introduction
3
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 4/19
This project “Payroll System” provides the easy way to solve the problem of
computing the salaries of employees in any organization/institution etc.
It will provide help to both administrator and employees because our project
contains various facilities for both.
For example: User can check his attendance and make sure about his net
pay, and administrator also has the complete information about the
employees.
Our basic purpose of developing this project is to make the payroll task easy
and accurate.
Technical Details
Our project contains two options one for administrator and another for user,
as per instruction followed the next page will open corresponding to the
button clicked.
Technologies used:
1. Front End: .Net
2. Back End: M S Access
We considered, Basic pay, taxes, HRA, DA and TA, Extra Time to calculate
net pay of employee’s
As per organization’s policies
Market Potential & Competitive
Advantage
4
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 5/19
Our project “Payroll System” has many advantages:
1. Easy to operate and maintain.
2. Highly economical3. User friendly
It provides much facilities but cost of it is low as per facilities concern.
A new concept introduced in our project is this, that every employee can
mark their attendance daily, so that he can see his attendance list when he
wishes.
5
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 6/19
SOFTWARE DEVELOPMENT LIFE
CYCLE :
Feasibility Report:
Economic feasibility:
Economic analysis is the most frequently used method for evaluating the
effectiveness of a new system. More commonly known as cost/benefit
analysis, the procedure is to determine the benefits and savings that are
expected from a candidate system and compare them with costs. If benefits
outweigh costs, then the decision is made to design and implement the
system. An entrepreneur must accurately weigh the cost versus benefits
before taking an action.
Cost Based:
No special investment is needed to manage the tool. No specific training is
required for customer to use the tool. Investment requires only once at the
time of installation. The software used in this project is freeware so the cost
of developing the tool is minimal.
Operational feasibility:
6
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 7/19
Is a measure of how well a proposed system solves the problems, and takes
advantages of the opportunities identified during scope definition and how it
satisfies the requirements identified in the requirements analysis phase of
system development. It means it is the measurement of performance of our
software, that it will work as per expectations or not.
Scheduled feasibility:
A project will fail if it takes too long to be completed before it is useful.Typically this means estimating how long the system will take to develop,
and if it can be completed in a given time period.
Operational feasibility:
This involves questions such as how much time is available to build the new
system, and the resources we have , are sufficient for the software
which we are going to develop.
“So finally we conclude that our software is feasible and it works as a guide
for the people who are new in the city or who have very little knowledgeabout the city.”
7
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 8/19
REQUIREMENT ANALYSIS:
HARDWARE:-Intel Pentium II,800Mhz or Above
512 MB RAM(minimum)
5 GB or above hard disk space
SOFTWARE:-
Graphical User Interface:
• Front End: Visual studio 2005 Framework
• Back End: Microsoft Access
Operating system:
• Microsoft windows/XP
REQUIREMENT ANALYSIS PROCESS:
Requirements Analysis is the process of understanding the customer needs
and expectations from a proposed system or application and is a well-
defined stage in the Software Development Life Cycle model.
Requirements are a description of how a system should behave or a
description of system properties or attributes. It can alternatively be a
statement of ‘what’ an application is expected to do.
Given the multiple levels of interaction between users, business processes
and devices in global corporations today, there are simultaneous and
complex requirements from a single application, from various levels within
an organization and outside it as well.
The Software Requirements Analysis Process covers the complex task of eliciting and documenting the requirements of all these users, modeling and
analyzing these requirements and documenting them as a basis for system
design.
A dedicated and specialized Requirements Analyst is best equipped to
handle the job. The Requirements Analysis function may also fall under the
8
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 9/19
scope of Project Manager, Program Manager or Business Analyst,
depending on the organizational hierarchy.
Software Requirements Analysis and Documentation Processes are critical
to software project success. Requirements Engineering is an emerging field
which deals with the systematic handling of requirements.
Why the requirement analysis is essential:
Studies reveal that inadequate attention to Software Requirements Analysis
at the beginning of a project is the most common cause for critically
vulnerable projects that often do not deliver even on the basic tasks for which they were designed. There are instances of corporations that have
spent huge amounts on software projects where the end application
eventually does not perform the tasks it was intended for.
Software companies are now investing time and resources into effective and
streamlined Software Requirements Analysis Processes as a prerequisite to
successful projects that align with the client’s business goals and meet the
project’s requirement specifications.
Steps in the Requirements Analysis
Process:
I. Identify the customerIn more recent times there has been a focus on identifying who the ‘users’ or
‘customers’ of an application are. Referred to broadly as the ‘stake holders’,
9
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 10/19
these indicate the group or groups of people who will be directly or
indirectly impacted by the new application.
By defining in concrete terms who the intended user is, the Requirements
Analyst knows in advance where he has to look for answers. The
Requirements Elicitation Process should focus on the wish-list of this
defined group to arrive at a valid requirements list.
II. Requirements elicitation
Information is gathered from the multiple stakeholders identified. The
Requirements Analyst draws out from each of these groups what their
requirements from the application are and what they expect the application
to accomplish
a) Problems faced in Requirements Elicitation
• Ambiguous understanding of processes
• Inconsistency within a single process by multiple users• Insufficient input from stakeholders
• Conflicting stakeholder interests
• Changes in requirements after project has begun
A Requirements Analyst has to interact closely with multiple
work-groups, often with conflicting goals, to arrive at a bona fide
requirements list. Strong communication and people skills along with sound
programming knowledge are prerequisites for an expert Requirements
Analyst.
b) Tools used in Requirements ElicitationTraditional methods of Requirements Elicitation included stakeholder
interviews and focus group studies. Other methods like flowcharting of
business processes and the use of existing documentation like user manuals,
organizational charts, process models and systems or process specifications,
on-site analysis, interviews with end-users, market research and competitor
analysis were also used extensively in Requirements Elicitation.
• Data flow diagrams
III. Requirements Analysis Process:
Once all stakeholder requirements have been gathered, a structured analysis
of these can be done after modeling the requirements. Some of the Software
Requirements Analysis techniques used are requirements animation,
automated reasoning, knowledge-based critiquing, consistency checking,
analogical and case-based reasoning.
10
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 11/19
IV. Requirements Specification:
Requirements, once elicited, modeled and analyzed should be documented
in clear, unambiguous terms. A written requirements document is critical so
that its circulation is possible among all stakeholders including the client,
user-groups, the development and testing teams. Current requirementsengineering practices reveal that a well-designed, clearly documented
Requirements Specification is vital and serves as a:
• Base for validating the stated requirements and resolving stakeholder
conflicts, if any
• Contract between the client and development team
• Basis for systems design for the development team
• Bench-mark for project managers for planning project development
lifecycle and goals
• Source for formulating test plans for QA and testing teams
• Resource for requirements management and requirements tracing• Basis for evolving requirements over the project life span
Software requirements specification involves scoping the requirements so
that it meets the customer’s vision. It is the result of collaboration between
the end-user who is often not a technical expert, and a Technical/Systems
Analyst, who is likely to approach the situation in technical terms.
The software requirements specification is a document that lists out
stakeholders’ needs and communicates these to the technical community that
will design and build the system. The challenge of a well-written
requirements specification is to clearly communicate to both these groupsand all the sub-groups within.
To overcome this, Requirements Specifications may be documented
separately as:
• User Requirements –
a). User just wants that he should get all type
Information about the city.
11
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 12/19
For Example:
1. Technicians calling
2. City Guide
3. Buy/Sell
4. Other facilities
b). Software should be easy to handle.
VI. Requirements Management
Requirements Management is the comprehensive process that includes allaspects of software requirements analysis and additionally ensures
verification, validation and traceability of requirements. Effective
requirements management practices guarantee that all system requirements
are stated unambiguously, that omissions and errors are corrected and that
evolving specifications can be incorporated later in the project lifecycle.
DESIGNING:
1. Abstraction - Abstraction is the process or result of generalization
by reducing the information content of a concept or an observable
12
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 13/19
phenomenon, typically in order to retain only information which is
relevant for a particular purpose.
2. Modularity - Software architecture is divided into components
called modules.
3. Software Architecture - It refers to the overall structure of the
software and the ways in which that structure provides conceptual
integrity for a system. Software architecture is the development work
product that gives the highest return on investment with respect to
quality, schedule and cost.
4. Control Hierarchy - A program structure that represent the
organization of program components and implies a hierarchy of control.
5. Information Hiding - Modules should be specified and designed so
that information contained within a module is inaccessible to other modules that have no need for such information.
Design considerations:
There are many aspects to consider in the design of a piece of software. The
importance of each should reflect the goals the software is trying to achieve.
Some of these aspects are:
Extensibility - New capabilities can be added to the software withoutmajor changes to the underlying architecture.
Fault-tolerance - The software is resistant to and able to recover from
component failure.
Maintainability - The software can be restored to a specified condition
within a specified period of time. For example, antivirus software may
include the ability to periodically receive virus definition updates in order to
maintain the software's effectiveness.
13
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 14/19
Modularity - the resulting software comprises well defined, independent
components. That leads to better maintainability. The components could be
then implemented and tested in isolation before being integrated to form a
desired software system. This allows division of work in a software
development project.
Reliability - The software is able to perform a required function under stated
conditions for a specified period of time.
Reusability - the modular components designed should capture the essence
of the functionality expected out of them and no more or less. This single-
minded purpose renders the components reusable wherever there are similar
needs in other designs.
Robustness - The software is able to operate under stress or tolerate
unpredictable or invalid input. For example, it can be designed with a
resilience to low memory conditions.
Security - The software is able to withstand hostile acts and influences.
Usability - The software user interface must be intuitive (and often
aesthetically pleasing) to its target user/audience. Default values for the
parameters must be chosen so that they are a good choice for the majority of the users. In many cases, online help should be included and also carefully
designed.
As it is well known that designing is a very important phase for the
development of any software so we have focused quite a lot on our
designing phase. We have designed ER diagrams, Data flow
diagrams,and many other diagrams to serve this purpose.The diagrams
are included here.
Software Testing is an empirical investigation conducted to provide
stakeholders with information about the quality of the product or service
under test[1], with respect to the context in which it is intended to operate.
Software Testing also provides an objective, independent view of the
14
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 15/19
software to allow the business to appreciate and understand the risks at
implementation of the software. Test techniques include, but are not limited
to, the process of executing a program or application with the intent of
finding software bugs.
Software Testing can also be stated as the process of validating and
verifying that a software program/application/product:
1. meets the business and technical requirements that guided its
design and development;
2. works as expected; and
3. can be implemented with the same characteristics.
Software Testing, depending on the testing method employed, can beimplemented at any time in the development process. However, most of the
test effort occurs after the requirements have been defined and the coding
process has been completed. Different software development models will
focus the test effort at different points in the development process. In a more
traditional model, most of the test effort occurs after the requirements have
been defined and the coding process has been completed. Newer
development models, such as Agile or XP, often employ test driven
development and place an increased portion of the testing up front in the
development process, in the hands of the developer.
5 Testing Levels
• 5.1 Unit Testing
• 5.2 Integration Testing
• 5.3 System Testing
• 5.4 System Integration Testing
• 5.5 Regression Testing
• 5.6 Acceptance testing
• 5.7 Alpha testing
• 5.8 Beta testing
15
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 16/19
Unit Testing
Unit testing refers to tests that verify the functionality of a specific section
of code, usually at the function level. In an object-oriented environment, this
is usually at the class level, and the minimal unit tests include the
constructors and destructors.
These type of tests are usually written by developers as they work on code
(white-box style), to ensure that the specific function is working as expected.
One function might have multiple tests, to catch corner cases or other
branches in the code. Unit testing alone cannot verify the functionality of a
piece of software, but rather is used to assure that the building blocks the
software uses work independently of each other.
Integration Testing
Integration testing is any type of software testing that seeks to verify the
interfaces between components against a software design. Software
components may be integrated in an iterative way or all together ("big
bang"). Normally the former is considered a better practice since it allows
interface issues to be localised more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction
between integrated components (modules). Progressively larger groups of
tested software components corresponding to elements of the architectural
design are integrated and tested until the software works as a system.
System Testing
System testing tests a completely integrated system to verify that it meets its
requirements.
System Integration Testing
System integration testing verifies that a system is integrated to any externalor third party systems defined in the system requirements]
Regression Testing
16
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 17/19
Regression testing focuses on finding defects after a major code change has
occurred. Specifically, it seeks to uncover software regressions, or old bugs
that have come back. Such regressions occur whenever software
functionality that was previously working correctly stops working as
intended. Typically, regressions occur as an unintended consequence of program changes, when the newly developed part of the software collides
with the previously existing code. Common methods of regression testing
include re-running previously run tests and checking whether previously
fixed faults have re-emerged. The depth of testing depends on the phase in
the release process and the risk of the added features. They can either be
complete, for changes added late in the release or deemed to be risky, to
very shallow, consisting of positive tests on each feature, if the changes are
early in the release or deemed to be of low risk.Acceptance testing
Acceptance testing can mean one of two things:
A smoke test is used as an acceptance test prior to introducing a new build to
the main testing process, i.e. before integration or regression.
Acceptance testing performed by the customer, often in their lab
environment on their own HW, is known as user acceptance testing (UAT).
Acceptance testing may be performed as part of the hand-off process
between any two phases of development.
Alpha testing
Alpha testing is simulated or actual operational testing by potential
users/customers or an independent test team at the developers' site. Alpha
testing is often employed for off-the-shelf software as a form of internal
acceptance testing, before the software goes to beta testing.
Beta testing
Beta testing comes after alpha testing. Versions of the software, known
as beta versions, are released to a limited audience outside of the
programming team. The software is released to groups of people so that
17
8/8/2019 Documentation of Payroll
http://slidepdf.com/reader/full/documentation-of-payroll 18/19
further testing can ensure the product has few faults or bugs. Sometimes,
beta versions are made available to the open public to increase
the feedback field to a maximal number of future users.
BIBLIOGRAPHY
It’s said that there is no best friend of man then books: “the wisdom tank of knowledge”. Our project is an outcome of
reference material available in the various good books.
There names are:-
18