You are on page 1of 50

CHAPTER-1

INTRODUCTION
Staff Management system is an application that enables users to create and store Employee
Records. The application also provides facilities of a payroll system which enables user to
generate Pay slips too. This application is helpful to department of the organization which
maintains data of employees related to an organization. The use of paper work in handling
some of these processes could lead to human error, papers may end up in the wrong hands
and not forgetting the fact that this is time consuming. This system will maintain employee
information in a database by fully privacy and authority access.

ASP.Net is a Framework. It created applications can be used on a standalone machine as well


as on distributed network. More over applications developed in asp.net can be extended to
Internet based applications.

Thus asp.net was chosen as background to design this application.

1
CHAPTER-2

OBJECTIVE AND SCOPE

In this world of growing technologies everything has been computerized. With large number of
work opportunities the Human workforce has increased. Thus, there is a need of a system which
can handle the data of such a large number of Employees in an organization. This project
simplifies the task of maintain records because of its user-friendly nature.

The objective of this project is to provide a comprehensive approach towards the management of
employee information.

The objectives of this system include:

 Well-designed database to store employee information.


 A user friendly front-end for the user to interact with the system.

2
CHAPTER-3

SYSTEM SPECIFICATIONS

Software Engineers have been trying various tools, methods and procedures to control the
process of software development in order to build high quality software with high productivity.
This method provides “how it is” for building the software while the tools provide automated or
semi automated support for the methods. They are used in all stages of software development
process, namely, planning, analysis, design, development and maintenance. The software
development procedure integrates the methods and tools together and enables rational and timely
development of the software system.

Software Development

Procedures

Methods

Tools

3.1. REQIUREMENT ANALYSIS:

They provide the guidelines as how to apply these methods and tools, how to produce the
deliverable at each stage, what controls to apply, and what milestones to use to assess the
performance of the program. There exist a number of software development paradigms each
using a different set of methods and tools. The selection of a particular paradigm depends on the
nature of application of the programming language used for the controls and the deliverables
required. The development of such successful systems depends not only on the use of appropriate
methods and techniques but also the developers’ commitment to the objective of the system.

3
A successful system must: -
1. Satisfy the user requirements
2. Be easy to understand by user and operator
3. Be easy to operate
4. Have a good user interface
5. Be easy to modify
6. Be expandable
7. Have adequate security control against the misuse of data
8. Handle the errors and exceptions satisfactorily
9. Be delivered on schedule within the budget

4
SOFTWARE LIFE CYCLE MODEL

The series of stages depicting the various tasks involved in development process is called
Software Life Cycle Model. The model implemented by us is Waterfall Model, which is most
widely used in procedure-oriented development. This model attempts to break up the identifiable
activities into series of actions, each of which must be completed before the next begins. The
activities include problem definition, requirement analysis, design, coding, testing, maintenance.
Further refinements to this model include iteration back to previous stages in order to incorporate
any changes or missing links.

The phases and the outputs of the waterfall model at each phase are summarized below in
tabular format.

PHASE
OUTPUT
Problem Description Feasibility Report

Analysis SRS

Design Detailed Design Report

Coding Complete Source Code

Testing Test plan, report and manual

Installation Installation Report

5
Problem
Definition

Analysis

Design

Coding

Testing

3.1.2. ITERATIVE WATERFALL MODEL Maintenance

Software development life cycle process specifies a method of developing the software. Each
software development projects starts with some needs and ends with some software that satisfies
those needs. A software development life cycle specifies the set of activities that should be
preformed to go from user needs to final products. There are different models of SDLC process
and each model specifies the activities and the order in which they should be preformed.
Depending on the nature of project, a suitable model is chosen and the entire process of software
requirement analysis, design, coding, testing and maintenance is preformed accordingly.
Various life cycle models are present, but our system is based on WATER FALL
MODEL, which is most widely used in procedure oriented development. This model attempts to
break up the identifiable activities into series of action, each of which must be completed before
the next begins. The activities include Problem definition, Requirement Analysis, Design,
Coding, Testing and maintenance.
An initial investigation culminates in a proposal that determines whether a system is
feasible or not. It determines its workability, impact on the organization, ability to meet user
needs, and effective user resources. The objective of feasibility study is not solve the problem but
to acquire a sense of its scope. During the study, the problem definition is crystallized and
aspects of the problem to be included in the system are determined. Consequently, cost and
benefits are estimated with greater accuracy at this stage. This is a bridge in between the User
Requirements and the output that he can avail under a set of given constraints, inputs and
outputs.

6
3.2 SOFTWARE REQUIREMENT SPECIFICATION (SRS)

The aim of the system is to develop “STAFF MANAGEMENT” software, which should
automate the process to create and store employee details. The system is supposed to be used as a
subsystem in a large office system, which could be manual system or a computerized one.
Therefore, the proposed system must be able to function under both circumstances.

The proposed system is not a freeware and due to the usage of swings, becomes user
interactive.
 The project demands a page of employee details that include:
 Employees personal detail.
 Employees salary, allowances, deductions.

7
3.3 HARDWARE AND SOFTWARE REQUIREMENTS

Hardware Requirements:

 MEMORY SPACE:
Minimum - 32 MB
Recommended- - 64 MB

 HDD - To install the software at least 2 GB and the data storage is


depending upon the organizational setup.

 PROCESSOR - Intel Core i3 5th generation, 1GHZ or above

 RAM - 256MB or above

 VIDEO - 1024x768, 24-bit colors

 KEYBOARD - Standard 104 Keys (QWERTY)

8
Software Requirements

 OPERATING SYSTEM - Windows XP Professional

 DEVELOPING LANGUAGE - ASP.NET and C#

 DATABASE - SQL SERVER

