Sunteți pe pagina 1din 73

Employee Attendance

Management System
SYNOPSIS
In this project, attendance maintenance is the main concept to generate report and
produce leave report form. 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 EMPLOYEE ATTENDANCE MANAGEMENT SYSTEM has been developed
to override the problems prevailing in the practicing manual system. This software is
supported to eliminate and in some cases reduce the hardships faced by this existing system.
Moreover this system is designed for the particular need of the company to carry out
operations in a smooth and effective manner.
The application is reduced as much as possible to avoid errors while entering the data.
It also provides error message while entering invalid data. No formal knowledge is needed
for the user to use this system. Thus by this all it proves it is user-friendly.
This project will allow admin to add new employees after proper authentication.
Admin can also add new record and posts. It can allocate employees to different departments
at different posts. Database should store all personal details of employees such as date of
birth full name etc. and his educational background, work experience, skill sets, current and
past details in different tables with proper relations.
This system enables employees to perform their own profile. It enables the
automation of work flow notifications and leave request. Work flow notification from
administrator are stored in the backend and notified to employee, once employee log in to the
system. Leave request made by the employee is placed for administrator approval, the
administrator module checks up with the leave availability and approves or rejects the
request.
1. INTRODUCTION TO THE PROJECT

Every organization, whether big or small, has human resource challenges to


overcome. Every organization has different employee attendance management needs;
therefore we design exclusive employee management systems that are adapted to your
managerial requirements. This is designed to assist in strategic planning, and will help you
ensure that your organization is equipped with the right level of human resources for your
future goals. Also, for those busy executive who are always on the go, our systems come with
remote access features, which will allow you to manage your workforce anytime, at all times.

These systems will ultimately allow you to better manage resources. One of the main
features in employee management system is time tracking for employees. Effective time
tracking mechanism saves both time and money for the organization. This system will reduce
the complexity of employee management. By using this system we can easily maintain all the
records. It will reduce searching time. It can be easily handled by the person who has
elementary knowledge of computer because it provides a user friendly environment. Its
hardware and software configuration is not very costly that means developed to override the
problems prevailing in the practicing manual system. This project will allow admin to add
new employees after proper authentication mainly propose and attendance maintenance
report. Admin can also add new record and posts.

User can easily view there Leave reports using separate user ID and password. It can
allocate employees to switch different departments at different posts and maintain report
about the employee. But employee can able to view only the report form not able to update or
Edit the records in the database. Database should store all personal details of employees such
as date of birth full name etc. and his educational background, work experience, skill sets,
current and past details in different tables with proper relations.
Admin can edit employee details and store the details in the database but in the case
of details that can be provided by the employee only. The main concept is to maintain the
attendance report of the employee. In that case the employee daily information should be
monitored and take a list of information to update the records in the database for user details
and also for performance rating of the employee is in future records.

Employee Attendance Management System is a simple attendance that specifically


developed for small or medium companies employees have. The purpose is to make sure that
the employees are punctual and do their jobs on time. With this system, the administrator may
save their time to observe the employees.

This system provides easy to use and reliable employee attendance tracking and
reporting. It allows employee to clock in and clock out using the PC keyboard with the clock
program. The employee also can apply leave and check leave through the system. The system
will monitor the employees working time. Besides, the system can store the records for
employees such as their personal details information. The system will calculate the amount of
employees who works over time, coming late and apply leave for certain purpose. Based on
the calculation of the above categories, the system is able to generate various reports such as
attendance record, monthly attendance record and employee attendance analysis.

Currently, there is no proper system to monitor the employees attendance at some


industry companies. Besides, the company still uses the paper-based system to keep tracks the
records of the employees. As a solution, the system will be developed to overcome the
problems that stated above and provide an effective way to monitor the employee attendance.
This system will provide a user-friendly interface to make the system easy to use.
1.1. HARDWARE SPECIFICATION
Processor : Dual core
Speed : 2.26Ghz
RAM : 2GB(min)
Hard Disk : 320GB

1.2. SOFTWARE SPECIFICATION

PLATFORM : Windows 7
FRONT END : Visual basics 6.0
BACK END : MS Access
SYSTEM STUDY
2. INTRODUCTION
The project has shown the economic feasibility by the study of the fact that by using this
software the increased number of the consumers can be given service effectively and
efficiently and can save a lot time and saving time means saving money. The cost and benefit
analysis has shown that cost that have incurred in developing the project is less than the
benefits that the project is going to provide once it is developed, so this project has passed
the feasibility test. The working staff members are also interested in this project, as it will
help them to do work with ease and efficiently without complexity, so they supported the
development of this project with full enthusiasm. This shows the behavioral feasibility of the
project. Technical feasibility centers on the existing computer system (Hardware, Software
etc) and to what extent it supports the existing system. As the existing system computer
system is viable so there is no matter of technical feasibility that is the system is technically
feasible. It is the determination of whether a proposed project can be implemented fully
within stipulated time frame. The project was decided to be done in three months and was
thought to be feasible enough.

