Our Use Case Estimation (UCE) tool is based on Karner's Use Case Points Method, which was developed in 1993 by Gustav Karner, and provides a realistic estimate of the effort required to develop a software solution that meets the user requirements which have been expressed as a UML use case model.
This method involves the studying of the system actors and use cases, weighting them according to complexity and then applying technical and environment factors. This process follows a number of steps as follows:
We have developed a profile containing stereotypes and tags that allow the project estimates to be incorporated directly into the model, which can then be leverage by our tool to produce a realistic effort estimate based on the Karner Method.
Our UCE Profile provides a framework for capturing complexity and other qualitative data which is then used by our use case estimation tool to generate an effort estimate for the software development phase. Though a continuous annotation process the following information is captured:
Weight the Actors
As the actors are developed, our profile enables them to annotate with their complexity, they are categorised as follows:
Weight the Use Cases
The profile also enables use cases to be annotated with their level of complexity. For each scenario we calculate the number of transactions, where a transaction can be described as the completion of a request from a primary actor. Use cases are catergorised as:Calculate the Unadjusted Use Case Points (UUCP)
The use case estimation tool automatically extracts all the above information from the model in order to calculate the unadjusted use case points (UUCP), the UUCP are calculated by using the formula
Unadjusted Use Case Points = Actor weighting + Use Case weighting
Determine the Technical Complexity Factor
Each project has differing level of complexity that can be captured directly in the model, using our UCE Profile. Technical complexity factors include elements such as:
Additional elements can be added, but each must be carefully considered and a rating of between 0 and 5 given for each, where 0 indicates that the factor is irrelevant for this particular project and 5 indicating a high importance and the fact that the item is essential in your project.
Once all the decisions have been justified our use case estimation tool calculates the Technical Complexity Factor (TFactor) for the project.
A rating of zero indicates that we have no experience in the field and a value of five means that we are experts in this area.
Once all the decisions have been justified our use case estimation tool calculates the Environmental Complexity Factor (EFactor) for the project.
Calculate the Use Case Points (UCP)
Once you have calculated the 3 factor readings (UUCP, TCF and EF) we can multiply them together to give us the use case points (UCP) for our project.
UCP = UUCP * TCF * EF
We can use this value to estimate how long the project should take to develop. The Karner process suggests a value of 20 man hours per UCP for this estimation, so to estimate project duration use this formula:
Project man-hours = 20 * UCP
With experience, this figure can be refined, personally I believe this figure should be increased when dealing with large teams as team cohesion becomes a bigger issue.
For a more accurate estimate you can add the number of environmental factors 1 to 6 that are above 3 to the number of factors in 7 and 8 that are below 3. If the total is 2 or less the figure of 20 hours is used. If the value is 3 or 4 a value of 28 should be used to calculate the project man hours.
The Use Case Estimation Tool has user-friendly, intelligent features and delivers real business value and benefits including:
Our Use Case Estimation (UCE) tool provides a realistic estimate of the effort required to develop a software solution that meets the user requirements which have been expressed as a UML use case model.