Sie sind auf Seite 1von 86

A PROJECT REPORT ON PAYROLL MANAGEMENT SYSTEM Master of Computer Application

Submitted to: Mr. Ritesh Rastogi HOD MCA Dept

Submitted by: Karnika (1013314024) Ritu Tyagi (1013314036) Akanksha (1013314005) Jyoti Goyal (1013314022)

NOIDA INSTITUTE OF ENGINEERING & TECHNOLOGY


19, Knowledge Park-II, Institutional Area, Phase-II, Greater Noida, Uttar Pradesh April, 2012

BONAFIDE CERTIFICATE

Certified that this project report PAYROLL MANAGEMENT SYSTEM is the bona fide work of Karnika(1013314024) , Ritu Tyagi(1013314036) , Akanksha Singh(1013314005), Jyoti Goyal(1013314022) who carried out the project under my supervision.

Signature of the HOD SIGNATURE

Signature of Supervisor SIGNATURE

Name: Mr. Ritesh Rastogi HEAD OF THE DEPARTMENT MCA

Name: Mohit Chaudhary SUPERVISOR (Lecturer MCA)

NOIDA INSTITUTE OF ENGINEERING & TECHNOLOGY


19, Knowledge Park-II, Institutional Area, Phase-II, Greater Noida, Uttar Pradesh

EXECUTIVE SUMMARY PROBLEM STATEMENT: The system must pay each employee the correct amount, on time by the method that they specify. Some employee work by the hour and they are paid on hourly rate. Some employees are paid a flat salary. Employee salary slip is not generated if any employee wants any salary certificate. PROBLEM SOLUTION: The above system will become computerized to deal with the bulky registers.For this we have decided that first we will be analyzing the existing system and will find the reason of its failure and accordingly we will be going for the solution. We will find two or three approaches to solve it and then we will finalize the best alternate .It uses java as front end and ms-access as back end.Also the end user has the option of creating his own salary structure and salary formulae. BENEFITS OF THE SYSTEM: Payroll software can generate all the reports related to company, employee attendance, leave and payroll. Full management of employee information such as Id, name, department, no of days, salary etc. Handling the full management of employee information like updating the employee and enquiry about the employee etc. TIME DURATION: 40 Days (Working days) 10 Days (documentation)

TABLE OF CONTENTS

Chapter No.

1 2 3 4 5 6 7

9 10 11 12 13 14 15 16 17 18 19 20

Title Bona fide Executive Summary Introduction Language And Tools To Be Used The Software Development Life Cycle Requirement Analysis Design Constraints System Analysis System/Software Requirement (SRS) Module 1 Module 2 Module 3 Project Plan 8.1 Scope Management 8.2 Risk Management Plan 8.3 People Management Feasibility Analysis Methodology Adopted System Design Coding Methods Testing Maintenance List of Tables ER Diagram Data Flow Diagram Screenshots of forms Future Scope of the Project References

Page No. I II 6 9 13 15 18 24 28

34

40 43 45 51 53 64 67 71 73 76 83 85

CHAPTER 1

INTRODUCTION

INTRODUCTION Payroll Management System developed by Bulwark Systems targets specifically Enterprises. It has all the features of payroll processes that a typical HR/ACCOUNTS dept. of the small/medium/large sized company follows. The software covers all the forms which the government of India has made compulsory for the Indian firms to adopt with respect to their employees. It is much simpler for the person who operates the software of payroll process. He doesnt have to deal with those bulky registers during the payroll generation. Here all the process are categorized, giving a very simple interface to the END USER. The software starts off from formation of the company. After filling up the entire employee related information and the group or department he is recruited, assign the employee a salary structure. Now we can start generating and managing payroll processes for that particular Employee. Also the END USER has the option of creating his own salary structure and salary formulae. The pay slip is generated after the attendance is marked for that month. The software can also manage the company and the bank holidays. Payroll software can generates all the reports related to company, employee, attendance/leave, payroll, government forms (FORMS 1,3,5,6,10,12,19,etc). Management will get a clear view about the payroll and attendance of the employees through the MIS generated by the software. For giving restricted access to the front end user and full access to the main HR authorized person it is possible to configure the software by the user side.

Objective of this project is to provide a dynamic site requiring constant updates from the companies. This project PAYROLL MANAGEMENT SYSTEM will be developed for Organization/Company which conducts whole details of each employee in the organization. The main objective of the project is to: Handling the full management of employee such as ID, Name, Department, number of days, Salary etc. Handling the full management of Employee such as updating Employee calculating Employee Salary, Enquiry about Employee etc. Handling the different jobs of company such as Payroll Management etc.

CHAPTER 2

LANGUAGE AND TOOLS TO BE USED

LANGUAGES AND TOOLS TO BE USED Languages and Tools which can be use to develop Online Testing System is: 1. Java Swing & JDBC/ODBC Bridge Java Swing & JDBC/ODBC Bridge Java Swing package (javax.swing) and Java SQL package (java.sql) can be use to develop a Payroll Management System, which can run only in an intranet. This is based on a client side programming which requires installing the client program in every client machine. Visual Interface is developing in swing package and database handling is done through JDBC/ODBC bridge. Platform under which project work: Operating system: windows 9x/NT/windows 2000 Interface used: 34bit ODBC interface Environment used Microsoft Integrating Data Development Environment (IDE)

