60
Slide 9.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach [email protected]

Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach [email protected] Slide 9.2 ©

  • Upload
    lethien

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.1

© The McGraw-Hill Companies, 2002

Object-Oriented and Classical Software

Engineering

Fifth Edition, WCB/McGraw-Hill, 2002

Stephen R. [email protected]

Page 2: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.2

© The McGraw-Hill Companies, 2002

CHAPTER 9

PLANNING AND ESTIMATING

Page 3: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.3

© The McGraw-Hill Companies, 2002

Overview

Planning and the software processEstimating duration and costSoftware project management plan componentsSoftware project management plan frameworkIEEE software project management planPlanning of testingPlanning of object-oriented projectsTraining requirementsDocumentation standards

Page 4: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.4

© The McGraw-Hill Companies, 2002

Planning and Estimating

Before starting to build software, it is essential to plan the entire development effort in detailPlanning continues during development and then maintenance– Initial planning is not enough– The earliest possible detailed planning is after the

specification phase

Page 5: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.5

© The McGraw-Hill Companies, 2002

Planning and the Software Process

Accuracy of estimation increases as the process proceeds

Page 6: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.6

© The McGraw-Hill Companies, 2002

Planning and the Software Process (contd)

Example– Cost estimate of $1 million during the requirements

phase» Likely actual cost is in the range ($0.25M, $4M)

– Cost estimate of $1 million in the middle of the specification phase

» Likely actual cost is in the range ($0.5M, $2M)

– Cost estimate of $1 million at the end of the specification phase (earliest appropriate time)

» Likely actual cost is in the range ($0.67M, $1.5M)

This model is old (1976)– Estimating techniques have improved– But the shape of the curve is likely to be similar

Page 7: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.7

© The McGraw-Hill Companies, 2002

Estimating Duration and Cost

Accurate duration estimation is critical Accurate cost estimation is critical– Internal, external costs

There are too many variables for accurate estimate of cost or duration

Page 8: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.8

© The McGraw-Hill Companies, 2002

Human Factors

Sackman (1968) measured differences of up to 28 to 1 between pairs of programmers He compared matched pairs of programmers– Product size– Product execution time– Development time– Coding time– Debugging time

Critical staff members may resign during the project

Page 9: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.9

© The McGraw-Hill Companies, 2002

Metrics for the Size of a Product

Lines of Code (LOC) Software ScienceFFPFunction PointsCOCOMO

Page 10: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.10

© The McGraw-Hill Companies, 2002

Lines of Code

Lines of code (LOC), orThousand delivered source instructions (KDSI) – Source code is only a small part of the total software

effort – Different languages lead to different lengths of code – LOC is not defined for nonprocedural languages (like

LISP) – It is not clear how to count lines of code

» Executable lines of code?» Data definitions ? » Comments? » JCL statements? » Changed/deleted lines?

– Not everything written is delivered to the client

Page 11: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.11

© The McGraw-Hill Companies, 2002

Lines of Code (contd)

LOC is known when the product finishedEstimation based on LOC is doubly dangerous – To start the estimation process, LOC in the finished

product must be estimated– The LOC estimate is then used to estimate the cost of

the product — an uncertain input to an uncertain cost estimator

Page 12: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.12

© The McGraw-Hill Companies, 2002

Software Science

Metrics based on the number of operands, operatorsLimited predictive power—metrics can be computed only after the product has been implementedThere are major doubts about the validity of Software Science

Page 13: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.13

© The McGraw-Hill Companies, 2002

Metrics for the Size of a Product (contd)

Metrics based on measurable quantities that can be determined early in software life cycle – FFP– Function Points

Page 14: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.14

© The McGraw-Hill Companies, 2002

FFP Metric

For cost estimation of medium-scale DP systemsThe three basic structural elements of DP systems– files, flows, and processes

Given number of files (Fi), flows (Fl), processes (Pr)– Size (S), cost (C) given by

S = Fi + Fl + Pr C = b × S

Constant b varies from organization to organization

Page 15: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.15

© The McGraw-Hill Companies, 2002

FFP Metric (contd)

The validity and reliability of the FFP metric were demonstrated using a purposive sample – BUT, the metric was never extended to include

databases

Page 16: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.16

© The McGraw-Hill Companies, 2002

Function Points

Based on the number of inputs (Inp), outputs (Out), inquiries (Inq), master files (Maf), interfaces (Inf) For any product, size in “function points” is given by

FP = 4 × Inp + 5 × Out + 4 × Inq + 10 × Maf + 7 × Inf

Oversimplification of a 3-step process.

Page 17: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.17

© The McGraw-Hill Companies, 2002

Function Points (contd)

1. Classify each component of product (Inp, Out, Inq,

Maf, Inf) as simple, average, or complex. – Assign the appropriate number of function points– The sum gives UFP (unadjusted function points)

Page 18: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.18

© The McGraw-Hill Companies, 2002

Function Points (contd)

