You are on page 1of 25

A Project Report

On

“Payroll Management System ”

Prepare By:

Ajaybhai Bharatbhai Parmar

Seat No()

A Report Submitted to

Sardar Patel University

In Partial Fulfilment of

BCA (Bachelor of Computer Applications) Degree


Academic Year: 2021 / 2022

Sardar Patel College of Administration & Management (SPCAM)

Sardar Patel Education Campus(SPEC)

Bakrol-388315

Guided By: Mr. ChintanParmar


Sardar Patel College of administration & Management

Certificate

This is to certify that Mr/ MsAjaybhai Bharatbhai Parmar______________

Seat No _3016__of BCA – SEM - VI has worked on project entitled

Online Railway Reservation Systemfrom 08/09/2021 to 10/11/2021.

US06CBCA27 Project - IIis in-house project course of two credits.

He/She was regular in his/her work and developed around 70 hours for the
project including analysis and design. He/she has completed the project
satisfactorily.

Director / Head Project Guide


Acknowledgement

This project work has been the most practical and exciting part of my learning experience,
which would be an asset for me for my future career. It was a fruitful experience in
developing the project. There were many new things which I learned during development of
the project.

No system is created entirely by an individual. Many people have helped to create this system
and each of their contribution has been valuable. Proper organization of concept and analysis
of the system is due to keen interest and helping hand of my teachers and colleagues. It is my
sincere desire to express my heartfelt gratitude for their guidance as well as support.

My sincere thanks to our Director Dr. NIRAV TRIVEDI for molding my thoughts and
vision towards all the subjects, I was studying in all these three years.

I am very thankful to Mr. RUTUL PATEL, Head of the Department, who provided this
opportunity for us to work on the project.

I express my deepest gratitude to my project guide Mr. CHINTAN PARMAR, whose


continuous encouragement and valuable suggestions has helped me to complete my project
successfully.

Finally, I am thankful to the entire staff of the B.C.A. department, Sardar Patel University,
and all my colleagues for their kind cooperation. All of these have made my project a
successfully.

Regards
- Chandni Jay Patel
Index

Sr. No Content Page No.

1 Chapter 1 : Introduction 1-7

1.1 Introduction to project 2

1.2. Organization Profile 3

1.3. Purpose of the project 5

1.4. Problem in Existing System 6

1.5. Solution of These Problems 7

2 Chapter 2 : System Analysis 8-24

2.1. Introduction 9

2.2. System Workflow 11

2.3. Study of the System 13

2.4. Hardware & Software Requirement 18

2.5. Proposed System 19

2.6. Input & Output 20

2.7. Process Models 22

3 Chapter 3 :Feasibility Report 25-29

3.1. Introduction 26

3.2. Technical Feasibility 27

3.3. Operational Feasibility 28

3.4. Economic Feasibility 29

4 Chapter 4 : Software Requirement Specifications 30-34

4.1. Functional Requirements 31

4.2. Non-Functional Requirements 33


5 Chapter 5: Software Development Tools 35-41

5.1. Introduction To .Net Framework 36

5.2. Asp.Net 37

5.3. C#.Net 38

5.4. SQL Server 39

5.5 Entity Frame Work 40

6 Chapter 6: System Design 42-85

6.1. Introduction 43

6.2. System Workflow 44

6.3. Normalization 46

6.4. E-R Diagram 50

6.5. Data Flow Diagrams 53

6.6. Data Dictionary 61

6.7. Use-Case Diagram 67

7 Chapter 7: Output Screens Shots 86-114

8 Chapter 8: System Testing and Implementation 115-125

8.1. Introduction 116

8.2. Strategic Approach of Software Testing 117

8.3. Unit Testing 119

8.4. Test Cases 123

9 Chapter 9: Conclusion 126

10 Chapter 10: Future Enhancement 128

11 Chapter 11: Bibliography 130

12 Chapter 12: Project Summary 132


Chapter-1: Introduction
1.1 Introduction to project

Payroll Management System is the administration of the financial record of


employees' salaries,wages, bonuses, net pay, and deductions.
This project is carried out as a partial fulfillment of thedegree of BSc in Computer
Science & Engineering.
 Nowadays this kind of application is veryessential for any small or medium sized
organization. An employer, regardless of the number ofworkers they employ, must
maintain all records pertaining to payment system digitally. To completethe project
we have
investigated the current system of ‘The People’s University of Bangladesh’ and
finally we are able to establish such a system which automate all the process of a
typical pen andpaper based payroll management system. With this system it is
very to organize the whole employeedetails and their basic salary, their increment,
conveyance allowance, automatically adjust theoverload, advance payment and