2.1. EXISTING SYSTEM

The company uses an application which is a single user system to find the employee
information.
The important and the most significant drawback is that the system is done by
feeding in excel. There is no proper application is exist. There are errors due to
carelessness or oversight that may result in loss to the data and as to the organization.
For an organization, time is very important factor .
The employee information are stored in the application which is like a excel sheet.
This makes it impossible to search for company information in such a long table
manually and to add a new query if the searched query is not available.
2.2. DRAWBACKS
In existing system there are not complete details about the leave report of the
employee.
Its main disadvantage is updating is not available.
Attendance information is not updated properly.
You cant manipulate data.
Data retrieved is very difficult , Time conception and Inefficient.

2.3. PROPOSED SYSTEM

The proposed system is designed to eliminate all the drawbacks of the existing system. The
system is part of a large Human Resource Management System Application and shall be
responsible for maintaining information about employees, positions, attendance,
administration.

Some major advantage of the proposed system:


Its online, so that information is available anytime.
High integrity and security.
Ability to incorporate newly available data.
It is user friendly.
Speed and accuracy is increased.
Fully automated.
Security is associated with user authentication.
Duplication of information is curbed.
Admin can easily get employee attendance details.
2.4. BENEFITS OF THIS SYSTEM

This system will reduce the complexity of employee management. By using this system we
can easily maintain all the records about ON.EMPLOYEES or OFF EMPLOYEES.
It will reduce searching time. It can be easily handled by the person who has elementary
knowledge of computer because it provides a user friendly environment. Its hardware and
software configuration is not very costly that means.
2.5. INPUT AND OUTPUT
2.5.1. Inputs:
Admin enter his user id and password for login.
User enters his user id and password for login.
Admin enter user id or date for track the user login information.
New users give his completed personnel, address and phone details for registration.
Admin gives different kind of user information for search the user data.
User gives his user id, hint question, answer for getting the forgotten password.
Employee attendance details before process the queries.
Employees search the report information while process.

2.5.2. Outputs:
Admin can have his own home page.
Users enter their own home page.
The user defined data can store in the centralized database.
Admin will get the login information of a particular user.
The new users data will be stored in the centralized database.
Admin get the search details of different criteria.
User can get his attendance details.
2.6. MODULES
Login
Administrator
Attendance Details

Login
Create a Login form for Main Form.

Administrator
Create database to store data of employee in the system and to maintain the record of
employee of the company under the maintenance of admin and update the report.

Attendance Details
Create report for employee and update the report form for generating user details.
SOFTWARE DESCRIPTION

Visual Basic 6.0

Introduction:

VISUAL BASIC is a high level programming language which evolved from the earlier DOS
version called BASIC. BASIC means Beginners' All-purposeSymbolic Instruction Code. It is
a very easy programming language to learn. The code looks a lot like English Language.
Different software companies produced different versions of BASIC, such as Microsoft
QBASIC, QUICKBASIC, GWBASIC, and IBM BASICA and so on. However, people prefer
to use Microsoft Visual Basic today, as it is a well developed programming language and
supporting resources are available everywhere. Now, there are many versions of VB exist in
the market, the most popular one and still widely used by many VB programmers is none
other than Visual Basic 6. We also have VB.net, VB2005, VB2008 and the latest VB2010.
Both Vb2008 and VB2010 are fully object oriented programming (OOP) language.

VISUAL BASIC is a VISUAL and events driven Programming Language. These are the main
divergence from the old BASIC. In BASIC, programming is done in a text-only environment
and the program is executed sequentially. In VB, programming is done in a graphical
environment. In the old BASIC, you have to write program code for each graphical object
you wish to display it on screen, including its position and its color. However, In VB , you
just need to drag and drop any graphical object anywhere on the form, and you can change its
color any time using the properties windows.

On the other hand, because the user may click on a certain object randomly, so each object
has to be programmed independently to be able to response to those actions (events).
Therefore, a VB Program is made up of many subprograms, each has its own program code,
and each can be executed independently and at the same time each can be linked together in
one way or another.

With VB 6, you can create any program depending on your objective. For example, if you are
a college or university lecturer, you can create educational programs to teach business,
economics, engineering, computer science, accountancy , financial management, information
system and more to make teaching more effective and interesting. If you are in business, you
can also create business programs such as inventory management system , point-of-sale
system, payroll system, financial program as well as accounting program to help manage
your business and increase productivity. For those of you who like games and working as
games programmer, you can create those programs as well. Indeed, there is no limit to what
program you can create ! There are many such programs in this tutorial, so you must spend
more time on the tutorial in order to learn how to create those programs.

The Visual Basic 6 Integrated Development Environment

Before you can program in VB 6, you need to install Visual Basic 6 in your computer.