2. Compute the technical complexity factor (TCF) – Assign a value from 0 (“not

present”) to 5 (“strong influence throughout”) to each of 14 factors such as transaction rates, portability

– Add 14 numbers ⇒ total degree of influence (DI)

TCF = 0.65 + 0.01 × DI

– Technical complexity factor (TCF) lies between 0.65 and 1.35

Page 19: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.19

© The McGraw-Hill Companies, 2002

Function Points (contd)

3. The number of function points (FP) is given byFP = UFP × TCF

Page 20: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.20

© The McGraw-Hill Companies, 2002

Analysis of Function Points

Function points are usually better than KDSI—but there are some problems“Errors in excess of 800% counting KDSI, but only200% in counting function points” (Jones, 1987)Like FFP, maintenance can be inaccurately measured

Page 21: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.21

© The McGraw-Hill Companies, 2002

Mk II function points

Intended to compute UFP more accuratelyDecompose software into component transactions, each consisting of input, process, and outputWidely used all over the world

Page 22: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.22

© The McGraw-Hill Companies, 2002

Techniques of Cost Estimation

Expert judgment by analogyExperts compare target product to completed products – Guesses can lead to hopelessly incorrect cost estimates – Experts may recollect completed products inaccurately– Human experts have biases – However, results of estimation by a broad group of

experts may be accurate

Page 23: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.23

© The McGraw-Hill Companies, 2002

Techniques of Cost Estimation (contd)

Bottom-up approachBreak the product into smaller components– The smaller components may be no easier to estimate– Process-level costs

Page 24: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.24

© The McGraw-Hill Companies, 2002

Techniques of Cost Estimation (contd)

Algorithmic modelsThe metric used as an input to a model to compute cost, duration– An algorithmic model is unbiased, and superior to

expert opinion– However, estimates are only as good as the underlying

assumptions Examples– SLIM Model – Price S Model– COnstructive COst MOdel (COCOMO)

Page 25: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.25

© The McGraw-Hill Companies, 2002

COCOMO

COCOMO consists of three models– Macro-estimation model for the product as a whole– Intermediate COCOMO– Micro-estimation model which treats the product in

detailWe examine intermediate COCOMO

Page 26: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.26

© The McGraw-Hill Companies, 2002

Intermediate COCOMO

1. Estimate the length of the product in KDSI

Page 27: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.27

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

2. Estimate the product development mode (organic, semidetached, embedded)

Example– Straightforward product (“organic mode”)

Nominal effort = 3.2 × (KDSI)1.05 person-months

Page 28: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.28

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

3. Compute the nominal effort

Example– Organic product, est. 12,000 delivered source

statements (12 KDSI)Nominal effort = 3.2 × (12)1.05 = 43 person-months

Page 29: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.29

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

4. Multiply the nominal value by 15 software development cost multipliers

Example– Product complexity multiplier

Intermodule control and decision tables

Page 30: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.30

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

Software development effort multipliers

Page 31: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.31

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

Example– Microprocessor-based communications processing

software for electronic funds transfer network with high reliability, performance, development schedule, and interface requirements

1. Complex (“embedded”) mode

Page 32: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.32

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

2. Estimate: 10,000 delivered source instructions

Page 33: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.33

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

3. Nominal effort = 2.8 × (10)1.20 = 44 person-months

Page 34: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.34

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

4. Product of effort multipliers = 1.35, so estimated effort for project is – 1.35 × 44 = 59 person-months

Page 35: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.35

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

Software development effort multipliers

Page 36: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.36

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

Estimated effort for project (59 person-months) is used as input for additional formulas for– Dollar costs– Development schedules– Phase and activity distributions– Computer costs– Annual maintenance costs– Related items

Page 37: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.37

© The McGraw-Hill Companies, 2002

Intermediate COCOMO (contd)

Intermediate COCOMO has been validated with respect to a broad sample Actual values are within 20% of predicted values about 68% of the time– Intermediate COCOMO was most accurate estimation

method of its time

Page 38: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.38

© The McGraw-Hill Companies, 2002

COCOMO II

1995 extension to 1981 COCOMO that incorporates– Object orientation– Modern life-cycle models– Rapid prototyping– Fourth-generation languages– COTS software

COCOMO II is far more complex than the first version

Page 39: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.39

© The McGraw-Hill Companies, 2002

COCOMO II (contd)

Three different models– Application composition model for early phases

» Based on feature points (like function points)

– Early design model» Based on function points

– Post-architecture model» Based on function points or KDSI

Page 40: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.40

© The McGraw-Hill Companies, 2002

COCOMO II (contd)

COCOMO Effort model is effort = a (size)b

– Intermediate COCOMO» Three values for (a, b)

– COCOMO II» b varies depending on the values of certain parameters

COCOMO II supports reuse

Page 41: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.41

© The McGraw-Hill Companies, 2002

COCOMO II (contd)

COCOMO II has 17 multiplicative cost drivers (was 15)– Seven are new

It is too soon for results regarding – Accuracy of COCOMO II– Extent of improvement (if any) over Intermediate

COCOMO

