1.
First we calculate Unadjusted Use Case Points (UUCP):
Unadjusted Use Case Points (UUCP) = Unadjusted Use Case Weight (UUCW) + Unadjusted Actor Weight (UAW)
Unadjusted Use Case Weight (UUCW)
Each use case is categorized as Simple, Average or Complex, and weighted based on the number of transactions they contain - including alternative flows.
Use Case Type | No of Transactions | Weighting Factor |
---|---|---|
Simple | <=3 | 1 |
Average | 4 to 7 | 2 |
Complex | >=7 | 3 |
Unadjusted Actor Weight (UAW):
In a similar manner, an Actor is classified as Simple, Average or Complex based on their interactions.
Actor Type | Weighting Factor |
---|---|
Simple | 1 |
Average | 2 |
Complex | 3 |
2.
Find out and compute the Technical Factors:
The total effort to develop a system is also influenced by technical factors as you see in the table below for example a distributed system will take more effort to develop in comparison to a non-distributed system.
Factor | Description | Weight |
---|---|---|
T1 | Distributed System | 2 |
T2 | Performance objectives | 2 |
T3 | End-user efficiency | 1 |
T4 | Complex processing | 1 |
T5 | Reusable code | 1 |
T6 | Easy to install | 0.5 |
T7 | Easy to use | 0.5 |
T8 | Portable | 2 |
T9 | Easy to change | 1 |
T10 | Concurrent use | 1 |
T11 | Security | 1 |
T12 | Access for third parties | 1 |
T13 | Training needs | 1 |
The weighted assessments for these twelve individual factors are next summed into what is called the TFactor. The TFactor is then used to calculate the
Technical Complexity Factor, TCF, as follows:
TCF = 0.6 + (0.01*TFactor)
3.
Find out and compute the Environmental Factors:
Environmental factors also play an important role in affecting the size of a project e.g. The motivation level of the team, their experience with the application, and other factors affect the calculation of use case points.
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 |
The weighted assessments for these eight individual factors are summed into what is called the EFactor. The EFactor is then used to calculate the Environment Factor, EF, as follows:
EF=1.4 +( -0.03 x EFactor)
Putting it all together:
UCP =UUCW * TCF * EF
4.
We cannot, however, go to a project sponsor who has asked how long a project will take and give the answer (for example) "545 use case points" and leave it at that. From that estimate of size we need to derive an appropriate duration for the project. Deriving duration is simple—all we need to know is the team’s rate of progress through the use cases.
Karner originally proposed a ratio of 20 hours per use case point. This means that our example of 545 use case points translates into 10,900 hours of development work.
More on Use Case Points:
Use Case Points 1
Use Case Points 2