Software Constraints System will run under Windows-98 operating environment. System is subjected to software constraint of Windows-98 and Java Core.

10

TOOL SELECTION Tool Selected Java Swing and JDBC/ODBC Bridge Advantages of developing Payroll Management System in Java Swing and JDBC/ODBC Bridge are as follows:
It allows using Payroll Management System to run in any platform. Java Swing Visual components are considered to be as Light weighted

components and does not depend on the environment resources.


JDBC-ODBC supports the Database Connectivity to virtually every type of

databases presently in the market.


JDBC-ODBC Database Connectivity supports the Data Base Connectivity to

even the remote database in Internet as well as database intranet.

Hardware requirement: Processor: - Intel Pentium 166 MHz RAM memory: 32 MB or higher SDRAM Hard disk: 2.4 GB or more ATA HDD Monitor: VGA or SVGA having resolution of 800x600 at 16-bit true color Hardware Constraints The software is being developed to run on IBM compatibles Pentium Machines. Memory requirements of the software will be restricted by the above-mentioned platform.

11

GENERAL ATTRIBUTES Availability The system can only run under Microsoft Windows 9X and Window NT environment. Maintainability This software can be maintained with the help of extensive documentation to be provided to the client. Transferability/Conversion Product can be easily transferred to new version of Windows. Way to generate dynamic content is to use java servlets. Servlets are java programs that are loaded into an application server, such As a web sphere application server. Servlets do the same thing as CGI scripts, but they reside in server memory. So, servlets are more responsive to user requests. JSP technology provides a way to continue the worlds of HTML and Java Servlet programming. JSP pages are text files that look very much like HTML is enhanced with new tags that specify the programming of a Servlet to control the generation of dynamic content. If the user has requested information that is contained in static pages residing on the HTTP server, the response will be an HTML version of the stored page. For dynamic response, a call will go from the HTTP server to web sphere application server, or any other application server, where JSP pages and servlets are managed. The application server can be configured to preload java servlets to enable a quick response to even the first users request. JSP pages are compiled and loaded once. If a newer version of the JSP pages is developed, the application server will compile the newer one and load its version of the servlet.

12

CHAPTER 3 THE SOFTWARE DEVELOPMENT LIFE CYCLE

13

THE SOFTWARE DEVELOPMENT LIFE CYCLE The Software development life cycle (SDLC) is the process of creating or altering software systems, and the models and methodologies that people use to develop these systems. In any such lifecycle, people, process and technology all play a role in success. PTC is committed to developing solutions for engineering (software system life management) and IT (Application lifecycle management) organizations along with world class technology (integrity) to accelerate innovation in software intensive products and systems.

14

CHAPTER 4 REQUIREMENT ANALYSIS

15

REQUIREMENT ANALYSIS Nowadays, the world is moving at a lightening swiftness and so is computer field. It is advancing each and everyday. Initially the work of project management was done manually and the data was kept in files but now the technology is such that. Ability to cope with different VAT schemes, particularly the flat rate scheme which very few of the main packages have yet to address. Also retailers' schemes for using proportions of purchases at each VAT rate to work out the VAT on sales. Changing/deleting a transaction - some packages (Quickbooks) allow changes too easily which mess up VAT reporting, bank reconciliations, etc., yet others (Winweb) make it far too hard, requiring extensive entry of reversing transactions. There must be a way to allow for changing, but at the same time, restricting the ability to perhaps administrator level, and also at the same time, dealing with the repercussions for vat and bank recs. . For limited company businesses (ever more popular), it would be good to build in the directors expense claim forms, to make it easier for them to enter their "out of pocket" costs, travel, use of home, etc., perhaps with built in mileage claim calculations?

I would also second Duane's comments about a saturated market. There are A LOT of firms offering a "me too" package based on Sage. To be honest, rather than going for being "yet another" Sage lookalike, I would aim for a target market and produce a specialist package for that market. Two markets that I feel are grossly ignored are retailers/shops and "knowledge"

16

based businesses like IT contractors. For retailers, there used to be a couple of branded account books (Evrite and Simplex) that revolved around the very important issues of balancing the cash in and out on a weekly basis and managed to incorporate the various retailers VAT schemes. I have never seen these books reproduced in a good-enough computer version there are plenty of spreadsheet templates that try to do it but products like Sage and Quickbooks are too "ledger based" to be able to cope with cash balancing in a workable manner. For IT contractors, a ledger based system is really a sledge hammer to crack a nut - IT contractors want a simple system of recording transactions that automatically generates estimated corporation tax payments, estimated levels of maximum dividends, automatic production of dividend paperwork, preferably an in-built or link to a simple payroll system, etc.

