You are on page 1of 7

New Environments Committee

Hints to Counting Applications in a Client/Server environment

Note: The NEC has established these White Papers in an effort to distribute
hints about a subject domain quickly to the counting community.

This document is based on the function point counting practices as described in the
current 4.2 of the IFPUG Counting Practices Manual (CPM) and demonstrates the
applicability of IFPUG Function Points in the subject domain.

The contents of this paper are to be used exclusively as hints in the application of
function point counting in the domain described.

These hints do not constitute rule changes and should not be used as rules. While
this document has been reviewed and approved by the CPC, it does not constitute
IFPUG counting practice standards as contained in the CPM.

Introduction
Using current counting practices, as described in CPM 4.2, this paper presents a cohesive
set of hints on how to apply Function Point Analysis (FPA) to establish the function point
size of an application in a Client/Server environment.

Following a (case) description of an application in a Client/Server environment, the


Function Point Counting Procedure in the CPM is used to specifically address the issues
when counting an application in a Client/Server environment:
• Scope of the count
• Identify the application boundary
• Determine the data and transactional functions
For the exact definitions of user, boundary and data or transactional functions, please see
the CPM.

Applications in a Client/Server environment


From a technical perspective an application in a Client/Server environment is made up of
individual and autonomous components that function cooperatively to jointly meet the
business requirements expressed by the user. Using a standard communication protocol,
the Client requests services and the Server provides services to the Clients.
A specific issue in counting applications in a Client/Server environment is whether the
individual components should be counted in FPA.

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 1


New Environments Committee July 12, 2004
New Environments Committee
Hints to Counting Applications in a Client/Server environment

An application in a Client/Server environment consists of the following components:


• Data Management: data storage and retrieval according to defined business rules.
For example, to perform an update of employee data, the data management
component provides for storing employee data.
• Application: interaction between data management and presentation according to
defined business rules. For example, to perform an update of employee data, the
application component provides for validating employee data.
• Presentation: interaction with the environment according to defined business rules.
For example, to perform an update of employee data, the presentation component
provides for input of employee data.

Data
Management

Application

Presentation

Client / server components

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 2


New Environments Committee July 12, 2004
New Environments Committee
Hints to Counting Applications in a Client/Server environment

Client/Server models.
The following picture (based on Gartner) is presented to give examples of various
combinations of the Client/Server components and how these can be combined with the
physical representation (e.g., Server computer, Client workstation):

Distributed Remote Distributed Remote Data Distributed


Presentation Presentation Functionality Management Database

Data Data Data Data Data


Management Management Management Management Management

Application Application Application

Data
Presentation
Management

Application Application Application

Presentation Presentation Presentation Presentation Presentation

Client/Server models

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 3


New Environments Committee July 12, 2004
New Environments Committee
Hints to Counting Applications in a Client/Server environment

Distributed and remote presentation


Data management functions and application components reside entirely on the Server.
Presentation components reside either entirely (remote) or partly (distributed) on the
Client, but are presented to the user as a whole.

Distributed functionality
The application component is split between Server and Client, usually for technical
reasons. All parts of the application component must function as a whole to meet the
defined business rules.
Presentation components reside on the Client and data management components reside on
the Server.

Remote and distributed database management


Application and presentation components reside entirely on the Client. For remote data
management, the data management component resides entirely on the Server. For
distributed database, the data management component is split between Server and Client.

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 4


New Environments Committee July 12, 2004
New Environments Committee
Hints to Counting Applications in a Client/Server environment

Purpose of the document


The purpose of this document is to show that, from a function point counting view, there
is primarily an application boundary issue. The individual components of the application
in a Client/Server environment are a technical solution for a business requirement.
Counting of technical components is not in the scope of this paper.

Counting the application

Scope of the count


The scope of the count is the application in a Client/Server environment, rather than its
individual components.

Application boundary
When determining the application boundary it is important to view the application from
the standpoint of the business requirement rather than the technical solution. The
technical solution has no effect on the application boundary. The user views the
application in a Client/Server environment as a whole and does not need to have
knowledge of the individual components that fulfill his business requirements (“the
individual components function cooperatively to jointly meet the business requirements
expressed by the user”). Only the data entering and crossing the boundary of the
application is important as shown by the diagram below.
Protocols and messaging between multiple layers in a multi-tiered technical solution do
not affect the user view of the business processes addressed by the application. It is not
necessary for all components of an application to reside on the same hardware platform
(i.e. Client or Server).

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 5


New Environments Committee July 12, 2004
New Environments Committee
Hints to Counting Applications in a Client/Server environment

Data
Management
Data crossing
the boundary

Application

Presentation

FPA view of application in a


Client/Server environment

Determine the data and transactional functions


Counting data functions
The data functions are mostly found in the data management component of the
Client/Server application. Be aware that logical groups of data may be found on the
Server as well as the Client. When data is physically distributed between the Client and
the Server but is logically related, count only one logical group of data.
Also not all logical groups of data may necessarily be identified in the data management
component, such as control information.

Counting transactional functions


The transactional functions are usually identified by the functions that accept or present
information outside the boundary of the application. Note that not all data crossing the
boundary of the application may use the presentation component, but may need to be
identified as a separate function, e.g., data to or from other applications outside the
application boundary identified.
Elements of processing logic, as defined in the CPM (“processing logic”), can be found in
all the different components (data, application and presentation) of the application. One
elementary process may include multiple types or occurrences of processing logic.
To correctly identify the elementary process, the primary intent must be evaluated and the
identified elementary process must leave the business in a consistent state.

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 6


New Environments Committee July 12, 2004
New Environments Committee
Hints to Counting Applications in a Client/Server environment

The FTR’s can be found in the data management component as well as in other
components, as addressed in “counting data functions”.
Messages that pass between the Client and the Server or the individual components are
not counted as separate functions because data isn’t crossing the application boundary.
These messages are considered as part of the technical solution.

Summary
Seen from a business point of view, the application boundary in a Client/Server
environment consists of all components that collectively meet the business requirement,
regardless of physical implementation.
In identifying data or transactional functions, all components must be considered when
looking for (unique) functions.

Copyright IFPUG 2004 Hints to Counting Applications in a Client/Server Environment Page 7


New Environments Committee July 12, 2004

You might also like