On start up, You can choose to either start a new project, open an existing project or select a
list of recently opened programs. A project is a collection of files that make up your
application. There are various types of applications that we could create, however, we shall
concentrate on creating Standard EXE programs (EXE means executable program). Now,
click on the Standard EXE icon to go into the actual Visual Basic 6 programming
environment.

MS ACCESS:

In this lab, we will be implementing the theories on database design that we learned in class
with a commercial Relational Database Management System called Microsoft Access (MSA).
If you have a laptop, we encourage you to install MSA on your computer and bring it to the
lab sessions, since we dont have enough computers to accommodate every student
individually.

If you do not have a copy of MSA on your home PC, you can launch it on any of the lab
machines by selecting Start All Programs Microsoft Office Microsoft Office
Access 2007. To use the lab machines, you will need to set up an account with the IEOR
department; please see Jay Sparks on the fourth floor for details on this procedure.

Most of the information provided in this lab can be accessed in greater detail under Microsoft
Accesss extensive help files. All the information provided in this tutorial is based on MS
Access 2007 unless otherwise specified. If you have a different version installed on your
machine, you should expect to see some minor differences between what is described here
and what you observe on your screen
Uses

In addition to using its own database storage file, Microsoft Access also may be used
as the 'front-end' with other products as the 'back-end' tables, such as Microsoft SQL
Server and non-Microsoft products such as Oracle and Sybase. Multiple backend sources can
be used by a Microsoft Access Jet Database (accdb and mdb formats). Similarly, some
applications such as Visual Basic, ASP.NET, or Visual Studio .NET will use the Microsoft
Access database format for its tables and queries. Microsoft Access may also be part of a
more complex solution, where it may be integrated with other technologies such as Microsoft
Excel, Microsoft Outlook, Microsoft Word, Microsoft PowerPoint and ActiveX Controls.

Access tables support a variety of standard field types, indices, and referential
integrity including cascading updates and deletes. Access also includes a query interface,
forms to display and enter data, and reports for printing. The underlying Jet database, which
contains these objects, is multiuser-aware and handles record-locking.

Repetitive tasks can be automated through macros with point-and-click options. It is


also easy to place a database on a network and have multiple users share and update data
without overwriting each other's work. Data is locked at the record level which is
significantly different from Excel which locks the entire spreadsheet.

There are template databases within the program and for download from
their website. These options are available upon starting Access and allow users to enhance a
database with predefined tables, queries, forms, reports, and macros. Database templates
support VBA code but Microsoft's templates do not include VBA code.

Programmers can create solutions using the programming language Visual Basic for
Applications (VBA), which is similar to Visual Basic 6.0 (VB6) and used throughout
the Microsoft Office programs such as Excel, Word, Outlook and PowerPoint. Most VB6
code, including the use of Windows API calls, can be used in VBA. Power users and
developers can extend basic user solutions to a professional solution with advanced
automation, data validation, error trapping, and multi-user support.
FEASIBILITY
REPORT
3. FEASIBILITY

Preliminary investigation examine project feasibility, the likelihood the system will be
useful to the organization. The main objective of the feasibility study is to test the Technical,
Operational and Economical feasibility for adding new modules and debugging old running
system. All system is feasible if they are unlimited resources and infinite time. There are
aspects in the feasibility study portion of the preliminary investigation:

Technical Feasibility
Operational Feasibility
Economical Feasibility

3.1. TECHNICAL FEASIBILITY

The technical issue usually raised during the feasibility stage of the investigation
includes the following:

Does the necessary technology exist to do what is suggested?


Do the proposed equipments have the technical capacity to hold the data required to use
the new system?
Will the proposed system provide adequate response to inquiries, regardless of the
number or location of users?
Can the system be upgraded if developed?
Are there technical guarantees of accuracy, reliability, ease of access and data security?
Earlier no system existed to cater to the needs of Secure Infrastructure
Implementation System. The current system developed is technically feasible. It is a web
based user interface for audit workflow at NIC-CSD. Thus it provides an easy access to the
users. The databases purpose is to create, establish and maintain a workflow among various
entities in order to facilitate all concerned users in their various capacities or roles.
Permission to the users would be granted based on the roles specified. Therefore, it
provides the technical guarantee of accuracy, reliability and security. The software and hard
requirements for the development of this project are not many and are already available in-
house at NIC or are available as free as open source. The work for the project is done with the
current equipment and existing software technology. Necessary bandwidth exists for
providing a fast feedback to the users irrespective of the number of users using the system.
3.2. OPERATIONAL FEASIBILITY

Proposed projects are beneficial only if they can be turned out into information
system. That will meet the organizations operating requirements. Operational feasibility
aspects of the project are to be taken as an important part of the project implementation.
Some of the important issues raised are to test the operational feasibility of a project includes
the following: -

Is there sufficient support for the management from the users?