I believe there is a big gap in the market for a new breed of accounting/book-keeping solution to deal with the new breed of small businesses (i.e. those working from home, ebayers, consultants, etc) where numbers of transactions are small, yet the proprietors want the facility to do more than "the books" - they want the system to produce forecast tax liabilities, expenses claims, dividend paperwork, etc. The likes of Sage and other ledger based systems are ideal for larger firms with lots of transactions that need powerful book-keeping to keep everything up to date, where they other systems for payroll, company secretarial, tax, etc., and unfortunately a lot of systems have just looked at, and copied Sage's ledger system. The future is properly integrated "solutions" for small business accounts and tax, not just another book-keeping package!

17

CHAPTER 5

DESIGN CONSTRAINTS

18

INTRODUCTION The main purpose of the Architecture Design document is to discuss the architectural design for the PAYROLL MANAGEMENT SYSTEM project in a clear and concise form. This design document will give a detailed description of the presentation tier, the middle tier which consists of the class diagrams, sequence diagrams for the Salary Evaluation and finally the data tier. The Unified Modeling Language (UML) is a standardized visual specification language for object modeling. Thus, the class diagrams and the sequence diagrams depicted in the Architecture design document will be developed according to the UML standard notation. Architecture of the PAYROLL MANAGEMENT SYSTEM The architecture of the Payroll Management System is based on the threetier architecture. This three-tier architecture mainly consists of three layers namely: Presentation Tier Business Tier Data Access Tier

19

The Presentation Tier converts and displays information into a human legible form. This tier displays information related to services such as browsing the Web application SME, etc. It communicates with the other tiers by outputting results to the browser/client tier and all the other tiers. The Business Logic tier is mainly responsible for information exchange between the user interface and the database of the project. The final layer of the three tiered architecture is the Data Access tier, which mainly consists of the Database servers. The information related to the Payroll Management system is stored and retrieved from here.

20

A simple representation of the three-tier architecture would be as follows: Figure 4 - Three Tier Architecture

21

The architecture of the payroll Management system can be depicted as follows:

Presentation Tier

Business Logic Tier

Data Access Tier

22

The three tier architecture would be discussed in detail in the following sections: PRESENTATION TIER The presentation tier is the top most layer of the Payroll Management System application. The presentation tier is mainly responsible for the user interface of the application which deals with the presentation of data to the user. The presentation tier of the Salary Evaluation is mainly formed by the servelet & html web forms. In the case of the Payroll Management system project. Each web form will have the extension .html and there are several web forms created for the user and the administrator of the website. The web pages of the Payroll Management system project are as follows for the User as well as the Administrator. The following table shows the servlet & html web forms for the users of the Payroll Management System: BUSINESS LOGIC TIER The Business Logic Tier is the middle tier of the three-tier architecture. The business logic for the Payroll management System would be present here. In the case of my project, the C# classes would be performing the duty of the business logic. This is the layer which is responsible for the information exchange between the user interface and the database.

23

CHAPTER 6 SYSTEM ANALYSIS

24

SYSTEM ANALYSIS

This was the most important phase of my project life cycle .It had connected my maximum time. In short the analysis process is concerned with depicting requirements for data, function and behavior in a way that is relatively easy to understand and easy to review for correctness, completeness and consistency. Analysis process includes Requirements Analysis. According to Roger S. Pressman. Requirements analysis results in the specification of softwares operational characteristics and establishes the constraints that software must meet. As far as this project is concerned, we have approached following four activities in the analysis process: Content Analysis: In this, the content that the PAYROLL MANAGEMENT SYSTEM System will provide is determined. The contents (in this case) include text, details and background. Also how this content will be presented to students is also determined.

Interaction Analysis: In this, how the users of the PAYROLL MANAGEMENT SYSTEM System interact, is determined. It includes determining things like where the link would be placed and how the user will provide information can also be called navigation analysis.

25

Functional Analysis: In this, the functionality that will be provided by the PAYROLL MANAGEMENT SYSTEM System is determined and explored. Configuration Analysis: In this the environment and infrastructure in which the PAYROLL MANAGEMENT SYSTEMwill operate is determined for example hardware and software requirements are determined. Identification of Need Since maximum organization conduct Employees should be managed properly and motivated by providing best remuneration and compensation as per the industry standards. It also provides services to search salary details. These all methods of doing entry of marks manually. And evaluating have some drawbacks such as error rectification restriction, time consuming process, complexities of system, more human intervention and dependency on offices schedules etc. The following points are to be considered while identifying the need of project. Inception Elicitation Elaboration Negotiation Specification Validation Management

26

Elicitation Since the idea was given by my guide and vividly explained by him, so the elicitation process was not very difficult to me. All I needed was to get as much information about the functionality of Payroll Management system. And this is exactly what I did. Elaboration Elaboration was just one step ahead. Just go and watch more closely. In this process I somehow managed to get the information for my project as much as possible from the college administrator and from many web development team mentioned as I know. And I began to analyze the project and the design pattern about it. Negotiation The main negotiating factor was time. Due to time constraint I decided to work for only basic functioning of the Payroll management System. By basic functioning I mean that only those functions that are necessary to provide functionalities like searching salary, evaluation, basis of search facility and generate records of employee and etc. Preliminary investigation A request to take assistance from information systems can be made for many reasons, but in each case someone in the organization initiates the request. When the request is made, the first systems activity the preliminary begins. In that phase initially I had observed the system by studying the current working procedure of Payroll Management system.

