CIS 375 SOFTWARE ENGINEERING

UNIVERSITY OF MICHIGAN-DEARBORN

DR. BRUCE MAXIM, INSTRUCTOR

Date: 9/15/97

Week 2

PEOPLE = PERSONNEL:

TYPES OF PERSONALITIES:

PROJECT TEAM ORGANIZATION TYPES:

FRAMEWORK OF ACTIVITIES:

  1. Customer communication.
  2. Planning.
  3. Risk analysis.
  4. Engineering.
  5. Construction and release.
  6. Customer evaluation.

COST ESTIMATION:

TYPES OF COSTS:

TYPES OF COST MODELS:

EXPERT JUDGMENT (EXPERIENCED GUESSING):

  • A = The most pessimistic estimate.
  • B = The most likely estimate.
  • C = The most optimistic estimate.
  • (A + 4B + C)
  • Ê = 6
  • (Weighted average; where Ê = estimate).
  • DELPHI TECHNIQUE:

    1. A group of experts, make "secret" guesses.
    2. These "secret" guesses are used to obtain a group average.
    3. The group average is presented to the group.
    4. The group, once again makes "secret" guesses.
    5. Individual guesses are again averaged.
    6. If new average is different from previous, then goto (4).
    7. Else Ê = new average.

    WOLVERTON MODEL:

  • (Uses a software type matrix):
  • {old, new} {easy, moderate, hard}.
  • Estimate models in terms of: lines of code.
  • C(k) = S(k) - Ci,j(k)
  • Cost of module k = Size of module k - Value from matrix.
  • System = C(k).
  • FUNCTION POINTS:

  • (Not dependent on estimating lines of code).
  • Parameter
    Simple
    +
    Average
    +
    Complex
    =
    Fi
    Distinct input items3( )
    +
    4( )
    +
    6( )
    =
    ?
    Output screens/reports4( )
    +
    5( )
    +
    7( )
    =
    ?
    Types of user queries3( )
    +
    4( )
    +
    6( )
    =
    ?
    Number of files7( )
    +
    10( )
    +
    15( )
    =
    ?
    External interface5( )
    +
    7( )
    +
    10( )
    =
    ?
    Total
    =
    ?

    # of F.P.'s = T(total) ([0.65 + 0.01](empirical constants) Q)

    {Q = score from questionnaire}

    FUNCTION POINT QUESTIONNAIRE:

  • (importance of {0-5; 0 = minimal & 5 = essential})
    1. Backup.
    2. Data communication.
    3. Distributed processes.
    4. Optimal performance.
    5. Heavily used operating system.
    6. On-line data security.
    7. Multiple screens.
    8. On-line master file update.
    9. Complex inputs, queries, outputs.
    10. Complex internal processing.
    11. Reusable code.
    12. Conversion or installation.
    13. Multiple user sites.
    14. Ease of use.
  • Cost of producing one function point? May be organization specific.
  • PROBLEMS WITH EXPERT JUDGMENT:

    Date: 9/17/97

    Week 2

    REGRESSION AND CORRELATION.

  • Mean = (xi)/n
  • Variance = (xi2)/n - (mean)2
  • Covariance xy = (xi yi)/n - (x)(y)
  • Correlation = r
  • Regression; y = mx + b
  • X

    Y

    X^2

    X*Y

    Y^2

    1

    1

    1

    1

    1

    3

    2

    9

    6

    4

    4

    4

    16

    16

    16

    6

    4

    36

    24

    16

    8

    5

    64

    40

    25

    9

    7

    81

    63

    49

    11

    8

    121

    88

    64

    14

    9

    190

    126

    81

    S= 56

    40

    524

    364

    256

    REGRESSION MODELS
  • 1. Linear Model
  • E = Co + Cix
  • {Effort in Person Months} {Intercept} {Regression Coefficient}
    1. Static Non-Linear Model
  • n
  • E = Co + Cix xi2i
  • i=1
  • Often rewritten using size of code as a factor
  • E = a + b Sc m (x)
  • {where a, b & c are constants, S = size, m = multiplier, and x = Cix xi2i }
  • COCOMO MODEL

  • COnstructive COst MOdel
  • Contains 3 levels
  • 1. Basic: Computes software development effort (and cost) as a function of program size, expressed in estimated lines of code.
  • 2. Intermediate: Computes software development effort as a function of program size and a set of "cost drivers" that include subjective assessments of product, hardware, personnel, and project attributes.
  • 3. Detailed: Includes all characteristics of the intermediate version with an assessment of the cost driver's impact on each step (analysis, design, ect.) of the software engineering process.
  • Model: E = a Sb m(x)
  • BASIC
    INTERMEDIATE
    MODE
    a
    b
    a
    b
    Organic
    2.4
    1.05
    3.2
    1.05
    Semidetached
    3.0
    1.12
    3.0
    1.12
    Embedded
    3.6
    1.20
    2.8
    1.20

  • in the basic COCOMO model x=1
  • in the intermediate model a questionnaire is used
  • Product Attributes
    Computer Attributes
    RELY
    Reliability
    TIME
    Execution Time
    DATA
    Size of database
    STOR
    Amount of Storage
    CPLX
    Complexity of System
    VIRT
    Virtual Volatility
    *
    *
    TURN
    Response Time

    Personnel
    Project
    ACAP
    Analyst Capabilities
    MODP
    Modern Practices
    AEXP
    Analyst Experience
    TOOL
    Software Tools
    PCAP
    Programmer Capabilities
    SCED
    Development Schedule
    PEXP
    Programmer Experience
    *
    *
    VEXP
    Machine Experience
    *
    *
    LEXP
    Language Experience
    *
    *