Will the system be used and work properly if it is being developed and implemented?
Will there be any resistance from the user that will undermine the possible application
benefits?
This system is targeted to be in accordance with the above-mentioned issues.
Beforehand, the management issues and user requirements have been taken into
consideration. So there is no question of resistance from the users that can undermine the
possible application benefits.

The well-planned design would ensure the optimal utilization of the computer resources and
would help in the improvement of performance status.

3.3. ECONOMICAL FEASIBILITY

A system can be developed technically and that will be used if installed must still be a
good investment for the organization. In the economical feasibility, the development cost in
creating the system is evaluated against the ultimate benefit derived from the new systems.
Financial benefits must equal or exceed the costs.

The system is economically feasible. It does not require any addition hardware or
software. Since the interface for this system is developed using the existing resources and
technologies available at NIC, There is nominal expenditure and economical feasibility for
certain.
LOGICAL DESIGN
5.1. FILE DESIGN

5.1.1. OUTPUT DESIGN


Outputs from computer systems are required primarily to communicate the results of
processing to users. They are also used to provide a permanent copy of the results for later
consultation. The various types of outputs in general are:
External Outputs, whose destination is outside the organization.
Internal Outputs whose destination is within organization.
Users main interface with the computer.
Operational outputs whose use is purely within the computer department.
Interface outputs, which involve the user in communicating directly.

5.1.2. Output Definition


The outputs should be defined in terms of the following points:
Type of the output
Content of the output
Format of the output
Location of the output
Frequency of the output
Volume of the output
Sequence of the output
It is not always desirable to print or display data as it is held on a computer. It should
be decided as which form of the output is the most suitable.
For Example
Will decimal points need to be inserted.

Should leading zeros be suppressed.


5.1.3. Output Media:
In the next stage it is to be decided that which medium is the most appropriate for the
output. The main considerations when deciding about the output media are:
The suitability for the device to the particular application.
The need for a hard copy.
The response time required.
The location of the users
The software and hardware available.
Keeping in view the above description the project is to have outputs mainly coming under the
category of internal outputs. The main outputs desired according to the requirement
specification are:
The outputs were needed to be generated as a hot copy and as well as queries to be viewed on
the screen. Keeping in view these outputs, the format for the output is taken from the
outputs, which are currently being obtained after manual processing. The standard printer is
to be used as output media for hard copies.

5.1.4. Input Design


Input design is a part of overall system design. The main objective during the input
design is as given below:
To produce a cost-effective method of input.
To achieve the highest possible level of accuracy.
To ensure that the input is acceptable and understood by the user.

5.1.5. Input Stages:

The main input stages can be listed as below:


Data recording
Data transcription.
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction

5.1.6. Input Types:


It is necessary to determine the various types of inputs. Inputs can be categorized as follows:
External inputs, which are prime inputs for the system.
Internal inputs, which are user communications with the system.
Operational, which are computer departments communications to the system?
Interactive, which are inputs entered during a dialogue.

5.1.7. Input Media:


At this stage choice has to be made about the input media. To conclude about the
input media consideration has to be given to;
Type of input
Flexibility of format
Speed
Accuracy
Verification methods
Rejection rates
Ease of correction
Storage and handling requirements
Security
Easy to use
Portability
Keeping in view the above description of the input types and input media, it can be
said that most of the inputs are of the form of internal and interactive. As
Input data is to be the directly keyed in by the user, the keyboard can be considered to be the
most suitable input device.
5.1.8. Error Avoidance
At this stage care is to be taken to ensure that input data remains accurate form the
stage at which it is recorded up to the stage in which the data is accepted by the system. This
can be achieved only by means of careful control each time the data is handled.

5.1.9. Error Detection


Even though every effort is make to avoid the occurrence of errors, still a small
proportion of errors is always likely to occur, these types of errors can be discovered by using
validations to check the input data.

5.1.10. Data Validation


Procedures are designed to detect errors in data at a lower level of detail. Data
validations have been included in the system in almost every area where there is a possibility
for the user to commit errors. The system will not accept invalid data. Whenever an invalid
data is keyed in, the system immediately prompts the user and the user has to again key in the
data and the system will accept the data only if the data is correct. Validations have been
included where necessary.
The system is designed to be a user friendly one. In other words the system has been
designed to communicate effectively with the user. The system has been designed with
popup menus.

5.1.11. User Interface Design


It is essential to consult the system users and discuss their needs while designing the
user interface:
5.1.12. User Interface Systems Can Be Broadly Classified As:
1. User initiated interface the user is in charge, controlling the progress of the
user/computer dialogue. In the computer-initiated interface, the computer selects the
next stage in the interaction.
2. Computer initiated interfaces
In the computer initiated interfaces the computer guides the progress of the
user/computer dialogue. Information is displayed and the user response of the computer
takes action or displays further information.

5.1.13. User Initiated Interfaces

User initiated interfaces fall into tow approximate classes:


1. Command driven interfaces: In this type of interface the user inputs commands or queries
which are interpreted by the computer.
2. Forms oriented interface: The user calls up an image of the form to his/her screen and fills
in the form. The forms oriented interface is chosen because it is the best choice.

5.1.14. Computer-Initiated Interfaces

The following computer initiated interfaces were used:


1. The menu system for the user is presented with a list of alternatives and the user chooses
one; of alternatives.
2. Questions answer type dialog system where the computer asks question and takes action
based on the basis of the users reply.
Right from the start the system is going to be menu driven, the opening menu displays
the available options. Choosing one option gives another popup menu with more options. In
this way every option leads the users to data entry form where the user can key in the data.

5.1.15. Error Message Design:

The design of error messages is an important part of the user interface design. As user
is bound to commit some errors or other while designing a system the system should be
designed to be helpful by providing the user with information regarding the error he/she has
committed. This application must be able to produce output at different modules for different
inputs.
5.2. PERFORMANCE REQUIREMENTS
Performance is measured in terms of the output provided by the application.

Requirement specification plays an important part in the analysis of a system. Only


when the requirement specifications are properly given, it is possible to design a system,
which will fit into required environment. It rests largely in the part of the users of the
existing system to give the requirement specifications because they are the people who finally
use the system. This is because the requirements have to be known during the initial stages
so that the system can be designed according to those requirements. It is very difficult to
change the system once it has been designed and on the other hand designing a system, which
does not cater to the requirements of the user, is of no use.

The requirement specification for any system can be broadly stated as given below:

The system should be able to interface with the existing system


The system should be accurate
The system should be better than the existing system
The existing system is completely dependent on the user to perform all the duties.
SYSTEM DESIGN
6. INTRODUCTION
Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is the first
step in the development phase for any engineered product or system. The designers goal is to
produce a model or representation of an entity that will later be built. Beginning, once system
requirement have been specified and analyzed, system design is the first of the three technical
activities -design, code and test that is required to build and verify software.

The importance can be stated with a single word Quality. Design is the place where
quality is fostered in software development. Design provides us with representations of
software that can assess for quality. Design is the only way that we can accurately translate a
customers view into a finished software product or system. Software design serves as a
foundation for all the software engineering steps that follow. Without a strong design we risk
building an unstable system one that will be difficult to test, one whose quality cannot be
assessed until the last stage.

During design, progressive refinement of data structure, program structure, and


procedural details are developed reviewed and documented. System design can be viewed
from either technical or project management perspective. From the technical point of view,
design is comprised of four activities architectural design, data structure design, interface
design and procedural design.
7. NORMALIZATION

Database designed based on the E-R model may have some amount of inconsistency,
ambiguity and redundancy. To resolve these issues we have to do some amount of refinement
is required. This refinement process is called as Normalization.

7.1. Process of Normalization

As mentioned previously, normalization technique is based on strong mathematical


foundation. Basically in software industry four normal forms are used to design the database.
Before getting to know the normalization techniques in detail, let us define a few building
blocks which are used to define normal forms.

7.1.1. Determinant

Attribute X can be defined as determinant if it uniquely defines the attribute value Y in a


given relationship or entity. To qualify as determinant attribute need NOT be a key attribute.
Usually dependency of an attribute is represented as X Y, which means attribute X decides
attribute Y.

Example: In RESULT relation, Empno. attribute may decide t he Empsalary attribute. This is
represented as Empno. Employee and read as Empno. decides Employee.
In the RESULT relation, Empno. attribute is not a key attribute. Hence it can be concluded
that key attributes are determinants but not all the determinants are key attributes.
7.1.2. Functional Dependency

Consider the following Relation REPORT (Employee#, DEPT#, DEPTName, IName,


Workplace#, Empno., Empsalary)
Where:
Employee# - Employee Number
DEPT# - DEPT Number
DEPTName - DEPT Name
IName - Name of the instructor who delivered the DEPT
Workplace# - Workplace number which is assigned to respective instructor
Empno. - Scored in DEPT DEPT# by Employee Employee#
Empsalary - Obtained by Employee Employee# in DEPT DEPT#
Employee# DEPT# together (called composite attribute) defines EXACTLY ONE value of
Empno.. This can be symbolically represented as
Employee# DEPT# Empno.
This type of dependency is called as functional dependency. In above example Empno. is
functionally dependent on Employee# DEPT#.
Other functional dependencies in above examples are:
DEPT# DEPTName,
DEPT# IName (Assuming one DEPT is taught by one and only one instructor)
IName Workplace# (Assuming each instructor has his/ her own and non-shared
Workplace)
Empno. Empsalary.
Formally we can define functional dependency as: In a given relation R, X and Y are
attributes. Attribute Y is functionally dependent on attribute X if each value of X determines
EXACTLY ONE value of Y. This is represented as:
XY
However X may be composite in nature.
7.1.3. Full Functional Dependency
In above example, Empno. is fully functionally dependent on Employee# DEPT# and
not on sub set of Employee# DEPT#. This means Empno. cannot be determined either by
Employee# OR DEPT# alone. It can be determined only using Employee# AND DEPT#
together. Hence Empno. is fully functionally dependent on Employee# DEPT#. DEPT Name
is not fully functionally dependent on Employee# DEPT# because one of the subset DEPT#
determines the DEPT Name and Employee# does not have any role in deciding DEPT Name.
Hence DEPT Name is not fully functionally dependent on Employee# DEPT#.