9
CHAPTER-4

TOOLS, PLATFORM AND LANGUAGE USED


FRONT END:

The programming has been done using the language Asp.net. It is Sun Microsystem’s strategic
language for platform independent programming. It is easy to use, efficient and flexible. This
language is preferred because one can build a program using this object oriented and platform
independent programming with less effort than with any other programming language. It’s a
natural language for building database applications, owing to the level and sophistication of the
tools included with the language.

BACK END:
Sql Server is one of the leading database management systems available on the market today. It
is easy to use and administer, and it comes with tools and wizards that make it easy to develop
applications. The database itself has been redesigned to automatically perform many tuning
functions, leaving you free to focus on most important tasks.

PLATFORM USED:
The Accounts Automation System is targeted at Microsoft Windows platforms.

WINDOWS XP PROFESSIONAL
Windows (Operating System)

a) Window derived from its name from the on-screen “WINDOWS” that it used to
display information’s.
b)
c) Windows XP Professional is a multi-user operating system. It has been designed and
developed by Microsoft Co-operation.

d) When a computer is switch on for working, it needs the operating system because all
the activities of a system are supervised by the operating system.

The features of the operating system are: -

1. Provides an interactive environment.

2. Graphical user interfaces.

10
i. The Commands are displayed on the screen and we don’t have to remember
all commands.
ii. GUI makes it easy to work with disks and directories. It can display tree
like diagram of directories, directories sub-0 directories on hard disk.

3. Point and Click.


4. User friendly.

LANGUAGE USED – ASP.NET

Main Components of .NET Framework

Common Language Runtime(CLR):

CLR is the basic and Virtual Machine component of the .NET Framework. It is the run-time
environment in the .NET Framework that runs the codes and helps in making the development
process easier by providing the various services such as remoting, thread management, type-
safety, memory management, robustness etc.. Basically, it is responsible for managing the
execution of .NET programs regardless of any .NET programming language. It also helps in the
management of code, as code that targets the runtime is known as the Managed Code and code
doesn’t target to runtime is known as Unmanaged code.

Framework Class Library(FCL):

It is the collection of reusable, object-oriented class libraries and methods etc that can be
integrated with CLR. Also called the Assemblies. It is just like the header files in C/C++ and
packages in the java. Installing .NET framework basically is the installation of CLR and FCL
into the system. Below is the overview of .NET Framework.

ASP.NET:

ASP.NET is a web development platform, which provides a programming model, a


comprehensive software infrastructure and various services required to build up robust web
applications for PC, as well as mobile devices.
ASP.NET works on top of the HTTP protocol, and uses the HTTP commands and policies to set
a browser-to-server bilateral communication and cooperation.
ASP.NET is a part of Microsoft .Net platform. ASP.NET applications are compiled codes, written
using the extensible and reusable components or objects present in .Net framework. These codes
can use the entire hierarchy of classes in .Net framework.
The ASP.NET application codes can be written in any of the following languages:

11
• C#
• Visual Basic.Net
ASP.NET is used to produce interactive, data-driven web applications over the internet. It
consists of a large number of controls such as text boxes, buttons, and labels for assembling,
configuring, and manipulating code to create HTML pages.
ASP.NET Web Forms Model
ASP.NET web forms extend the event-driven model of interaction to the web applications. The
browser submits a web form to the web server and the server returns a full markup page or
HTML page in response.
All client side user activities are forwarded to the server for stateful processing. The server
processes the output of the client actions and triggers the reactions.
Now, HTTP is a stateless protocol. ASP.NET framework helps in storing the information
regarding the state of the application, which consists of:
• Page state
• Session state
The page state is the state of the client, i.e., the content of various input fields in the web form.
The session state is the collective information obtained from various pages the user visited and
worked with, i.e., the overall session state. To clear the concept, let us take an example of a
shopping cart.
User adds items to a shopping cart. Items are selected from a page, say the items page, and the
total collected items and price are shown on a different page, say the cart page. Only HTTP
cannot keep track of all the information coming from various pages. ASP.NET session state and
server side infrastructure keeps track of the information collected globally over a session.
The ASP.NET runtime carries the page state to and from the server across page requests while
generating ASP.NET runtime codes, and incorporates the state of the server side components in
hidden fields.
This way, the server becomes aware of the overall application state and operates in a two-tiered
connected way.
The ASP.NET Component Model
The ASP.NET component model provides various building blocks of ASP.NET pages. Basically
it is an object model, which describes:
• Server side counterparts of almost all HTML elements or tags, such as <form> and
<input>.
• Server controls, which help in developing complex user-interface. For example, the
Calendar control or the Grid view control.
ASP.NET is a technology, which works on the .Net framework that contains all web-related
functionalities. The .Net framework is made of an object-oriented hierarchy. An ASP.NET web
application is made of pages. When a user requests an ASP.NET page, the IIS delegates the
processing of the page to the ASP.NET runtime system. The ASP.NET runtime transforms the
.aspx page into an instance of a class, which inherits from the base class page of the .Net

12
framework. Therefore, each ASP.NET page is an object and all its components i.e., the server-
side controls are also objects.

ASP.NET Web Pages - HTML Forms:

A form is a section of an HTML document where you put input controls (text boxes, check
boxes, radio buttons, and pull-down lists).
Let’s take a look at some key advantages of using Asp.Net Framework
1: Keep you Asp.net applications secured with the built-in Windows authentication and per-
application configuration.
2: Asp.Net has reduced the long lines of code required to develop large applications.
3: Asp.Net and Html, together generate dynamic web pages smoothly.
4: Being an ideal server-side scripting technology, Asp.Net code first runs on Windows server
before displaying on the web browser.
5: Asp.Net framework is language independent, means you can choose any programming
language which best suited to you application.
6: With the built-in configuration information, Asp.Net is easy to deploy.
7: The windows web server thoroughly monitors the web pages, multiple components, and
applications running over it.
8: The Dot Net Framework quickly gives an alert for memory leaks, unbounded loops, and other
wrong behaviors, immediately killing them and restart them over again.
9: Asp.Net features like early binding, JIT compilation, caching services and native optimization
supports gives your application the high level of performance.
10: All the Asp.Net applications are highly monitored and managed to help application available
to handle requests.
.NET Framework includes a set of standard class libraries. The class library is organized in a
hierarchy of namespaces. Most of the built-in application programming interfaces (APIs) are part
of either System.* or Microsoft.* namespaces. These class libraries implement many common
functions, such as file reading and writing, graphic rendering, database interaction, and XML
document manipulation. The class libraries are available for all CLI compliant languages. The
class library is divided into two parts (with no clear boundary): Base Class Library (BCL) and
Framework Class Library (FCL).
BCL includes a small subset of the entire class library and is the core set of classes that serve as
the basic API of CLR. For .NET Framework most classes considered being part of BCL reside in
mscorlib.dll, System.dll and System.Core.dll. BCL classes are available in .NET Framework as
well as its alternative implementations including .NET Compact Framework, Microsoft
Silverlight, .NET Core and Mono.

FCL is a superset of BCL and refers to the entire class library that ships with .NET Framework.
It includes an expanded set of libraries, including the Windows Forms, ASP.NET, and Windows

13
Presentation Foundation (WPF) but also extensions to the base class libraries ADO.NET,
Language Integrated Query (LINQ), Windows Communication Foundation (WCF), and
Workflow Foundation (WF). FCL is much larger in scope than standard libraries for languages
like C++, and comparable in scope to standard libraries of Java.
With the introduction of alternative implementations (e.g., Silverlight), Microsoft introduced the
concept of Portable Class Libraries (PCL) allowing a consuming library to run on more than one
platform. With the further proliferation of .NET platforms, the PCL approach failed to scale
(PCLs are defined intersections of API surface between two or more platforms).As the next
evolutionary step of PCL, the .NET Standard Library was created retroactively based on the
System.Runtime.dll based APIs found in UWP and Silverlight. New .NET platforms are
encouraged to implement a version of the standard library allowing them to re-use extant third-
party libraries to run without new versions of them. The .NET Standard Library allows an
independent evolution of the library and app model layers within the .NET architecture.
NuGet is the package manager for all .NET platforms. It is used to retrieve third-party libraries
into a .NET project with a global library feed at NuGet.org. Private feeds can be maintained
separately, e.g., by a build server or a file system directory.
Look at the "Customers" table:
Example

SELECT * FROM Customers;

Every table is broken up into smaller entities called fields. The fields in the Customers table
consist of CustomerID, CustomerName, ContactName, Address, City, PostalCode and Country.
A field is a column in a table that is designed to maintain specific information about every record
in the table.
A record, also called a row, is each individual entry that exists in a table. For example, there are
91 records in the above Customers table. A record is a horizontal entity in a table.
A column is a vertical entity in a table that contains all information associated with a specific
field in a table.

Interoperability:

Because computer systems commonly require interaction between newer and older
applications, .NET Framework provides means to access functions implemented in newer and
older programs that execute outside .NET environment. Access to Component Object Model
(COM) components is provided in System.Runtime.InteropServices and
System.EnterpriseServices namespaces of the framework. Access to other functions is via
Platform Invocation Services (P/Invoke). Access to .NET functions from native applications is
via reverse P/Invoke function.

14
Language independence:

.NET Framework introduces a Common Type System (CTS) that defines all possible data types
and programming constructs supported by CLR and how they may or may not interact with each
other conforming to CLI specification. Because of this feature, .NET Framework supports the
exchange of types and object instances between libraries and applications written using any
conforming .NET language.

Type safety:

CTS and the CLR used in .NET Framework also enforce type safety. This prevents ill-defined
casts, wrong method invocations, and memory size issues when accessing an object. This also
makes most CLI languages statically typed (with or without type inference). However, starting
with .NET Framework 4.0, the Dynamic Language Runtime extended the CLR, allowing
dynamically typed languages to be implemented atop the CLI.

Portability:

While Microsoft has never implemented the full framework on any system except Microsoft
Windows, it has engineered the framework to be cross-platform, and implementations are
available for other operating systems (see Silverlight and § Alternative implementations).
Microsoft submitted the specifications for CLI (which includes the core class libraries, CTS, and
CIL), C# and C++/CL to both Ecma International (ECMA) and International Organization for
Standardization (ISO), making them available as official standards. This makes it possible for
third parties to create compatible implementations of the framework and its languages on other
platforms.

Security:

.NET Framework has its own security mechanism with two general features: Code Access
Security (CAS), and validation and verification. CAS is based on evidence that is associated with
a specific assembly. Typically the evidence is the source of the assembly (whether it is installed
on the local machine or has been downloaded from the Internet). CAS uses evidence to
determine the permissions granted to the code.

Other code can demand that calling code be granted a specified permission. The demand causes
CLR to perform a call stack walk: every assembly of each method in the call stack is checked for
the required permission; if any assembly is not granted the permission a security exception is
thrown.