subsequently generate complex reports from these information.


.

1.2 Organization Profile

1.3 Purpose of the project

1. The purpose of this SRS is to describe the requirements involved in developing a


Payroll System.
2. One or more designated employee from HR and Accounts department will be
responsible to manage the personal, salary, attendance and leave data of all the
employees.
3. Monthly payslip, periodical attendance and leave report will be generated.

1.4 Problem in Existing System


The employee information management system is software, which automates the job
of a HR department and accounts department in maintaining employee pay related
information.

1. Payroll system deals with the maintenance of the employee’s personal, salary,
attendance and leave details.
2. It generates the monthly payslip of every employee of organization.
3. It also generates attendance report of the employee on the basis of their
presence in organization. Attendance is maintained on the daily basis.
4. One or more designated employee from HR and Accounts department will be
provided username & password to manage the payroll information.
.
1.5 Solution of These Problems
1. Cancel the payroll immediately, make updates, and reprocess it.
2. Run an additional, manual payroll with the necessary adjustments for only the
affected employees.
3. Make adjustments on the next payroll to counteract previous mistakes and get things
back in balance.

Chapter-2: System Analysis

2.1 Introduction
Systems analysis is a process of collecting factual data, understand the processes
involved, identifying problems and recommending feasible suggestions for improving
the system functioning. This involves studying the business processes, gathering
operational data, understand the information flow, finding out bottlenecks and
evolving solutions for overcoming the weaknesses of the system so as to achieve
the organizational goals. System Analysis also includes subdividing of complex
process involving the entire system, identification of data store and manual
processes. The major objectives of systems analysis are to find answers for each
business process: What is being done, How is it being done, Who is doing it, When
is he doing it, Why is it being done and How can it be improved? It is more of a
thinking process and involves the creative skills of the System Analyst. It attempts to
give birth to a new efficient system that satisfies the current needs of the user and
has scope for future growth within the organizational constraints. The result of this
process is a logical system design. Systems analysis is an iterative process that
continues until a preferred and acceptable solution emerges

2.2 System Workflow


2.3 Study of System
Payroll management process is very essential in any of the concern which consist of
more than one employee. Moreover, it is a requirement for compliance with federal
and state laws. Payroll management process refers to the administration of an
employee’s financial records which includes the salaries, wages, bonuses,
deductions and net pay. That record should be maintained for the federal
requirements in future. In recent days there are various automated software’s are
available to maintain the payroll management process it will reduce the manual work.

OBJECTIVE:- To identify the payroll periods for the company based on the paying
capacity of the particular concern & market conditions. To analyse the employees
expenses allowances, appraisals to ensure the equipped payroll system. To know
about the different types of payroll methods will enhance the knowledge in payroll
management

ADVANTAGES OF PAYROLL MANAGEMENT SYSTEM :

The most important advantage of using a payroll financing solution is that it helps
you grow your business. Some types of payroll financing, such as factoring, are easy
to get. Factoring companies don’t require the traditional underwriting that banks go
through. This advantage is important for small and growing businesses that can’t
meet bank lending requirements. Some payroll funding solutions can be obtained
quickly. For example, a factoring line can usually be obtained in a week or so.
Obviously, the time it takes to deploy a line varies based on clients’ individual
circumstances. Payroll financing helps you bridge the gap between rendering a
service and getting paid. This solution allows you to offer competitive terms to your
clients and provides a financial platform for adding clients. Lastly factoring
transactions are usually structured as the sale of your receivables, rather than as a
loan against them. This structure can be important for larger companies who may
look for conventional funding

2.4 Hardware & Software Requirement

Hardware interfaces
• Memory minimum of 1GB RAM

• Hard disk of 40 GB

• Monitor

• Mouse

• Keyboard

• Printer

Software interfaces
• Operating System Windows 7.

• Front End Microsoft VB.Net 2010

• Backend MS SQL Server 2008

2.5 Proposed System


1. The software validates the authentic user by extracting their employee id and
password.
2. After the validation of the user software allows the user to manage personal,
salary, attendance and leave of employees.
3. Generate monthly payslip.
4. Generate periodical attendance and leave report of all the employees. This
report will help to check the punctuality of the employees.
2.6 Input & Output

