T. E. Potok - University of Tennessee
CS 594 Software Engineering
Lecture 3Dr. Thomas E. [email protected]
865-574-0834
Software Engineering CS 594
T. E. Potok - University of Tennessee 2
Agenda Review COCOMO PERT
Software Engineering CS 594
T. E. Potok - University of Tennessee 3
AMI Update 200 jobs per day AMI has received a quote from
Acme Consulting of $40K to do the work in 2 months
Ballpark price range for AMI is $20-$30K.
Software Engineering CS 594
T. E. Potok - University of Tennessee 4
Linear Regression
Where is an estimate of the mean of Y, and are numerical estimated of the parameters
Sample Regression Line
0
5
10
15
20
25
0 2 4 6 8 10 12
iii EY iY
Software Engineering CS 594
T. E. Potok - University of Tennessee 5
Many early studies applied regression Data gathered from multiple
software project Log-linear relationship found
between project size and effort
Where PM are person-months, KLOC is thousands of lines of code
ln(PM) = ln() + ln(KLOC)+ .
Software Engineering CS 594
T. E. Potok - University of Tennessee 6
Derivation
KLOCPM
KLOCePM
eePM
eePM
ee
KLOCPMY
EY
KLOC
KLOC
KLOCPM
iii
)ln(
)ln(
)ln()ln(
)ln()ln()ln()ln(
Software Engineering CS 594
T. E. Potok - University of Tennessee 7
Typical Effort Vs Project Size Curve
Typical Log-linear Effort Curve
0
2000
4000
6000
8000
10000
12000
14000
0 100000 200000 300000 400000 500000 600000
Lines of code
Effo
rt
Software Engineering CS 594
T. E. Potok - University of Tennessee 8
Constructive Cost Model (COCOMO) Developed by Barry Boehm Statistical model of software
development effort and time. Base on results from 63 projects
completed at TRW. Basic model is a log-linear regression
model that fits the 63 projects Productivity ranges:
– 20 - 1250 LOC/PM
Software Engineering CS 594
T. E. Potok - University of Tennessee 9
Basic COCOMO Organic - small to medium size, familiar
projects– Person-months=2.4(KLOC)1.05
– Development-time = 2.5(PM).38
Semidetached - intermediate– Person-months=3.0(KLOC)1.12
– Development-time = 2.5(PM).35
Embedded - ambitious, tightly constrained– Person-months=3.6(KLOC)1.20
– Development-time = 2.5(PM).32
Software Engineering CS 594
T. E. Potok - University of Tennessee 10
COCOMO ModelsCOCOMO Models
0
1000
2000
3000
4000
5000
6000
7000
0 100 200 300 400 500 600
Thousands of lines of code
Per
son-
mon
ths
Organic
Semidetached
Embedded
Software Engineering CS 594
T. E. Potok - University of Tennessee 11
Cost Drivers Product Attributes
– Required Reliability– Database Size– Product Complexity
Computer Attributes– Execution Time Constraints – Main storage constraints– Virtual Machine Volatility– Computer turnaround time
Software Engineering CS 594
T. E. Potok - University of Tennessee 12
More Cost Drivers Personnel Attributes
– Analyst Capability– Application Experience– Programmer Capability– Virtual Machine Experience– Programming Language Experience
Project Attributes– Modern Programming Practices– Use of Software Tools– Required Development Schedule
Software Engineering CS 594
T. E. Potok - University of Tennessee 13
Example Need to produce 10,000 LOC, 10 KLOC. Small project, familiar development Use organic model:
– Person-months=2.4(10)1.05 =26.9 Person-months– Development-time = 2.5(26.9).38 =8.7 Months– Average People = 26.9 PM/8.7 Months = 3 People
Linear model 3 people would take 16.5 months, at 50 person-months
Software Engineering CS 594
T. E. Potok - University of Tennessee 14
Example We also know that the design experience is
low – Analyst, - 1.19– application, - 1.13– programmer experience is low. - 1.17
Yet the programming experience is high - .95 Adjustment factor 1.19*1.13*1.17*.95 = 1.49 PM = 26.9*1.49 = 40 Person-months Development time = 10.2 Months People = 3.9 People
Software Engineering CS 594
T. E. Potok - University of Tennessee 15
Drawbacks COCOMO has to be calibrated to
your environment. Very sensitive to change.
– Over a person-year difference in a 10 KLOC project with minor adjustments
Broad brush model that can generate significant errors
Software Engineering CS 594
T. E. Potok - University of Tennessee 16
COCOMO 2.0 Includes
– COTS and reusable software– Degree of understanding of requirements and
architectures– Schedule constraints– Project size– Required reliability
Three Types of models– Application Composition - Prototyping or RAD– Early Design - Alternative evaluation– Post-architecture - Detailed estimates
Software Engineering CS 594
T. E. Potok - University of Tennessee 17
COCOMO Summary Quick and easy to use Provides a reasonable estimate Needs to be calibrated Results must be treated as ball
park values unless substantial validation has been performed.
Software Engineering CS 594
T. E. Potok - University of Tennessee 18
PERT Project Evaluation and Review
Technique– Developed for the Navy Polaris
Missile Program– Directed Acyclic Graphs of project
activities– Used for estimation and control of a
project
Software Engineering CS 594
T. E. Potok - University of Tennessee 19
Example Start project Gather requirements Document
requirements Create design Document design Review design Create code Document code
Define test cases Test code Demonstrate Finish project
To create our 10K program we need the following activities
Software Engineering CS 594
T. E. Potok - University of Tennessee 20
PERT Example
Start Req Design Review Code Test Demo Finish
DocReq
DocDesign
DocCode
TestCase
Software Engineering CS 594
T. E. Potok - University of Tennessee 21
Duration EstimatesTasks Minimum Average Maximum Critical PathStart project 0 0 0 YGather requirements 3 5 7 YDocument requirements 2 3 5 NCreate design 5 9 13 YDocument design 2 3 5 NReview design 1 2 3 YCreate code 7 12 20 YDocument code 2 4 7 NDefine test cases 3 5 8 NTest code 5 7 12 YDemonstrate 1 2 3 YFinish project 0 0 0 Y
Software Engineering CS 594
T. E. Potok - University of Tennessee 22
Critical Path EstimateTasks Minimum Average Maximum Critical PathStart project 0 0 0 YGather requirements 3 5 7 YCreate design 5 9 13 YReview design 1 2 3 YCreate code 7 12 20 YTest code 5 7 12 YDemonstrate 1 2 3 YFinish project 0 0 0 YTotal 22 37 58
Software Engineering CS 594
T. E. Potok - University of Tennessee 23
Completion ProbabilityTriangular Distribution
0.000
0.010
0.020
0.030
0.040
0.050
0.060
20 25 30 35 40 45 50 55 60
Duration
Prob
abili
ty
Probability
Software Engineering CS 594
T. E. Potok - University of Tennessee 24
Cumulative Completion Probability
Triangular Distribution
0.0000.100
0.2000.3000.4000.500
0.6000.7000.800
0.9001.000
20 25 30 35 40 45 50 55 60
Duration
Cum
ulat
ive
Pro
babi
lity
Cumulative Probability
80% Probability ofCompletion in 46 days