59
Software Engineering Software Engineering Lecture 0 Lecture 0 7 7 COCOMO and Function Point COCOMO and Function Point Analysis Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 18 November 2011 2011 Faculty of Engineering Faculty of Engineering University of Indonesia University of Indonesia

Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

Embed Size (px)

Citation preview

Page 1: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

Software EngineeringSoftware Engineering

Lecture 0Lecture 077

COCOMO and Function Point COCOMO and Function Point AnalysisAnalysis

Prof. Dr. Ir. Riri Fitri Sari MM MScProf. Dr. Ir. Riri Fitri Sari MM MSc18 November18 November 2011 2011

Faculty of EngineeringFaculty of EngineeringUniversity of IndonesiaUniversity of Indonesia

Page 2: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

2

Development process- when to do what phase- document: SPMP

Management structure- hierarchical, peer,...

Risk identification & retirement

Plan project

Integrate & test system

Analyze requirements

Design

Maintain

Test unitsImplement

Software Software Engineering Engineering Roadmap: Roadmap:

Chapter 2 FocusChapter 2 Focus

Corporate practices

Development phases

Schedule

Cost estimate

SPMP

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 3: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

3

Plan project

Integrate & test system

Analyze requirements

Design

Maintain

Test unitsImplement

Software Engineering Software Engineering Roadmap: Roadmap:

Chapter 2 FocusChapter 2 FocusCorporate practices

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 4: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

8. Estimating costs: early 8. Estimating costs: early calculations calculations

Page 5: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

5

Range of cost estimates Range of cost estimates after conceptualization after conceptualization phase,phase,based on actual cost of $1based on actual cost of $1

Integration/Test

Design

Implementation

Requirementsanalysis

$125c

$4

$1

$1

$1

$1

Conceptual-izationphase Range of cost estimates Range of cost estimates

after requirements after requirements analysis phaseanalysis phase

Range of Range of Errors in Errors in

Estimating Estimating Eventual Eventual

CostCostAdapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 6: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

6

Typical Cost Estimation RoadmapTypical Cost Estimation Roadmap

1A. Use comparisons with past jobs to estimate cost & duration directly or to estimate lines of code.

and / or

1B. Use function point method to estimate lines of code

1B.1 Compute un-adjusted function points.

1B.2 Apply adjustment process.

2. Use lines of code estimates to compute labor and duration using COCOMO formulas.

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 7: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

7

Function Point Computation for a Single Function Point Computation for a Single Function Function (IFPUG)(IFPUG)

Function

External Inputs (EI)

External Inquiries (EIN)

External Outputs (EO)

fileExternal Logical Files (ELF)

filefile

Internal Logical Files (ILF)*

* Internal logical grouping of user data into files

Logicalgroup ofuser data

Logicalgroup ofuser data

Logicalgroup ofuser data

Page 8: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

8

Function Point ComputationsFunction Point Computations (IFPUG) (IFPUG) (Unadjusted -- to be followed by applying adjustment (Unadjusted -- to be followed by applying adjustment

process)process)

Ext. inputs EI … 3 or… 4 or ... 6 = ___

Ext. outputs EO … 4 or … 5 or ... 7 = ___

PARAMETER simple complex

countTotal

Page 9: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

9

Function Point ComputationsFunction Point Computations (IFPUG) (IFPUG) (Unadjusted -- to be followed by applying adjustment (Unadjusted -- to be followed by applying adjustment

process)process)

Ext. inputs EI … 3 or… 4 or ... 6 = ___

Ext. outputs EO … 4 or … 5 or ... 7 = ___

Ext. inquiries EIN … 3 or … 4 or ... 6 = ___

Ext. logical files ELF ... 5 or …7 or ... 10 = ___

Int. logical files ILF ... 7 or …10 or ... 15 = ___

PARAMETER simple complex

countTotal

Page 10: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

10

Unadjusted Function Point Computation for First Encounter Functions:“Set up Player Character”

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 11: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

11

Unadjusted Function Point Computation for Second Encounter Functions: “Encounter Foreign Character”

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 12: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

12

General Characteristics for FP General Characteristics for FP Adjustment 1-7Adjustment 1-7

1. Requires backup/recovery?1. Requires backup/recovery? 0-20-2

2. Data communications required?2. Data communications required? 0-10-1

3. Distributed processing functions?3. Distributed processing functions? 00

. . . . .. . . . .

0 incidental average essential

1 2 3 4 5Casestudynone moderate significant