15
Managed CIL bytecode unless obfuscated.NET decompile programs enable developers with no
reverse-engineering skills to view the source code behind unobfuscated .NET assemblies. In
contrast, apps compiled to native machine code are much harder to reverse-engineer, and source
code is almost never produced successfully, mainly because of compiler optimizations and lack
of reflection. This creates concerns in the business community over the possible loss of trade
secrets and the bypassing of license control mechanisms. To mitigate this, Microsoft has included
Dotfuscator Community Edition with Visual Studio .NET since 2002. Third-party obfuscation
tools are also available from vendors such as VMware, V.i. Labs, Turbo, and Red Gate Software.
Method-level encryption tools for .NET code are available from vendors such as SafeNet.

Memory management:

CLR frees the developer from the burden of managing memory (allocating and freeing up when
done); it handles memory management itself by detecting when memory can be safely freed.
Instantiations of .NET types (objects) are allocated from the managed heap; a pool of memory
managed by CLR. As long as a reference to an object exists, which may be either direct, or via a
graph of objects, the object is considered to be in use. When no reference to an object exists, and
it cannot be reached or used, it becomes garbage, eligible for collection.
.NET Framework includes a garbage collector (GC) which runs periodically, on a separate thread
from the application's thread, that enumerates all the unusable objects and reclaims the memory
allocated to them. It is a non-deterministic, compacting, mark-and-sweep garbage collector. GC
runs only when a set amount of memory has been used or there is enough pressure for memory
on the system. Since it is not guaranteed when the conditions to reclaim memory are reached, GC
runs are non-deterministic. Each .NET application has a set of roots, which are pointers to
objects on the managed heap (managed objects). These include references to static objects and
objects defined as local variables or method parameters currently in scope, and objects referred
to by CPU registers. When GC runs, it pauses the application and then, for each object referred
to in the root, it recursively enumerates all the objects reachable from the root objects and marks
them as reachable. It uses CLI metadata and reflection to discover the objects encapsulated by an
object, and then recursively walk them. It then enumerates all the objects on the heap (which
were initially allocated contiguously) using reflection. All objects not marked as reachable are
garbage. This is the mark phase. Since the memory held by garbage is of no consequence, it is
considered free space. However, this leaves chunks of free space between objects which were
initially contiguous.

The objects are then compacted together to make free space on the managed heap contiguous
again. Any reference to an object invalidated by moving the object is updated by GC to reflect
the new location. The application is resumed after garbage collection ends. The latest version
of .NET framework uses concurrent garbage collection along with user code, making pauses
unnoticeable, because it is done in the background.

16
The garbage collector used by .NET Framework is also generational.[59] Objects are assigned a
generation. Newly created objects are tagged Generation 0. Objects that survive one garbage
collection are tagged Generation 1. Generation 1 objects that survive another collection are
Generation 2. The framework uses up to Generation 2 objects. Higher generation objects are
garbage collected less often than lower generation objects. This raises the efficiency of garbage
collection, as older objects tend to have longer lifetimes than newer objects.[59] By ignoring
older objects in most collection runs, fewer checks and compaction operations are needed in
total.

Performance:

When an application is first launched, the .NET Framework compiles the CIL code into
executable code using its just-in-time compiler, and caches the executable program into the .NET
Native Image Cache. Due to caching, the application launches faster for subsequent launches,
although the first launch is usually slower. To speed up the first launch, developers may use the
Native Image Generator utility to manually ahead-of-time compile and cache any .NET
application.[61]
The garbage collector, which is integrated into the environment, can introduce unanticipated
delays of execution over which the developer has little direct control. "In large applications, the
number of objects that the garbage collector needs to work with can become very large, which
means it can take a very long time to visit and rearrange all of them.
.NET Framework provides support for calling Streaming SIMD Extensions (SSE) via managed
code from April 2014 in Visual Studio 2013 Update 2. However, Mono has provided support for
SIMD Extensions as of version 2.2 within the Mono.Simd namespace in 2009. Mono's lead
developer Miguel de Icaza has expressed hope that this SIMD support will be adopted by CLR's
ECMA standard. Streaming SIMD Extensions have been available in x86 CPUs since the
introduction of the Pentium III. Some other architectures such as ARM and MIPS also have
SIMD extensions. In case the CPU lacks support for those extensions, the instructions are
simulated in software.

Alternative implementations:

.NET Framework is the predominant implementation of .NET technologies. Other


implementations for parts of the framework exist. Although the runtime engine is described by
an ECMA-ISO specification, other implementations of it may be encumbered by patent issues;
ISO standards may include the disclaimer,

CHAPTER-5

SYSTEM DESIGN

17
Login

Admin Menu User Menu

Home Home

Employee Daily work

Leaves
Salary
Salary
Attendance

Leaves Info Change


Password
Daily info Logout

Change
password

Logout

18
5.1 DATA FLOW DIAGRAM
In an Information system, the flow of the data around the system is graphically
represented by the data flow diagram. A graphical tool used to describe and analyze the moment
of data through a system manual or automated including the process, stores of the data and
delays in the system. Data flow diagram the central tool and the basis from which other
components are developed. DFDs are the model of the proposed system. They clearly show the
requirements on which the new system should be built. Later during the design activity this is
taken as the basis for drawing the system’s Structure charts. The various components of DFDs
are:
Dataflow: Data movement form the source to destination is shown by the arrows.

Process: The various activities and the actions performed on the data is represented
through circle.

Entities: External sources or information of the data is represented by rectangle

LEVEL 0 DFD:

19
20
LEVEL 1 DFD:

21
5.2 Use Case Diagram:
A Use case is a description of set of sequence of actions. Graphically it is rendered as an
ellipse with solid line including only its name. Use case diagram is a behavioral diagram that
shows a set of use cases and actors and their relationship. It is an association between the use
cases and actors. An actor represents a real-world object. Primary Actor – Sender, Secondary
Actor Receiver.
Use Case Diagram:

22
5.3 CLASS DIAGRAMS