27

CHAPTER 7

SYSTEM SOFTWARE REQUIREMENT(SRS)

28

SOFTWARE REQUIREMENT SPECIFICATION

A System Requirements Specification (SRS) is a document where the requirements of a system that is planned to be developed are listed. The System Requirements Specification (SRS) document describes all data, functional and behavioral requirements of the software under production or development. Software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS fully describes what the software will do and how it will be expected to perform Software Requirements Specification (SRS) is a document that completely describes what the proposed software should do without describing how the software will do it. The basic goal of requirement phase is to produce the SRS, which describes the complete external behavior of the proposed software. A basic purpose of software requirements specification is to bridge the communication gap between the software developer and the client. SRS is the medium through which the client and user needs are accurately specified; indeed SRS forms the basis of software development. Another important purpose of developing an SRS is helping the clients Understand their own needs. The main phases of Software Requirements Specification are:-

29

FUNCTIONAL REQUIREMENTS Functional requirements specify which outputs should be produced from the given inputs. They describe the relationship between the input and output of the system. For each functional requirement, a detailed description of all the data inputs and their source, the units of measure, and the range of valid inputs must be specified. All the operations to be performed on the input data to obtain the output should be specified. This includes specifying the validation checks on the input and output data . PURPOSE OF THIS DOCUMENT

The purpose of this document is to convey the requirements of the project (as specified by the client) to the programmers to ensure that the programmers understand and fulfill the requirements to the expectation of the client. Secondly, this document is used to ensure that the development team understands the requirements specified by the client. This document will act as the contract for all future development; all development spawns from and adheres to the details in the requirements. The SRS also outlines the performance requirements that may be set and required by the client/user. This document provides a description of the purpose, functionality and interface of the software designed by the developer with input of the project. In this Software Requirement specification, constraints and other design issues are addressed.

30

Overview of Document The remainder of this document describes the intended users that would be expected to interact with the system frequently, and a simple profile of each user type is provided as a sample. This document now will go into more detail on the expected users their interface and interaction with the product and more on the technical approach and considerations to be implemented. Overview of Functional Requirements Our product will be stand alone and will have an interface, which can be accessed on more than one-computer at the same time, such as computers connected with LAN. Our main goal is to present facts on a comprehensive level, and make it easier as well. Detail Description of Functional Requirements Template for describing functional requirements

Purpose

A description of the functional requirement and its motivations(s)

Inputs

which inputs; in what form/format will inputs arrive; from what sources input will be derived; legal domains of each input element

Processing

Describes the outcome rather than the implementation; include any validity checks on the data, exact timing of each operation (if needed), how to handle unexpected or abnormal situations

31

Outputs

the form, shape, destination, and volume of the output; output timing; range of parameters in the output; unit measure of the output; process by which the output is stored or destroyed; process for handling error messages produced as output.

MODULE 1 Process Name: Detail of employee Description:-This Process receives the application form from the student, which seeking admission in the institute and checks their all the documents. After checking all documents the process allot him his batch and set their fee installments according to their selected course. MODULE 2 Process Name: Attendance of Employee Description:-This Process fill the attendance of employ .calculate the total number of working days for the current month and the entire year. The Process also . display the current status of employee

32

MODULE3 Process Name: - Payroll Maintenance Description:-This process handles the all work of payroll system such as entering the working number of days, rate per day and calculates the salary. This process also maintains the database of the employee in MS Access according to the requirement of the management.

33

CHAPTER 8

PROJECT PLAN

34

PROJECT PLAN The objective of software project planning is to provide a frame work that enables the manager to make reasonable estimates of resources, cost, and schedule. These estimates are made with in a limited time frame at the beginning of a software project and should be updated regularly as the project progress. In addition, estimates should attempt to define best case and worst case scenarios so that project outcomes can be bounded. 8.1 SCOPE MANAGEMENT The Scope management Plan in a project is related to how particular software is, when It will be build, either going to fulfill the requirements of users or not. The main Motive of a software builder is while developing software is to build such software which future scope is so rich. Developments in software technology are continuing dynamically. This has forced software developers to look for new approaches to software design and development .we have also tried our best to build software which could facilitate the users of this Application to get the record at time while sitting at home. We have tried our best to incorporate all the functionality that must be there in order to work the SALARY EVALUATION perfectly. But here is a listing of all the features that havent been considered/ implemented yet. Since later changes can be costly, so the entire system is been made up with the facility of robustness. With the fillings that this software has a very wide scope in future.

35

8.2 RISK MANAGEMENT Risk management is the identification, assessment, and prioritization of risks (defined in ISO 31000 as the effect of uncertainty on objectives, whether positive or negative) followed by coordinated and economical application of resources to minimize, monitor, and control the probability and/or impact of unfortunate events or to maximize the realization of opportunities. Risks can come from uncertainty in financial markets, project failures (at any phase in design, development, production, or sustainment life-cycles), legal liabilities, credit risk, deliberate attack from an adversary, or events of uncertain or unpredictable root-cause. Several risk management standards have been developed including the Project Management Institute, the National Institute of Standards and Technology, actuarial societies, and ISO standards. Methods, definitions and goals vary widely according to whether the risk management method is in the context of project management, security, engineering, industrial processes, financial portfolios, actuarial assessments, or public health and safety. The strategies to manage risk typically include transferring the risk to another party, avoiding the risk, reducing the negative effect or probability of the risk, or even accepting some or all of the potential or actual consequences of a particular risk. In any web based project following risks may be arise: Server Failure Unauthenticated Access Data Protection & maintenance etc