Full Functional Dependency

Formal definition of full functional dependency is: In a given relation R, X and Y are
attributes. Y is fully functionally dependent on attribute X only if it is not functionally
dependent on sub-set of X. However X may be composite in nature.
7.1.4. Partial Dependency
In the above relationship DEPT Name, IName, Workplace# are partially dependent on
composite attributes Employee# DEPT# because DEPT# alone defines the
DEPT Name, IName, Workplace#.

Partial Dependency

Formal definition of partial dependency is: In a given relation R, X and Y are attributes.
Attribute Y is partially dependent on the attribute X only if it is dependent on subset of
attribute X. However X may be composite in nature.
7.1.5. Transitive Dependency
In above example, Workplace# depends on IName and in turn IName depends on DEPT#.
Hence Workplace# transitively depends on DEPT#.

Transitive Dependency

Similarly Empsalary depends on Empno, in turn Empno. Depends on Employee# DEPT#


hence Empsalary fully transitively depends on Employee# DEPT#.

7.1.6. Key attributes

In a given relationship R, if the attribute X uniquely defines all other attributes, then the
attribute X is a Key attribute which is nothing but the candidate key.

7.1.7. Non key attributes

In a given relationship R, all the attributes which are not key attributes are considered as non-
key attributes.
7.2. Types of Normal Forms
7.2.1. First Normal Form (1NF)
A relation is in first normal form if it meets the definition of a relation:
Each attribute (column) value must be a single value only.
All values for a given attribute (column) must be of the same type.
Each attribute (column) name must be unique.
The order of attributes (columns) is insignificant
No two tuples (rows) in a relation can be identical.
The order of the tuples (rows) is insignificant.

Emp.ID Emp.Name DEPT Position Emp.Salary


Per annum
100 A CSE Manager 15 L
101 B ECE Tech Lead 9L
102 C CSE Software Tech 8L
103 D MECH Tech Associate 10 L
104 E EEE Foremen 4L
7.2.2. Second Normal Form (2NF)
A relation is in second normal form (2NF) if all of its non-key attributes are dependent on
the entire key.
Relations that have a single attribute for a key are automatically in 2NF.
This is one reason why we often use artificial identifiers as keys.

Emp.ID Emp.Name DEPT

100 A CSE
101 B ECE
102 C CSE
103 D MECH
104 E EEE

Position Emp.Salary per annum

Manager 15 L
Tech Lead 9L
Software Tech 8L
Tech Associate 10 L
Foremen 4L
7.2.3. Third Normal Form (3NF)

A relation is in third normal form (3NF) if it is in second normal form and it


contains no transitive dependencies.
Consider relation R containing attributes A, B and C. R(A, B, C)
If A B and B C then A C
Transitive Dependency: Three attributes with the above dependencies.

Emp.ID Position
100 Manager
101 Tech Lead
102 Software Tech
103 Tech Associate
104 Foremen
8. DATA-FLOW DIAGRAM
LEVEL 0

USER

ENTER
THE
DETAILS

LOGIN
LEVEL 1

ADMINISTRATOR

LOGIN

EMPLOYEE
DETAIL REPORT

ATTENDANCE
DETAILS

VIEW DETAILS
LEVEL 2
9. DATABASE DESIGN AND ANALYZING:
Database Name: payroll
Table: branch
FIELD NAME DATA TYPE DESCRIPTION
brh_code Text branch code for identity
cmp_code Text company code for identity
addr1 Text Address 1 for details
addr2 Text Address 2 for details
addr3 Text Address 3 for details
pin-code Number Pin code for verification
tel Number Telephone number
fax Number Fax Number
email Text E-mail id for sending details
web Text web site id
date of comm. Date / Time date and time for details

TABLE: emp_leave_availed
FIELD NAME DATATYPE DESCRIPTION
emp_code Text
month Text

TABLE: emp_leave_details
FIELD NAME DATATYPE DESCRIPTION
emp_code Text
year Number
cas_leave Number
sck_leave Number
pri_leave Number
oth_leave Number
mrt_leave Number