Page 42: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.42

© The McGraw-Hill Companies, 2002

Tracking Duration and Cost Estimates

Whatever estimation method used, careful tracking is vitalComponents of a software project management plan (SPMP)– The work to be done– The resources with which to do it– The money to pay for it

Page 43: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.43

© The McGraw-Hill Companies, 2002

Resources

Resources needed for software development:– People– Hardware– Support software

Page 44: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.44

© The McGraw-Hill Companies, 2002

Use of Resources Varies with Time

Rayleigh curves accurately depict resource consumptionEntire software development plan must be a function of time

Page 45: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.45

© The McGraw-Hill Companies, 2002

Work Categories

Project function– Work carried on throughout project– Examples: project management, quality control

Activity– Work that relates to a specific phase– A major unit of work, – With precise beginning and ending dates,– That consumes resources, and– Results in work products like the budget, design,

schedules, source code, or users’ manualTask– An activity comprises a set of tasks (the smallest unit of

work subject to management accountability)

Page 46: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.46

© The McGraw-Hill Companies, 2002

Completion of Work Products

Milestone: Date on which the work product is to be completedIt must first pass reviews performed by – Fellow team members– Management– Client

Once the work product has been reviewed and agreed upon, it becomes a baseline

Page 47: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.47

© The McGraw-Hill Companies, 2002

Work Package

Work product, plus– Staffing requirements– Duration– Resources– Name of responsible individual– Acceptance criteria for work product

Money– A vital component of the plan – The detailed budget must be worked out as a function of

time – Money must be allocated, as a function of time, to

» Project functions» Activities

Page 48: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.48

© The McGraw-Hill Companies, 2002

How to Plan Software Development

State problem clearly (Specification Phase)Determine viable solution strategies (Specification Phase)Should client be advised to computerize?– Cost–benefit analysis

If so, which viable solution strategy? Decide by– Minimizing total cost to client, or– Maximizing total return on investments, or– Other methods

Develop SPMP for the product as whole

Page 49: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.49

© The McGraw-Hill Companies, 2002

Software Project Management Plan (SPMP)

Determine work unitsEstimate resources requiredDraw up budgetCome up with detailed timetable

Page 50: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.50

© The McGraw-Hill Companies, 2002

Framework for SPMP

IEEE Standard 1058.1– Standard widely agreed upon– Designed for use with all types of software product– Advantages of standardization

Page 51: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.51

© The McGraw-Hill Companies, 2002

IEEE SPMP

Page 52: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.52

© The McGraw-Hill Companies, 2002

Planning of Testing

The SPMP must explicitly state what testing is to be done– Traceability– All black box test cases must be drawn up as soon as

possible after specifications are complete

Page 53: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.53

© The McGraw-Hill Companies, 2002

Planning of Object-Oriented Projects

Object-oriented product consists of largelyindependent piecesPlanning is somewhat easierThe whole is more than the sum of its partsUse COCOMO II ( or modify intermediate COCOMO estimators)

Page 54: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.54

© The McGraw-Hill Companies, 2002

Planning of Object-Oriented Projects (contd)

However, reuse destroys everything– Reuse of existing components during development– Production of components for future reuse

These work in opposite directionsNewer data: savings outweigh costs

Page 55: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.55

© The McGraw-Hill Companies, 2002

Training Requirements

“We don’t need to worry about training until the product is finished, and then we can train the user”– Training is generally needed by the members of the

development group, starting with training in software planning

– A new software development method necessitates training for every member of the group

– Introduction of hardware or software tools of any sort necessitates training

– Programmers may need training in the operating system and/or implementation language

– Documentation preparation training may be needed– Computer operators require training

Page 56: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.56

© The McGraw-Hill Companies, 2002

Documentation Standards

How much documentation is generated by a product?– IBM internal commercial product (50 KDSI)

» 28 pages of documentation per KDSI– Commercial software product of same size

» 66 pages per KDSI– IMS/360 Version 2.3 (about 166 KDSI)

» 157 pages of documentation per KDSI– (TRW) For every 100 hours spent on coding activities,

150–200 hours were spent on documentation-related activities

Page 57: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.57

© The McGraw-Hill Companies, 2002

Types of Documentation

PlanningControlFinancialTechnicalSource codeComments within source code

Page 58: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.58

© The McGraw-Hill Companies, 2002

Documentation Standards

Reduce misunderstandings between team membersAid SQAOnly new employees have to learn standards Standards assist maintenance programmersStandardization is important for user manuals

Page 59: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.59

© The McGraw-Hill Companies, 2002

CASE Tools for the Planning Phase

Word processor, spreadsheetAutomated intermediate COCOMO/COCOMO IIManagement tools assist with planning and monitoring– MacProject, Microsoft Project

Page 60: Slide 9.1 Object-Oriented and Classical Software … and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu Slide 9.2 ©

Slide 9.60

© The McGraw-Hill Companies, 2002

Testing during the Planning Phase

We must check the SPMP as a wholePaying particular attention to the duration and cost estimates