Employee Management System
Short Description
its is the project for PGDCA, topic of EMPLOYEE MANAGEMENT SYSTEM...
Description
Department of Computer Engineering Regional College for Education Research & Technology, Jaipur. A project report on
“EMPLOYEE MANAGEMENT SYSTEM” Lalit Singh Palwinder Singh Ramchandra Yadav Shakti Singh Submitted in partial fulfillment for the award of the Degree of Bachelor of Technology
Guide by Ms. Ruchika Sharma (Lecturer CSE)
Submitted to: Mr. Kailash Sharma HOD (CSE) 1
Department of Computer Engineering Regional College for Education Research & Technology, Jaipur Session 2011-2012 CERTIFICATE This is to certify that the project entitled “EMPLOYEE MANAGEMENT SYSTEM” has been carried out by LALIT SINGH, PALWINDER SINGH, RAMCHANDRA YADAV, & SHAKTI SINGH under my guidance in partial fulfillment of the degree of “Bachelor of Technology” in “Computer Engineering” of “Rajasthan Technical University” during the academic year 2011-2012. To the best of my knowledge and belief this work has not been submitted elsewhere for the award of any other degree.
Guide Ms. Ruchika Sharma
Mr. Kailash Sharma Head of Department
2
PREFACE This project of “Employee Management System” is a system that can be used to integrate all processes programs and system in an organization that ensure staff are acquired and used in an effective way. Competition in today’s age has a new faceagility. Company need to act and react faster to a rapidly changing business environment. Smart Information Management is the key to the company’s growth. The Employee Management System is an enterprise wide single application consists of solutions for all functional areas of an organization. This software helps the HR managers in taking decisions because all information is available in the organized form. This project is a system that is an online system for Employee management system. Website represents the entire dogma of company containing activities of company and providing information to new users, applications and employees for latest news updates and job related information. Online Employee management system manages recruitment, applicants, employee and department information. Throughout the project the focus has been on presenting information and data in easy and intelligible manner. We have made our project in ASP.NET. It is first choice of developers for website development application because it is with the power of .NET platform. It provides a new paradigm for developing windows application and web based application. It has separate web forms login, search, registration etc. In the last, we gratefully acknowledge and express our gratitude to all staff members of Regional College for Education Research & Technology & Eminent System staff that supported us in preparing this project.
3
ACKNOWLEDGMENT It is not possible to express our gratitude and respect to every person who extended to us their kind support directly or indirectly throughout the duration of this project. Still, we would like to single out a few, for without them, it would have been next to impossible to finish this project satisfactorily. We pay my deepest sense of gratitude to Mr. Kailash Sharma (HOD), who has always been there with us in the completion of the project work with their ideas and support and with, of course, strictness. We are thankful to Ms. Ruchika Sharma for her support, cooperation and motivation provided to us, for constant inspiration, presence and blessings.
Team Members Lalit Singh Palwinder Singh Ramchandra Yadav Shakti Singh B.Tech (Final Year)
4
INDEX S. No
Topic
Page No.
1.
Abstract……………………………………………… …………… Introduction …………………………………………………… Purpose……………………………………………… ………….. Life Cycle Model…………………………………………….. Project Objective and Outlines……………………….. Feasibility Study………………………………………………. Short Description of Project …………………………… Design of the Component……………………………….. Functional decomposition diagram…………………. System Analysis……………………………………………… . System Development Strategies……………………… Snapshots…………………………………………… …………… Testing……………………………………………… ……………… Limitation and Enhancement of Project……………. Conclusion ………………………………………………………… Reference …………………………………………………………. . Codding of project………………………………………………. AdminMasterPage.aspx………………………… ……………. AdminMasterPage.aspx.cs……………………… …………….
6
2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
7 8 14 16 18 20 25 28 31 31 33 39 42 43 44 45 45 46
5
20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Login.aspx………………………………………… …………………… Login.aspx.cs……………………………………… ………………….. NewEmployee.aspx……………………………… ………………… NewEmployee.aspx.cs…………………………… ……………….. DataList.aspx……………………………………… ………………….. DataList.aspx.cs…………………………………… ………………… DefaultAdmin.aspx……………………………… ………………… DefaultAdmin.aspx.cs…………………………… ………………… Department.aspx………………………………… …………………. Department.aspx.cs……………………………… ………………… DetailViewStudy.aspx…………………………… …………………. DetailViewStudy.aspx.cs………………………… ……………….. GridViewStudy.aspx……………………………… …………………. GridViewStudy.aspx.cs………………………… …………………….
46 47 48 49 51 54 54 55 55 56 56 57 57 62
ABSTRACT
This report includes a development presentation of an information system for managing the staff data within a small company or organization. The system as such as it has been developed is called Employee Management System. . EMS comprises the personal details of an employee. EMS keeps the record of employees joining date, leaving date, assets provided. It manages salary of
6
employee according to the attendance. So we have decided to investigate the use of an Employee Management System. This system would be used by HR Department of the corporation. The document also describes the non-functional requirements such as the user interfaces. It also describes the design constraints that are to be considered when the system is to be designed, and other factors necessary to provide a complete and comprehensive description of the requirements for the software.
INTRODUCTION Employee Management system is software for managing data of employees in a company.EMS comprises the personal details of an employee. EMS keeps the record of employees joining date, leaving date, assets provided. It manages salary of employee according to the attendance. So we have decided to investigate the use of an Employee Management System. This system would be used by HR Department of the corporation. The purpose of this document is to analyze and elaborate on the high-level
7
needs and features of the Employee Management System. It focuses on the capabilities and facilities provided by accompany. Asp.net is used as front end and MySql is for back end. Various functions and structures are used to make a complete use of this language. This project is well versed with the programming. Without an employee management system, it’s a tedious job for the Human Resource department of any company. The Software Requirements Specification captures all the requirements in a single document. The Employee Management System that is developed to provides the information of the employees and many other facilities. Employee Management system will store all the details of the employees.
PURPOSE The purpose of Software Requirements Specification (SRS) document is to describe the external behavior of the Employee Management System. Requirements Specification defines and describes the operations, interfaces, performance, and quality assurance requirements of the Employee Management System. The document also describes the non-functional requirements such as the user interfaces. It also describes the design constraints that are to be
8
considered when the system is to be designed, and other factors necessary to provide a complete and comprehensive description of the requirements for the software. When needed, it’ll take just a few seconds to find out the background of an employee & his/her contribution to the organization. It’ll also facilitate keeping all the records of employees, such as their date of hiring & date of leaving. So all the information about an employee will be available in a few seconds. It’ll also make it very easy to generate statistical data or custom data, like finding a certain set of employees. Overall, it’ll make Human Resource Management an easier job for the Human Resource department. Employee Information System is the database system for the any company. The Authority of the General store employees information will be used this system for the better performance of the work. This system will provide the online facilities for the employees and also for the Administrator for store their information into database. Features of the systems are:1. 2. 3. 4. 5. 6.
Form for the create employee Employees can check & update their information. Employee or administrator can see their performance. Generate the attendance for the employees. Employees can check their status. Monthly generation of the report.
2.2 Problem Statement The problem definition for the system is to launching the data maintain of employee by web pages for any company in database by fully privacy and authority access. The objective of the project is to setting up employee information system about the status of the employee and the attendance of the employee and monthly salary report of employee whole system password protected.
9
2.3 Project Description The project has been developed to fulfill the requirements of the employee information & attendance system. This system provides the admin part to create & update information and user part to see his/her information and can also update his/her profile and also system provide automatic attendance of employee & calculate annual salary according attendance. This system helps admin to know about their all information and attendance of employee. New employee can create their whole profile as personal details, professional details, education details, create login username and password and change or update his/her profile. The attendance system is based on user login user must be login one time in his/her profile. Search option also be included for Search employee by name, working date, department name. The user type only declares by admin. When the user or admin. Login the current date, user name, user first name display on the header. As I know that our records information is traditionally paper based; they are maintained on paper. And because of that paper based record authority face lots of problem and if record will misplaced then humble of problem has been occurred. So this Employee Information system will make the work of authorities bit easy. The Employee Information System includes the primary data such as employee Id and employee name to which department. The system requires only a few information about the user, which also can be easily submit by the employee and rest of the work is self-generated by the system .The monthly updating of data is generated by control system through calculating the salary and attendance .
TOOLS USED
Front end (ASP.NET): Introduction:ASP.NET is a server side scripting technology that enables scripts (embedded in web pages) to be executed by an Internet server. •
ASP.NET is a Microsoft Technology 10
• • • • • • • • • • • • •
ASP stands for Active Server Pages ASP.NET is a program that runs inside IIS IIS (Internet Information Services) is Microsoft's Internet server IIS comes as a free component with Windows servers IIS is also a part of Windows 2000 and XP Professional An ASP.NET file is just the same as an HTML file An ASP.NET file can contain HTML, XML, and scripts Scripts in an ASP.NET file are executed on the server An ASP.NET file has the file extension ".aspx" When a browser requests an HTML file, the server returns the file When a browser requests an ASP.NET file, IIS passes the request to the ASP.NET engine on the server The ASP.NET engine reads the file, line by line, and executes the scripts in the file Finally, the ASP.NET file is returned to the browser as plain HTML
Features: Master Pages Master pages allow you to create a consistent look and behavior for all the pages (or group of pages) in your web application. A master page provides a template for other pages, with shared layout and functionality. The master page defines placeholders for the content, which can be overridden by content pages. The output result is a combination of the master page and the content page. The content pages contains the content you want to display. When users request the content page, ASP.NET merges the pages to produce output that combines the layout of the master page with the content of the content page.
Back end (MY SQL): Introduction: MySQL is the world's most popular open source database software, with over 100 million copies of its software downloaded or distributed throughout its history. With its superior speed, reliability, and ease of use, MySQL has become the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom companies and forward-
11
thinking corporate IT Managers because it eliminates the major problems associated with downtime, maintenance and administration for modern, online applications. Many of the world's largest and fastest-growing organizations use MySQL to save time and money powering their high-volume Web sites, critical business systems, and packaged software — including industry leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube, Wikipedia, and Booking.com. The flagship MySQL offering is MySQL Enterprise, a comprehensive set of production-tested software, proactive monitoring tools, and premium support services available in an affordable annual subscription. MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python), the fast-growing open source enterprise software stack. More and more companies are using LAMP as an alternative to expensive proprietary software stacks because of its lower cost and freedom from platform lock-in. MySQL was originally founded and developed in Sweden by two Swedes and a Finn: David Axmark, Allan Larsson and Michael "Monty" Widenius, who had worked together since the 1980's Features: As of April 2009, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercial Enterprise Server. MySQL 5.5 is offered under the same licenses.[24] They have a common code base and include the following features: • • • • • • • • • •
A broad subset of ANSI SQL 99, as well as extensions Cross-platform support Stored procedures Triggers Cursors Updatable Views True Varchar support Information schema Strict mode[further explanation needed] X/Open XAdistributed transaction processing (DTP) support; two phase commit as part of this, using Oracle's InnoDB engine
12
•
• • • • •
• • • • • • •
Independent storage engines (MyISAM for read speed, InnoDB for transactions and referential integrity, MySQL Archive for storing historical data in little space) Transactions with the InnoDB, and Cluster storage engines; savepoints with InnoDB SSL support Query caching Sub-SELECTs (i.e. nested SELECTs) Replication support (i.e. Master-Master Replication & Master-Slave Replication) with one master per slave, many slaves per master, no automatic support for multiple masters per slave. Full-text indexing and searching using MyISAM engine Embedded database library Partial Unicode support (UTF-8 and UCS-2 encoded strings are limited to the BMP) ACID compliance when using transaction capable storage engines (InnoDB and Cluster)[25] Partititoned tables with pruning of partitions in optimiser Shared-nothing clustering through MySQL Cluster Hot backup (via mysqlhotcopy) under certain conditions[26]
The developers release monthly versions of the MySQL Server. The sources can be obtained from MySQL's web site or from MySQL's Bazaar repository, both under the GPL license. Distinguish feature: MySQL implements the following features, which some other RDBMS systems may not: •
•
•
Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time): Native storage engines (MyISAM, Falcon, Merge, Memory (heap), Federated, Archive, CSV, Blackhole, Cluster, EXAMPLE, Maria, and InnoDB, which was made the default as of 5.5) Partner-developed storage engines (solidDB, NitroEDB, Infobright (formerly Brighthouse), Kickfire, XtraDB, IBM DB2).[27]InnoDB used to be a partnerdeveloped storage engine, but with recent acquisitions, Oracle now owns both MySQL core and InnoDB.
13
• • •
Community-developed storage engines (memcache engine, https, PBXT, Revision Engine) Custom storage engines Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second.
LIFE CYCLE MODEL
WATERFALL MODEL
14
The waterfall model is the simplest process model which has dominated software development for a number of years. The waterfall model is an engineering model, designed to be applied to the development of the software products. The software development starts from the system level and develops step-by-step through the various phases. The main criterion behind it is that such steps are to be followed consecutively. Each step is itself made up of more detailed activities and produces an output which becomes the input of the next step and so on. The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.
15
Advantage: • The model has well-defined phases with well-defined outputs. • It recognizes the sequence of software engineering activities that shall result in a software product.
16
Disadvantage: • Generally, users don’t use this model because it takes time. • It is quite difficult to mention all the requirements at the beginning stage. • The customer must have patience because the model goes sequentially through phases. • Developers have very little interaction with the users. • This model is essentially inflexible because it assumes that software creation activities can be compartmentalized. PROJECT OBJECTIVE AND OUTLINES
“Employment Management System” is intended to help the administrator and employee to register complete detail of employee. The complete detail of them could be managed in form of transition tables. This software is meant to delineate the features of EMS, so as to serve as a guide to the developers on one hand and a software validation document for the prospective client on the other. Keeping in view the requirements of the application, the basic objective is to devise a system which incorporates the following features:
Storage of Data: It should be able to store data at one place in an efficient effective style. This enables the user to access data easily. Through which the data could be extracted easily whenever needed.
17
Maintaining Records: The Database must be maintained in a proper order hence there should not occur any kind of error in any kind of data. User Friendliness: The system and specially the database should be very much user friendly so that whenever we are supposed to extract any kind of data the system could respond us in a very appropriate way.
Usability: Admin should be able to enter and view the complete database of all the complaints and the customers at any time through Graphical User Interface.
Reliability: The failure of the system must be very less and the output of any operation must remain always same. And the Database also should not get crashed.
Security: The system must be secured by using a specific Login ID and password so that none of the external user could enter the system and hence the Database remains confidential.
Modifiability: The system should be very extensible that it should be able to become real time and it should be implemented in a type safe language with modern programming principles and practices and should be as extensible and modifiable as possible.
18
Portability: The system will be provided to the various Hardware platforms. It needs to run on including Linux, Windows and MacOS. The system should be easily portable to PalmOS.
19
FEASIBILITYSTUDY Feasibility studies aim to objectively and rationally uncover the strengths and weaknesses of the existing business or proposed venture, opportunities and threats as presented by the environment, the resources required to carry through, and ultimately the prospects for success. In its simplest term, the two criteria to judge feasibility are cost required and value to be attained. As such, a well-designed feasibility study should provide a historical background of the business or project, description of the product or service, accounting statements, details of the operations and management, marketing research and policies, financial data, legal requirements and tax obligations. Generally, feasibility studies precede technical development and project implementation.
PLATFORM REQUIREMENTS: HARDWARE REQUIRED: 1. Minimum 500 MHz Processor, RAM 64 MB machine. 2. One high density CD-ROM. 3. One Hard-Disk. (50MB require space) 4. A Printer for printing the reports. 5. A Mouse. 6. A CGA Monitor. 7. A Keyboard for data entry.
SOFTWARE REQUIRED:
1. Windows 2000/XP/7 Operating System. 2. Sql Server 2005.
20
ECONOMICFEASIBILITY(Cost Benefit Analysis): The system that can be developed must be profitable for the organization. The primary objective of cost benefit analysis is to find out whether the proposed system is worthwhile to invest in. Financial benefits must be equal to or greater than the costs. If the returns on the investment are good then the project is considered economically worthwhile. Cost benefit analysis should be done before preparing the proposed system. First, all the cost associated with the proposed project should be evaluated. Conceptually, the cost of project represents all the items of outlay associated with the project which are long term funds. TECHNICAL FEASIBILITY: Technical feasible system is always accurate, reliable, and secure so that this feasibility is a most required feature of a system. The developed system is technically sound. It can work on simple personal computer its hardware and software requirement and produce output within a given limited time. It has ability to process small volume of orders at speed and provide a great friendly environment to user.
21
SHORT DESCRIPTION OF PROJECT Introduction: This project deals with the system in which administrator can have records of all the complaints related to electric faults registered at Vidyut Vitran Nigam Ltd. and then admin can handover the complaint to respective source master and grievance officer who will take the required action to sort out the problem. 1.
1.1Purpose: Employee Management System (EMS) is intended to help the administrator to keep account of all the employee details so that admin can keep a well maintained record of employee and can update accordingly. With the help of EMS it will become easier to handle employee management.
1.2 Scope: The basic scope or we could say that the actual boundary of Employee Management System (EMS) is to manage the employee detail in such a way that there should not occur any kind of trouble for Administrator to sort out the problem regarding employee management.
22
1.3 Glossary: EMS
Employee Management System
SRS
Software Specification Requirement A document that completely describes all of the functions of a proposed system and the constraints under which it must operate. For example, this document.
WWW
World Wide Web
GUI
Graphical User Interface
S/W
Software
H/W
Hardware
Sys
System
Field
A cell within the Form.
Customer
Who registered the complain
Database
Collection of all the information monitored by this system.
1.4 Overview: The rest of this SRS is organized as follows: Section: 2 give an overall description of the software. It explains some general constraints while making the software and some assumptions and dependencies that are assumed. . It describes the informal requirements and is used to establish a context for the technical requirements specification in the next chapter. Section: 3 gives specific requirements which the software is expected to deliver. Some external requirements and design constraints are also given. And at last Section: 4 gives some possible future extensions of the system.
23
2.
Overall Description:
2.1 Product Perspective: The Grievance Registration System (GRS) assumes control over the complete database of all the complaints of any electricity department in a specific order. It helps the Electricity Department of any city to manage the complete information of all the complaints as well as the customers. And hence a cost of maintenance of the complete database reduced in terms of money and men power. It also reduces the time complexity to manage and arrange the whole database. And with the help of this product the user can easily arrange the complete database in any specific format by running any queries on MS Access 2007.
2.2 System context: • The GRS is located at central Electricity Department of any city and keeps tracks of the complete information of each and every complaint of customers. The database is supposed to be arranged in complaint type order. •
A convenient GUI (Graphical User Interface) will provide users with the ability to quickly enter the detail of any complaint and to check the status of the complaint.
•
To maintain the current level of the Grievance Registration System (GRS) the system will be provided with easy to use ways of entering the complaint detail such as complaint type, application date, applicant name, address, phone no., briefing of complaint etc.
•
A database of records reflecting complete detail of each and every complaint will be automatically maintained.
24
2.3 User Characteristics: Administrator should know all the key items of the system and he must understand all the points or objectives of the system. It is assumed that all the entries in the system are happening under the supervision of the administrator.
2.4 System Constraints and Assumptions: • The GRS assumes that all the users are familiar with windows and can perform the work of data insertion easily along with all the basic operations those which are supposed to be perform on any database.
3.
•
In GRS, there we have only the data of the complaints, all in same order and format.
•
The GRS will require some occasional supervision of a trained administrator to verify its correctness upon the system update.
Specific Requirements: 3.1 Functional Requirements: 3.1.1 External Interfaces: If any source master wants to update his/her database than it is mandatory that it should not happen without the permission of administrator. 3.2 Logical Database Requirement: The Database must be logical and hence it could response to the user in appropriate manner through which all the details of any particular complaint could be checked out easily.
3.3 Modifying the Database: • Whenever any type of complaint is get registered, it should get updated into the database.
25
•
The details of complaint, customer and action taken must be shown in the database.
3.4 Software System Attributes: 3.4.1
Usability: User (Administrator / Officers) should be able to enter and view the complete database of all the complaints at any time through Graphical User Interface.
3.4.2
Reliability: The failure of the system must be very less and the output of any operation must remain always same. And the Database also should not get crashed.
3.4.3
Security: The system must be secured by using a specific Login ID and password so that none of the external user could enter the system and hence the Database remains confidential.
3.4.4
Modifiability: The system should be very extensible that it should be able to become real time and it should be implemented in a type safe language with modern programming principles and practices and should be as extensible and modifiable as possible.
3.4.5
Portability: The system will be provided to the various Hardware platforms. It needs to run on including Linux, Windows and MacOS. The system should be easily portable to PalmOS.
26
Database Design Table1: Login Info:
FIELD NAME User Name
FIELD TYPE VARCHAR
REMARKS NOT NULL
Password
VARCHAR
NOT NULL
Employee ID
VARCHAR
NOT NULL
Theme Name
VARCHAR
NOT NULL
27
Table2: Employee:
FIELD NAME Emp ID First Name Last Name Salary Dept ID Phone No. Mobile No. Address Image path
FIELD TYPE
REMARKS
NUMBER
NOT NULL
VARCHAR
NOT NULL
VARCHAR
NOT NULL
NUMBER
NOT NULL
NUMBER
NOT NULL
NUMBER
NOT NULL
NUMBER
NOT NULL
VARCHAR
NOT NULL
VARCHAR
NOT NULL
Table3: Employee Attendance:
28
FIELD NAME Date Attendance
FIELD TYPE DATE VARCHAR
REMARKS NOT NULL NOT NULL
Table4: Department:
FIELD NAME Dept ID Dept Name
FIELD TYPE
REMARKS
NUMBER
NOTNULL
VARCHAR
NOTNULL
29
Functional decomposition diagram: Diagram1:
30
Diagram2: DFD:
31
Diagram3: Level 1 DFD:
32
SYSTEM ANALYSIS System Analysis is the process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvements to the system. The system analysis performs this job. Analysis specifies what the system should do. It is about understanding situations, not solving problems. The system development life cycle method is generally used to determine the appropriate information. System analysis can also be said to be fact finding followed by analysis of the fact. One aspect of analysis is defining the boundaries of the system and determining whether or not a candidate should consider other related systems. Data are collected on the available files, decision points and transactions handled by the present system. Tools used are data flow diagrams, interviews, on-site observations, questionnaires, etc. SYSTEM DEVELOPMENT STRATEGIES Computer Information systems serve many purposes to make decisions. In some instances, the factors to be considered for decision making can be determined in a sequential fashion. The sequential approach to the development of computer information systems is: • System Development Life Cycle Method (SDLC). SDLC Method: The SDLC method is classically the set of activities that analysts, designers and users carryout to develop and implement an information system. The six activities that make up the SDLC are briefly examined below:
1. PRELIMINARY INVESTIGATION:This is the first system activity. It begins whenever a request to receive assistance from the information system is made. It has three parts.
33
a. REQUEST CLARIFICATION: Before any system investigation is started, the project request must be examined to determine precisely what the originator wants. b. FEASIBILITY STUDY: This phase determines whether or not the project requested is feasible. Three aspects considered which are: • Technical Feasibility: Can the project be fulfilled with the current or new available data technology?
• Economic Feasibility: Are the costs and benefits balanced?
• Operational Feasibility: Will the system be supported by users or not? c. REQUEST APPROVAL: Any organization will approve only those projects, which are both desirable and feasible. 2. DETERMINATION OF SYSTEM REQUIREMENTS:At the heart of system analysis is a detailed understanding of the all-important facts of business under investigation. For the same, some key questions have to be asked. Questionnaires, interviews, study of manuals, reports, observations, sample collection, etc. are used to collect these answers. As the answers are collected the analysts studies the requirements and the data to identify the features needed to accomplish the next step i.e. the system design. 3. DESIGN OF SYSTEM: The design of an information system provides the details that state how a system will meet the requirements identified during system analysis. This is often referred to as logical design. It describes data to be input, to be calculated or stored. Designers select file structures and storage devices, such as magnetic disks, tapes and even paper files. The design specifications are documented in charts, tables and special symbols. The detailed design is passed on to the programming staff to develop software. This can be done through DFD’s (Data Flow Diagrams) and ERD’s (Entity Relationship Diagrams).
34
Snap Shots: 1. Login Page
35
2. Admin Page
36
3.New Employee
37
4. Departments
38
5. Master Page
39
6. View Employee Details
40
TESTING TESTING OBJECTIVES: • Testing is a process of executing a program with the intent of finding an error.
• A good test case is one that has a high probability of finding an as-yetundiscovered error.
•
A successful test is one that uncovers an as-yet-undiscovered error.
TESTING PRINCIPLES: • All tests should be traceable to customer requirements.
• Tests should be planned long before testing begins. Testing should begin “in the small” and progress toward testing “in the large”.
• Exhaustive testing is not possible.
• To be most effective, testing should be conducted by an independent third party.
METODOLOGY USED FOR TESTING: WHITE BOX TESTING: It is a test case design method that uses the control structure of the procedural design to derive test case. We have used White box testing method in all our modules. • Checked that all the loops are working in their operational bounds. 41
• The data types of the variables have been checked and there is no mismatch in data type i.e. suppose ‘ans’ is variable whose data type is string then it is storing text data only not the numeric or integer data. •
All the independent paths within a module have been exercised at least once. Example: if there are some statements written after If-then-else condition then they all will be executed once in a module but the statements written in If-else block will be executed only when the condition is met. CONDITION TESTING: It is a test case design method that exercise the logical conditions contained in a program module. A simple condition is a Boolean variable or a relational expression, possibly preceded with one NOT (~) operator. If a condition is incorrect, then at least one component of the condition is incorrect.
LOOP TESTING: Loop testing is a white box testing technique that focuses exclusively on the validity of loop constructs. Four different classes of loops can be defined:
1. Simple Loops: The following set of tests can be applied to simple loops, where n is the maximum number of allowable passes through the loop. • Skip the loop entirely.
•
Only one passes through the loop.
• Two passes through the loop.
• m passes through the loop where m Admin Home New Employee
47
Departments Masters View Employee Details Logout © 2011. All Right Reserved. Made By Shakti Singh, Ramchandra Yadav, Palwinder Singh, Lalit Singh
Adminmasterpage.master.cs using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls;
publicpartialclassAdmin_AdminMasterPage : System.Web.UI.MasterPage { protectedvoid Page_Load(object sender, EventArgs e) { } protectedvoid lnkLogout_Click(object sender, EventArgs e) { }
}
Login.aspx Employee Management System
48
.style1 { width: 100%; } Login Here User Name : Password : © 2011. All Right Reserved. Made By Rakesh Tiwari, Rahul Mutneja, Hitesh Sharma, Megha Goyal
49
Login.aspx.cs using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls;
publicpartialclassLogin : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { } protectedvoid btnLogin_Click(object sender, EventArgs e) { } }
NewEmployee.aspx < %@PageTitle=""Language="C#"MasterPageFile="~/Admin/AdminMasterPage.master"AutoEventWire up="true" CodeFile="NewEmployee.aspx.cs"Inherits="Admin_NewEmployee"%> New Employee Registration First Name : Mobile : Last Name :
50
Salary : Email Id : Phone : Image : Address : Department : User Name : Password : Confirm Password:
51
NewEmployee.aspx.cs #region using using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BusinessLogicLayer; #endregion publicpartialclassAdmin_NewEmployee : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DepartmentBLL objDeptBLL = newDepartmentBLL(); ddlDepartment.DataSource = objDeptBLL.SelectAllDepartment(); ddlDepartment.DataTextField = "DeptName"; ddlDepartment.DataValueField = "DeptId"; ddlDepartment.DataBind(); ddlDepartment.Items.Insert(0, "-Select Department-"); } } protectedvoid btnSave_Click(object sender, EventArgs e) { LoginInfoBLL objLoginInfoBLL = newLoginInfoBLL(); objLoginInfoBLL.UserName=txtUserName.Text; if (objLoginInfoBLL.CheckUserExistance() == 0) { #region code for inserting the employee and login info when user name is avaiaable. EmployeeBLL objEmpBLL = newEmployeeBLL(); objEmpBLL.Address = txtAddress.Text; objEmpBLL.DeptId = Convert.ToInt32(ddlDepartment.SelectedValue); objEmpBLL.EmailId = txtEmailId.Text; objEmpBLL.FirstName = txtFristName.Text; if (FileUploadImage.HasFile) { if (CheckExtension(FileUploadImage.FileName)) {
52
string path =Request.PhysicalApplicationPath+"EmpImages"; path = path + "\\" + FileUploadImage.FileName; FileUploadImage.SaveAs(path); objEmpBLL.ImagePath = "~\\EmpImages\\" + FileUploadImage.FileName; } } objEmpBLL.LastName = txtLastName.Text; objEmpBLL.Mobile = txtMobile.Text; objEmpBLL.Phone = txtPhone.Text; objEmpBLL.Salary = Convert.ToDecimal(txtSalary.Text); if (objEmpBLL.InsertEmployee() > 0) { objLoginInfoBLL.Pwd = txtPwd.Text; objLoginInfoBLL.ThemeName = "FirstSkinFile"; if (objLoginInfoBLL.InsertLoginInfo() > 0) { string str = "alert('Saved Successfully.');"; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "keyprompt", str, true); }
}
} #endregion
else
{ string str = "alert('User Name already Exists.');"; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "keyprompt", str, true); } } privatebool CheckExtension(string fileName) { string ext = System.IO.Path.GetExtension(fileName); switch (ext) { case".jpg": returntrue; case".jpeg": returntrue; case".gif": returntrue; case".png": returntrue; default: returnfalse; } } }
DataList.aspx < %@PageTitle=""Language="C#"MasterPageFile="~/Admin/AdminMasterPage.master"AutoEventWire up="true"CodeFile="DataList.aspx.cs"Inherits="Admin_DataList"%>
53
Employee Id : Mobile : First Name : Phone : Last Name : Email Id : Address : Salary :
54
Department : Update Cancel Employee Id : Mobile : First Name : Phone : Last Name :
55
Email Id : Address : Salary : Department : Edit
DataList.aspx.cs using using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls; BusinessLogicLayer;
publicpartialclassAdmin_DataList : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindDataList(); }
56
} privatevoid BindDataList() { EmployeeBLL objEmployeeBLL = newEmployeeBLL(); DataList1.DataSource = objEmployeeBLL.SelectAllEmployee(); DataList1.DataBind(); } }
Defaultadmin.aspx < %@PageTitle=""Language="C#"MasterPageFile="~/Admin/AdminMasterPage.master"AutoEventWire up="true"CodeFile="DefaultAdmin.aspx.cs"Inherits="Admin_DefaultAdmin"%> Welome to Admin Section of the Employee Management System This is complete online application to maintain the details of Employees of the Company.
Defaultadmin.aspx.cs using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls;
publicpartialclassAdmin_DefaultAdmin : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { } }
Departments.aspx < %@PageTitle=""Language="C#"MasterPageFile="~/Admin/AdminMasterPage.master"AutoEventWire up="true" CodeFile="Departments.aspx.cs"Inherits="Admin_Departments"%>
57
New Department Department Name : Select Department :
Departments.aspx.cs using using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls; BusinessLogicLayer;
publicpartialclassAdmin_Departments : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DepartmentBLL objDepartmentBLL = newDepartmentBLL(); ddlDept.DataSource = objDepartmentBLL.SelectAllDepartment(); ddlDept.DataTextField = "DeptName"; ddlDept.DataValueField = "DeptId"; ddlDept.DataBind(); ddlDept.Items.Insert(0, "-Select Department-"); } } protectedvoid btnSave_Click(object sender, EventArgs e) { DepartmentBLL objDepartmentBLL = newDepartmentBLL(); objDepartmentBLL.DeptName = txtDeptName.Text; if (objDepartmentBLL.InsertDepartment() > 0) {
58
string str = "alert('Saved Successfully.');"; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "keyprompt", str, true); txtDeptName.Text = ""; txtDeptName.Focus(); } } }
DetailViewStudy.aspx < %@PageTitle=""Language="C#"MasterPageFile="~/Admin/AdminMasterPage.master"AutoEventWire up="true"CodeFile="DetailViewStudy.aspx.cs"Inherits="Admin_DetailViewStudy"%>
DetailViewStudy.aspx.cs using using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls; BusinessLogicLayer;
publicpartialclassAdmin_DetailViewStudy : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindDetailView(); } } privatevoid BindDetailView() { EmployeeBLL objEmployeeBLL = newEmployeeBLL(); DetailsView1.DataSource = objEmployeeBLL.SelectAllEmployee(); DetailsView1.DataBind(); } protectedvoid DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e) {
59
DetailsView1.PageIndex = e.NewPageIndex; BindDetailView(); } protectedvoid DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e) { EmployeeBLL objEmpBLL = newEmployeeBLL(); objEmpBLL.EmpId = Convert.ToInt32(DetailsView1.DataKey["EmpId"].ToString()); if (objEmpBLL.DeleteEmployee() > 0) { BindDetailView(); } } protectedvoid DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e) { DetailsView1.ChangeMode(e.NewMode); BindDetailView(); } }
GridViewStudy.aspx < %@PageTitle=""Language="C#"MasterPageFile="~/Admin/AdminMasterPage.master"AutoEventWire up="true"CodeFile="GridViewStudy.aspx.cs"Inherits="Admin_GridViewStudy"%>
60
61
Employee Id : Mobile : First Name : Phone : Last Name :
62
Email Id : Address : Salary : Department : Update Cancel Employee Id : Mobile :
63
First Name : Phone : Last Name : Email Id : Address : Salary : Department : Edit
64
GridViewStudy.aspx.cs using using using using using using using using
System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls; BusinessLogicLayer; System.Data;
publicpartialclassAdmin_GridViewStudy : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGrid(); } } privatevoid BindGrid() { EmployeeBLL objEmployeeBLL = newEmployeeBLL(); GridView1.DataSource = objEmployeeBLL.SelectAllEmployee(); GridView1.DataBind(); } protectedvoid GridView1_Sorting(object sender, GridViewSortEventArgs e) { if (string.IsNullOrEmpty(HiddenField1.Value)) { HiddenField1.Value = "ASC"; } else { if (HiddenField1.Value == "ASC") { HiddenField1.Value = "DESC"; } else { HiddenField1.Value = "ASC"; } } BindGrid(HiddenField1.Value, e.SortExpression); } privatevoid BindGrid(string sortOrder,string sortExp)
65
{ EmployeeBLL objEmployeeBLL = newEmployeeBLL(); DataView dv=newDataView(objEmployeeBLL.SelectAllEmployee().Tables[0]); dv.Sort = sortExp + " " + sortOrder; GridView1.DataSource = dv; GridView1.DataBind(); } protectedvoid GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; BindGrid(); } protectedvoid GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { EmployeeBLL objEmpBLL = newEmployeeBLL(); objEmpBLL.EmpId = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value); if (objEmpBLL.DeleteEmployee() > 0) { BindGrid(); } } protectedvoid GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { EmployeeBLL objEmpBLL = newEmployeeBLL(); objEmpBLL.EmpId=Convert.ToInt32(GridView1.DataKeys[e.NewSelectedIndex].Value); DetailsView1.DataSource = objEmpBLL.SelectEmployeeByEmpId(); DetailsView1.DataBind(); } protectedvoid GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; BindGrid(); } protectedvoid GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; BindGrid(); } protectedvoid GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { EmployeeBLL objEmpBLL = newEmployeeBLL(); objEmpBLL.Address = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtAddress")).Text; DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlDepartment"); if (ddl != null) { objEmpBLL.DeptId = Convert.ToInt32(ddl.SelectedValue.ToString()); } objEmpBLL.EmailId = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEmailId")).Text; objEmpBLL.FirstName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtFirstName")).Text; FileUpload file=(FileUpload)GridView1.Rows[e.RowIndex].FindControl("FileUpload1"); if (file != null) { if (file.HasFile) { if (CheckExtension(file.FileName)) { string path = Request.PhysicalApplicationPath + "EmpImages";
66
path = path + "\\" + file.FileName; file.SaveAs(path); objEmpBLL.ImagePath = "~\\EmpImages\\" + file.FileName; } } else { Image img = (Image)GridView1.Rows[e.RowIndex].FindControl("imgEmpEdit"); objEmpBLL.ImagePath = img.ImageUrl; } } objEmpBLL.LastName = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtLastName")).Text; objEmpBLL.Mobile = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMobile")).Text; objEmpBLL.Phone = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtPhone")).Text; objEmpBLL.Salary = Convert.ToDecimal(((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtSalary")).Text); objEmpBLL.EmpId=Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString()); if (objEmpBLL.UpdateEmployee() > 0) { GridView1.EditIndex = -1; BindGrid(); } } protectedvoid GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddl = (DropDownList)e.Row.FindControl("ddlDepartment"); if (ddl != null) { DepartmentBLL objDeptBLL = newDepartmentBLL(); ddl.DataSource = objDeptBLL.SelectAllDepartment(); ddl.DataTextField = "DeptName"; ddl.DataValueField = "DeptId"; ddl.DataBind(); ddl.Items.Insert(0, "-Select Department-"); DataRowView drv = (DataRowView)e.Row.DataItem; ddl.SelectedValue = drv["DeptId"].ToString(); } } } privatebool CheckExtension(string fileName) { string ext = System.IO.Path.GetExtension(fileName); switch (ext) { case".jpg": returntrue; case".jpeg": returntrue; case".gif": returntrue; case".png": returntrue; default: returnfalse; } } protectedvoid GridView2_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow)
67
{ #region code for attaching attribute with link edit LinkButton lnk = (LinkButton)e.Row.FindControl("lnkEdit"); if (lnk != null) { lnk.Attributes.Add("rowid", e.Row.RowIndex.ToString()); } #endregion #region code for attaching attribute with link update LinkButton lnkUpdate = (LinkButton)e.Row.FindControl("lnkUpdate"); if (lnkUpdate != null) { lnkUpdate.Attributes.Add("rowid", e.Row.RowIndex.ToString()); } #endregion #region code for filling department ddl DropDownList ddl = (DropDownList)e.Row.FindControl("ddlDepartment"); if (ddl != null) { DepartmentBLL objDeptBLL = newDepartmentBLL(); ddl.DataSource = objDeptBLL.SelectAllDepartment(); ddl.DataTextField = "DeptName"; ddl.DataValueField = "DeptId"; ddl.DataBind(); ddl.Items.Insert(0, "-Select Department-"); DataRowView drv = (DataRowView)e.Row.DataItem; ddl.SelectedValue = drv["DeptId"].ToString(); } #endregion } } protectedvoid lnkEdit_Click(object sender, EventArgs e) { int rowid=Convert.ToInt32(((LinkButton)sender).Attributes["rowid"].ToString()); GridView2.EditIndex = rowid; BindGrid(); } protectedvoid lnkCancel_Click(object sender, EventArgs e) { GridView2.EditIndex = -1; BindGrid(); } protectedvoid lnkUpdate_Click(object sender, EventArgs e) { int rowid = Convert.ToInt32(((LinkButton)sender).Attributes["rowid"].ToString()); EmployeeBLL objEmpBLL = newEmployeeBLL(); objEmpBLL.Address = ((TextBox)GridView2.Rows[rowid].FindControl("txtAddress")).Text; DropDownList ddl = (DropDownList)GridView2.Rows[rowid].FindControl("ddlDepartment"); if (ddl != null) { objEmpBLL.DeptId = Convert.ToInt32(ddl.SelectedValue.ToString()); } objEmpBLL.EmailId = ((TextBox)GridView2.Rows[rowid].FindControl("txtEmailId")).Text; objEmpBLL.FirstName = ((TextBox)GridView2.Rows[rowid].FindControl("txtFirstName")).Text;
68
FileUpload file = (FileUpload)GridView2.Rows[rowid].FindControl("FileUpload2"); if (file != null) { if (file.HasFile) { if (CheckExtension(file.FileName)) { string path = Request.PhysicalApplicationPath + "EmpImages"; path = path + "\\" + file.FileName; file.SaveAs(path); objEmpBLL.ImagePath = "~\\EmpImages\\" + file.FileName; } } else { Image img = (Image)GridView2.Rows[rowid].FindControl("imgEmpEdit"); objEmpBLL.ImagePath = img.ImageUrl; } } objEmpBLL.LastName = ((TextBox)GridView2.Rows[rowid].FindControl("txtLastName")).Text; objEmpBLL.Mobile = ((TextBox)GridView2.Rows[rowid].FindControl("txtMobile")).Text; objEmpBLL.Phone = ((TextBox)GridView2.Rows[rowid].FindControl("txtPhone")).Text; objEmpBLL.Salary = Convert.ToDecimal(((TextBox)GridView2.Rows[rowid].FindControl("txtSalary")).Text); objEmpBLL.EmpId = Convert.ToInt32(GridView2.DataKeys[rowid].Value.ToString()); if (objEmpBLL.UpdateEmployee() > 0) { GridView2.EditIndex = -1; BindGrid(); } } protectedvoid GridView2_SelectedIndexChanged(object sender, EventArgs e) { } }
69
View more...
Comments