Software Engineering PPT Presentation for CSE Student
allpurposeuse2024
30 views
24 slides
Aug 01, 2024
Slide 1 of 24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
About This Presentation
Software Engineering PPT Presentation for CSE Student
Size: 178.56 KB
Language: en
Added: Aug 01, 2024
Slides: 24 pages
Slide Content
T. E. Potok -University of Tennessee
CS 594 Software Engineering
Lecture 3
Dr. Thomas E. Potok [email protected]
865-574-0834
2Software Engineering CS 594 T. E. Potok -University of Tennessee
Agenda
Review
COCOMO
PERT
3Software Engineering CS 594 T. E. Potok -University of Tennessee
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.
4Software Engineering CS 594 T. E. Potok -University of Tennessee
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 i
Y
5Software Engineering CS 594 T. E. Potok -University of Tennessee
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 codeln(PM) = ln() + ln(KLOC)+ .
6Software Engineering CS 594 T. E. Potok -University of Tennessee
Derivation
KLOCPM
KLOCePM
eePM
eePM
ee
KLOCPM
Y
EY
KLOC
KLOC
KLOCPM
iii
)ln(
)ln(
)ln()ln(
)ln()ln(
)ln()ln(
7Software Engineering CS 594 T. E. Potok -University of Tennessee
Typical Effort Vs Project Size
CurveTypical Log-linear Effort Curve
0
2000
4000
6000
8000
10000
12000
14000
0 100000 200000 300000 400000 500000 600000
Lines of code
Effort
8Software Engineering CS 594 T. E. Potok -University of Tennessee
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
9Software Engineering CS 594 T. E. Potok -University of Tennessee
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
10Software Engineering CS 594 T. E. Potok -University of Tennessee
COCOMO ModelsCOCOMO Models
0
1000
2000
3000
4000
5000
6000
7000
0 100 200 300 400 500 600
Thousands of lines of code
Person-months
Organic
Semidetached
Embedded
11Software Engineering CS 594 T. E. Potok -University of Tennessee
Cost Drivers
Product Attributes
–Required Reliability
–Database Size
–Product Complexity
Computer Attributes
–Execution Time Constraints
–Main storage constraints
–Virtual Machine Volatility
–Computer turnaround time
12Software Engineering CS 594 T. E. Potok -University of Tennessee
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
13Software Engineering CS 594 T. E. Potok -University of Tennessee
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
14Software Engineering CS 594 T. E. Potok -University of Tennessee
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
15Software Engineering CS 594 T. E. Potok -University of Tennessee
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
16Software Engineering CS 594 T. E. Potok -University of Tennessee
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
17Software Engineering CS 594 T. E. Potok -University of Tennessee
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.
18Software Engineering CS 594 T. E. Potok -University of Tennessee
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
19Software Engineering CS 594 T. E. Potok -University of Tennessee
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
20Software Engineering CS 594 T. E. Potok -University of Tennessee
PERT Example
Start Req DesignReviewCode TestDemoFinish
Doc
Req
Doc
Design
Doc
Code
Test
Case
21Software Engineering CS 594 T. E. Potok -University of Tennessee
Duration EstimatesTasks MinimumAverageMaximumCritical Path
Start project 0 0 0 Y
Gather requirements 3 5 7 Y
Document requirements 2 3 5 N
Create design 5 9 13 Y
Document design 2 3 5 N
Review design 1 2 3 Y
Create code 7 12 20 Y
Document code 2 4 7 N
Define test cases 3 5 8 N
Test code 5 7 12 Y
Demonstrate 1 2 3 Y
Finish project 0 0 0 Y
22Software Engineering CS 594 T. E. Potok -University of Tennessee
Critical Path EstimateTasks MinimumAverageMaximumCritical Path
Start project 0 0 0 Y
Gather requirements 3 5 7 Y
Create design 5 9 13 Y
Review design 1 2 3 Y
Create code 7 12 20 Y
Test code 5 7 12 Y
Demonstrate 1 2 3 Y
Finish project 0 0 0 Y
Total 22 37 58
23Software Engineering CS 594 T. E. Potok -University of Tennessee
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
Probability
Probability
24Software Engineering CS 594 T. E. Potok -University of Tennessee
Cumulative Completion
ProbabilityTriangular Distribution
0.000
0.100
0.200
0.300
0.400
0.500
0.600
0.700
0.800
0.900
1.000
20 25 30 35 40 45 50 55 60
Duration
Cumulative Probability
Cumulative Probability
80% Probability of
Completion in 46 days