Page 13: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

13

General Characteristics for FP Adjustment 1-7General Characteristics for FP Adjustment 1-7

1. Requires backup/recovery?1. Requires backup/recovery? 0-20-2

2. Data communications required?2. Data communications required? 0-10-1

3. Distributed processing functions?3. Distributed processing functions? 00

4. Performance critical?4. Performance critical? 3-43-4

5. Run on existing heavily utilized environmt.?5. Run on existing heavily utilized environmt.? 0-10-1

6. Requires on-line data entry? 6. Requires on-line data entry? 55

7. Multiple screens for input? 7. Multiple screens for input? .... .... continuedcontinued 4-54-5

0 incidental average essential

1 2 3 4 5Casestudynone moderate significant

Page 14: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

14

8. Master fields updated on-line?8. Master fields updated on-line? 3-43-4

9. Inputs, outputs, inquiries of files complex? 9. Inputs, outputs, inquiries of files complex? 1-21-2

10. Internal processing complex?10. Internal processing complex? 1-1-44

. . . .. . . .

0 1 2 3 4 5

General Characteristics for FP Adjustment 8-14General Characteristics for FP Adjustment 8-14 incidental average essential

Casestudynone moderate significant

Page 15: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

15

8. Master fields updated on-line?8. Master fields updated on-line? 3-43-4

9. Inputs, outputs, inquiries of files complex? 9. Inputs, outputs, inquiries of files complex? 1-21-2

10. Internal processing complex?10. Internal processing complex? 1-31-3

11. Code designed for re-use?11. Code designed for re-use? 2-42-4

12. Conversion and installation included?12. Conversion and installation included? 0-20-2

13. Multiple installation in different orgs.?13. Multiple installation in different orgs.? 1-31-3

14. Must facilitate change & ease-of-use 14. Must facilitate change & ease-of-use

by user?by user? 4-54-5

0 1 2 3 4 5

General Characteristics for FP Adjustment 8-14General Characteristics for FP Adjustment 8-14 incidental average essential

Casestudynone moderate significant

Page 16: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

16

Computation of Adjusted Function Computation of Adjusted Function Points Points (IFPUG)(IFPUG)

(Adjusted) Function points =

[ Unadjusted function points ]

[ 0.65 + 0.01 ( total general characteristics ) ]

Page 17: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

17

Unadjusted Function Point Scores for Unadjusted Function Point Scores for Video Store ExampleVideo Store Example

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 18: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

18

0 1 2 3 4 5

FP Adjustment Factors for Video ExampleFP Adjustment Factors for Video Example

1. Requires backup/recovery?………………………….1. Requires backup/recovery?…………………………. 442. Data communications required ?………...………….2. Data communications required ?………...…………. 0 0 3. Distributed processing functions ?………………….3. Distributed processing functions ?…………………. 004. Performance critical ?………………….…………….4. Performance critical ?………………….……………. 335. Run on existing heavily utilized environment ?…….5. Run on existing heavily utilized environment ?……. 116. Requires on-line data entry ?………………………..6. Requires on-line data entry ?……………………….. 5 5 . . . . . . . .

none incidental moderate average significant essential

Page 19: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

19

0 1 2 3 4 5

FP Adjustment Factors for Video ExampleFP Adjustment Factors for Video Example

1. Requires backup/recovery?………………………….1. Requires backup/recovery?…………………………. 442. Data communications required ?………...………….2. Data communications required ?………...…………. 0 0 3. Distributed processing functions ?………………….3. Distributed processing functions ?…………………. 004. Performance critical ?………………….…………….4. Performance critical ?………………….……………. 335. Run on existing heavily utilized environment ?…….5. Run on existing heavily utilized environment ?……. 116. Requires on-line data entry ?………………………..6. Requires on-line data entry ?……………………….. 557. Multiple screens for input ?………………………….7. Multiple screens for input ?…………………………. 338. Master fields updated on-line ?……………………..8. Master fields updated on-line ?…………………….. 559. Inputs, outputs, inquiries of files complex ?………..9. Inputs, outputs, inquiries of files complex ?……….. 2210. Internal processing complex ?……………………….10. Internal processing complex ?………………………. 1111. Code designed for re-use ?…………………………...11. Code designed for re-use ?…………………………... 3312. Conversion and installation included ?……………..12. Conversion and installation included ?…………….. 3313. Multiple installation in different orgs. ?…………….13. Multiple installation in different orgs. ?……………. 3314. Must facilitate change & ease-of-use by user ?……..14. Must facilitate change & ease-of-use by user ?…….. 22