Class is nothing but a structure that contains both variables and methods. The Class
Diagram shows a set of classes, interfaces, and collaborations and their relating ships. There is
most common diagram in modeling the object oriented systems and are used to give the static
view of a system. It shows the dependency between the classes that can be used in our system.
The interactions between the modules or classes of our projects are shown below. Each
block contains Class Name, Variables and Methods.

ADMIN CLASS DIAGRAM:

23
USER CLASS DIAGRAM:

24
5.4 SEQUENCE DIAGRAM:

Sequence diagram and collaboration diagram are called INTERACTION DIAGRAMS.


An interaction diagram shows an interaction, consisting of set of objects and their relationship
including the messages that may be dispatched among them.
A sequence diagram is an introduction that empathizes the time ordering of messages.
Graphically a sequence diagram is a table that shows objects arranged along the X-axis and
messages ordered in increasing time along the Y-axis.

SEQUENCE DIAGRAM:

25
5.5 ENTITY RELATIONSHIP DIAGRAM:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a way
to unify the network and relational database views. Simply stated the ER model is a conceptual
data model that views the real world as entities and relationships. A basic component of the
model is the Entity-Relationship diagram which is used to visually represents data objects. Since
Chen wrote his paper the model has been extended and today it is commonly used for database
design For the database designer, the utility of the ER model

ENTITY RELATIONSHIP DIAGRAM:

26
5.6 DESIGN AND SCREEN SHOTS:

Login.aspx

Contains code for username /Password Authentication. When user enters correct login and
password It opens Main form otherwise it gives an error message. You can exit by clicking the
“Logout” button on the right top corner of the window.

Press submit button to submit your request and reset to reset the fields.

Press forgot password button to submit your request and enters forget password page in that
contains two text boxes and two buttons. When entering the register email in the textbox and
clicking the button we sent a one time password to your mail id then enter your one time
password in the other text box then click it enters change password webpage.

27
Admin_menu.aspx

Using Add employee you can add employee to the firm. Clicking on it opens the employee
registration window. It enters the employee registration web pages.

By Clicking on View details, you can View/Modify of the employees. It calls EmpDetail.aspx.

On clicking Logout, you can Logoff from the application.

28
Emp Registration.aspx

Clicking Submit submits the records.

Clicking Reset Resets the Fields

29
EmpDetail.aspx

When you enter the Employee register email id and click the button then you will get all details
of employees.

30
EmpLeave.aspx

Clicking on Submit data as sent to the admin page.

In admin page if admin is accept the leave, leave is granted else it is pending.

31
Emp _Leave_Aprroval.aspx

when Admin click on reject then leave is rejected.

32
EmpSalay.aspx:

Admin enter the employee email id and search. The page automatically fill the name and salary
of employee text fields and admin enter the exam salary and click on enter data is saved in the
database. If admin want to pay employee salary click on the “click here” at beside the pay
employee salary and enter the amount and submit.

33
CHAPTER-6

CODING
/* Admin_Home.aspx*/
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AHome.aspx.cs"
Inherits="staffmanagement.Home" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
body{
background-color:ghostwhite;
}
*{
padding:0;
margin:0;
}
#m ul{
list-style-type:none;
}
#m ul li{
background-color:ActiveCaption;
border:solid 1px;

line-height:35px;
width:120px;
height:35px;
text-align:center;
float:left;
position:relative;
}
#m ul li a{
display:block;
color:white;
text-decoration:none;
}
#m ul li a:hover{
background-color:white;
color:black;
}
#m ul ul{
position:absolute;
display:none;
}
#m ul li:hover>ul{
display:block;
}
.auto-style2 {
left: 0px;
top: 0px;
width: 170px;
}

34
.auto-style3 {
left: 4px;
top: 0px;
width: 199px;
}
.auto-style4 {
left: 3px;
top: 0px;
width: 184px;
}
.auto-style5 {
left: 0px;
top: 0px;
width: 162px;
}
.auto-style6 {
left: 0px;
top: 0px;
width: 157px;
}
.auto-style1 {
width: 100%;
}
.auto-style2 {
width: 129px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image runat="server" ImageURL="KIET.jpg" Width="100%"
Height="149px"></asp:Image>

</div>
<div id="m">
<ul>
<li class="auto-style6"><a class="active" href="AHome.aspx">Home</a></li>
<li class="auto-style5"><a href="AEmpregister.aspx">Employee Register</a>
<ul>
<li><a href="AEmpupdate.aspx">Updata Data</a></li>
<li><a href="AEmpdetails.aspx">Details</a></li>
<li><a href="AEmpsi.aspx">Salary Information</a></li>
</ul>
</li>
<li class="auto-style4"><a href="Aattendance.aspx">Attendance</a></li>
<li class="auto-style4"><a href="Asalary.aspx">Salary</a></li>
<li class="auto-style4"><a href="Aleave.aspx">Leave</a></li>
<li class="auto-style5"><a href="Adi.aspx">Daily Info</a>
<ul>
<li><a href="Aoi.aspx">Others Daily Info</a></li>

</ul>
</li>
<li class="auto-style3"><a href="Adminpwd.aspx">Change Password</a>
<ul>
<li class="auto-style2"><a href="Login.aspx">Logout</a></li>
</ul> </li>

35
</ul>
</div>
<br />
<br />
<div>
<br />
<h2>Profile</h2>
<p>&nbsp;</p>
<asp:DataList ID="DataList1" runat="server" CellPadding="4" DataKeyField="Id"
DataSourceID="SqlDataSource1" ForeColor="#333333" Width="487px">
<AlternatingItemStyle BackColor="White" ForeColor="#284775" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<ItemStyle BackColor="#F7F6F3" ForeColor="#333333" />
<ItemTemplate>
<table class="auto-style1">
<tr>
<td class="auto-style2">Id</td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%#
Eval("Id") %>'></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style2">Email Id</td>
<td>
<asp:Label ID="Label2" runat="server" Text='<%#
Eval("email") %>'></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style2">college</td>
<td>
<asp:Label ID="Label3" runat="server" Text='<%#
Eval("college") %>'></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style2">Location</td>
<td>
<asp:Label ID="Label4" runat="server" Text='<%#
Eval("Location") %>'></asp:Label>
</td>
</tr>
</table>
<br />
</ItemTemplate>
<SelectedItemStyle BackColor="#E2DED6" Font-Bold="True"
ForeColor="#333333" />
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:msdbConnectionString %>" SelectCommand="SELECT [Id], [email],
[college], [Location] FROM [Admin]"></asp:SqlDataSource>
<br />

</div>
</form>
</body>

36
</html>

/* Admin_Home.aspx.cs*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace staffmanagement
{
public partial class Home : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ValidationSettings.UnobtrusiveValidationMode =
UnobtrusiveValidationMode.None;
}
}
}

37
/* Employee_Home.aspx*/

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EHome.aspx.cs"


Inherits="staffmanagement.HomeE" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
*{
padding:0;
margin:0;
}
#m ul{
list-style-type:none;
}
#m ul li{
background-color:ActiveCaption;
border:solid 1px;

