Use Case Points
Use case points (UCP) is a technique that utilizes a UML use case diagram to estimate the size. The UPC technique, inspired by the function points method, is an appropriate method to use in the early stages of software development. Karner developed the technique in 1993 as an estimation method for object-oriented software. A technique such as the UCP estimation is more appropriate in object-oriented development than function point counting and COCOMO. The method calculates complexity based on use cases and thus differs from the calculation of data movements (function point) and historical data (COCOMO).
Here are the basic steps to perform a UCP estimation:
Calculate Unadjusted Use Case Points (UUCP): This is done by analyzing the use cases of the system. Each use case is classified as simple, average, or complex based on its characteristics (for example, the number of transactions or steps it includes). Each classification is assigned a weight (5 for simple, 10 for average, 15 for complex), and the total UUCP is calculated by summing the weighted counts of use cases.
Calculate Unadjusted Actor Points (UAP): The actors (entities that interact with the system, which could be people, hardware, or other software systems) are also classified as simple, average, or complex based on their interaction with the system. Weights are assigned to each classification (1 for simple, 2 for average, 3 for complex), and the total UAP is calculated by summing the weighted counts of actors.
Calculate Technical Complexity Factor (TCF): This is calculated based on 13 technical factors, such as distributed system, performance, end-user efficiency, complex processing, etc. Each factor is rated on a scale from 0 (irrelevant) to 5 (essential), and the ratings are summed and normalized to give the TCF.
Calculate Environmental Complexity Factor (ECF): This is calculated based on 8 environmental factors, such as familiarity with the project, application experience, object-oriented experience, etc. Each factor is rated on a scale from 0 to 5, and the ratings are summed and normalized to give the ECF.
Calculate Use Case Points (UCP): The total UCP is calculated by multiplying the UUCP by the TCF and the ECF.
Once the total UCP is calculated, it can be converted into an effort estimate (for example, person-hours or person-months) by multiplying it by a factor that represents the productivity of the team (which can be determined based on historical data or industry averages).
The UCP method has the advantage of being based on use cases, which are a common and understandable way to describe system functionality. However, like all estimation methods, it requires experience to apply correctly and it may not be suitable for all types of projects.
The UCP model has been used broadly in recent decades, and studies have indicated the method’s reliability. The major disadvantage is that values are arbitrary in calculating software size, making it challenging to provide time-based estimations. Time-based effort and size are not directly proportional to each other, the UPC concept utilizes documented use cases to determine size.