none incidental moderate average significant essential

Total35

Page 20: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

9. Estimating effort and duration 9. Estimating effort and duration from lines of code from lines of code

Page 21: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

21

Meaning of the COCOMO Formulas Meaning of the COCOMO Formulas (Boehm)(Boehm)

Applies to design through integration & test.*“Effort” = total person-months required.

(2) Duration for increasing Effort* ( y 2.5x 0.35 )

(1) Effort* for increasing LOC( y 3x 1.12 )

exponent: < 1> 1

Page 22: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

22

Basic COCOMO Formulae (Boehm)Basic COCOMO Formulae (Boehm)

Effort in Person-months = aKLOC b

Duration = cEffort d

Software Project a b c d

Organic 2.4 1.05 2.5 0.38

Semidetached 3.0 1.12 2.5 0.35

Embedded 3.6 1.20 2.5 0.32

Due to Boehm [Bo]

Page 23: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

23

Computing COCOMO Case Study Computing COCOMO Case Study ModelsModels

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 24: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

24

Computing COCOMO Case Study Computing COCOMO Case Study ModelsModels

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 25: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

25

Estimate Cost and Duration Very Early Estimate Cost and Duration Very Early

in Projectin Project

11. Use the function point method to estimate lines of . Use the function point method to estimate lines of

codecode

2. Use Boehm’s formulas to estimate labor required 2. Use Boehm’s formulas to estimate labor required

3. Use the labor estimate and Boehm’s formula to 3. Use the labor estimate and Boehm’s formula to

estimate durationestimate duration

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 26: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

10. The Team Software Process 10. The Team Software Process

Page 27: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

27

TSP Launch TSP Launch Issues to SettleIssues to Settle

(Humphrey)(Humphrey)

Graphics reproduced with permission from Corel.

Process to be used Process to be used Quality goalsQuality goals Manner of tracking quality goalsManner of tracking quality goals How team will make decisions How team will make decisions What to do if quality goals not attainedWhat to do if quality goals not attained

– fallback positionsfallback positions What to do if plan not approved What to do if plan not approved

– fallback positionsfallback positions Define team rolesDefine team roles Assign team roles Assign team roles

Page 28: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

28

To Be Produced at Launches To Be Produced at Launches (Humphrey)(Humphrey)1.1. Written team goalsWritten team goals

2.2. Defined team rolesDefined team roles3.3. P Process development planrocess development plan4.4. Q Quality planuality plan5.5. P Project’s support plan roject’s support plan

computers, software, personnel etc.computers, software, personnel etc.

6.6. O Overall development plan and schedule verall development plan and schedule 7.7. Detailed plans for each engineerDetailed plans for each engineer8.8. P Project risk assessment roject risk assessment 9.9. P Project status reportroject status report

Page 29: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

29

TSPi Cycle Structure (Humphrey) TSPi Cycle Structure (Humphrey)

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

1. strategy2. plan3. requirements4. design5. implementation6. test7. postmortem

MilestonesDelivery

1. strat.

Iteration 1

Iteration 2

1. strategy….

Cycle 1 launch

Week1

Cycle 2 launchCycle 3 launch

1 1 1 1 1

Iteration 3

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 30: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

11. The Software Project 11. The Software Project Management Plan Management Plan

Page 31: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

31

IEEE 1058.1-1987 IEEE 1058.1-1987 SPMP Table of SPMP Table of

ContentsContents

1. Introduction 1.1 Project overview 1.2 Project deliverables 1.3 Evolution of the SPMP 1.4 Reference materials 1.5 Definitions and acronyms 2. Project organization 2.1 Process model 2.2 Organizational structure 2.3 Organizational boundaries and interfaces 2.4 Project responsibilities 3. Managerial process 3.1 Managerial objectives & priorities. . . .

Page 32: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

32

IEEE 1058.1-1987 SPMP IEEE 1058.1-1987 SPMP Table of ContentsTable of Contents

1. Introduction 1.1 Project overview 1.2 Project deliverables 1.3 Evolution of the SPMP 1.4 Reference materials 1.5 Definitions and acronyms 2. Project organization 2.1 Process model 2.2 Organizational structure 2.3 Organizational boundaries and interfaces 2.4 Project responsibilities 3. Managerial process 3.1 Managerial objectives & priorities

