Project Estimation - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Project Estimation

Description:

The customer enters credit card information. The system validates the credit card information ... External inquiries interactive inputs requiring a response ... – PowerPoint PPT presentation

Number of Views:13
Avg rating:3.0/5.0
Slides: 40
Provided by: pen79
Category:

less

Transcript and Presenter's Notes

Title: Project Estimation


1
Project Estimation
  • SEG 3100Software Development for Large Scale
    Systems

2
(No Transcript)
3
Why Project Estimation
  • Controlling software development costs
  • - Costs exceeds budget in 90 of the cases
  • Parkinsons Law
  • Controlling software development time
  • - 30 of Projects are never completed or are
    cancelled Standish Report
  • Better project management ? Tradeoffs between
    Time, Costs, Contents and Quality
  • Provides defensible figures at the time of
    submitting/evaluating bids and contracts

4
What is to be Estimated
  • Total size of the project (in KLOCs)
  • Effort involved (Person-Months)
  • Typical duration of the project (Months)
  • Optimum number of people
  • Distribution of effort and time in the different
    stages of the project
  • Expected Errors in the product, i.e. Quality

5
Estimation Process Diagram
  • Size
  • Count of Use Cases
  • Function Points
  • Design Points
  • Lines of Code

Effort
Development Time
Estimation Process
Number of Personnel
  • Factors
  • Design Complexity
  • Technical
  • Environmental
  • Personnel

Errors
6
What is needed to do Estimation
  • High Level Design
  • Requirements Analysis, e.g. Use Cases ? UCP
  • High Level Design
  • For DP applications Inputs, Outputs, Files..
  • For OO applications UML Diagrams
  • Nature of the Project
  • Product Complexity
  • Process Constraints
  • Standards Requirements
  • Technology Factors
  • Personnel Factors Skills

7
Estimation Process
  • Step1 Collect Information Size and other
    factors
  • Step2 Estimate Lines of the Code
  • Step3 Compute Effort
  • Step4 Compute Development Time
  • Step5 Compute Number of Personnel
  • Step6 Distribution of Effort
  • Step7 Estimation of Errors

8
Estimation Process strategy
  • Step1 Size Calculations
  • For general and DP designs use
  • Function Points Method ? FP
  • For OO based designs
  • Count Number of Classes ? FP
  • Step2 Estimation of Lines of the Code (LOC)
  • Convert FP into LOC
  • Direct estimation Count Number of Methods ? LOC
  • Step3 Compute Effort
  • Apply COCOMO (Constructive Cost Modeling)
    formulas.
  • For Use Case Point Method bypass Steps 1 2.
    Count Actors and Use Cases ? Development Time
  • Step4 Compute Development Time
  • Apply COCOCMO Formulas

9
Methodologies
  • A. Use Case Points
  • B. Function Points
  • C. Object Oriented
  • 1. Class base design
  • 2. Rational Rose Real Time Design
  • D. Miscellaneous

10
Design
Classes2 Function Points Capsulesx Function
Points
Unadjusted Function Point (UFP table)
DI?ratings of selected factors
14 TCF0.650.01?(Factor)j
1 MinTCF0.65 MaxTCF1.35
Modify FPUFPTCF
LOC18.25Num of Methods (modify for RRRT)
TCF
 bKLOC? (LOCs all Classes, Caps)/1000
AFPFP1.25
Error Table Y
Compute Errors AFPY
KLOCMaxaKLOC, bKLOC
uEffort UCP Method
cEffort Person Months, PMA(KLOCB)
Effort, PMMaxcEffort, uEffort
Result
Adjusted PM APM(total EAF)PM
EAFProduct of selected factor
Effort Factors1-15
Development Time TDEVC(APMD)
Number of personnel NPAPM/TDEV
11
A. Use Case Points Karner 1993
  • UCPs is and Effort Estimation technique. It
    bypassed the size estimation stage. The number
    and type of Use cases as well as the actors are
    considered.

12
A. Use Case Point Example
  • Use Case Name Place Order
  • Short description
  • The customer provides address information and a
    list of product codes.
  • The system confirms the order.
  • Basic flow of events
  • Customer enters name and address
  • Customer enters product codes for items he wishes
    to order
  • The system will supply a product description and
    price for each item
  • The system will keep a running total of items
    ordered as they are entered
  • The customer enters credit card information
  • The system validates the credit card information
  • The system issues a receipt to the customer

