Professional Documents
Culture Documents
Function Point
Analysis to Data Warehouse
Analytics Systems
Reviewers:
Diana Baklizsky
Applying Function Point Analysis to Data Warehouse Analytics Systems
Table of Contents
1. INTRODUCTION .............................................................................................................................. 3
3.1 SCHEMAS........................................................................................................................................ 4
3.2 OBJECTS ......................................................................................................................................... 5
3.2.1 Types of objects ................................................................................................................. 6
3.3 CLASSES......................................................................................................................................... 6
3.4 HIERARCHY ..................................................................................................................................... 6
4. EXAMPLE SCENARIO ..................................................................................................................... 6
Page 2
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
1. Introduction
The white paper from IFPUG New Environments Committee in 2007 – “Function
Points and Counting Enterprise Data Warehouses” provided guidance to the users
on how to apply the Function Point rules in Data Warehouse environments. Since
then, the rising popularity of data analytics and Big Data has driven an evolution in
Data Warehouse technology. Users request more complex business analytics and
reporting requirements, along with a growing need to simplify the information
access within the Data Warehouses.
As a result, new “user friendly” components have evolved for pulling data from Data
Warehouses, irrespective of underlying data structures. One such component is the
Universe (also known as the Semantic Layer). The Universe is an abstraction
created for the user to simplify access to the information required or for
downstream consumption, without needing to know the details of the database
implementations. Thus, the Universe facilitates an integrated query, reporting and
analysis solution for business users via the abstraction layer for the application
data that represents business functions.
As highlighted in the diagram below (Figure 1), this paper focuses on sizing the
Universe creation and its maintenance in this environment. The paper also helps to
understand the impacts on the sizing of reporting requirements where Universe is
present in the Data Warehouse environment.
Figure 1.
This paper acts as a reference for those complex scenarios in Business Analytics,
which are not covered in prior IFPUG white paper on Data Warehousing [6].
____________________________________________________________________________________________________________
Page 3
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
2. Audience
This paper addresses the requirements of experienced IFPUG function point
analysts who need to size the Universe and its components – business objects in a
data warehousing solution for business analytics. It is assumed that the reader is
aware of the data warehousing concepts like Fact Tables, Extract – Transform –
Load jobs (ETL), and data transformation, et al.
3. Environment
Terminology in this paper is based on SAP terms and definitions [1]. If you are
using a different tool, your terminology may be different. The glossary will help you
resolve this. Though the paper is based on SAP - related business data analytics
tool, please note that IFPUG doesn’t endorse SAP or SAP products.
Reporting Data Warehouse solutions often include a Universe between the end user
and the database. The Universe holds the logical mapping of the data in the
physical database to data terminology in business terms. Users can connect to a
Universe to analyze and run queries against the physical database without getting
into details of database implementation.
For example, Car Manufacturing Company creates and maintains a Universe for
car categories and models launched as shown below (INT_** in the following table
represents the physical table name in the Data Warehouse)
With the help of above Universe components, the user can view a report on car
models launched in a particular year without knowing the database details. But for
a Function point analyst, it is important to understand the mapping of
these user identifiable components to the underlying environment logical
components to assess the application size impacts correctly.
Schemas
Classes
Objects
Hierarchy
3.1 Schemas
As noted in the prior Car Category Universe example, the user may not be aware of
all the physical tables of the Data Warehouse, but may be interested in a subset of
the tables or their columns of the database for the reporting requirements. A
____________________________________________________________________________________________________________
Page 4
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
Figure 2.
3.2 Objects
An object is a named component that maps to data column in the database [1]. The
object representation should map to an entity, calculation or fact used in end user
business environment. For example, objects used in a university Universe for use by
an administrator could be Course Number, Start Date, and Course Grade.
____________________________________________________________________________________________________________
Page 5
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
3.3 Classes
A class is a logical grouping of objects within a Universe [1]. It represents a category
of related objects, in which the user is interested, for data analysis. A class can be
divided hierarchically into subclasses. A subclass is a class within a class.
Subclasses are used to help organize groups of objects that are related. A subclass
can itself contain other subclasses or objects.
3.4 Hierarchy
A hierarchy is a collection of related data members, usually organized in a
hierarchical structure [1]. It is an ordered sequence of dimension objects. For
example, a location hierarchy could be Country-> State -> City. Hierarchies can be
default or custom. A default hierarchy is set based on the order in which dimensions
are placed in the class. In a custom hierarchy the sequence of dimensions is defined
by the developer based on analysis of business needs. For example, an end user
might want to drill down a performance report based on the status of the project. So
the corresponding dimension objects may be added accordingly to create a new
hierarchy (Country -> Year-> Project Status).
4. Example Scenario
Company ‘ACME’ publishes and maintains an Asia Pacific Performance Universe
that supports Asia Pacific performance reporting dashboard requirements. A
Dashboard shows reports related to delivery performance for a particular month or
____________________________________________________________________________________________________________
Page 6
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
for a set of projects executed at a particular location. Only restricted users have
access to view the performance reports.
To meet the above requirement, the reports are designed in the AP Performance
Universe to pull the data from following tables in the Data Warehouse:
Using the tool for designing the Universe, the data pulled from above tables is
logically grouped into Classes as follows:
i. Project Information
ii. User Access Details
iii. Delivery Performance
Further, the following objects are defined within each of the above classes so as to
meet data requirements of the reports.
____________________________________________________________________________________________________________
Page 7
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
____________________________________________________________________________________________________________
Page 8
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
For this white paper, it is assumed that the purpose of the count is to size the
functionality required for the creation and the maintenance of the Universe along
with the delivered functionality such as reports, alerts, et al. For sizing, the next
step is to identify the application boundary to which the Universe belongs.
The FP analyst should be cautious to not include any functionality that is part of
the designer tool itself and is not customized to meet user needs. If the functionality
of the tool is being used as-is, typically it cannot be included in the
development/enhancement counts. If the project tracks the re-use functionality of
the third party software, then the ‘as-is’ functionality requested in the Functional
User Requirements can be counted and tracked separately.
The boundary is determined based on the user’s view. The focus is on what the
user can understand and describe. The boundary between related applications
is based on separate functional areas as seen by the user, not on technical
considerations.
Based on this rule, the following criteria will assist the function point analyst to
determine the proper boundary for the application(s) under review:
____________________________________________________________________________________________________________
Page 9
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
Business Environment: This situation is frequently observed where the user may
want to track the productivity of the Data Warehouse maintenance and Business
Analytics & Reporting (which holds the Universe or the semantic layer) team
separately or there are two different functional teams for these two areas (Figure 3).
Example could be multi-vendor support scenarios, where each vendor is responsible
for functionality in their respective area only.
Figure 3.
____________________________________________________________________________________________________________
Page 10
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
Figure 4.
Further, based upon the user requirement for reporting needs, a schema is created
for the Universe. The schema specifies which tables are being referenced and how
the resulting data is created by joins from different tables. CPM rules for logical
data function identification can be used to identify and size the data components.
Moreover, the classification of logical data depends upon where the application
boundary exists for the Universe.
Hence, it is very important for the analyst to fully understand the user view of the
Data Warehouse Application. If the end user is aware of Universe and its creation
and maintenance is part of the user requirements, then it can be assessed using
Function point rules. If the Universe is created to meet the non-functional
requirements like performance, then refer SNAP [2] to size the Universe.
It should also be noted that if the purpose of the Universe is to provide the data via
an extract to end users (instead of reports), then an EQ/EO shall be counted (based
on rules mentioned in CPM for EQ/EO identification). Else, if the purpose of it is for
information access for end user reporting flexibility, then it can be accounted as
____________________________________________________________________________________________________________
Page 11
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
The data function (Universe itself) that contains the rules selected and
entered by the user and the mapping of objects should be counted as 1 ILF.
The feeds to the Universe are considered as EIs. 1 EI per unique user
identifiable feed should be counted for creating the data in the Universe.
An EI for changing the properties of objects in the Universe.
An EQ for viewing the Universe details
An EI each for creating and editing custom hierarchies.
Any extracts from Data Warehouse to Universe shall be counted as EOs/EQs
____________________________________________________________________________________________________________
Page 12
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
a) If the data function is an exact copy of the source table, then count it as an
EIF.
b) If the table data stores manipulated data or derived data from a set of tables,
which is available to the user for reporting requirements, then count this
data function as an ILF.
c) If the table is a staging data table, which does not meet the user
requirements directly, but acts as input to another table, then it is not
countable. For example, an interim transformed data table may be created.
Then this acts as an input to another table which shows a value based on
interim data. Since the staging data table is a temporary table, it would not
be counted.
The data function (Universe itself) that contains the rules selected and
entered by the user and the mapping of objects should be counted as 1 ILF.
____________________________________________________________________________________________________________
Page 13
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
a) In this case, the queries in the Universe on the logical files within the system
only. Unless a derived data table exists, for which the data is maintained, do
not count ILFs separately for the Universe tables referred.
b) In such a case, where the Universe is part of the Data Warehouse application
boundary itself, then transactions from Data Warehouse to the Universe
cannot be FP counted as data doesn’t cross the boundary itself.
c) SNAP [3] can be applied to count transactions crossing the partitions within
the application boundary
5.2.2 Counting Components within the Universe for data function sizing
The Universe creates an abstraction layer for the end user because of which
physical data model details may not be apparent and hence the FP Analyst needs to
understand the application specific terminology used in this environment for correct
size assessment.
5.2.2.1 Counting Classes
A class is a logical grouping of data that may be a logical data type in the Universe
schema. A class may also potentially represent a RET of a data function. The ILF,
EIF and RET identification rules, as described in CPM, are used to identify the
logical groups and sub-groups of data within a data function.
It should be noted that not all classes may be mapped to RET. If the class holds only
the technical /temporary/non user identifiable information, it should not be counted
at all.
5.2.2.2 Counting Objects
An object is a named component that maps to a data column in a database. It could
be in the form of dimension, detail or measure. All of these represent an attribute of
an entity. In FPA terms, each corresponds to a DET of a data function if it is
unique, user identifiable, and non-repeating.
____________________________________________________________________________________________________________
Page 14
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
5.2.3 Counting Components within the Universe for logical function sizing
Each unique report generated from the Universe is a potential EQ or EO. It is
important to understand the logical data model of the system prior to being able to
properly and accurately identify the transactional functions.
5.2.3.1 Counting Reporting Functionality
i. Predefined Reports
Apply the CPM rules to identify the pre-defined reports being delivered from
the Universe created. These could be classified as an EQ or EO depending
upon the set of requirements and conditional logic mentioned for report
generation. If the report involves only reading the data and displaying on the
report, then it is an EQ. Otherwise if it involves calculations as part of its
processing logic, updates an ILF or creates derived data, then it is an EO.
____________________________________________________________________________________________________________
Page 15
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
Bill Plan details are retrieved from the Subscription logical data file. Total
usage and Total charge are measure objects with data aggregated from
Subscription, Bill Statement and Broadband Usage history detail. Hence, the
FTR count for this report is 3 (Subscription, Bill Statement, and Broadband
History).
ii. Ad hoc Reports
If functionality is provided to the user to generate ad hoc reports, then it
should be counted using function points. Function Point Analysts should
identify any functions provided to the user to produce and manage the ad hoc
(user defined) reports only and not count every possible report scenario or
permutation.
5.2.3.2 Considering Hierarchies for Report Generation
Hierarchies are collections of dimension objects required for multi-dimensional data
analysis. Custom hierarchies exist where the user wants analysis or reporting in a
particular order. For example Region -> Country -> State -> City.
If a hierarchy is used to create report functionality with other business objects, then
the presence of unique EO/EQ can be assessed for each level of hierarchy, as per the
rules defined in the CPM. For example, in AP Universe, a report may be requested
by the user showing the delivery performance at the Country level and provide the
ability to drill down (view data at) to the City level. The report includes the
following fields:
____________________________________________________________________________________________________________
Page 16
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
In the above case, there is one EO corresponding to each Hierarchy level (i.e., 1 EO
for hierarchy level as Country and 1 EO for hierarchy level as City). Note that even
if the DETS for each hierarchy are the same, they still would be considered as
separate unique elementary processes if there are different sets of processing logic
required for each level of aggregation.
5.2.3.3 Considering the Query Filters
A Query Filter limits what data is returned for a particular query. The functionality
is similar to the filter function in MS Excel. For example, in AP Universe a report
may be requested by the user to show the delivery performance at the Country level
and filter the results by month. The report shows up the following fields:
In FPA terms, query filters specify a condition for data display processing and hence
are considered part of the processing logic of the EQ or EO and are not counted as
separate unique elementary processes. The analysts should evaluate to determine if
there is filtering occurring or if there are unique reports being generated.
In another example, the above report may be filtered on basis of Service Level
(Gold, Silver, and Bronze) to display the requested Service Level performance data.
In this case, is not considered as a unique EO from the monthly transaction.
Selecting a Service Level and pulling out data for that level shall not make it a
unique EO. For example, a report view of Service level = Gold or Service level=
Silver, will still make it same EO, as in this case ‘different content’ of same
processing logic is pulled in different views.
5.2.3.4 Counting Alerts
Alerts are messages generated by the schema software to highlight information that
meets multiple business criteria. An alert can be made up of multiple sub-alerts,
____________________________________________________________________________________________________________
Page 17
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
each containing one or multiple conditions. Sub-alerts allow the user to apply
different conditions and different formatting to a single business object like a
dimension or a measure. For example, in AP Performance Universe, an alert can be
set as notification to the management user whenever the Project Red count is > 3,
for a location. Further, a sub-alert can be set when the Project Red count exceeds
10.
If the stored procedure does not provide data outside the application boundary or it
is part of an existing transaction, then it should not be counted.
5.2.5 Free Hand SQL provision
For administrative users, the business objects or database tool may have the
capability to execute SQL commands interactively within the data base directly.
This capability is provided by the tool itself and it is not to be considered countable
for the application being analyzed, unless the functionality of the tool itself is
within the counting scope.
5.2.6 Counting User Management and Security Access
User management functions such as add, update, delete user, user logon, password
maintenance or defining and maintaining role-based access should be counted.
Identify all the related user management or security features and classify all
functions based on the identification rules specified in the CPM.
5.2.7 Counting Enhancements to Universe Functionality
Counting enhancements:
For an enhancement, where new columns need to be added to the Universe to meet
the additional information requirement:
____________________________________________________________________________________________________________
Page 18
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
A change in EI(s) to the Universe for the associated data load(s) are counted.
When the ILFs referenced within the data warehouse have changed because
of addition of new data, then the corresponding Universe components (data
and transaction functions) using the new data shall are also counted
Counting Enhancements:
For an enhancement, where new columns need to be added to the Universe to meet
the additional information requirement:
When the ILFs referenced within the data warehouse have changed because
of addition of new data, then the corresponding Universe components (data
and transaction functions) using the new data are also counted.
6. Summary
Business Intelligence or Analytics tools provide the user with flexibility to access
information easily and without the need for knowing technical details of database.
The IFPUG Function Point Method is applicable for these systems. However, this
flexibility for information access in the software adds to the size of the application
and complexity of performing function appoint analysis on the functionally which is
developed or maintained by the software development teams. This white paper
provides guidance to the function point analyst in how to apply the IFPUG counting
rules to these systems.
____________________________________________________________________________________________________________
Page 19
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
7. References
1. http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_universe_de
sign_tool_en.pdf
2. https://finance.vanderbilt.edu/fis/documents/bo/businessobjects_access_analys
is.pdfhttp://www.ifpug.org/snap-assessment-practices-manual-v-2-1-is-
released/http://help.sap.com/businessobject/product_guides/boexir31/en/xi3-
1_data_access_guide_en.pdf
3. http://help.sap.com/businessobject/product_guides/boexir31/en/xi31_designer_
en.pdf
4. http://www.ifpug.org/category/publications/ -“Function Points and Counting
Enterprise Data Warehouses”; white paper from IFPUG New Environments
Committee in 2007
____________________________________________________________________________________________________________
Page 20
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
8. Glossary
Aggregate tables
Alerts
Alerts are messages generated by the schema software to highlight information that
meets multiple business criteria
Classes
The staging area is used to store a current version of data as it exists in the source
system.
Dimensional tables
Fact tables
The fact table is the main table of interest in a dimensional model. A fact table
contains business related measures, and each fact table can be connected to either
dimensional tables or other fact tables.
Hierarchy
Object
Query Filter
____________________________________________________________________________________________________________
Page 21
© IFPUG 2018
Applying Function Point Analysis to Data Warehouse Analytics Systems
Schema
Universe
Universe holds the logical mapping of the data in the physical database to data
terminology in business terms.
____________________________________________________________________________________________________________
Page 22
© IFPUG 2018