Input:
 By entering the employee id and password, the user can use the system.
 User can insert / update the employee personal or salary data by entering
employee id.
 User can insert / update the employee attendance data by entering attendance
date and employee id.
 User can insert / update the employee leave data by entering employee id.
 User can generate monthly payslip and, periodical attendance and leave report.

Output:

1. Instead of clicking the Print Selected When it is time to print checks for your
clients, choose File and mark the checkboxes for the appropriate payroll or
vendor checks. At least one payroll check must be selected for the Complete
Payroll Output button to become active.
2. Button click the Complete Payroll Output button to open the combined
output salary, which contains tabbed pages for each output type, Checks,
Reports, and Billing Invoices.
3. In the Print make your selections for each output type and then click OK to print
your complete payroll output for the selected clients.

2.6 Process Models

A software process model is an abstraction of the software development process.


The models specify the stages and order of a process. So, think of this as a
representation of the order of activities of the process and the sequence in which
they are performed.

A model will define the following:

 The tasks to be performed


 The input and output of each task
 The pre and post conditions for each task
 The flow and sequence of each task
The goal of a software process model is to provide guidance for controlling and
coordinating the tasks to achieve the end product and objectives as effectively as
possible.

Iterative Model

The iterative development model develops a system through building small


portions of all the features. This helps to meet initial scope quickly and release it for
feedback.

In the iterative model, you start off by implementing a small set of the software
requirements. These are then enhanced iteratively in the evolving versions until the
system is completed. This process model starts with part of the software, which is
then implemented and reviewed to identify further requirements.

Implementation
Design & Testing
Developement

Requirement Design & Testing Implementation


Developement

Design & Implementation


Testing
Developement

Like the incremental model, the iterative model allows you to see the results at the
early stages of development. This makes it easy to identify and fix any functional
or design flaws. It also makes it easier to manage risk and change requirements.

The deadline and budget may change throughout the development process,
especially for large complex projects. The iterative model is a good choice for large
software that can be easily broken down into modules.
Chapter 3 : Feasibility Report

3.1 Introduction
A feasibility study is an analysis that considers all of a project's relevant factors—
including economic, technical, legal, and scheduling considerations—to ascertain the
likelihood of completing the project successfully.

Whether a project is feasible or not can depend on several factors, including the
project's cost and  meaning whether the project generated enough or sales from
consumers.

However, a feasibility study isn't only used for projects looking to measure and
forecast financial gains. In other words, feasible can mean something different,
depending on the industry and the project's goal. For example, a feasibility study
could help determine whether a hospital can generate enough donations and
investment dollars to expand and build a new cancer center.

Although feasibility studies can help project managers determine the risk and return
of pursuing a plan of action, several steps and best practices should be considered
before moving forward.

3.2 Technical Feasibility

The first step in the feasibility stage, Technical Feasibility, involves development of


a working model of the product or service. It is not necessary that the initial materials
and components of the working model represent those that actually will be used in
the finished product or service. The purpose of the working model is to demonstrate,
to your own satisfaction, that the product or service is functional and producible. It
also provides a visual means to share your concept with others.

The concept of a mechanical working model is easier to grasp and understand than
software, e-commerce or service-related products. E-commerce models require
verification of the ability to integrate the computers, servers, software and
programming needed to support the operational concept. Services, packaged as a
set of value-added activities, should deliver observable benefits.

Definition: The process of proving that the concept is technically possible.

Objective: The objective of the technical feasibility step is to confirm that the product
will perform and to verify that there are no production barriers.

Product: The product of this activity is a working model.


3.3 Operational Feasibility

Operational feasibility depends on the project’s available human resources and


determines if the system is usable once the project is developed and implemented. It
analyzes the preparedness of the organization to support the proposed system.
Unlike the technical and economic feasibility, operational feasibility is quite hard to
gauge.

Never the less, to determine operational feasibility, you need to understand


management’s commitment towards the proposed project. If management were the
initiator of operational feasibility, it would likely be accepted and used once
completed.

3.4 Economic Feasibility

The first purpose of this effort is to financially model the venture opportunity and
achieve a break-even analysis. In other words, based upon the costs of goods sold,
capital costs, and management and administration, how much revenue generated
from units sold is required to break-even and over what period of time.

Once a break-even analysis is developed, the entrepreneurs can develop realistic


financial projections for best case and worst case scenarios. These scenarios will be
critical in strategic planning, milestone development and venture valuation analysis.
The simple objective is to determine what level of revenue is required to satisfy the
return on investment demanded by the founder and/or the investors.