line-height:35px;
width:120px;
height:35px;
text-align:center;
float:left;
position:relative;
}
#m ul li a{
display:block;
color:white;
text-decoration:none;
}
#m ul li a:hover{
background-color:white;
color:black;
}
#m ul ul{
position:absolute;
display:none;
}
#m ul li:hover>ul{
display:block;
}
.auto-style2 {
left: 0px;
top: 0px;
width: 170px;
}
.auto-style3 {
left: 4px;
top: 0px;
width: 199px;
}

38
.auto-style4 {
left: 3px;
top: 0px;
width: 184px;
}
.auto-style5 {
left: 0px;
top: 0px;
width: 162px;
}
.auto-style6 {
left: 0px;
top: 0px;
width: 157px;
}
.auto-style3 {
width: 67%;
height: 586px;
}
.auto-style4 {
width: 357px;
}
.auto-style9 {
width: 357px;
height: 36px;
}
.auto-style10 {
left: 4px;
top: 0px;
width: 685px;
height: 586px;
}
.auto-style11 {
width: 411px;
}
body{
background-color:ghostwhite;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image runat="server" ImageURL="KIET.jpg" Width="100%"
Height="149px"></asp:Image>

</div>
<div id="m">
<ul>
<li class="auto-style6"><a class="active" href="EHome.aspx">Home</a></li>
<li class="auto-style5"><a href="Edaily.aspx">Daily Work</a></li>
<li class="auto-style4"><a href="Esalary.aspx">Salary</a></li>
<li class="auto-style4"><a href="Eleave.aspx">Leave</a></li>
<li class="auto-style3"><a href="Epwd.aspx">Change Password</a></li>
<li class="auto-style2"><a href="Login.aspx">Logout</a></li>
</ul>
</div>
<div><br /><br /><br />

39
<h2>Profile</h2>

<br />

<table class="auto-style10" border="1">


<tr>
<td class="auto-
style4">Id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
<asp:Label ID="Label1" runat="server"></asp:Label>
</td>
<td rowspan="5" class="auto-style11">
Time Table:<asp:Image ID="Image1" runat="server" Height="175px"
Width="292px" />
</td>
</tr>
<tr>
<td class="auto-
style9">Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | <asp:Label ID="Label2"
runat="server"></asp:Label>
</td>

</tr>

<tr>
<td class="auto-
style4">Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | <asp:Label ID="Label4"
runat="server"></asp:Label>
</td>

</tr>
<tr>
<td class="auto-
style4">Father&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
<asp:Label ID="Label5" runat="server"></asp:Label>
</td>

</tr>
<tr>
<td class="auto-
style4">DOB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | <asp:Label ID="Label6"
runat="server"></asp:Label>
</td>

</tr>
<tr>
<td class="auto-style4">DOJ</td>
<td class="auto-style11">
<asp:Label ID="Label8" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style4">Qualification</td>

40
<td class="auto-style11">
<asp:Label ID="Label9" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style4">Branch</td>
<td class="auto-style11">
<asp:Label ID="Label10" runat="server"></asp:Label>
</td>
</tr>

<tr>
<td class="auto-style4">Job</td>
<td class="auto-style11">
<asp:Label ID="Label11" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style4">Contact</td>
<td class="auto-style11">
<asp:Label ID="Label12" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style4">Address</td>
<td class="auto-style11">
<asp:Label ID="Label13" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="auto-style4">Salary</td>
<td class="auto-style11">
<asp:Label ID="Label14" runat="server"></asp:Label>
</td>
</tr>

<tr>
<td class="auto-style4">Assign you in the of Year</td>
<td class="auto-style11">
<asp:Label ID="Label15" runat="server"></asp:Label>
</td>
</tr>

<tr>
<td class="auto-style4">Section</td>
<td class="auto-style11">
<asp:Label ID="Label16" runat="server"></asp:Label>
</td>
</tr>

</table>

</div>
</form>
</body>

41
</html>

/* Employee_Home.aspx.cs*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace staffmanagement
{
public partial class HomeE : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
SqlConnection con = new SqlConnection(@"Data
Source=(localdb)\MSSQLLocalDB;Initial Catalog=msdb;Integrated Security=True");
con.Open();
String s = "select count(*) from Emp where email='" + Session["E"] + "'";
SqlCommand cmd = new SqlCommand(s, con);
int j = Convert.ToInt32(cmd.ExecuteScalar().ToString());
if (j == 1)
{
String ss = "select * from Emp where email='" + Session["E"] + "'";
SqlCommand c = new SqlCommand(ss, con);
SqlDataReader r = c.ExecuteReader();
if (r.Read())
{
Session["I"] = r["Id"].ToString();
Label1.Text = (String)Session["I"];
Session["NN"]= r["name"].ToString();
Label2.Text = r["email"].ToString();
// Label3.Text = r["password"].ToString();
Label4.Text = (String)Session["NN"]; ;
Label5.Text = r["father"].ToString();
Label6.Text = r["dob"].ToString();
Label8.Text = r["doj"].ToString();
Label9.Text = r["qual"].ToString();

Session["BB"] = r["branch"].ToString();
Label10.Text = r["branch"].ToString();

Session["YY"]= r["eyear"].ToString();
Session["SS"] = r["sec"].ToString();

Session["JJ"] = r["job"].ToString();

Label11.Text = r["job"].ToString();
Label12.Text = r["contact"].ToString();

42
Label13.Text = r["address"].ToString();
Label14.Text = r["salary"].ToString();
Label15.Text = r["eyear"].ToString();
Label16.Text = r["sec"].ToString();
/*Label17.Text = r["Remaining"].ToString();
Label18.Text = r["pending"].ToString();
Label19.Text = r["nleave"].ToString();
Label20.Text = r["working"].ToString();
Label21.Text = r["apply"].ToString();
Label22.Text = r["lleaves"].ToString();*/
//Label23.Text = r["salary"].ToString();
byte[] imagedata = (byte[])r["timetable"];
//String img = Convert.ToBase64String(imagedata, 0,
imagedata.Length);
Image1.ImageUrl = "data:image/jpg;base64," +
Convert.ToBase64String(imagedata);
r.Close();

}
}
catch (Exception ee)
{
Response.Write(ee);
}
}
}
}

