fbpx
Wikipedia

Use case points

Use case points (UCP or UCPs) is a software estimation technique used to forecast the software size for software development projects. UCP is used when the Unified Modeling Language (UML) and Rational Unified Process (RUP) 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 (UCP) 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 (FP) estimation method, but was designed for the specific needs of object oriented systems and system requirements based on use cases.[1][2][3]

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 (UUCW) – the point size of the software that accounts for the number and complexity of use cases.
  • Unadjusted Actor Weight (UAW) – the point size of the software that accounts for the number and complexity of actors.
  • Technical Complexity Factor (TCF) – factor that is used to adjust the size based on technical considerations.
  • Environmental Complexity Factor (ECF) – factor that is used to adjust the size based on environmental considerations.

Once the previous four elements have been calculated, the final size estimate can be calculated. This final number is known as the use case points or UCP for a software development project.

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 (UUCW) 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
UUCW = (Total No. of Simple Use Cases x 5) + (Total No. Average Use Cases x 10) + (Total No. Complex Use Cases x 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 (e.g. TCP/IP, FTP, HTTP, database) 2
Complex Human actor using a GUI application interface 3
UAW = (Total No. of Simple actors x 1) + (Total No. Average actors x 2) + (Total No. Complex actors x 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 (factor is irrelevant) and 5 (factor is essential) 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 (TF). The TF is then used to compute the TCF with the following formula:

TCF = 0.6 + (TF/100)
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 (no experience) and 5 (expert) 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 (EF). The EF is then used to compute the ECF with the following formula:

ECF = 1.4 + (-0.03 x EF)
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 (UUCW and UAW), technical factor (TCF) and environmental factor (ECF) have been determined. The UCP is calculated based on the following formula:

UCP = (UUCW + UAW) x TCF x ECF

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:


UUCW = (Total No. of Simple Use Cases x 5) + (Total No. Average Use Cases x 10) + (Total No. Complex Use Cases x 15)
For the Online Shopping System, the UUCW = (2 x 5) + (3 x 10) + (4 x 15) = 100
UUCW = 100

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 (i.e. Online Customer, Marketing Administrator, Warehouse Clerk, Warehouse Manager.) The calculation for UAW is as follows:

UAW = (Total No. of Simple Actors x 1) + (Total No. Average Actors x 2) + (Total No. Complex Actors x 3)
For the Online Shopping System, UAW = (1 x 1) + (0 x 2) + (4 x 3) = 13
UAW = 13

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.

Factor Description Weight Assigned Value Weight x Assigned Value
T1 Distributed system 2.0 5 10
T2 Response time/performance objectives 1.0 5 5
T3 End-user efficiency 1.0 3 3
T4 Internal processing complexity 1.0 2 2
T5 Code reusability 1.0 3 3
T6 Easy to install 0.5 1 0.5
T7 Easy to use 0.5 5 2.5
T8 Portability to other platforms 2.0 2 4
T9 System maintenance 1.0 2 2
T10 Concurrent/parallel processing 1.0 3 3
T11 Security features 1.0 5 5
T12 Access for third parties 1.0 1 1
T13 End user training 1.0 1 1
Total (TF): 42

Next, the TCF is calculated:

TCF = 0.6 + (TF/100)
For the Online Shopping System, TCF = 0.6 + (42/100) = 1.02
TCF = 1.02

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.

Factor Description Weight Assigned Value Weight x Assigned Value
E1 Familiarity with development process used 1.5 3 4.5
E2 Application experience 0.5 3 1.5
E3 Object-oriented experience of team 1.0 2 2
E4 Lead analyst capability 0.5 5 2.5
E5 Motivation of the team 1.0 2 2
E6 Stability of requirements 2.0 1 2
E7 Part-time staff -1.0 0 0
E8 Difficult programming language -1.0 4 -4
Total (EF): 10.5

Next, the ECF is calculated:

ECF = 1.4 + (-0.03 x EF)
For the Online Shopping System, ECF = 1.4 + (-0.03 * 10.5) = 1.085
ECF = 1.085

Use Case Points (UCP)

Once the Unadjusted Use Case Weight (UUCW), Unadjusted Actor Weight (UAW), Technical Complexity Factor (TCF) and Environmental Complexity Factor (ECF) has been determined, the Use Case Points (UCP) can be calculated with the following formula:

UCP = (UUCW + UAW) x TCF x ECF
For the Online Shopping System, UCP = (100 + 13) x 1.02 x 1.085 = 125.06
UCP = 125.06

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.

Estimated Effort = UCP x Hours/UCP
For the Online Shopping System, Estimated Effort = 125.06 x 28
Estimated Effort = 3501 Hours

Further development

One major weakness of the Use Case Points method is that it has never been thoroughly calibrated using regression analysis due to a lack of a statistically sufficient number of projects. Moreover, the linear model of Karners approach does not take the diseconomies of scale into account that occur in software development projects.[4] Still, the easily applicable sizing approach and counting rules provide many benefits for estimations in early phases and thus allow to quickly yield the FSM (functional size measurement, in this case UUCW + UAW) of an application or IT product. This FSM can then be combined with statistically validated estimation models like COCOMO II to gain more reliable estimation results.[4]

See also

References

  1. ^ Murali Chemuturi, Software Estimation Best Practices, Tools and Techniques for Software Project Estimators, J.Ross Publishing, 2009, p. 84-87
  2. ^ Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition, John Wiley & Sons, 2009, Chapter 5 - Functional Modeling
  3. ^ Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Fourth Edition, John Wiley & Sons, 2012, Chapter 2 - Project Management
  4. ^ a b Carl Friedrich Kress, Olivier Hummel, Mahmudul Huq: A Practical Approach for Reliable Pre-Project Effort Estimation. In: CEUR Workshop Proceedings, Vol. 1138, p. 23, 2014

External links

  • Advantages of Function Point Analysis in relation to Use Case Points
  • Use Case Points - An Estimation Approach
  • Estimating Software Via Use Cases
  • Improving Consistency of Use Case Points Estimates
  • Clemmons, Roy K. “Project Estimation With Use Case Points.” CrossTalk Feb. 2006

case, points, ucps, software, estimation, technique, used, forecast, software, size, software, development, projects, used, when, unified, modeling, language, rational, unified, process, methodologies, being, used, software, design, development, concept, based. Use case points UCP or UCPs is a software estimation technique used to forecast the software size for software development projects UCP is used when the Unified Modeling Language UML and Rational Unified Process RUP 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 UCP 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 Contents 1 History 2 Method 2 1 Unadjusted Use Case Weight UUCW 2 2 Unadjusted Actor Weight UAW 2 3 Technical Complexity Factor TCF 2 4 Environmental Complexity Factor ECF 2 5 Use Case Points UCP 3 Example 3 1 Unadjusted Use Case Weight UUCW 3 2 Unadjusted Actor Weight UAW 3 3 Technical Complexity Factor TCF 3 4 Environmental Complexity Factor ECF 3 5 Use Case Points UCP 4 Further development 5 See also 6 References 7 External linksHistory EditThe 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 FP estimation method but was designed for the specific needs of object oriented systems and system requirements based on use cases 1 2 3 Method EditThe method for determining the size estimate to develop a system is based on a calculation with the following elements Unadjusted Use Case Weight UUCW the point size of the software that accounts for the number and complexity of use cases Unadjusted Actor Weight UAW the point size of the software that accounts for the number and complexity of actors Technical Complexity Factor TCF factor that is used to adjust the size based on technical considerations Environmental Complexity Factor ECF factor that is used to adjust the size based on environmental considerations Once the previous four elements have been calculated the final size estimate can be calculated This final number is known as the use case points or UCP for a software development project The following sections walk through the various calculations to determine the UCP for a project Unadjusted Use Case Weight UUCW Edit 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 UUCW 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 WeightSimple 1 to 3 transactions 5Average 4 to 7 transactions 10Complex 8 or more transactions 15UUCW Total No of Simple Use Cases x 5 Total No Average Use Cases x 10 Total No Complex Use Cases x 15 dd Unadjusted Actor Weight UAW Edit 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 WeightSimple External system that must interact with the system using a well defined API 1Average External system that must interact with the system using standard communication protocols e g TCP IP FTP HTTP database 2Complex Human actor using a GUI application interface 3UAW Total No of Simple actors x 1 Total No Average actors x 2 Total No Complex actors x 3 dd Technical Complexity Factor TCF Edit 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 factor is irrelevant and 5 factor is essential 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 TF The TF is then used to compute the TCF with the following formula TCF 0 6 TF 100 dd Factor Description WeightT1 Distributed system 2 0T2 Response time performance objectives 1 0T3 End user efficiency 1 0T4 Internal processing complexity 1 0T5 Code reusability 1 0T6 Easy to install 0 5T7 Easy to use 0 5T8 Portability to other platforms 2 0T9 System maintenance 1 0T10 Concurrent parallel processing 1 0T11 Security features 1 0T12 Access for third parties 1 0T13 End user training 1 0Environmental Complexity Factor ECF Edit 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 no experience and 5 expert 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 EF The EF is then used to compute the ECF with the following formula ECF 1 4 0 03 x EF dd Factor Description WeightE1 Familiarity with development process used 1 5E2 Application experience 0 5E3 Object oriented experience of team 1 0E4 Lead analyst capability 0 5E5 Motivation of the team 1 0E6 Stability of requirements 2 0E7 Part time staff 1 0E8 Difficult programming language 1 0Use Case Points UCP Edit Finally the UCP can be calculated once the unadjusted project size UUCW and UAW technical factor TCF and environmental factor ECF have been determined The UCP is calculated based on the following formula UCP UUCW UAW x TCF x ECF dd Example EditTo 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 Edit 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 UUCW Total No of Simple Use Cases x 5 Total No Average Use Cases x 10 Total No Complex Use Cases x 15 dd For the Online Shopping System the UUCW 2 x 5 3 x 10 4 x 15 100 dd UUCW 100 dd Unadjusted Actor Weight UAW Edit 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 i e Online Customer Marketing Administrator Warehouse Clerk Warehouse Manager The calculation for UAW is as follows UAW Total No of Simple Actors x 1 Total No Average Actors x 2 Total No Complex Actors x 3 dd For the Online Shopping System UAW 1 x 1 0 x 2 4 x 3 13 dd UAW 13 dd Technical Complexity Factor TCF Edit 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 Factor Description Weight Assigned Value Weight x Assigned ValueT1 Distributed system 2 0 5 10T2 Response time performance objectives 1 0 5 5T3 End user efficiency 1 0 3 3T4 Internal processing complexity 1 0 2 2T5 Code reusability 1 0 3 3T6 Easy to install 0 5 1 0 5T7 Easy to use 0 5 5 2 5T8 Portability to other platforms 2 0 2 4T9 System maintenance 1 0 2 2T10 Concurrent parallel processing 1 0 3 3T11 Security features 1 0 5 5T12 Access for third parties 1 0 1 1T13 End user training 1 0 1 1Total TF 42Next the TCF is calculated TCF 0 6 TF 100 dd For the Online Shopping System TCF 0 6 42 100 1 02 dd TCF 1 02 dd Environmental Complexity Factor ECF Edit 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 Factor Description Weight Assigned Value Weight x Assigned ValueE1 Familiarity with development process used 1 5 3 4 5E2 Application experience 0 5 3 1 5E3 Object oriented experience of team 1 0 2 2E4 Lead analyst capability 0 5 5 2 5E5 Motivation of the team 1 0 2 2E6 Stability of requirements 2 0 1 2E7 Part time staff 1 0 0 0E8 Difficult programming language 1 0 4 4Total EF 10 5Next the ECF is calculated ECF 1 4 0 03 x EF dd For the Online Shopping System ECF 1 4 0 03 10 5 1 085 dd ECF 1 085 dd Use Case Points UCP Edit Once the Unadjusted Use Case Weight UUCW Unadjusted Actor Weight UAW Technical Complexity Factor TCF and Environmental Complexity Factor ECF has been determined the Use Case Points UCP can be calculated with the following formula UCP UUCW UAW x TCF x ECF dd For the Online Shopping System UCP 100 13 x 1 02 x 1 085 125 06 dd UCP 125 06 dd 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 Estimated Effort UCP x Hours UCP dd For the Online Shopping System Estimated Effort 125 06 x 28 dd Estimated Effort 3501 Hours dd Further development EditOne major weakness of the Use Case Points method is that it has never been thoroughly calibrated using regression analysis due to a lack of a statistically sufficient number of projects Moreover the linear model of Karners approach does not take the diseconomies of scale into account that occur in software development projects 4 Still the easily applicable sizing approach and counting rules provide many benefits for estimations in early phases and thus allow to quickly yield the FSM functional size measurement in this case UUCW UAW of an application or IT product This FSM can then be combined with statistically validated estimation models like COCOMO II to gain more reliable estimation results 4 See also EditUse Case Modeling Function Point Software Estimation Software Development Effort EstimationReferences Edit Murali Chemuturi Software Estimation Best Practices Tools and Techniques for Software Project Estimators J Ross Publishing 2009 p 84 87 Dennis Alan R Barbara Haley Wixom and David Tegarden Systems Analysis and Design with UML Version 2 0 An Object Oriented Approach Third Edition John Wiley amp Sons 2009 Chapter 5 Functional Modeling Dennis Alan R Barbara Haley Wixom and David Tegarden Systems Analysis and Design with UML Version 2 0 An Object Oriented Approach Fourth Edition John Wiley amp Sons 2012 Chapter 2 Project Management a b Carl Friedrich Kress Olivier Hummel Mahmudul Huq A Practical Approach for Reliable Pre Project Effort Estimation In CEUR Workshop Proceedings Vol 1138 p 23 2014External links EditAdvantages of Function Point Analysis in relation to Use Case Points Use Case Points An Estimation Approach Estimating Software Via Use Cases Improving Consistency of Use Case Points Estimates Clemmons Roy K Project Estimation With Use Case Points CrossTalk Feb 2006 Retrieved from https en wikipedia org w index php title Use case points amp oldid 986216341, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.