Definition: The economic feasibility step of business development is that period


during which a break-even financial model of the business venture is developed
based on all costs associated with taking the product from idea to market and
achieving sales sufficient to satisfy debt or investment requirements.

Objective: The objective of the economic feasibility is to develop a financial model of


the business venture.
Chapter- 4 : Software Requirement Specifications

4.1 Functional Requirements


Functional requirements define the basic system behaviour. Essentially, they are
what the system does or must not do, and can be thought of in terms of how the
system responds to inputs. Functional requirements usually define if/then
behaviours and include calculations, data input, and business processes.

Functional requirements are features that allow the system to function as it was
intended. Put another way, if the functional requirements are not met, the system
will not work. Functional requirements are product features and focus on user
requirements.

4.2 Non-Functional requirements


While functional requirements define what the system does or must not

do, non-functional requirements specify how the system should do it. Non-

functional requirements do not affect the basic functionality of the system

(hence the name, non-functional requirements). Even if the non-functional

requirements are not met, the system will still perform its basic purpose.

 If a system will still perform without meeting the non-functional requirements,

why are they important? The answer is usability. Non-functional requirements

define system behaviour, features, and general characteristics that affect the

user experience. How well non-functional requirements are defined and

executed determines how easy the system is to use, and is used to judge

system performance. Non-functional requirements are

product properties and focus on user expectations.

 
There are more examples below, but for now, think about a functional

requirement that the system loads a webpage after someone clicks on a

button. There should be a related non-functional requirement specifying how

fast the webpage must load. Without it, the user experience and perception of

quality are at risk if they are forced to wait too long, even though the functional

requirement is fully met.


Chapter 5: Software Development Tools

5.1 Introduction To .Net Framework


.NET is a software framework that is designed and developed by Microsoft. The
first version of the .Net framework was 1.0 which came in the year 2002. In easy
words, it is a virtual machine for compiling and executing programs written in
different languages like C#, VB.Net, etc. 
It is used to develop Form-based applications, Web-based applications, and Web
services. There is a variety of programming languages available on the .Net
platform, VB.Net and C# being the most common ones. It is used to build
applications for Windows, phones, web, etc. It provides a lot of functionalities and
also supports industry standards. 
.NET Framework supports more than 60 programming languages in which 11
programming languages are designed and developed by Microsoft. The remaining
are supported by .NET Framework but not designed and developed by Microsoft. 

11 Programming Languages which are designed and developed by Microsoft


are: 
 C#.NET
 VB.NET
 C++.NET
 J#.NET
 F#.NET
 JSCRIPT.NET
 WINDOWS POWERSHELL
 IRON RUBY
 IRON PYTHON
 C OMEGA
 ASML(Abstract State Machine Language)

Main Components of .NET Framework

Comman Language Runtime:


 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 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
that 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 java. Installing the .NET framework basically is the
installation of CLR and FCL into the system.

5.2 VB.NET
VB.NET stands for Visual Basic.NET, and it is a computer programming language
developed by Microsoft. It was first released in 2002 to replace Visual Basic 6.
VB.NET is an object-oriented programming language. This means that it supports
the features of object-oriented programming which include encapsulation,
polymorphism, abstraction, and inheritance.

VB.NET is a multi-paradigm programming language developed by Microsoft on


the .NET framework. It was launched in 2002 as a successor to the Visual Basic
language. This was the first version of VB.NET (VB.NET 7.0) and it relied on .NET
version 1.0.

In 2003, the second version of VB.NET, VB.NET 7.1, was released. This one relied
on .NET version 1.1. This version came with a number of improvements including
support for .NET Compact Framework and an improved reliability and performance
of the .NET IDE. VB.NET 2003 was also made available in the academic edition of
Visual Studio.NET and distributed to various scholars from different countries for
free.

In 2005, VB.NET 8.0 was released. The .NET core portion was dropped from its
name so as to distinguish it from the classical Visual Basic language. This version
was named Visual Basic 2005. This version came with many features since
Microsoft wanted this language to be used for rapid application developers. They
also wanted to make it different from C# language. Some of the features introduced
by this version of VB.NET included partial classes, generics, nullable types, operator
overloading, and unsigned integer support. This version also saw the introduction of
the IsNot operator.

In 2008, VB 9.0 was introduced. This was released together with .NET 3.5. Some of
the features added to this release of VB.NET included anonymous types, true
conditional operator, LINQ support, XML literals, Lambda expressions, extension
methods, and type inference.

