Posted by: Mohamed Elashri on: June 30, 2008
Use Case Estimation
Use Case Points (UCP) is an estimation method that provides the ability to estimate an application’s size and effort from its use cases.
UCP analyzes the use case actors, scenarios and various technical and environmental factors and abstracts them into an equation.
The equation is composed of four variables:
UCP = TCP * ECF * UUCP * PF
Technical Complexity Factors
Thirteen standard technical factors exist to estimate the impact on productivity that various technical issues have on an application. Each factor is weighted according to its relative impact. A weight of 0 indicates the factor is irrelevant and the value 5 means that the factor has the most impact.
| Technical Factor | Description | Weight |
| T1 | Distributed system | 2 |
| T2 | Performance | 1 |
| T3 | End User Efficiency | 1 |
| T4 | Complex internal Processing | 1 |
| T5 | Reusability | 1 |
| T6 | Easy to install | 0.5 |
| T7 | Easy to use | 0.5 |
| T8 | Portable | 2 |
| T9 | Easy to change | 1 |
| T10 | Concurrent | 1 |
| T11 | Special security features | 1 |
| T12 | Provides direct access for third parties | 1 |
| T13 | Special user training facilities are required | 1 |
For each project, the technical factors are evaluated by the development team and assigned a value from 0 to 5 according to their Assigned Value. An Assigned Value of 0 means the technical factor is irrelevant for this project; 3 is average; 5 mean it has strong influence.
| Technical Factor | Description | Weight | Assigned Value (0-5) | Weighted Value | ||
| T1 | Distributed system | 2 | 0 | |||
| T2 | Performance | 1 | 0 | |||
| T3 | End User Efficiency | 1 | 0 | |||
| T4 | Complex internal Processing | 1 | 0 | |||
| T5 | Reusability | 1 | 0 | |||
| T6 | Easy to install | 0.5 | 0 | |||
| T7 | Easy to use | 0.5 | 0 | |||
| T8 | Portable | 2 | 0 | |||
| T9 | Easy to change | 1 | 0 | |||
| T10 | Concurrent | 1 | 0 | |||
| T11 | Special security features | 1 | 0 | |||
| T12 | Provides direct access for third parties | 1 | 0 | |||
| T13 | Special user training facilities are required | 1 | 0 | |||
| Total Factor | 0 | |||||
Technical Complexity Factor (TCF) = 0.6 + (0.01 * Total Factor)
Environmental Complexity Factors
Environmental Complexity estimates the impact on productivity that various environmental factors have on an application. Each environmental factor is evaluated and weighted according to its perceived impact and assigned a value between 0 and 5. A rating of 0 means the environmental factor is irrelevant for this project; 3 is average; 5 mean it has strong influence.
| Environmental Factor | Description | Weight |
| E1 | Familiarity with UML | 1.5 |
| E2 | Application Experience | 0.5 |
| E3 | Object Oriented Experience | 1 |
| E4 | Lead analyst capability | 0.5 |
| E5 | Motivation | 1 |
| E6 | Stable Requirements | 2 |
| E7 | Part-time workers | -1 |
| E8 | Difficult Programming language | 2 |
Each factor’s weight is multiplied by its Assigned Value to produce its calculated factor. The calculated factors are summed to produce the Total Factor.
| Environmental Factor | Description | Weight | Assigned Value (0-5) | Weighted Value | ||
| E1 | Familiarity with UML | 1.5 | 0 | |||
| E2 | Application Experience | 0.5 | 0 | |||
| E3 | Object Oriented Experience | 1 | 0 | |||
| E4 | Lead analyst capability | 0.5 | 0 | |||
| E5 | Motivation | 1 | 0 | |||
| E6 | Stable Requirements | 2 | 0 | |||
| E7 | Part-time workers | -1 | 0 | |||
| E8 | Difficult Programming language | 2 | 0 | |||
| Total Factor | 0 | |||||
Environmental Factor (EF) = 1.4 + (-0.03 * Total Factor)
Unadjusted Use Case Points (UUCP)
Unadjusted Use Case Points are computed based on two computations:
The Unadjusted Use Case Weight (UUCW) based on the total number of activities (or steps) contained in all the use case Scenarios.
The Unadjusted Actor Weight (UAW) based on the combined complexity of all the use cases Actors.
UUCW
Individual use cases are categorized as Simple, Average or Complex, and weighted depending on the number of steps they contain – including alternative flows.
| Use Case Type |
Description |
Weight |
| Simple | A simple user interface and touches only a single database entity; its success scenario has 3 steps or less; its implementation involves less than 5 classes. L |
5 |
| Average | More interface design and touches 2 or more database entities; between 4 to 7 steps; its implementation involves between 5 to 10 classes. | 10 |
| Complex | Involves a complex user interface or processing and touches 3 or more database entities; over seven steps; its implementation involves more than 10 classes. | 15 |
UAW
In a similar manner, the Actors are classified as Simple, Average or Complex based on their interactions.
| Actor Type |
Description |
Weight |
| Simple | The Actor represents another system with a defined API. L |
1 |
| Average | The Actor represents another system interacting through a protocol, like TCP/IP. | 2 |
| Complex | The Actor is a person interacting via an interface. | 3 |
Finally, the UUCP is computed by adding the UUCW and the UAW.
Productivity Factor
The Productivity Factor (PF) is a ratio of the number of man hours per use case point based on past projects. If no historical data has been collected, a figure between 15 and 30 is suggested by industry experts. A typical value is 20.
illustration Points
August 24, 2009 at 5:15 pm
I’m happy that you’ve presented this in your blog… I’d encourage your readers to investigate use case point estimating because it really does provide a powerful tool for gauging scope of projects (and for doing “what if” analysis when adding or removing use cases from a project).
We integrated use case point estimating into CaseComplete last year, and have seen the effectiveness in the field. One important point: take the time at the end of your projects to evaluate and tweak the parametric model (the technical and environmental factors). this will pay huge dividends on your next project!