36

In Salary Evaluation, we have tried our best to manage these risks in following way: If well use two servers (another is reserved server), then in the case of server failure, all the control will be transferred to another server. If it is found that this project is not capable to maintain security, then the enhanced security techniques may be used. We can use data mirroring to keep the copy of records in another system, to maintain data security, and if the current data is loosed then we can use mirrored data to restore the current data in its actual format. 8.3 PEOPLE MANAGEMENT Only strong people management skills will help to establish good rapport with all individuals on the project and ensure they are working effectively and efficiently to deliver the project tasks. A good people manager always stands up for his/her team, will win their hearts and makes them want to follow him/her. Undoubtedly, people management is the key factor in project management. Strong project managers pay close attention to the people management part of managing projects. In this project, People management is done very effectively.

37

there are 3 members working on this project and each member has its own role in this project like Karnika (Roll No.:1013314024): Analyzing Ritu Tyagi(Roll No.:1013314036): Coding (Java, JavaScript), Designing Akanksha Singh (Roll No.:1013314005): Implementing Jyoti Goyal (Roll No.: 1013314022): Testing 8.4 COMMUNICATION PLAN Identification of Need Since maximum organization conduct Employees should be managed properly and motivated by providing best remuneration and compensation as per the industry standards. It also provides services to search salary details. These all methods of doing entry of marks manually. And evaluating have some drawbacks such as error rectification restriction, time consuming process, complexities of system, more human intervention and dependency on offices schedules etc. The following points are to be considered while identifying the need of project. Inception Elicitation Elaboration Negotiation Specification Validation Management

38

8.5 TIME MANAGEMENT PLAN For implementing the time management plan we manage the time which will taken for developing the project.

39

CHAPTER 9

FEASIBILITY ANALYSIS

40

WHAT IS FEASIBILITY STUDY? Feasibility study is to check the viability of the project under consideration. Theoretically various types of feasibilities. Prior to starting whether the system we have to develop is feasible or not we believe that we should emphasize or what is implied by the word Feasibility. Feasibility is the measure of how beneficial or practical the development of the system will be to the organization. it is a preliminary survey for the system investigation. It aims to provide information to facilitate a later indepth investigation. The report produced at the end of the feasibility study contains suggestions and reasoned arguments decide whether to commit further resources to the proposed project.

TYPES OF FEASIBILITY This study is based on three types of feasibility: Technical feasibility Economical feasibility Operational feasibility ECONOMICAL FEASIBILITY As our existing system is purely manual, so we need a onetime investment for purchasing and installing it. TECHNICAL FEASIBILITY The new system doesnt require trained people to work with the system and only a single administrator is enough to control over all system. So there is no need to appoint trained people or no need for the training program.

41

OPERATIONAL FEASIBILITY This system is fully responsible for calculating and storing the salary of employees. It generates the error free and accurate output depends on input. But if input is not correct then the system is not responsible for any mistake. This system is the solution of all the problems identified during scope definition and it satisfies the requirements identified in the requirements analysis phase of system development.

42

CHAPTER 10

METHODOLOGY ADOPTED

43

METHODOLOGY ADOPTED Structured system analysis technique had been adopted for the analysis of the algorithm and software development. Structured system design techniques had been adopted for the design of the algorithm and software development. Prototyping model for initial implementation had been used for early testing and module development. Prototyping model had been used for the development of the Graphical User Interface. Incremental model had been used for the development of the software. Test plan was created to form the strategy of testing. This includes the decision of testing techniques, decision of testing tools, and decision of milestones when the testing will commence.

44

CHAPTER 11

SYSTEM DESIGN

45

SYSTEM DESIGN System design is the process or art of defining the architecture, components, modules, interfaces, and data for system to satisfy specified requirements. One could see it as the application of systems theory to product development. Design is the first phase in development phase for any engineers product system. Design is the creative process. It deals with the creating ability of the programmer. A good design is the key to effective system. The term Design is defined as The process of applying various techniques and principles for the purpose of defining a process or a system in sufficient details to permit its physical realization. INPUT DESIGN The user interface design is very important for any application. The interface design describes how the software communicated within itself, to system that interpreted with it and with humans who use it. The interface is a packing for computer software if the interface is easy to learn, simple to use. If the interface design is very good, the user will fall into an interactive software application. The input design is the process of converting the user-oriented inputs into the computer-based format. Errors entered by data entry operations can be controlled by input design. The data is fed into the system using simple interactive forms. The forms have been supplied with messages so that user can enter data without facing any difficulty. The data is validated wherever it requires in the project. This ensures that only the correct data have been incorporated into the system. The goal for designing input data is to make data entry as easy, logical and free from errors.

46

