ANSWER
Use Case Points are similar to Function Points in many ways as they are used to size and estimate the cost of work on systems. Use Case Points are a normalized unit of measure used to:
- Quantify the amount of business functionality a system provides business users
- Estimate the cost to develop a system or set of features based on the number of use case points it supports
- Determine how costly a system is to maintain based on the number of use case points it supports
The number of Use Case Points is derived from factors such as:
- The number of system use cases and the complexity of the use cases
- The number of system actors
- Non-functional requirements that are not captured as use cases but that have an overall impact on system complexity
- The project environment including the architectural framework, programming language, team structure and efficiency, etc
The system’s Use Case Points are calculated as follows.
First, to arrive at an Unadjusted Use Case Weight (UUCW), the analyst counts the number of user and system activity steps that occur in a use case (including its main and all of its alternative flows and extensions). The term activity step is specifically used because this does not include the decision step such as determining if an entry is valid (yes or no). It would, however, consider the system’s response to the invalid entry. The number of activity steps is used to assign a complexity to each use case. The number and complexity of each use case are then combined to determine the system’s Unadjusted Use Case Weight. UUCW = (# of Use Cases) x (Weight based on complexity)
Complexity |
#of Activity Steps |
Weight |
Simple |
1-3 |
5 |
Average |
4-7 |
10 |
Complex |
8 or more |
15 |
Next, the Unadjusted Actor Weight (UAW) is calculated. Each system actor is counted and assigned a complexity level. A system actor interacting with the system under consideration through a standard API is considered simple. As human actors using GUIs are introduced, or as various data mappings have to occur between an Actor and our system, the complexity increases. Each actor and its complexity is used to arrive at the Unadjusted Actor Weight. UAW = (# of Actors) x (Weight based on complexity)
Actor Type |
Example |
Weight |
Simple |
Another system via an API |
1 |
Average |
A person via a text-based interface |
2 |
Complex |
A person via a GUI |
3 |
Adding the UUCW and UAW together gives you the Unadjusted Use Case Points (UUCP).
The results of Use Case Points are typically more consistent when use cases are written at a similar level of granularity across the system.
Next, the Use Case Points method accounts for Technical and Environmental Factors. There are 13 standard Technical Complexity Factors (TCF) that are considered and each has a predefined weight. They are:
Technical Complexity Factors |
Weight |
Distributed system |
2 |
Performance objectives |
2 |
End-user efficiency |
1 |
Complex processing |
1 |
Reusable code |
1 |
Easy to install |
.5 |
Easy to use |
.5 |
Portable |
2 |
Easy to change |
1 |
Concurrent use |
1 |
Security |
1 |
Access for third parties |
1 |
Training Needs |
1 |
Similarly, there are 8 Environmental Factors (EF) that are consider, each with its own weight.
Environmental Factors |
Weight |
Familiar with the development process |
1.5 |
Application experience |
.5 |
Object-oriented experience |
1 |
Lead analyst capability |
.5 |
Motivation |
1 |
Stable requirements |
2 |
Part-time staff |
-1 |
Difficult programming language |
-1 |
For each of the Technical and Environmental Factors a value between 0 and 5 is assigned to represent the degree of influence the factor has on the particular project and system being designed. Some will have no influence (0) while others will have a very large influence (5). For example, if it’s a highly distributed system, the influence for the TCF #1 might be a 5, resulting in a value of 10 (TCF Weight x Influence).
By multiplying each factors weight value by its influence value and summing them all together the TF and EF can be determined.
Finally the Adjusted Use Case Points (UCP) is calculated using the formula: UCP = UUCW x TCF x EF.