Wednesday, January 19, 2011

Use case point analysis - a software estimation technique

The number of use case points of a project is dependent on following factors.

1. The number and complexity of use cases in the application system.
2. The number and complexity of actors in the system.
3. Some non-functional attributes like portability, performance, scalability etc.
4. Environmental factors team’s experience and team motivation.

Complexity of a use case is defined as simple, average or complex depending on the number of transactions in the use case. Extension transaction which starts with result of another transaction shouldn’t be counted usually. Use case points are assigned to a use case based the complexity of the use case as listed in below table.

Unadjusted Use Case Weight
Use Case ComplexityNo of TransactionWeight
Simple3 or fewer5
Average4-710
Complex7 or more15

Use case points for a use case actor are calculated per below summarized description in below table.

Unadjusted Actor Weight
Actor TypeExampleWeight
SimpleAnother System Through API1
AverageAnother System through a protocol, a person through text-base user interface2
ComplexA person through a graphical user interface3

Total unadjusted use case point for a software project is calculated as summation of use case point and actor points as shown in below table.

Unadjusted Use Case Point
Sl NoNameUse Case/ActorComplexityNumberWeightNumber*Weight
1 Use Case 1Use CaseAverage21020
2 Use Case 2Use CaseComplex31545
3 Use Case 3Use CaseSimple6530
4 Actor 1ActorAverage21242
5 Actor 2ActorComplex9327
Total164

There are 13 parameters in technical complexity with different weight value as listed in fig 4. These factors are assessed to a value between 0-5 depending on individual project requirement. The final technical complexity factor is calculated as TCF = 0.6 + (0.01 * TFactor).

Technical Complexity Factor
FactorWeightAssessment(0-5)Impact
Distributed system200
Performance objectives212
End-user efficiency133
Complex processing144
Reusable code144
Easy to install0.510.5
Easy to use0.510.5
Portable248
Easy to change155
Concurrent use155
Security155
Access for 3rd party155
Training Needs111
Total (TFacor)43

There are 8 parameters in environment complexity with different weight value as listed in fig 5. These factors are assessed to a value between 0-5 depending on the environment in which project is executed. The final environment factor is calculated as EF = 1.4 + (-0.03 * EFactor).

Environment Factor
FactorWeightAssessment(0-5)Impact
Familiar with the development process1.511.5
Application experience0.531.5
Object-oriented experience122
Lead analyst capability0.552.5
Motivation122
Stable requirements212
Part-time staff-11-1
Difficult programming language-13-3
Total (EFacor)7.5

And, finally total use case point of a software project is UUCW*TCF*EF where UUCW is unadjusted use case weight, TCF technical complexity factor and EF is environment factor.

No comments:

Post a Comment