TABLE: emp_person
FIELD NAME DATATYPE DESCRIPTION
emp_code Text Employee code for identity
grd_code Text Grade code for
emp_name Text
sck_leave Text
father_name Text
addr1 Text Address 1 for details
addr2 Text Address 2 for details
addr3 Text Address 3 for details
pincode Number Pin code for verification
tel Number Telephone number
maritalstat Yes / No marital states of a person
sex Yes / No Gender details
bloodgrp Text blood group details
qualification Text qualification details
date of join Date / Time date of joining in the company
date of confirm Date / Time date and time for details

TABLE: Loan_availed
FIELD NAME DATATYPE DESCRIPTION
emp_code Text
in_name Text
date of avail Text
amt_availed Number
amt_paid Number
tot_instal Number
bal_instal Number
amt_per_instal Number

TABLE: Loan_Master
FIELD NAME DATATYPE DESCRIPTION
in_name Text
rate_interest Number

TABLE: salary
FIELD NAME DATATYPE DESCRIPTION
emp_code Text
dateofissual Date / Time
basic Number
hra Number
cca Number
da Number
medical Number
washing Number
conveyance Number
ita Number
otr1 Number
oth2 Number
pf Number
gpf Number
medical_ded Number
ptax Number
incometax Number
incometax1 Number
income3 Number
loan1 Number
loan2 Number
loan3 Number
lossofpay Number
othded Number
splallw Number
spldedn Number
gross Number
netsal Number
SOURCE CODE
AND FORM
Main Form
REPORT
SYSTEM TESTING
This phase determine the error in the project. If there is any error then it must be removed
before delivery of the project. For determining errors various types of test action are
performed.

Unit Testing
Unit testing focuses verification effort on the smallest unit of software design
the module. Using the detail design description as a guide, important control paths are
tested to uncover errors within the boundary of the module. The relative complexity of
tests and the errors detected as a result is limited by the constrained scope established for
unit testing. The unit test is always white box oriented, and the step can be conducted in
parallel for multiple modules.
Unit testing is normally considered an adjunct to the coding step. After source
level code has been developed, reviewed, and verified for correct syntax, unit test case
design begins. A review of design information provides guidance for establishing test
cases that are likely to uncover errors. Each test case should be coupled with a asset of
expected results.
Because a module is not a stand-alone program, driver and/or stub software must
be developed for each unit test. In most applications a driver is nothing more than a main
program that accepts test case data passes such data to the module(to be tested), and prints
the relevant results. Stubs serve to replace modules that are subordinate (called by) the
module to be tested. Stub or dummy subprogram users the subordinate modules
interface, may do minimal data manipulation, prints verification of entry and returns.
Drivers and stubs represent overhead. That is, both are software that must be written but
tat is not delivered with the final software product. If drivers and stubs are kept simple,
actual overhead is relatively low. Unfortunately, many modules cannot be adequately unit
tested with simple overhead software. In such cases, complete testing can be postponed
until the integration test step.
Unit testing is simplified when a module with high cohesion is designed. When
only one function is addressed by a module, the number of test cases is reduced and errors
can be more easily predicted and uncovered.
System Testing
Software is only one element of a larger computer based system. Ultimately,
software is incorporated with other system elements (e.g. new hardware, information),
and a series of system integration and validation tests are conducted. Steps taken during
software design and testing can greatly improve the probability of successful software
integration in the larger system.
A classics system testing problem is finger pointing. This occurs when a defect
is uncovered, and one system element developer blames another for the problem. Rather
that including in such nonsense, the software engineer should anticipate potential
interfacing problems and (1) design error handling paths that test all information coming
from other elements of the system.(2) conduct a series of tests that simulate bad data or
other potential errors at the software interface; (3) record the results or tests to use as
evidence if finger pointing does occur (4) participate in the planning and design of
system test to ensure that software is adequately tested.

There are many types of system tests, which are worthwhile for software-based systems, as
detailed hereunder:
Recovery testing is a system test that forces the software to fail in a variety of
ways that verifies that recovery is properly performed.
Security testing attempts to verify that protection mechanisms built into a system
will protect it from improper penetration
Stress tests are designed to confront programs with abnormal situations.
Performance testing is designed to test the run-time performance of software
within the context of an integrated system.