The objectives of input design are: To produce a cost effective method of input To make the input forms understandable to the user To ensure the validation of data input To achieve the highest position level of accuracy

The various activities to be performed for the overall input processors are: Data recording at its source. Data transfer to input form. Data conversation to computer acceptable mode. Data validation. Data flow control. Data correction if necessary.

In the proposed system, the user is provided with respective forms to input the required data. The input screens in this project are: Login form Registration form Quiz form Result form Admin Login form

47

OUTPUT DESIGN The system output is the most important and direct source of information to the user. So intelligible output design improves the relationship with the user and helps in decision-making. Outputs from the computer systems are required primarily to communicate the results of processing to users. They are also used to provide a permanent copy of these results for later consultation. A major form of output is a hard copy obtained from the printer. These printouts are designed to include the exact requirements of the user. The outputs required by the end-user are defined during the logical design stages. Two phases of the output design are: Output definition. Output specification

Output definition takes into account the type of output contents, its frequency and its volume. The appropriate output media is determined for outputs. Once the output media is chosen, the detail specification of output documents are carried out. The nature of output required from the proposed system is determined during the logical design stage itself. Physical design stage takes the outline of the output from the logical design and produces the output as specified during the logical design phase. The necessary reports are generated which provide the complete information required by the user: The objectives of output design are: Design output to serve the indented purpose. Provide output on time. Assume that output is where it is needed. Design output to fit the user

48

The output screens in this project are: Login Welcome Search Employee Compute Payroll Add/Remove Employee Calculate Payroll

DATA BASE DESIGN A database is a collection of information. A primary objective of a database management system is to provide a convenient environment to retrieve and store database information. The most popular and flexible database system is the relational database management system. The RDBMS organizes data in the form of tables. Each table organizes data in the form of raw and columns. Each row in a table represents a relationship. There is a close connection between a table and the mathematical concept of relation. The design of the database is of great importance as bad design scheme can destroy the whole purpose of the projects. Table design describes the table structure and records that makeup the table. Table in the database usually show how strong the system is. To design an efficient database, all the tables in the database should be normalized. Normalization is process, which eliminates the data redundancy and ultimately provide a more efficient and flexible structure. It also takes into account the relationship between various tables in the database.

49

The primary key is unique that is used in the information processes to reduce data redundancy. Each table contains primary key, foreign key, and constraint key to ensure data integrity. The database tables used are the following: Admin Employee Department

50

CHAPTER 12

CODING METHOD

51

CODING METHOD Event driven programming language JAVA has been used for coding the modules and programs. Structured English and pseudo-codes are used to refine the mechanisms using the facility of defined objects. Various stubs had been used to facilitate incremental coding followed by testing. The basic philosophy followed at this stage: Code one line followed by rigorous testing. Stepwise refinement techniques had been used to code the modules.

52

CHAPTER 13

TESTING

53

1. TESTING IDENTIFIER:Payroll management system

2. INTRODUCTION The main purpose of the test plan for the Payroll management system is to discuss the testing details of the use cases of the Payroll management system. The software project test plan also describes the objective, scope and approach of the software testing effort for the payroll Management System project. The test plan for the Payroll Management System also indicates the personnel responsible for each task and also specifies the risks associated with the test plan.

2.1 OBJECTIVES The main objectives of the Test plan for the Payroll management system are as follows: To identify the features of the system that will be tested. To identify and define all the activities necessary to prepare for and conduct the testing process on the Payroll management system. To define the pass/fail criteria for each item that will be tested To identify the deliverables of the testing phase.

2.3 DEFINITIONS The following are some of the terms and definitions that are related to the test plan of the Payroll management system: Pass/Fail criteria: Decision rules that are used to determine whether a software item passes or fails a test. Test: A collection of one or more test cases Test Item: A software item that is an objective of testing.

54