In 2010, Microsoft released VB 2010 (code 10.0). They wanted to use a Dynamic
Language Runtime for this release, but they opted for co-evolution strategy shared
between VB.NET and C# to bring these languages closer to each other.

In 2012, VB 2012 (code 11.0) was release together with .NET 4.5. Its features
included call hierarchy, iterators, caller data, asynchronous programming with “await”
and “async” statements and the “Global” keyword in the “namespace” statements.
In 2015, VB 2015 (code 14.0) was released alongside Visual Studio 2015. The “?.”
operator was introduced to do inline null checks. A string interpolation feature was
also introduced to help in formatting strings inline.

In 2017, VB 2017 (code 15.0) was introduced alongside Visual Studio 2017. A better
way of organizing source code in just a single action was introduced.

VB.NET Features
VB.NET comes loaded with numerous features that have made it a popular
programming language amongst programmers worldwide. These features include
the following:

 VB.NET is not case sensitive like other languages such as C++ and Java.
 It is an object-oriented programming language. It treats everything as an
object.
 Automatic code formatting, XML designer, improved object browser etc.
 Garbage collection is automated.
 Support for Boolean conditions for decision making.
 Simple multithreading, allowing your apps to deal with multiple tasks
simultaneously.
 Simple generics.
 A standard library.
 Events management.
 References. You should reference an external object that is to be used in a
VB.NET application.
 Attributes, which are tags for providing additional information regarding
elements that have been defined within a program.
 Windows Forms- you can inherit your form from an already existing form.

Advantages of VB.NET
The following are the pros/benefits you will enjoy for coding in VB.NET:

 Your code will be formatted automatically.


 You will use object-oriented constructs to create an enterprise-class code.
 You can create web applications with modern features like performance
counters, event logs, and file system.
 You can create your web forms with much ease through the visual forms
designer. You will also enjoy drag and drop capability to replace any elements
that you may need.
 You can connect your applications to other applications created in languages
that run on the .NET framework.
 You will enjoy features like docking, automatic control anchoring, and in-place
menu editor all good for developing web applications.

Disadvantages of VB.NET
Below are some of the drawbacks/cons associated with VB.NET:
 VB.NET cannot handle pointers directly. This is a significant disadvantage
since pointers are much necessary for programming. Any additional coding
will lead to many CPU cycles, requiring more processing time. Your
application will become slow.
 VB.NET is easy to learn. This has led to a large talent pool. Hence, it may be
challenging to secure a job as a VB.NET programmer.

Summary:

 VB.NET was developed by Microsoft.


 It is an object-oriented language.
 The language is not case sensitive.
 VB.NET programs run on the .NET framework.
 In VB.NET, the garbage collection process has been automated.
 The language provides windows forms from which you can inherit your own
forms.
 VB.NET allows you to enjoy the drag and drop feature when creating a user
interface

5.3 SQL Server

MySQL is a leading open source database management system. It is a multi-user,


multithreaded database management system. MySQL is especially popular on the
web. It is one of the parts of the very popular LAMP platform. Linux, Apache, MySQL
and PHP. MySQL database is available on most important OS platforms. It runs on
BSD Unix, Linux, Windows or Mac. Wikipedia, YouTube, Facebook use MySQL.
These sites manage millions of queries each day. MySQL comes in two versions:
MySQL server system and MySQL embedded system. The MySQL server software
and the client libraries are dual-licensed: GPL version 2 and proprietary license.

The development of MySQL began in 1994 by a Swedish company MySQL AB. Sun
Microsystems acquired MySQL AB in 2008. Sun was bought by Oracle in 2010.

MySQL, PostgreSQL, Firebird, SQLite, Derby, and HSQLDB are the most well
known open source database systems.

MySQL is developed in C/C++. Except for C/C++, APIs exist for PHP, Python, Java,
C#, Eiffel, Ruby, Tcl or Perl.

A database row represents a single, implicitly structured data item in a table. It is


also called a tuple or a record. A column is a set of data values of a particular simple
type, one for each row of the table. The columns provide the structure according to
which the rows are composed. A field is a single item that exists at the intersection
between one row and one column. A primary key uniquely identifies each record in
the table. A foreign key is a referential constraint between two tables. The foreign
key identifies a column or a set of columns in one (referencing) table that refers to a
column or set of columns in another (referenced) table.
A trigger is a procedural code that is automatically executed in response to certain
events on a particular table in a database. A view is a specific look on data in from
one or more tables. It can arrange data in some specific order, highlight or hide
some data. A view consists of a stored query accessible as a virtual table composed
of the result set of a query. Unlike ordinary tables a view does not form part of the
physical schema. It is a dynamic, virtual table computed or collated from data in the
database.