43
CHAPTER-7

TESTING

During systems testing, the system is used experimentally to ensure that the software does not
fail. In other words, we can say that it will run according to its specifications and in the way
users expect. Special test data are input for processing, and the results examined. A limited
number of users may be allowed to use the system so that analyst can see whether they try to use
it in unforeseen ways. It is desirable to discover any surprises before the organization implements
the system and depends on it.

Software modules are tested for their functionality as per the requirements identified during the
requirements analysis phase. To test the functionality of the file transfer and chat application, a
Quality Assurance (QA) team is formed. The requirements identified during the requirements
analysis phase are submitted to the QA team. In this phase the QA team tests the application for
these requirements. The development team submits a test case report to the QA team so that the
application can be tested in the various possible scenarios.

The software development project, errors can be injected at any stage during development i.e. if
there is an error injected in the design phase then it can be detected in the coding phase
because there is the product to be executed ultimately on the machine, so we employ a
testing process.

During the testing the program to be tested is executed with certain test cases and output of these
test cases is evaluated to check the correctness of the program. It is the testing that performs first
step in determining the errors in the program.

7.1 TEST CASES AND TEST CRITERIA

During Test Cases that are good at revealing the presence of faults is central to successful testing.
The reason for this is that if there is a fault in the program, the program can still provide the
expected behavior on the certain inputs. Only for the set of inputs the faults that exercise the fault
in the program will the output of the program devise from the expected behavior. Hence, it is fair
to say that testing is as good as its test case.

The number of test cases used to determine errors in the program should be minimum. There are
two fundamental goals of a practical testing activity:-
 maximize the number of errors detected and.

44
 minimize the number of test cases.

As these two goals are contradictory so the problem of selecting test cases is a complex one.
While selecting the test cases the primary objective is to ensure that if there is an error or fault in
the program, it is exercised by one of its test cases. An ideal test case is one which succeeds
(meaning that there are no errors, revealed in its execution) only it there are no errors in the
program one possible set of ideal test cases is one which includes all the possible inputs to the
program. This is often called "exhaustive testing", however it is impractical and infeasible as
even a small program can have an infinite input domain.

So to avoid this problem we use "test criteria" in selection of the test cases. There are two aspects
of the test case selection:-

 specifying a criteria for evaluating the test cases.


 generating the set of cases that satisfy a given criteria.

The fully automated process of generating test criteria has not been yet found rather guidelines
are only the automated tool available to us previously. The two fundamental properties for a
testing criterion are:-

 Reliability: a criterion is reliable if all the sets that satisfy the criteria detect the same
error. .
 Validity: a criterion is valid if for any error in the program there is some set satisfying the
criteria that will reveal the error.

The fundamental theorem of testing is that if a testing criterion is valid and reliable, if a set
satisfying criteria succeeds then the program contains no errors.

7.2 APPROACHES TO TESTING

There are two fundamental approaches to testing they are:

Functional Testing/Black Box Testing:

In functional testing the structure of the program is not considered. Test cases are solely
determined on the basis of requirement or specification of the program or module. Internals of
the modules and the programs are not considered for selection of test cases. Due to this nature it
is also called "black box testing".

45
The most obvious functional testing procedure is "exhaustive testing", which is impractical.
The other criteria for generating the test case are to generate them "randomly" this strategy has a
little chance of resulting in a test case that is close to optimal.
There is no appropriate criterion for developing the test case so we have certain heuristic
approaches-:

a) Equivalence Class Partitioning: in which the domain of all inputs is divided into a set of
equivalence classes, so that if any test in that class succeeds, then every test in that class will
succeed i.e. the success of one set element implies the success of the other.

