Software cost estimation with use case points is primarily driven by use case analysis. You take into account environmental and technical factors, but they are ultimately only modifiers of the analysis done on the use cases. Each use case contributes to the project cost estimate, and use cases of varying complexity have a varying influence on the cost estimate.
This is the fourth article in a series on applying use case points to create reliable software cost estimates. What makes use case points different is that they allow the project cost estimation to happen much earlier in the process. This cost estimation technique was developed by Gustav Karner for Rational Software Corporation in the mid 1990’s.
The introduction to software cost estimation is the right place to start if you came to this article first. The discussion about how environmental factors influence the estimate was the previous article if you need a refresher.
Use Case Analysis
When creating a project cost estimate based on use case points we start by identifying and categorizing all of the use cases that are to be supported in the software. Use cases are classified as being either simple, average, or complex. This classification describes the use case, not the suspected implementation complexity. The scheme for classification is based upon the number of transactions in the use case.
A transaction is an exchange, where first the user does something, and then the system responds. A use case may involve 10 steps with only three transactions. Don’t include trivial transactions like “user clicks next, system presents the next page.” [Note: That would be specifying design – a bad idea anyway].
- Simple Use Case – up to 3 transactions.
- Average Use Case – 4 to 7 transactions.
- Complex Use Case – more than 7 transactions.
Approximate The Use Cases
The easiest / fastest way to get this data is to start by identifying all of the use cases by name. Then create an informal use case for each, where you are providing minimal detail about the use case itself. You could define the formal use cases, but the additional detail is not needed for the purpose of creating a project cost estimate.
For each use case, you allocate a number of use case points.
- Simple Use Case – 5 points.
- Average Use Case – 10 points.
- Complex Use Case – 15 points.
You then total the number of points. This is your unadjusted use case points (UUCP). These will be combined with the technical and environmental factors discussed in the previous articles, as well as an analysis of the actors who use the software.
The next step is to analyze the people and systems that will interact with the software, aka the users.