3.2 Assumptions, dependencies & constraints 3.3 Risk management 3.4 Monitoring & controlling mechanisms 3.5 Staffing plan4. Technical process 4.1 Methods, tools & techniques 4.2 Software documentation 4.3 Project support functions 5. Work packages, schedule & budget 5.1 Work packages 5.2 Dependencies 5.3 Resource requirements 5.4 Budget & resource allocation 5.5 Schedule

Page 33: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

12. Quality in project management 12. Quality in project management

Page 34: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

34

Defects detected per ... ... 100 requirements, or ... design diagram, or ... KLOCThis project / norm

Phase in which defects detected

Detailed require-ments

Design Implemen- tation

Phase containing defects

Detailed requirements

2 / 5 0.5 / 1.5 0.1 / 0.3

Design   3 / 1 1 / 3

Implementa-tion

    2 / 2

Table 2.5 Defects by Phase

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 35: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

35

Five Process Metric ExamplesFive Process Metric Examples

1.1. Number of defects per KLOC detected within x Number of defects per KLOC detected within x weeks of deliveryweeks of delivery

2.2. Variance in schedule on each phase Variance in schedule on each phase actual duration - projected actual duration - projected

durationduration projected durationprojected duration3.3. Variance in costVariance in cost actual cost - projected cost actual cost - projected cost

projected costprojected cost4.4. Total design time / total programming timeTotal design time / total programming time

should be at least 50% (Humphry)should be at least 50% (Humphry)5.5. Defect injection and detection rates per phase Defect injection and detection rates per phase

e.g. “1 defect per class in detailed design e.g. “1 defect per class in detailed design phase” phase”

Compare each of the following with company norms averaged over similar processes.

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 36: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

36

IEEE 739-1989 Software Quality Assurance Plans Table IEEE 739-1989 Software Quality Assurance Plans Table of Contents Part 2 of 2of Contents Part 2 of 2

7. Test-- can reference Software Test Documentation

8. Problem reporting & corrective action9. Tools, techniques and methodologies-- can reference SPMP

10. Code control-- reference SCMP

11. Media control12. Supplier control13. Records collection, maintenance & retention14. Training15. Risk Management-- can reference SPMP

Page 37: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

37

Gather Process Gather Process MetricsMetrics

1. Identify & define metrics team will use by phase; 1. Identify & define metrics team will use by phase; include ... time include ... time spent on 1. research, 2. execution, 3. reviewspent on 1. research, 2. execution, 3. review

… … size (e.g. lines of code)size (e.g. lines of code) … … # defects detected per unit (e.g., lines of code)# defects detected per unit (e.g., lines of code)

include source include source

… … quality self-assessment of each on scale of 1-10quality self-assessment of each on scale of 1-10maintain bell-shaped distribution maintain bell-shaped distribution

2. Document these in the SQAP 2. Document these in the SQAP 3. Accumulate historical data by phase3. Accumulate historical data by phase4. Decide where the metric data will be placed 4. Decide where the metric data will be placed

– as the project progresses SQAP? SPMP? Appendix?as the project progresses SQAP? SPMP? Appendix?

5. Designate engineers to manage collection by phase5. Designate engineers to manage collection by phase– QA leader or phase leaders (e.g., design leader) QA leader or phase leaders (e.g., design leader)

6. Schedule reviews of data for lessons learned6. Schedule reviews of data for lessons learned– Specify when and how to feed back improvementSpecify when and how to feed back improvement

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 38: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

38

Requirements Document: 200 detailed requirements

Meeting Research ExecutionPersonal Review

Inspection

Hours spent 0.5 x 4 4 5 3 6

% of total time 10% 20% 25% 15% 30%

% of total time: norm for the organization

15% 15% 30% 15% 25%

Self-assessed quality 1-10 2 8 5 4 6

Defects per 100 N/A N/A N/A 5 6

Defects per 100: organization norm

N/A N/A N/A 3 4

Hours spent per detailed requirement

0.01 0.02 0.025 0.015 0.03

Hours spent per detailed requirement: organization

norm0.02 0.02 0.04 0.01 0.03

Process improvementImprove strawman brought to meeting

  Spend 10% more time executing

   

Summary Productivity: 200/22 = 9.9 detailed requirements per hourProbable remaining defect rate: 6/4[organizational norm of 0.8 per hundred] = 1.2 per 100

Table 2.6 Project Metric Collection for phases

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 39: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

13. Process improvement and the 13. Process improvement and the Capability Maturity Model Capability Maturity Model

