Software Engineering PPT Presentation for CSE Student

allpurposeuse2024 30 views 24 slides Aug 01, 2024
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

Software Engineering PPT Presentation for CSE Student


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