13
A. Use Case Point Method
  • Classify each Actor and Use Case (as simple,
    average or complex). Provide reasons.
  • Using tables obtain the total weighted sums of
    Actors and Use Cases Unadjusted Use Case
    Points, UUCP
  • Of the 13 Technical Complexity Factors and 8
    Environmental Factors, identify the ones that are
    relevant to your design
  • Using tables, compute the values of TCF and EF
  • Obtain UCP by multiplying UUCP with TCF and EF
  • To obtain the Effort in (Product-Hours) multiply
    UCP with the Productivity Factor per UCP.
  • (This varies from 10 hours to 40 Hours per UCP.
    The variation is due to factors that have not
    been taken into account such as nature of the
    team, the project, and the processes used by the
    organization)

14
A. Use Case Point Calculations -1
back
Step 1. Tabulate Actors Obtain UAW, Unadjusted
Actor Weights Step 2. Tabulate Use Cases
Obtain UUCW, Unadjusted Use Case
Weights Step 3 Total Unadjusted UCP,
UUCP UAW UUCW
15
A. Use Case Point Calculations -2
  • Step 4 Identify grade Complexity Factors
    Obtain TCF
  • TCF 0.6 (0.01
    TFACTOR)

16
A. Use Case Point Calculations -3
  • Step 5 Identify grade Environment Factors
    Obtain EF
  • EF 1.4 (-0.03 EFACTOR)
  • Step 6 UCP UUCP TCF EF
  • Step 7 Effort in Person-Hours UCP
    Productivity Factor
  • To obtain effort in Person-Months, uEffort
    Effort/200

17
B. Function Points Albrecht, IBM
  • Function Points measures size based on the
    functionality. Estimation for Data Processing
    designs requires the counting of
  • External inputs those items provided by the
    user that describe distinct application-oriented
    data (such as file names and menu selections)
  • External outputs those items provided to the
    user that generate distinct application-oriented
    data (such as reports and messages, rather than
    the individual components of these)
  • External inquiries interactive inputs
    requiring a response
  • External files machine-readable interfaces to
    other systems
  • Internal files logical master files in the
    system

18
Unadjusted FPs for DP Designs
back
Ref COSMOS http//www.cs/umt.edu/RTSL/SoftwEng/c
osmos41
19
FP Technical Complexity Factors
back
  • Data Communication
  • Distributed Data Processing
  • Performance Criteria
  • Heavily Utilized Hardware
  • High Transaction Rates
  • Online Data Entry
  • Online Updating
  • End-user Efficiency
  • Complex Computations
  • Reusability
  • Ease of Installation
  • Ease of Operation
  • Portability
  • Maintainability

20
FP Degree of Influence
back
  • Compute the Degree of Influence, DI based on
    selection from the list of 14 Technical
    Complexity Factors, TCF.
  • Identify the factors relevant for your project
    and assign a grade (0 to 5) to each of the
    factors selected.
  • DI Sum of the ratings of the selected factors

21
FP Applying TCF correction
back
14 ? 1
  • TCF0.650.01 (Degree of Influence)j
  • MinTCF0.65, MaxTCF1.35
  • Function Points FP UFP TCF

22
KLOCs corresponding to Function Points
back
  • Estimate for the number of KLOCs (Kilo Lines of
    Code)
  • Assuming LOCs per FP for
  • Java 53
  • C 64
  • aKLOC FP LOC_per_FP / 1000

23
C. Object Oriented DesignsSize Calculations
back
  • C1. Class Based Designs
  • C2. Rational Rose Real Time Designs

24
C1. Class based Designs
  • Identify and classify all Classes (Boundary,
    Entity)
  • For each class, identify and count all methods
    needed to complete the design. Use Sequence
    Charts if necessary
  • Compute LOC (C)
  • - For Boundary Classes
  • LOC 13.20 Num of Methods
  • - For Entity Classes
  • LOC 18.25 Num of Methods
  • bKLOC Sum of LOCs for all Classes / 1000

25
C2. Rational Rose Real Time Designs
  • A Rational Rose Real Time, (RRRT) design consists
    of a hierarchical arrangement of Capsules each
    associated with its specific State chart.
  • Complexity arises due to the existence of the
    number of elements (States, Transitions, Ports
    and the Protocols) in the capsule.
  • If we were to write the code ourselves (instead
    of letting the RRRT system generate code for us)
    then assuming one method (code segment) to be
    associated with each element, the total number of
    lines per Capsule can be
  • LOC per Capsule
  • 18.25 ? of (States, Transitions, Ports,
    Protocols)
  • bKLOC Sum of LOCs for all Capsules / 1000
  • (Note If you were to utilize the code generating
    capability of RRRT then you have to furnish the
    code for the transitions only).