Page 40: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

40

Motor control applicationsProcess

Waterfall Spiral, 2-4 iterations

Spiral, 5-10 iterations

Company average -- Defects per thousand source lines of code at delivery time injected at ...

     

... requirements time 4.2 3.2 2.4

... architecture time 3.1 2.5 3.7

... detailed design time 1.1 1.1 2.2

... implementation time 1.0 2.1 3.5

TOTAL 9.4 8.9 11.8

Table 2.7 Example of Process Comparison

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 41: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

41

Feed Back Process/Project Feed Back Process/Project ImprovementImprovement

1. Decompose the process or sub-process being measured 1. Decompose the process or sub-process being measured into into PreparationPreparation, , ExecutionExecution and and ReviewReview– include include ResearchResearch if learning about the procedure if learning about the procedure

2. Note time taken, assess degree of quality for each part on 2. Note time taken, assess degree of quality for each part on a 1-10 scale, count defectsa 1-10 scale, count defects– try to enforce a curvetry to enforce a curve

3. Compute 3. Compute quality / (percent time taken)quality / (percent time taken)

4. Compare team’s performance against existing data, if 4. Compare team’s performance against existing data, if availableavailable

5. Use data to improve next sub-process5. Use data to improve next sub-process– note poorest values first e.g., low note poorest values first e.g., low quality/(percent time)quality/(percent time)

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 42: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

42

  For each part ...

Preparation Execution Review

% time 45 30 25

Quality (0 to 10)*

If low, investigate

62

investigate6

Quality/(% time)If low,

investigate

0.13 investigate

0.07 investigate

0.24

Typical?No

Joe lost specsYes Yes

Action 

Schedule 20% more time for execution, taken equally from other phases

 

Table 2.8 Measuring Team Phase Performance

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 43: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

14. Miscellaneous tools and 14. Miscellaneous tools and techniques for project techniques for project management Model management Model

Page 44: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

44

Remote Team OptionsRemote Team Options Same office areaSame office area

+ ideal for group communication+ ideal for group communication- labor rates sub-optimal- labor rates sub-optimal

Same city, different officesSame city, different officescommunication faircommunication fair

Same country, different citiesSame country, different cities- communication difficult- communication difficult+ common culture+ common culture

Multi-countryMulti-country- communication most difficult- communication most difficult- culture issues problematical- culture issues problematical+ labor rates optimal+ labor rates optimal

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Graphics reproduced with permission from Corel.

Page 45: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

45

Non-Extreme vs Extreme ProgrammingNon-Extreme vs Extreme Programming Limited customer contactLimited customer contact Central up-front designCentral up-front design

Build for the future tooBuild for the future too Complex Complex

implementationimplementation

Tasks assignedTasks assigned Developers in isolationDevelopers in isolation

Infrequent integrationInfrequent integration Limited communicationLimited communication

Customer on teamCustomer on team Open evolving Open evolving

designdesign

Evolve; just in timeEvolve; just in time Radical simplicityRadical simplicity

Tasks self-chosenTasks self-chosen Pair programmingPair programming

Continuous integrationContinuous integration Continual Continual

communicationcommunicationAdapted from Andserson, A., et al, "At Chrysler, Objects Pay", Distributed Computing, October 1998

Page 46: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

46

Triage in Project ManagementTriage in Project Management Among top items in importance?Among top items in importance?

– if so, place it in do at once categoryif so, place it in do at once category otherwise otherwise Could we ignore without Could we ignore without

substantially affecting project?substantially affecting project? – if so, place it in last to do categoryif so, place it in last to do category

otherwise ……otherwise ……

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 47: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

47

Triage in Project ManagementTriage in Project Management Among top items in importance?Among top items in importance?

– if so, place it in do at once categoryif so, place it in do at once category otherwise otherwise Could we ignore without Could we ignore without

substantially affecting project?substantially affecting project? – if so, place it in last to do categoryif so, place it in last to do category

otherwise (otherwise (do not spend decision time do not spend decision time on thison this))– place in middle categoryplace in middle category

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 48: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

16. Summary of the project 16. Summary of the project management process management process

Page 49: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

49

SummarySummary Project management: “silver bullet”?Project management: “silver bullet”? ““People” aspects co-equal technicalPeople” aspects co-equal technical Specify SPMPSpecify SPMP Define and retire risksDefine and retire risks Estimate costs with several methodsEstimate costs with several methods

