🤓
Isitha's Wiki
  • Isitha's Wiki
  • software_engineering
    • management
      • process_and_management
        • Project Management
        • Agile
        • Projects
        • Waterfall
        • Project Screening
        • Prince2
        • project_manager
        • Project initialisation
      • individuals_and_motivation
        • Teams and teamwork
        • Individuals and Motivation
        • Organisational theory and motivation
        • Project management and leadership
        • Team structures
        • Team advantages/disadvantages
        • How teams form & perform - Tuckman's team development model
      • cost_estimation
        • Function Points
        • Size Estimation
        • Challenges in cost estimation.
        • Cost Estimation
        • Use case points (UCP)
        • Techniques for cost estimation
      • risk_management
        • Risk Management
        • Risk Management Planning
        • Risk management process
    • quality_management
      • Verification vs Validation
      • Quality management
    • languages
      • Erlang
      • C
      • C++
      • JavaScript
      • Lua
      • Go
      • x86 Assembly
      • Racket
      • TypeScript
      • Rust
      • Haskell
      • Java
      • C#
    • frameworks
      • spring
        • Deferred Result
        • Spring
      • react
        • React Basics
      • llvm
        • LLVM Basics
        • SSA form
    • cost_estimation
      • Cocomo
  • computer_science
    • ai
      • Hutter Prize
      • AIXI
    • programming_language_theory
      • types
        • Algebraic Data Type (ADT)
        • Hindler-Milner type system
        • Linear Types
        • Affine types
      • optimisations
        • Data Flow Analysis
        • Basic Blocks
        • Liveness
        • Peephole optimisation
      • codegen
        • Codegen
        • Single Static Assignment (SSA) form
      • parsers
        • Parsing Expression Grammer (PEG) parser
        • LL1 parser
        • Earley parser
        • LR(1) parser
        • LR(0) parser
        • SLR(1) parser
      • semantics
        • Attribute grammars
    • distributed_systems
      • Consistency
      • operating_systems
        • Memory
        • Processes and threads
        • Operating System
      • Challenges of Distributed Systems
      • CAP (or more accurately PACELC) theorem
      • distributed_models
        • Distributed Models
      • distributed_file_systems
        • Distributed File Systems
        • Strong Consistency
        • Google File System
      • CRDT (Conflict-free Replicated Data Types)
      • Computer Networks
      • Distributed Systems
    • data_structures
      • Segment Trees
      • Fibonacci heaps
      • Bloom filter
      • Adaptive Radix Tree
      • Links
      • Judy Arrays
      • Pairing heaps
    • search
      • Inverted Index
    • theoretical
      • Z-order curve
      • Kolmogorov complexity
      • Solomonoff's theory of inductive inference
      • Hilbert Curve
      • Hilbert curve scheduling
    • compression
      • Entropy
      • Compression
  • math
    • set_theory
      • AntiSymmetry
      • Transivity
      • Reflexivity
    • calculus
      • Calculus Basics
    • complex_numbers
      • Complex Numbers
    • linear_algebra
      • Linear Algebra
    • Blogs
  • physics
    • quantum_physics
      • quantum_tunnelling
    • string_theory
      • String Theory
    • relativity
      • Relativity
    • quantum_loop_gravity
      • Quantum Loop Gravity
  • philosophy
    • stoicism
      • Zeno of Citium
      • Epictetus
    • existentialism
      • Simone De Beauvoir
      • Jean-Paul Sartre
      • Albert Camus
      • Soren Kierkegaard
Powered by GitBook
On this page
  • Compute UUCW
  • Compute UAW
  • Compute TCF
  • Compute ECF
  • Compute final UCP
  • Advantages of UCP
  • Disadvantages of UCP
  1. software_engineering
  2. management
  3. cost_estimation

Use case points (UCP)

Is a software estimation technique used the measure the software size with Use cases Developed in 1993 for sizing and estimating projects using OO methodology The concept of UCP is similar to FP

Use cases describe the functionality of the system Use cases model the dialog between the actors and the system Primary purpose is to document functional requirements but also used for testing purposes

  1. Compute unadjusted use case weight (UUCW)

  2. Compute unadjusted actor weight (UAW)

  3. Compute technical complexity factor (TCF)

  4. Compute environmental complexity factor (ECF)

  5. Compute the final size estimate

Compute UUCW

Count the number of simple, average, complex use cases based on the number of transactions as per table below.

Use case classification
Type of actor
Weight

Simple

1 to 3 transactions

5

Average

4 to 7

10

Complex

8 or more

15

UUCW = N_s 5 + N_a 10 + N_c * 15

Compute UAW

Count the number of simple, average, complex actors

Actor classification
Type of Actor
Weight

Simple

External system interacting using a well defined API

1

Average

External system using a standard protocol

2

Complex

Human actor using GUI

3

UAW = N_s 1 + N_a 2 + N_c * 3

Compute TCF

Compute ECF

Compute final UCP

UCP = (UUCW + UAW) TCF ECF

Advantages of UCP

  • UCP are based on use cases and can be measured very early in the project life cycle

  • UCP based estimates are found to be close to actuals when estimation is performed by experienced people

  • UCPs are easy to use and do not call for additional analysis

  • Use cases are being used vastly as a method of choice to describe requirements

Disadvantages of UCP

  • UCP can be used only when requirements are written in the form of use cases

  • Dependant on goal oriented, well written use cases

  • Technical and environmental factors have high impact on UCP

  • Not as well established as FPs

PreviousCost EstimationNextTechniques for cost estimation

Last updated 3 years ago

TCF
ECF