Integration Testing: -
A neophyte in the software world might ask a seemingly legitimate question once
all modules have been unit-tested. If they all work individually, why do you doubt that
theyll work when we put tem together? The problem, of course, is putting them together
interfacing. Date can be lost across an interface; one module can have an inadvertent,
adverse effect on anther, sub functions, when combined, may not produce the desired
major function; individually acceptable imprecision may be magnified to unacceptable
levels; global data structures can present problems. Sadly, the list goes on and on.
Integration testing is a systematic technique for construction the program structure
while at the same time conduction test to uncover errors associated with interfacing. The
objective is to take unit tested modules and build a program structure that has been
dictated by design. There is often a tendency to attempt non-incremental integration; that
is, to construct the program using a big bang approach. All modules are combined in
advance. The entire program is tested as a whole. And chaos usually results! A set of
errors are encountered. Correction is difficult because the isolation of causes is
complicated by the vast expanse of the entire program. Once these errors are corrected,
new ones appear and the process continues in a seemingly endless loop.
Incremental integration is the antithesis of the big bang approach. The program
is constructed and tested is small segments, where errors are easier to isolate and correct;
interfaces are more likely to be tested completely, and a systematic test approach may be
applied.
Integration testing can be categorized into two types, namely top-down integration
or bottom-up integration. Top-down integration is an incremental approach to the
construction of program structure. Modules are integrated by moving downward through
the control hierarchy, beginning with the main control module. Modules subordinate to
the main control module are incorporated into the structure in either a depth-first or
breadth-first manner. The bottom-up integration testing as its name implies, begins
construction and testing with atomic modules. Because modules are integrated for the
bottom up processing required for modules subordinate to given level is always available
and the need for stubs is eliminated.
The selection of an integration strategy depends upon software characteristic and,
sometime project schedule. In general, a combined approach that uses the top-down
strategy for the upper levels of the program structure, coupled with a bottom-up strategy
for the subordinate levels, may be the best compromise.
SYSTEM SECURITY
10. INTRODUCTION
The protection of computer based resources that includes hardware, software, data,
procedures and people against unauthorized use or natural
Disaster is known as System Security.

System Security can be divided into four related issues:

Security
Integrity
Privacy
Confidentiality

SYSTEM SECURITY refers to the technical innovations and procedures applied to the
hardware and operation systems to protect against deliberate or accidental damage from a
defined threat.

DATA SECURITY is the protection of data from loss, disclosure, modification and
destruction.

SYSTEM INTEGRITY refers to the power functioning of hardware and programs,


appropriate physical security and safety against external threats such as eavesdropping and
wiretapping.

PRIVACY defines the rights of the user or organizations to determine what information they
are willing to share with or accept from others and how the organization can be protected
against unwelcome, unfair or excessive dissemination of information about it.

CONFIDENTIALITY is a special status given to sensitive information in a database to


minimize the possible invasion of privacy. It is an attribute of information that characterizes
its need for protection.
SECURITY SOFTWARE
System security refers to various validations on data in form of checks and controls to avoid
the system from failing. It is always important to ensure that only valid data is entered and
only valid operations are performed on the system. The system employees two types of
checks and controls:

CLIENT SIDE VALIDATION


Various client side validations are used to ensure on the client side that only valid data
is entered. Client side validation saves server time and load to handle invalid data. Some
checks imposed are:
VBScript in used to ensure those required fields are filled with suitable data only.
Maximum lengths of the fields of the forms are appropriately defined.

Forms cannot be submitted without filling up the mandatory data so that manual mistakes
of submitting empty fields that are mandatory can be sorted out at the client side to save
the server time and load.

Tab-indexes are set according to the need and taking into account the ease of user while
working with the system.

SERVER SIDE VALIDATION

Some checks cannot be applied at client side. Server side checks are necessary to save
the system from failing and intimating the user that some invalid operation has been
performed or the performed operation is restricted. Some of the server side checks imposed
is:

Server side constraint has been imposed to check for the validity of primary key and
foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the
primary value results into a message intimating the user about those values through the
forms using foreign key can be updated only of the existing foreign key values.

User is intimating through appropriate messages about the successful operations or


exceptions occurring at server side.
Various Access Control Mechanisms have been built so that one user may not agitate
upon another. Access permissions to various types of users are controlled according to the
organizational structure. Only permitted users can log on to the system and can have
access according to their category. User- name, passwords and permissions are controlled
the server side.

Using server side validation, constraints on several restricted operations are imposed.
FUTURE ENHANCEMENT
As a future work, some additional stuff could be implemented and integrated into the
application code making it much more reliable and flexible; especially what concerns a pay-
roll module, for instance. Apparently, the role of such systems is basic and essential within
each company that wants to keep a really good control and record concerning its personnel
data, functionality and performance on all levels in its structure. Employee management
system will be enhanced up to all departments of Group. Integrating Leave management and
Attendance system. As organization is multinational make application internet base.
CONCLUSION
In this report, an information systems development has been presented. It was emphasized on
the basic steps, consequently taken during the projects development course as a particular
attention was turned to the basic operative functions performed upon the data into the
database. The reports content comprises the whole task solution, starting from the
programming environments have been selected, going through the database, the applications
analyze and construction, and finishing with the code-implementation and test-samples.
Every organization, in nowadays, has the necessity of managing its staff on a really good
level as the staff has definitely the greatest merit of building up a company as such as it is.
The well managed staff means giving the appropriate financial awareness and all kind of
benefits as such as they have been deserved. Thats why the development of such systems is
not just a programming business a lot of people are ordinarily involved in such projects and
one of the basic requirements is the reliability of the system, especially what concerns the
storage of data and all of the operations that will be performed upon it.

S-ar putea să vă placă și