– expect to revisit and refineexpect to revisit and refine– use ranges at this stageuse ranges at this stage

Schedule project with appropriate detailSchedule project with appropriate detail Maintain a balance among cost, schedule, quality and Maintain a balance among cost, schedule, quality and

functionalityfunctionalityAdapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Graphics reproduced with permission from Corel.

Page 50: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

SPMP for the SPMP for the EncounterEncounter video video game game

Page 51: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

51

Gaming Industries Gaming Industries ConsolidatedConsolidatedPresident

VP EngineeringVP Marketing. . .

IV&V

EncounterGame 123. . . SQA

Game Lab. . .

SoftwareEngineering

Labs

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 52: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

52

MemberTeam leader

CM Leader

QAleader

Require-ments

management leader

Design leader

Implementation Leader

             

LiaisonRespon-sibility

VP Engineer

ing    Marketing

Software engineerin

g lab 

Document

Responsi-bility

SPMP SCMPSQAPSTP

SRS SDD Code base

Table 2.9 Encounter Project Responsibilities

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 53: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

53

Program Monitoring & ControlProgram Monitoring & Control

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 54: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

54

Name

Team Leader

CM Leader.

QALeader

Requ. Mngmnt Leader

Design Leader

Implemen- tation

Leader

Ed Braun X         X

Al Pruitt   X        

Fern Tryfill     X      

Hal Furnass       X    

Karen Peters

        X  

Liaison with VP Eng.     MarketingSoft. Eng.

Lab 

Table 2.11 Encounter Staffing

Plan

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 55: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

55

Month 1

1 2 3 4

Month 2

1 2 3 4

Month 3

1 2 3 4

Month 4

1 2 3 4

Month 5

1 2 3 4

MilestonesDelivery

Complete testing

Iteration 1

Iteration 2

Freeze requirements

Risk I&R

SCMPSQAP

SPMP rel. 1

E. Braude 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

J. Pruitt 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

F. Tryfill 1 1 1 1 1 1 1 1 1 1 1 1 1

H. Furnass 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 K. Peters 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Tasks

Work BreakdownWork BreakdownStructureStructure

Excluding SecretarialExcluding Secretarial

TOTAL 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 3.5 3.5

F. Smith (tech support) .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 56: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

56

Method*Mini-mum

Maxi-mum

Comment

(1) 7.5** 170 

(2) 4.2 300 

(3) 11.4 461.9-2.3 for two identified functions 6-20 times as many in complete application

       

Most conservative

11.4 300Maximum of minimums and maximum of maximums.

Least conservative

4.2 46Minimum of minimums and minimum of maximums.

Widest range 4.2 300Minimum of minimums and maximum of maximums.

Narrowest range

11.4 46Maximum of minimums and minimum of maximums.

Table 2.12 Very Rough Estimate of Application Size Prior to Requirements Analysis

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 57: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

57

High Level Task Chart with Fixed Delivery Date:High Level Task Chart with Fixed Delivery Date:Order of CompletionOrder of Completion

Month 1

1 2 3 4

Month 2

1 2 3 4

Month 3

1 2 3 4

Month 4

1 2 3 4

Month 5

1 2 3 4

Milestones (1*) Delivery

Begin system testing

Iteration 1

Iteration 2(6)

(4)

(3) Freeze requirements

Risk identification & retirement

(5)

* Indicated the order in which the parts of this table were built

SCMP complete

SQAP complete

SPMP rel. 1 complete

(2)

Prep. for maintenance

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Page 58: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

Software quality assurance planSoftware quality assurance planPart 2 of 2 Part 2 of 2

Page 59: Software Engineering Software Engineering Lecture 07 COCOMO and Function Point Analysis Prof. Dr. Ir. Riri Fitri Sari MM MSc 18 November 2011 Faculty of

ELH7141ELH71413 3

59

1. Defect Number: 2. Proposer: 3. Documents / sections affected:__________ Source code affected*: 4. package(s)_______ 5. class(es) ____6. method(s) ______ 7.Severity: ____8. Type: _____ 9. Phase injected**: Req � Arch Dtld.Dsg Code Int � � � �

10. Detailed description: ___________________ 11. Resolution: ____ 12. Status closed / open:__ Sign-off: 13. Description and plan inspected: __ 14. Resolution code and test plan inspected: ___ 15. Change approved for incorporation: ______

Problem Problem Reporting Reporting

FormForm

* for source code defects **earliest phase with the defectAdapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.