A transaction is an atomic unit of database operations against the data in one or


more databases. The effects of all the SQL statements in a transaction can be either
all committed to the database or all rolled back. An SQL result set is a set of rows
from a database, returned by the SELECT statement. It also contains meta-
information about the query such as the column names, and the types and sizes of
each column as well. An index is a data structure that improves the speed of data
retrieval operations on a database table.

5.4 Entity Frame Work


Prior to .NET 3.5, we (developers) often used to write ADO.NET code or Enterprise
Data Access Block to save or retrieve application data from the underlying database.
We used to open a connection to the database, create a DataSet to fetch or submit
the data to the database, convert data from the DataSet to .NET objects or vice-
versa to apply business rules. This was a cumbersome and error prone process.
Microsoft has provided a framework called "Entity Framework" to automate all these
database related activities for your application.

Entity Framework is an open-source ORM framework for .NET applications


supported by Microsoft. It enables developers to work with data using objects of
domain specific classes without focusing on the underlying database tables and
columns where this data is stored. With the Entity Framework, developers can work
at a higher level of abstraction when they deal with data, and can create and
maintain data-oriented applications with less code compared with traditional
applications.

Official Definition: “Entity Framework is an object-relational mapper (O/RM) that


enables .NET developers to work with a database using .NET objects. It eliminates
the need for most of the data-access code that developers usually need to write.”

The following figure illustrates where the Entity Framework fits into your application.
As per the above figure, Entity Framework fits between the business entities (domain
classes) and the database. It saves data stored in the properties of business entities
and also retrieves data from the database and converts it to business entities objects
automatically.

Entity Framework Features

 Cross-platform: EF Core is a cross-platform framework which can run on


Windows, Linux and Mac.
 Modelling: EF (Entity Framework) creates an EDM (Entity Data Model) based
on POCO (Plain Old CLR Object) entities with get/set properties of different
data types. It uses this model when querying or saving entity data to the
underlying database.
 Querying: EF allows us to use LINQ queries (C#/VB.NET) to retrieve data
from the underlying database. The database provider will translate this LINQ
queries to the database-specific query language (e.g. SQL for a relational
database). EF also allows us to execute raw SQL queries directly to the
database.
 Change Tracking: EF keeps track of changes occurred to instances of your
entities (Property values) which need to be submitted to the database.
 Saving: EF executes INSERT, UPDATE, and DELETE commands to the
database based on the changes occurred to your entities when you call
the SaveChanges() method. EF also provides the
asynchronous SaveChangesAsync() method.
 Concurrency: EF uses Optimistic Concurrency by default to protect
overwriting changes made by another user since data was fetched from the
database.
 Transactions: EF performs automatic transaction management while
querying or saving data. It also provides options to customize transaction
management.
 Caching: EF includes first level of caching out of the box. So, repeated
querying will return data from the cache instead of hitting the database.
 Built-in Conventions: EF follows conventions over the configuration
programming pattern, and includes a set of default rules which automatically
configure the EF model.
 Configurations: EF allows us to configure the EF model by using data
annotation attributes or Fluent API to override default conventions.
 Migrations: EF provides a set of migration commands that can be executed
on the NuGet Package Manager Console or the Command Line Interface to
create or manage underlying database Schema.
Chapter 6: System Design

6.1 Introduction
This desktop-based payroll information system is an information system designed to
change processes that are still manual and integrate it between payroll and presence
can be seen in Figure. procedures and process of data processing presence,
employee registration, payroll, overtime calculation which includes the making of
documents, data recapitulation, which parts are involved. The design system
proposed is seen from the use case diagram, there are 4 use cases and 2 actors. 4
use cases consist of login, employee registration, attendance, and payroll. While for
the 2 actors, it consists of employees and the finance department. The proposed
system design can be seen from Figure . Use Case Design System To be able to
find out a detail about the stages of system design that is designed on a desktop-
based payroll information system. It will be explained using a use case scenario.

6.2 System Workflow

System
Login

Employe
Presence Depart-

Ment

Employee &
Registration

Payroll
6.3. Normalization

You might also like