Test Plan: A document describing the scope, approach, resources and schedule of the intended testing activities. Test Summary Report: A document summarizing the testing activities and results. Testing: The process of analyzing a software item to detect the differences between the existing and required conditions. The separation of debugging from testing was initially introduced by Glenford J. Myers in 1979. Although his attention was on breakage testing ("a successful test is one that finds a bug. 3. Software quality assurance (SQA) Though controversial, software testing is a part of the software quality assurance (SQA) process. In SQA, software process specialists and auditors are concerned for the software development process rather than just the artifacts such as documentation, code and systems. They examine and change the software engineering process itself to reduce the number of faults that end up in the delivered software: the so-called defect rate. What constitutes an "acceptable defect rate" depends on the nature of the software; A flight simulator video game would have much higher defect tolerance than software for an actual airplane. Although there are close links with SQA, testing departments often exist independently, and there may be no SQA function in some companies. Software testing is a task intended to detect defects in software by contrasting a computer program's expected results with its actual results for a given set of inputs. By contrast, QA (quality assurance) is the implementation of policies and procedures intended to prevent defects from occurring in the first place.

55

4. Testing methods 4.1 The box approach Software testing methods are traditionally divided into white- and black-box testing. These two approaches are used to describe the point of view that a test engineer takes when designing test cases. 4.1.1 White-box testing White-box testing is when the tester has access to the internal data structures and algorithms including the code that implement these. Types of white-box testing The following types of white-box testing exist:

API testing (application programming interface) - testing of the application using public and private APIs

Code coverage creating tests to satisfy some criteria of code coverage (e.g., the test designer can create tests to cause all statements in the program to be executed at least once)

Fault injection methods - improving the coverage of a test by introducing faults to test code paths

Mutation testing methods Static testing - All types Test coverage White-box testing methods can also be used to evaluate the completeness of a test suite that was created with black-box testing methods. This allows the software team to examine parts of a system that are rarely tested and ensures that the most important function points have been tested.

56

Two common forms of code coverage are:


Function coverage, which reports on functions executed Statement coverage, which reports on the number of lines executed to complete the test

They both return a code coverage metric, measured as a percentage. 4.1.2 Black-box testing Black-box testing treats the software as a "black box"without any knowledge of internal implementation. Black-box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and specification-based testing. Specification-based testing: Specification-based testing aims to test the functionality of software according to the applicable requirements. Thus, the tester inputs data into, and only sees the output from, the test object. This level of testing usually requires thorough test cases to be provided to the tester, who then can simply verify that for a given input, the output value (or behavior), either "is" or "is not" the same as the expected value specified in the test case. Advantages and disadvantages: The black-box tester has no "bonds" with the code, and a tester's perception is very simple: a code must have bugs. Using the principle, "Ask and you shall receive," black-box testers find bugs where programmers do not. On the other hand, black-box testing has been said to be "like a walk in a dark labyrinth without a flashlight," because the tester doesn't know how the software being tested was actually constructed. As a result, there are situations when a tester writes many test cases to check something that could have been tested by only one test case, and/or some parts of the back-end are not tested at all.

57

Therefore, black-box testing has the advantage of "an unaffiliated opinion", on the one hand, and the disadvantage of "blind exploring", on the other. 4.1.3 Grey-box testing Grey-box testing (American spelling: gray-box testing) involves having knowledge of internal data structures and algorithms for purposes of designing tests, while executing those tests at the user, or black-box level. The tester is not required to have a full access to the software's source code. Manipulating input data and formatting output do not qualify as grey-box, because the input and output are clearly outside of the "black box" that we are calling the system under test. This distinction is particularly important when conducting integration testing between two modules of code written by two different developers, where only the interfaces are exposed for test. However, modifying a data repository does qualify as grey-box, as the user would not normally be able to change the data outside of the system under test. Grey-box testing may also include reverse engineering to determine, for instance, boundary values or error messages. By knowing the underlying concepts of how the software works, the tester makes better-informed testing choices while testing the software from outside. Typically, a grey-box tester will be permitted to set up his testing environment; for instance, seeding a database; and the tester can observe the state of the product being tested after performing certain actions. For instance, in testing a database product he/she may fire an SQL query on the database and then observe the database, to ensure that the expected changes have been reflected. Grey-box testing implements intelligent test scenarios, based on limited information. This will particularly apply to data type handling, exception handling, and so on.

58

5.1.Test target 5.1.1 .Unit testing Unit testing, also known as component 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 types 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. 6. Objectives of testing 6.1. Regression testing 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.

59

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. 5.2.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. 6.4.Beta testing Beta testing comes after alpha testing and can be considered a form of external user acceptance 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 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. 5.Non-functional testing Special methods exist to test non-functional aspects of software. In contrast to functional testing, which establishes the correct operation of the software (for example that it matches the expected behavior defined in the design requirements), non-functional testing verifies that the software functions properly even when it receives invalid or unexpected inputs. Software fault injection, in the form of fuzzing, is an example of non-functional testing. Non-functional testing, especially for software, is designed to establish whether the device under test can tolerate invalid or unexpected inputs, thereby establishing the robustness of input validation routines as well as error-management routines. Various commercial non-functional testing tools are linked from the software fault

60

injection page; there are also numerous open-source and free software tools available that perform non-functional testing. 7.1Performance testing Performance testing is in general executed to determine how a system or subsystem performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage. Load testing is primarily concerned with testing that the system can continue to operate under a specific load, whether that be large quantities of data or a large number of users. This is generally referred to as software scalability. The related load testing activity of when performed as a non-functional activity is often referred to as endurance testing. Volume testing is a way to test functionality. Stress testing is a way to test reliability under unexpected or rare workloads. Stability testing (often referred to as load or endurance testing) checks to see if the software can continuously function well in or above an acceptable period. There is little agreement on what the specific goals of performance testing are. The terms load testing, performance testing, reliability testing, and volume testing, are often used interchangeably. 7.2 Usability testing Usability testing is needed to check if the user interface is easy to use and understand. It is concerned mainly with the use of the application. 7.3 Security testing Security testing is essential for software that processes confidential data to prevent system intrusion by hackers.

61

ACCEPTANCE TESTING Testing to verify a product meets customer specified requirements. A customer usually does this type of testing on a product that is developed externally. COMPATIBILITY TESTING Testing to ensure compatibility of an application or Web site with different browsers, OSs, and hardware platforms. Compatibility testing can be performed manually or can be driven by an automated functional or regression test suite. 8. TEST CASES The following are the test cases for the Salary Evaluation: 8.1 TEST CASE 1 USER LOGIN Incorrect Input: Incorrect username, which is the user-id in the case of the Salary Evaluation. Pass Criteria: An appropriate message should be generated to indicate that an invalid username has been typed. Correct Input: The correct input would be a valid user-id of the user and a correct password associated with the email-id which he uses to log in. Pass Criteria: The user should be directed to the webpage that the user is intended to go to after he logs into the system.

62

8.2 TEST CASE 3 Student Signup Incorrect Input: The data fields left out empty in the registration page. Pass Criteria: An error message should be generated to the user saying that he has to fill out those fields in order to be registered into the system. Correct Input: The correct input in this case, would be that the user would enter the data in all the fields in the registration form. Pass Criteria: The pass criteria for the system would be that it accepts all the customer details and then registers the user and helps him log into the system.

10. PASS OR FAIL CRITERIA The test cases executed on the Payroll management System will pass if they meet the specific requirements mentioned in the Vision document of the project. A test case is said to fail, if the desired functionality is not satisfied by the system.

63

CHAPTER 14

MAINTENANCE

64

MAINTENANCE Maintenance is making adaptation of the software for external changes (requirements changes or enhancements) and internal changes (fixing bugs). When changes are made during the maintenance phase all preceding steps of the model must be revisited. There are three types of maintenance: Corrective (Fixing bugs/errors) Adaptive (Updates due to environment changes) Perfective (Enhancements, requirements changes)

Maintenance is a necessary component of any business computer system or work. Each individual desktop computer and server has needs that must be met to keep them running optimally. We can create a schedule of maintenance tasks and implement them to keep you as efficient with your computer system as possible. Maintenance includes all the activity after the installation of software that is performed to keep the system operational. The two major forms of maintenance activities are adaptive maintenance and corrective maintenance. It is generally agreed that for large systems, removing all the faults before delivery is extremely difficult and faults will be discovered long after the system is installed. Removing errors is one of the activities of maintenance. Maintenance also needed due to change in the environment or the requirements of the system. The introduction of a software system affects the work. This occurs, since the experience with the software helps the user to define the needs more precisely. These might also changes in the input data, the system environment and output formats. All these require modification of the software. The maintenance activities related to such modification fall under adaptive maintenance.

65

Since often during development, needs of the maintainers are not kept in mind, little support documents are produced during development aid the maintainer. The complexity of the maintenance task is coupled with the neglect of maintenance concerns during development which makes maintenance the most cost effective activity in the life of a software product.

66

CHAPTER 15

LIST OF TABLES

67

TABLES Administrator Department Employee Admin table:

68

Department table:

69

Employee table:

70

CHAPTER 16

ER-DIAGRAM

71

ER-DIAGRAM The ER diagram is drawn to have a better understanding of the whole scenario, it was used to conceptualize the phenomena, actions and interactions between various entities and to arrive at the specific requirements in a comprehensive manner. The ER diagram is attached with this SR.

Employee Id

Employee Name

Department Id

Department Name

Employee
Works for

Department

Info

Has

Administrator

User id

Password

72

CHAPTER 17

DATA FLOW DIAGRAM

73

DATA FLOW DIAGRAM A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, modeling its process aspects. Often they are a preliminary step used to create an overview of the system which can later be elaborated. DFDs can also be used for the visualization of data processing (structured design). A DFD shows what kinds of data will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel (which is shown on a flowchart). 0-LEVEL DFD Database

Admin A
Search employee Compute Payroll

PAYROLL MANAGEMENT SYSTEM

Admin
search detail compute detail

74

1 - LEVEL DFD

Admin

Employee enter their info for detail

Invalid data

DATA VALIDITY PROCESS

storing emp info

1.employee

Storing dept detail

Invalid dep

Accessing dep

2.department

DEPARTMENT VALIDITY

detail

75

CHAPTER 18

SCREEN SHOTS OF FORMS

76

LOGIN FORM

77

WELCOME FORM

78

SEARCH EMPLOYEE FORM

79

COMPUTER PAYROLL FORM

80

ADD/REMOVE EMPLOYEE FORM

81

CHANGE PASSWORD FORM

82

CHAPTER 19

FUTURE SCOPE OF PROJECT

83

FUTURE SCOPE OF PROJECT

The described design of the project is quite flexible. Any feature that could improve the efficiency of the project can be easily embedded in the system. The developed project can serve as an excellent base for feasibility study for porting on to JAVA. The entire system can produce an automated approach to collect database and to process these data whenever required. This system provides a greater solution for those who are less interacted with the computer system because it provides the graphical user interface facility. The system provides an efficient and easy way too, if any further updating or changes in its particular module.

84

CHAPTER 20

REFERENCES

85

REFERENCES How to Java Program Third Edition. By H.M. DETIEL (Detiel & Association, Inc.) and P.J. DETIEL The Complete Reference Java 2.(By Herbert Schild) Programming with Java.(By E. Balagurusamy) Core Java 2 Volume-I Fundamentals. Core Java 2 Volume-II Fundamentals. SAMS Teach Yourself Networking in 24 Hours.

86

Das könnte Ihnen auch gefallen