Use Case Point Counts in the Function Point WORKBENCH
Introduction
Use Case Points are a software sizing measure that can be used to quantify
software specifications expressed as Use Cases. Use Case
specifications are used within various object oriented software development
methodologies including the Rational Unified Process from IBM and Process
Mentor from Object Consulting.
Although the various methods for determining Use Case Points usually follow the same
high level process, the details of how each method assigns weights
to individual Use Cases typically vary. The Use Case Point measure
described on this page incorporates weights as defined by Gustuv Karner in
1993. This approach is used in a range of software development and
estimating tools and procedures.
As Use Case Points are a fairly new software sizing measure, there is not
yet a substantial body of knowledge available to enable their effectiveness
for tasks such as project estimating or development benchmarking to be
properly assessed. For this reason CHARISMATEK has chosen to address
Use Case Points as an adjunct to the Function Point WORKBENCH™ via the Function Point
WORKBENCH - Publisher tool, as opposed to incorporating them into the
Function Point WORKBENCH™itself.
On this page we outline a procedure whereby any Function Point WORKBENCH™
users who wish to use Use Case Points to size their new development or
enhancement projects can do so. The procedure utilises a number of
report templates developed for use with the Function Point WORKBENCH™ -
Publisher tool.
If you wish to modify the Publisher Use Case Point report templates to
address your own software sizing measures, please feel free to do so.
Alternatively, please contact CHARISMATEK and we will be happy to advise you
on what would be required in order to use the WORKBENCH and Publisher to
size and report using your own software sizing measures.
Please note that the Use Case Point report templates
can be downloaded for free from the
Function Point WORKBENCH -
Publisher page.
Performing a Use Case Point Count
Building the Hierarchical Model
In the Function Point WORKBENCH, Use Case Point Counts are performed
using the same approach that is used for Function Point Counts. A
hierarchical model is built that addresses all of the software project's
required functionality and that model is then extended to determine the
project's size.
However, whereas in a Function point Count where leaf nodes in the model correspond
to Logical Transactions (Transactional Function Types) and the
project is sized in IFPUG Function Points, in a Use Case
Point Count leaf nodes in the model correspond to Use Cases or Actors and
the project is sized in Use Case Points.
As with a Function Point Count, you can use component nodes to structure
your Use Case Point Count in any manner that is relevant for your project.
Figure 1 shows a hierarchical model for a Use Case Point Count that first
decomposes the count into Use Cases and Actors and then further decomposes
the Use Cases into a number of categories. The leaf nodes in the model
are named to indicate the Use Cases or Actors to which they refer.
Hyperlinks can be added to each each leaf node to link it back to its
source.

Figure 1
Specifying Use Case and Actor Type and Complexity
The type and complexity of each Use Case and Actor in the model is represented using the WORKBENCH Label 'UCPTYPE'. In order for your Use
Case Point Count to be sized and reported correctly it is critical that this
Label be properly set up. Figure 2 shows the required Label
attributes and options:

Figure 2
The 'UCPTYPE' Label is linked to each Use Case and Actor leaf node in the
model. Figure 3 shows the model after the Label has been linked and
the Label display has been turned on and set to the 'UCPTYPE' Label.

Figure 3
Specifying Technical Complexity Factor and Environmental Complexity Factor
When performing a Use Case Point Count it is necessary to determine the
values for both the Technical Complexity Factor (TCF) and Environment
Complexity Factor (ECF). The TCF and ECF are represented in the model using
the WORKBENCH Labels ‘UCPTCF – Technical Complexity Factor’ and ‘UCPECF –
Environment Complexity Factor’, respectively. In both cases, Label Options
are utilised to indicate both complexity factor characteristics and their
ratings for the project. In order for your Use Case Point Count to be sized
and reported correctly it is critical that these Labels be properly set up.
Please note that to have the ratings for the TCF and ECF properly utilised
when sizing and reporting the Use Case Point Count it is necessary to ensure
that both the ‘UCPTCF – Technical Complexity Factor’ and ‘UCPECF –
Environment Complexity Factor’ Labels are linked to at least one of the Use
Case or Actor nodes in the model.
Figure 4 shows the required Label attributes and options for the ‘UCPTCF –
Technical Complexity Factor’ Label and table 1 shows the required format and
text for each of the TCF and ECF characteristics.

Figure 4
|
Technical Complexity Factor
Format: < Characteristic>:<Rating> |
|
Environment Complexity Factor
Format: <Characteristic>:<Rating> |
|
|
|
T1 Distributed System:3 |
|
E1 Familiarity with UML:3 |
|
T2 Response Time:3 |
|
E2 Application Experience:3 |
|
T3 End User Efficiency:3 |
|
E3 Analyst Capability:3 |
|
T4 Complex Internal Procs:3 |
|
E4 Application Experience:3 |
|
T5 Reusability:3 |
|
E5 OO Experience:3 |
|
T6 Installation Ease:3 |
|
E6 Motivation:3 |
|
T7 Easy to Use:3 |
|
E7 Difficult Prog Language:3 |
|
T8 Portability:3 |
|
E8 Stable Requirements:3 |
|
T9 Easy to Change:3 |
|
|
|
T10 Concurrency:3 |
|
|
|
T11 Security Objectives:3 |
|
|
|
T12 Direct Access 3rd Party:3 |
|
|
|
T13 User Training Facilities:3 |
|
|
Table 1
Sizing and Reporting a Use Case Point Count
The Function Point WORKBENCH - Publisher tool is used to size and
report your Use Count Point Count.
First, within the WORKBENCH, output your count as a XML document using the
menu item 'Utilities | Export Count To … | Export To XML …'. Ensure that the
fsmML level of the generated XML document is set to 'Level 3'. See Figure 5.

Figure 5
Next, within Publisher, select the generated XML document and one of the Use
Case Point report templates and generate the Use Case Point report.
See Figure 6.

Figure 6
Four different Use Case Point report templates have been developed.
-
The 'Use Case Point Summary' report decomposes the count's size in terms of
the Use Case Point types and complexities. It also displays the
count’s Total Unadjusted Use Case Points, the Technical and Environmental
Complexity Factors and the Total Use Case Points. See Figure 7.
Variants of this report are included for both new development and
enhancement counts.
-
The 'Use Case and Actor List' report lists all of the Use Cases and Actors
within the count. It also displays the count’s Total Unadjusted Use Case
Points, the Technical and Environmental Complexity Factors and the Total Use
Case Points. See Figure 8.
Variants of this report are included for both new development and
enhancement counts.
-
The ‘Technical Complexity Factor’ report details the ratings for each of the
characteristics used to determine the count’s Technical Complexity Factor.
See Figure 9.
-
The ‘Environmental Complexity Factor’ report details the ratings for each
of the characteristics used to determine the count’s Environmental
Complexity Factor. See Figure 10.
Additional Use Case Point reports could be developed either by
modifying existing or creating new Publisher report templates.
Figure 7
Figure 8
Figure 9
Figure 10
Combining a Use Case Point Count and a Function Point Count
In the Function Point WORKBENCH it is possible to combine a Use Case Point
Count and a Function Point Count within the same hierarchical model. This
can be particularly useful when the project size is required in both Use
Case Points and Function Points and when the relationship between Use Case
Analysis and Function Point Analysis is being investigated.
Figure 11 shows a branch from the hierarchical model for a project to
deliver functionality for the ‘Metropolitan Train Monitoring System’ that
combines a Use Case Point Count and a Function Point Count. The Label
‘UCPTYPE – Use Case Point Type’ is displayed to highlight the leaf nodes in
the model corresponding to Use Cases and Actors.

Figure 11
|