26
C2.Size Tabulation for RRRT Designs
back
27
Step 3. Compute Effort LOC ? Effort in PM
back
  • 1. Identify the type of your project
  • Organic Small teams, no formal processes
  • Semi-detached Average size org, some processes
    are defined
  • Embedded Mature organization with formal
    processes
  • 2. Computer the effort in Person-Months using
    appropriate COCOMO multipliers and coefficients
    from the table below
  • Effort Person Months, PMA(KLOCB)

28
Step 3Effort Adjustment, EAF Table
back
29
Step 3 Applying EAF correction to Person Months
PM ? APM
back
  • Total EAF P (selected factors)
  • Adjusted Effort Adjusted Person Months
  • APM (Total EAF) PM

30
Step 4. Computing Time for Development Adjusted
Effort ? Time
back
  • Compute the estimated optimal development time
    according to COCOMO.
  • Development Time Equation Parameter Table
  • Development Time
  • TDEV C(APMD)

31
Step 5. Computing Number of Personnel APM/TDEV ?
NP
back
  • Calculate the Number of Personnel NP
  • (based on the Adjusted Effort in Person-Months
    and the duration of the project).
  • NP APM / TDEV

32
Step 6. Distribution of Effort Process Phases
back
  • A development process typically consists of the
    following stages
  • Requirements Analysis
  • Design (High LevelDetailed)
  • Implementation Coding
  • Testing (UnitIntegration)
  • For the Project to be completed on time, it is
    important to allocate and budget for appropriate
    effort and time at each stage. If we do not do
    this the project may be over-budget, late or both.

33
Step 6. Distribution of Effort Process Phases
back
  • The following table gives the recommended
    percentage distribution of Effort (APM) and TDEV
    for these stages
  • Percentage Distribution of Effort and Time Table

34
Step 7. Estimation of Errors
back
  • Calculate the estimated number of errors in your
    design, i.e. total errors found in requirements,
    specifications, code, user manuals, and bad
    fixes
  • Update the Function Points calculated in step1 to
    EFP
  • EFP FP 1.25
  • Use the following table for calculating error
    estimates

35
D. MiscellaneousMeasures of Size Effort
  • Feature Points
  • For applications involving extensive use of
    algorithms and light use of files.
  • FP 3Algorithms 3Master Files
  • Design Weights Demarco
  • Powerful methodology based on the number of
    Decisions (If Case) statements and the
    input/output Tokens.

36
D. COCOMO II, Post-Architectural Model for Effort
back
  • Effort Person Months, PMA(KLOCB)
  • No notion of Development Modes (OO, SD, ER)
  • Parameter A 2.55
  • Parameter B 1.01 0.01 Sum (Scale Factors)
  • B(min) 1.06, B(max) 1.25

37
Flowchart Estimation Methodologies
38
Design
Classes2 Function Points Capsulesx Function
Points
Unadjusted Function Point (UFP table)
DI?ratings of selected factors
14 TCF0.650.01?(Factor)j
1 MinTCF0.65 MaxTCF1.35
Modify FPUFPTCF
LOC18.25Num of Methods (modify for RRRT)
TCF
 bKLOC? (LOCs all Classes, Caps)/1000
AFPFP1.25
Error Table Y
Compute Errors AFPY
KLOCMaxaKLOC, bKLOC
uEffort UCP Method
cEffort Person Months, PMA(KLOCB)
Effort, PMMaxcEffort, uEffort
Result
Adjusted PM APM(total EAF)PM
EAFProduct of selected factor
Effort Factors1-15
Development Time TDEVC(APMD)
Number of personnel NPAPM/TDEV
39
Summary
back
  • From the Size Metric we have estimated Effort
    its distribution, Duration, Persons and Errors
  • How good is estimation - 400
  • Accuracy of estimation converges to the actual
    value as time proceeds
  • Accuracy of estimation depends upon
  • - Quality of the High Level Design
  • - The counting process for baseline metrics
  • - How well the correction factors have been
    chosen and applied
Write a Comment
User Comments (0)
About PowerShow.com