Use Case Points
Use Case Points is a software estimation technique used to forecast the software size for software development projects. UCP is used when the Unified Modeling Language and Rational Unified Process methodologies are being used for the software design and development. The concept of UCP is based on the requirements for the system being written using use cases, which is part of the UML set of modeling techniques. The software size is calculated based on elements of the system use cases with factoring to account for technical and environmental considerations. The UCP for a project can then be used to calculate the estimated effort for a project.
History
The UCP technique was developed by Gustav Karner in 1993 while employed at what was known at the time as Objectory Systems, which later merged into Rational Software and then IBM. The UCP method was created to solve for estimating the software size of systems that were object oriented. It is based on similar principles as the Function Point estimation method, but was designed for the specific needs of object oriented systems and system requirements based on use cases.Method
The method for determining the size estimate to develop a system is based on a calculation with the following elements:- Unadjusted Use Case Weight – the point size of the software that accounts for the number and complexity of use cases.
- Unadjusted Actor Weight – the point size of the software that accounts for the number and complexity of actors.
- Technical Complexity Factor – factor that is used to adjust the size based on technical considerations.
- Environmental Complexity Factor – factor that is used to adjust the size based on environmental considerations.
The following sections walk through the various calculations to determine the UCP for a project.
Unadjusted Use Case Weight (UUCW)
The UUCW is one of the factors that contribute to the size of the software being developed. It is calculated based on the number and complexity of the use cases for the system. To find the UUCW for a system, each of the use cases must be identified and classified as Simple, Average or Complex based on the number of transactions the use case contains. Each classification has a predefined weight assigned. Once all use cases have been classified as simple, average or complex, the total weight is determined by summing the corresponding weights for each use case. The following chart shows the different classifications of use cases based on the number of transactions and the weight value assigned for each use case within the classification.Use Case Classification | No. of Transactions | Weight |
Simple | 1 to 3 transactions | 5 |
Average | 4 to 7 transactions | 10 |
Complex | 8 or more transactions | 15 |
Unadjusted Actor Weight (UAW)
The UAW is another factor that contributes to the size of the software being developed. It is calculated based on the number and complexity of the actors for the system. Similar to finding the UUCW, each of the actors must be identified and classified as Simple, Average or Complex based on the type of actor. Each classification also has a predefined weight assigned. The UAW is the total of the weights for each of the actors. The following chart shows the different classifications of actors and the weight value assigned.Actor Classification | Type of Actor | Weight |
Simple | External system that must interact with the system using a well-defined API | 1 |
Average | External system that must interact with the system using standard communication protocols | 2 |
Complex | Human actor using a GUI application interface | 3 |
Technical Complexity Factor (TCF)
The TCF is one of the factors applied to the estimated size of the software in order to account for technical considerations of the system. It is determined by assigning a score between 0 and 5 to each of the 13 technical factors listed in the table below. This score is then multiplied by the defined weighted value for each factor. The total of all calculated values is the technical factor. The TF is then used to compute the TCF with the following formula:Factor | Description | Weight |
T1 | Distributed system | 2.0 |
T2 | Response time/performance objectives | 1.0 |
T3 | End-user efficiency | 1.0 |
T4 | Internal processing complexity | 1.0 |
T5 | Code reusability | 1.0 |
T6 | Easy to install | 0.5 |
T7 | Easy to use | 0.5 |
T8 | Portability to other platforms | 2.0 |
T9 | System maintenance | 1.0 |
T10 | Concurrent/parallel processing | 1.0 |
T11 | Security features | 1.0 |
T12 | Access for third parties | 1.0 |
T13 | End user training | 1.0 |
Environmental Complexity Factor (ECF)
The ECF is another factor applied to the estimated size of the software in order to account for environmental considerations of the system. It is determined by assigning a score between 0 and 5 to each of the 8 environmental factors listed in the table below. This score is then multiplied by the defined weighted value for each factor. The total of all calculated values is the environment factor. The EF is then used to compute the ECF with the following formula:Factor | Description | Weight |
E1 | Familiarity with development process used | 1.5 |
E2 | Application experience | 0.5 |
E3 | Object-oriented experience of team | 1.0 |
E4 | Lead analyst capability | 0.5 |
E5 | Motivation of the team | 1.0 |
E6 | Stability of requirements | 2.0 |
E7 | Part-time staff | -1.0 |
E8 | Difficult programming language | -1.0 |
Use Case Points (UCP)
Finally the UCP can be calculated once the unadjusted project size, technical factor and environmental factor have been determined. The UCP is calculated based on the following formula:Example
To illustrate the process of calculating the UCP, an Online Shopping System will be used. The diagram below depicts the Use Case Diagram for the system to be developed.Unadjusted Use Case Weight (UUCW)
To calculate the UUCW, the use cases must be defined and the number of transactions for each use case identified. The Online Shopping System use case diagram is depicting that nine use cases exist for the system. Assuming 2 of these use cases are simple, 3 are average and 4 are complex, the calculation for UUCW is as follows:Unadjusted Actor Weight (UAW)
To calculate the UAW, the actors must be identified. The Online Shopping System use case diagram is depicting five actors; One simple for the Payment Processing System and four complex for each of the human users actors The calculation for UAW is as follows:Technical Complexity Factor (TCF)
To calculate the TCF, each of the technical factors is assigned a value based on how essential the technical aspect is to the system being developed. The diagram below shows the assigned values for the Online Shopping System. The values are multiplied by the weighted values and the total TF is determined.Next, the TCF is calculated:
Environmental Complexity Factor (ECF)
To calculate the ECF, each of the environmental factors is assigned a value based on the team experience level. The diagram below shows the assigned values for the Online Shopping System. The values are multiplied by the weighted values and the total EF is determined.Next, the ECF is calculated:
Use Case Points (UCP)
Once the Unadjusted Use Case Weight, Unadjusted Actor Weight, Technical Complexity Factor and Environmental Complexity Factor has been determined, the Use Case Points can be calculated with the following formula:For the Online Shopping System, the total estimated size to develop the software is 125.06 Use Case Points.
Now that the size of the project is known, the total effort for the project can be estimated. For the Online Shopping System example, 28 man hours per use case point will be used.