b) Boundary Value Analysis: It has been observed that programs work correctly for a set of
values in an equivalence class fail on certain values. These values generally lie on the boundary
of equivalence class. So in the boundary value analysis we chose an input for a test case from an
equivalence class, such that input lies on the edge of equivalence class. Boundary value test
cases are also called "extreme cases".

c) Cause-Effect Graphing: The problem with the prior approaches is that they consider each
input separately i.e. both concentrate on classes and conditions of one input. The combination of
inputs is not considered which is used in many cases. One way to exercise the combination of
various input conditions is to consider all the valid combinations of the equivalence class of the
input conditions. The technique starts with identifying the causes and the effect of system under
testing.

7.3 STRUCTURAL TESTING:

In the structural approach the test cases are generated an the basis of the actual code of the
program or the module to be tested, This structural approach is sometimes called "glass box
testing", This testing is concerned with the implementation of the program. The content is not to
exercise the various input conditions rather different programming structures and data structures
used in the program.

There are three different approaches to structural testing they are- :

a) Control flow based criteria:

Most common structure based criteria use control flow based testing in which the control flow
graph of the program is considered and coverage of various aspects of graph are specified as
criteria. The various control flow based strategies are
 statement coverage,
 branch coverage and

46
 all path coverage

b) Data Flow based testing:

The basic idea behind the data flow based testing is to make sure that during testing, the
definitions of variables and their subsequent use is tested. To implement the data flow based
testing the data flow graph is first made from the control flow graph.

c) Mutation Testing:

In the above two testing techniques the focus is on which path to be executed, but mutation
testing is not a path-based approach. The mutation testing requires that the set of test cases must
be such that they can distinguish between the original programs and is mutants. In software
world there is no fault model as in hardware so most of the techniques do guess work regarding
where the fault must lie and then select the test cases to reveal those faults. In Mutation testing
faults of some pre-decided types are introduced in the program being tested. Then those faults
are found in the mutants.

47
CHAPTER-8

Implementation, Evaluation And Maintenance

Implementation is the process of having systems personnel check out and put new equipment
into use, train users, install the new application and construct any files of data needed to use it.
This phase is less creative than system design. Depending on the size of the organization that will
be involved in using the application and the risk involved in its use, systems developers may
choose to test the operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to compare the results. In still
other situations, system developers stop using the old system one day and start using the new one
the next.

Evaluation of the system is performed to identify its strengths and weaknesses. The actual
evaluation can occur along any of the following dimensions:

1. Operational Evaluation: Assessment of the manner in which the system functions,


including case of use, response time, overall reliability and level of utilization.
2. Organizational Impact: Identification and measurement of benefits to the organization
in such areas as financial concerns, operational efficiency and competitive impact.
3. User Manager Assessment: Evaluation of the attitudes of senior and user manager
within the organization, as well as end-users.
4. Development Performance: Evaluation of the development process in accordance with
such yardsticks as overall development time and effort, conformance to budgets and
standards and other project management criteria.

Maintenance is necessary to eliminate errors in the working system during its working life and
to tune the system to any variations in its working environment often small system deficiencies
are found as a system is brought into operations and changes are made to remove them. System
planners must always plan for resource availability to carry out these maintenance functions. The
importance of maintenance is to continue to bring the new system to standards.

48
CHAPTER-9
CONCLUSION
Overall, the system is useful for all the users to maintain information at various levels. It
connects supervisor and employee and thus easy to maintain. Now supervisor can easily set the
schedule or any notifications to the respective employees without having a person to send to
employees. It has been a great pleasure for me to work on this exciting and challenging project.
This project proved good for us as it provided practical knowledge of not only programming in
Asp.net, c# and sql database working of web based application, but also about all handling
procedure related with Advance and new technology. It also provides knowledge about the latest
technology used in developing web enabled application and client server technology that will be
great demand in future. This will provide better opportunities and guidance in future in
developing projects independently.
FUTURE SCOPE:

The developed system is flexible and changes can be made easily. The system is developed with
an insight into the necessary modification that may be required in the future. Hence the system
can be maintained successfully without much rework. Any product despite of its meticulous
design and features needs enhancement with time. Staff management being no exception needs
active enhancement of features and functionality. Following features are proposed to be
implemented in future to make the product more feature rich. Moreover, it is just a beginning;
further the website can be enhanced by adding following facilities in the existing software:

 Web based: In each organization, there is always a need of efficient paperless, secure, and
private communication medium that has the retention capabilities. We are proposing to add some
of the facility to fill their requirements.

 Template Based Look & Feel: Being a product, it is proposed to be implemented at the site of
different clients. Each client has different set of preferences for look feel of the application. To
minimize the customization process, look and feel of the application is proposed to be based on
templates in future releases.

 Complete Employee Record Management: In future we propose to do all record


management online or web based automated system which only requires officially needed paper
work not more than that.

 Attendance through web: A complete web-based module are designed for sending the
attendance data to the database. And employees only view their attendance by clicking the
attendance.

49
CHAPTER-10

BIBLIOGRAPHY

REFERENCES:

1. Gray and Reuter, "An Introduction to Database Systems” Fifth Edition, Wesley
Publication.
2. Pressman, Roger S, "Software Engineering: A Practitioner's Approach" 6th Edition,
Mass: McGraw-Hill Publication.
3. George Franciscus and Danilo Gurovich, “Struts Recipes”, Manning Publications
Company.
4. Emmanuel Bernard, John Griffin, ”Hibernate Search in Action”, Manning Publications
Company.
5. Simon Singh, “The Code Book”, Wiley Publication

SITES REFERRED:

1. https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/

2. https://www.guru99.com/

3. https://www.w3schools.com/asp/

4. https://www.javatpoint.com/asp-net-tutorial

50

You might also like