software engineering lecturer: giuseppe santucci · 2015. 5. 15. · cocomo ii reuse • the main...
TRANSCRIPT
![Page 1: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/1.jpg)
Effort estimation
Software Engineering
Lecturer: Giuseppe Santucci
1
![Page 2: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/2.jpg)
Effort estimation goals
Effort estimationRequirementsCostEffortTime
Cocomo.2
![Page 3: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/3.jpg)
Steps
• Requirements--> Function points (FP)
• FP --> LOC
• LOC --> Time / Effort
• Effort --> Cost
Cocomo.3
![Page 4: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/4.jpg)
Some general considerations
4
![Page 5: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/5.jpg)
Overview
Requirements
UFP LOC computation
•ER DFD
UML
•Text
•Prototype
•…
COCOMO
LOC
Cost
computation
Effort
Delivery Time
$
Market
Project parameters
Project parameters
5
AFP
![Page 6: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/6.jpg)
Some statistics
![Page 7: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/7.jpg)
Some statistics
7
![Page 8: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/8.jpg)
Effort estimation from LOC
8
![Page 9: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/9.jpg)
• M: Effort, Cost:
Man time required to develop the project. Unit: man-day, man-month, man-year
• T: Delivery Time:
Required time (years, months, weeks ) to deliver the workingsoftware
• Manpower:
Effort across the time: it represents the number of people workingduring the project execution. Manpower= Effort/Delivery time
What is estimated
Cocomo.9
![Page 10: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/10.jpg)
CoCoMo: Constructive Cost Model (Bohem 1981)http://csse.usc.edu/csse/research/COCOMOII/cocomo_downloads.htm
• Estimates effort M and optimal T
• Relies on statistics
• Waterfall model (!)
• Three different models
• Basic formula : M=aSb T=cMd (S represents KLOC)
• Provides an effort indication on four phases: analysis and planning, design, development, integration and test
• http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html
Cocomo.10
![Page 11: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/11.jpg)
Adjusting parameters
• Estimate the context in which the software is developed
• Several parameters
• (Very low-low-nominal-high-very high-extra high)
Cocomo.11
![Page 12: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/12.jpg)
COCOMO: 1981 formulas
Cocomo.12
![Page 13: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/13.jpg)
Assumptions and definitions
• S: only lines of codes developed within the project
• T : it encompasses design-coding-integration and test. Requirement analysis is not considered.
• MM =
– 19 days of 8 hours
– 152 hours
• Stable requirements
Cocomo.13
![Page 14: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/14.jpg)
Example
• Organic model
• S=32K
• MM = 2.4(32)1.05 = 91 MM
• T = 2.5(91)0.38 = 14 months
• People = 91/14 = 6.5
• Productivity = 32K/91 = 0.352 kloc/month !
18.5 loc / day !!!!
Cocomo.14
![Page 15: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/15.jpg)
M distribution(organic)
Cocomo.15
![Page 16: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/16.jpg)
T distribution
Cocomo.16
![Page 17: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/17.jpg)
Example: development phaseMM = 2.4(32)1.05 = 91 MM
T = 2.5(91)0.38 = 14 months• Mdev ?
• Tdev ?
• How many people ?
• Mdev = 0.62 * 91 = 56 Man-month
• Tdev = 0.55 *1 4 = 7.7 months
• Peopledev = 56/7.7 = 7.3
• Linear interpolation for values not in the table
Cocomo.17
![Page 18: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/18.jpg)
Gantt
Design
DevelopmentInt. & test
Cocomo.18
![Page 19: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/19.jpg)
Some considerations about Cocomo1981
• hp1: waterfall model
• hp2: stable requirements
• hp3: adequate personnel
• hp4: project management
• Error <20% on 68% of estimates
Cocomo.19
![Page 20: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/20.jpg)
Cocomo II
20
![Page 21: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/21.jpg)
Cocomo II
• Motivations
– New lifecycle sw models
– Reuse
– Different levels of estimation precision
Cocomo.21
![Page 22: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/22.jpg)
Estimation precision
22
![Page 23: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/23.jpg)
Cocomo II models
• Early Design model– Suitable for the project initial phase
– Little detail (estimation through FP)
– 7 adjusting factors
• Post-Architecture model– for development and maintenance phases
– More detail and information (FP and reuse)
– 17 adjusting factors
• The two models share 5 scaling drivers for computing the exponents factor
Cocomo.23
![Page 24: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/24.jpg)
PMnominal= A SE
E = B + 0.01
TDEV=C(PMadjusted)F SCED/100
F = D + 0.2 x 0.01 = D+0.2(E-B)
E denotes scale economy and diseconomy
In Cocomo 1981 E={1.05, 1.12, 1.20} (only diseconomies)
In Cocomo II: E= ranges between 0.91 a 1.226
5
1i
iw
Cocomo II formulas6+SCED or 16+SCED
Cocomo.24
5
1i
iw
E=1.226
E=1
E=0.91
![Page 25: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/25.jpg)
Actual calibration
A=2.94
B=0.91
C=3.67
D=0.28
Cocomo.25
PMnom= 2.94 SE
E=0.91+
TDEV = 3.67 (PMadjusted)F
F = 0.28 +0.2 x 0.01
![Page 26: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/26.jpg)
The 5 scale factors
26
![Page 27: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/27.jpg)
Scale factors
Cocomo.27
![Page 28: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/28.jpg)
PRECedenteness & Development FLEXibility
Cocomo.28
The PREC and FLEX scale factors are largely intrinsic to a project and uncontrollable
![Page 29: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/29.jpg)
Architecture/Risk RESoLution
Product
Design
Review
Component
Off
The
Shelf
Cocomo.29
![Page 30: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/30.jpg)
TEAM Cohesion
Cocomo.30
![Page 31: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/31.jpg)
Process MATurity
• Based on CMMI
• Two calculation methods:
– CMMI level (1-, 1+, 2, 3, 4 , 5)
– Implementation % of the 18 key process areas
Cocomo.31
![Page 32: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/32.jpg)
KPA Implementation %
32
![Page 33: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/33.jpg)
Numerical values
33
![Page 34: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/34.jpg)
The SCED+16 / SCED+6 adjusting factors
34
![Page 35: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/35.jpg)
Pmnom adjusting
Early Design model
Post-Architecture
model
Cocomo.35
![Page 36: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/36.jpg)
SCED + Adjusting factors
Cocomo.36
![Page 37: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/37.jpg)
• RELY: REquired software reliabiLitY(0.82-0.92-1.0-1.10-1.26-n/a)
This is the measure of the extent to which the software must perform its intendedfunction over a period of time. If the effect of a software failure is only slightinconvenience then RELY is low. If a failure would risk human life then RELY is veryhigh
• DATA: DATA base size (n/a-0.90-1.0-1.14-1.28-n/a)
Product
Cocomo.37
![Page 38: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/38.jpg)
• CPLX: product ComPLeXity (0.73-0.87-1.0-1.17-1.34-1.75)
Product
Cocomo.38
![Page 39: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/39.jpg)
• CPLX: product ComPLeXity (0.73-0.87-1.0-1.17-1.34-1.75)
Product
Cocomo.39
![Page 40: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/40.jpg)
• RUSE: developing reusable software (n/a-0.95-1.0-1.07-1.15-1.24)
• DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a)
– Several software cost models have a cost driver for the level of required documentation. In COCOMO II, therating scale for the DOCU cost driver is evaluated in terms of the suitability of the project’s documentation toits life-cycle needs. The rating scale goes from Very Low (many life-cycle needs uncovered) to Very High (veryexcessive for life-cycle needs).
Product
Cocomo.40
![Page 41: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/41.jpg)
System• TIME: execution TIME constraint (n/a-n/a-1.0-1.11-1.29-1.63)
• STOR: main STORage constraint (n/a-n/a-1.0-1.05-1.17-1.46)
Cocomo.41
![Page 42: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/42.jpg)
System• PVOL - Platform volatility (n/a-0.87-1.0-1.15-1.30-n/a)
Cocomo.42
![Page 43: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/43.jpg)
Personnel• ACAP - Analyst CAPability (1.42-1.19-1.0-0.85-0.71-n/a)
• PCAP - Programmer CAPability (1.34-1.15-1.0-0.88-0.76-n/a)
• APEX - Application EXPerience (1.22-1.10-1.0-0.88-0.81-n/a)
• PLEX – Platform EXPerience (1.19-1.09-1.0-0.91-0.85-n/a)
• LTEX: Language and tool EXPerience (1.20-1.09-1.0-0.91-0.84-n/a)
• PCON – Personnel continuity(1.29-1.12-1.0-0.90-0.81-n/a)
Cocomo.43
![Page 44: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/44.jpg)
Project• TOOL - use of software TOOLs (1.17-1.09-1.00-0.90-0.78-n/a)
• SITE - Multisite development (1.22-1.09-1.0-0.93-0.86-0.80)
Cocomo.44
![Page 45: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/45.jpg)
Project• SCED - SChEDule constraints (1.43-1.14-1.0-1.00-1.10-n/a).
Cocomo.45
![Page 46: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/46.jpg)
Summary
46
![Page 47: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/47.jpg)
Variability!!!
• Best case:• 0,82*0,9*0,73*0,95*0,81*1*1*0,87*0,71*0,76*0,81*0,81*0,85*0,84=
0,09
• Worst case:• 1,26*1,28*1,74*1,24*1,23*1,63*1,46*1,3*1,42*1,34*1,29*1,22*1,19*1,2*1,17*1,22*1,43=
115
Cocomo.47
![Page 48: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/48.jpg)
7 vs 17
Affects both M and T
Cocomo.48
![Page 49: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/49.jpg)
M and T
PMnom= 2.94 SE
Cocomo.49
SCED
![Page 50: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/50.jpg)
Reuse
How to estimate the effort for reusing existing modules
50
![Page 51: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/51.jpg)
The cost of reuse
Cocomo.51
![Page 52: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/52.jpg)
Cocomo II reuse• The main idea is to model the effort for adapting an existing module
(ASLOC lines of code) as the required effort for developing a newmodule: ESLOC = Equivalent Source Line of Code
• Cocomo uses a non linear model based two aspects:
1. The inherent complexity of adapting the software– SU : Software Understanding (as percentage)– AA: Assessment and Assimilation– UNFM: Programmer Unfamiliarity
2. The percentage of modification AAF: Adaptation Adjusting Factor– DM, percentage of modified design – CM, percentage of modified code– IM, percentage of modification to the original integration effort
required for integrating the reused software
Cocomo.52
![Page 53: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/53.jpg)
SU : Software Understanding
Penality percentage53
![Page 54: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/54.jpg)
AA: Assessment and Assimilation
Assessment and Assimilation (AA) effort needed to
a) determine whether a reused software module is
appropriate to the application, and
b) to integrate its description into the overall product description
54
![Page 55: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/55.jpg)
UNFM: Programmer Unfamiliarity
programmer’s relative unfamiliarity
with the software
55
![Page 56: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/56.jpg)
Equivalent SLOC2 distinct formulas, driven by relative modification
of size AAF
56
Automated
translation
![Page 57: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/57.jpg)
AAM range
57
![Page 58: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/58.jpg)
ExampleSoftware module (ASLOC=8k) to browse, on the
Web, a relational table– Code well written and documented SU=20– Easy to evaluate and to integrate in
the overall documentation AA=2– No familiarity with the code UNF=1.0– 10% percentage of modified design DM=10– 20% percentage of modified code CM=20– 35 %percentage of modification to the
original integration effort required for integrating the reused software IM=35
Cocomo.58
![Page 59: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/59.jpg)
Example (2)SU=20 AA=2 UNFM=1.0 DM=10 CM=20 IM=35
AAF= 0.4 (10)+0.3 (20) +0.3 (35)=20.5 (AAF<= 50)
AAM= [2+20.5(1+0.02x20x1.0)]/100= 0,307
ESLOC=8 x 0,307=2,456 KLOC
Cocomo.59
![Page 60: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/60.jpg)
Backfiring
60
![Page 61: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/61.jpg)
BACKFIRING
Cocomo.61
![Page 62: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/62.jpg)
BACKFIRING
Cocomo.62
![Page 63: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/63.jpg)
BACKFIRING
Cocomo.63
![Page 64: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/64.jpg)
BACKFIRING
Cocomo.64
![Page 65: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/65.jpg)
LOC estimation
65
![Page 66: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/66.jpg)
Invoice database
• 51 Fp
• C language
• Coefficiente di backfiring del C :128
• LOC=51*128=6528=6.5 KLOC
All parameters are set to NOMINAL
![Page 67: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/67.jpg)
SLOC within Cocomo SW
67
![Page 68: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/68.jpg)
UFP/LOC
Cocomo.68
![Page 69: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/69.jpg)
Other sources
69
http://www.qsm.com/reso
urces/function-point-
languages-table
![Page 70: Software Engineering Lecturer: Giuseppe Santucci · 2015. 5. 15. · Cocomo II reuse • The main idea is to model the effort for adapting an existing module (ASLOC lines of code)](https://reader035.vdocuments.net/reader035/viewer/2022071609/61478c61afbe1968d37a1f31/html5/thumbnails/70.jpg)
Proposed methodology
Requirements
UFP LOC computation
•ER DFD
UML
•Text
•Prototype
•…
COCOMO
LOC
Cost
computation
Effort
Delivery Time
$
Market
Project parameters
(only once)
70