Upload
others
View
30
Download
0
Embed Size (px)
Citation preview
1
Unit 8 1
Model structure Implementation of COCOMO Function point methodology
Unit 8 2
Model structure Implementation of COCOMO Function point methodology
Unit 8 3
Model structure Implementation of COCOMO Function point methodology
2
Unit 8 4
Unit 8 5
Unit 8 6
3
Unit 8 7
Unit 8 8
Software cost function of size in source lines of code (SLOC)
Original model developed in late 1970s based on U.S. Department of Defense projects
Enhanced in several iterations to account for project characteristics and changes in software development practice
Unit 8 9
Software cost function of size in source lines of code (SLOC)
Original model developed in late 1970s based on U.S. Department of Defense projects
Enhanced in several iterations to account for project characteristics and changes in software development practice
4
Unit 8 10
Software cost function of size in source lines of code (SLOC)
Original model developed in late 1970s based on U.S. Department of Defense projects
Enhanced in several iterations to account for project characteristics and changes in software development practice
Unit 8 11
Software cost function of size in source lines of code (SLOC)
Original model developed in late 1970s based on U.S. Department of Defense projects
Enhanced in several iterations to account for project characteristics and changes in software development practice
Unit 8 12
5
Unit 8 13
Unit 8 14
Unit 8 15
6
Unit 8 16
Unit 8 17
Unit 8 18
7
Unit 8 19
Organic Semidetached Embedded
Unit 8 20
Organic Semidetached Embedded
Unit 8 21
Small in-house development teams Lots of problem specific (domain)
knowledge Development staff stable and
constant size Relatively easy to negotiate
interface changes late in development
Low premium for early completion Relatively high productivity
8
Unit 8 22
External developer Low domain experience Tight schedule constraints Difficult to negotiate interface
changes High cost to fix problems
More emphasis on early lifecycle activities
Relatively low productivity
Generally higher quality
Unit 8 23
External developer Low domain experience Tight schedule constraints Difficult to negotiate interface
changes High cost to fix problems
More emphasis on early lifecycle activities
Relatively low productivity
Generally higher quality
Unit 8 24
External developer Low domain experience Tight schedule constraints Difficult to negotiate interface
changes High cost to fix problems
More emphasis on early lifecycle activities
Relatively low productivity
Generally higher quality
9
Unit 8 25
Intermediate between organic and embedded
Some domain knowledge Frequently in-house software
specialists
Unit 8 26
Unit 8 27
Product attributes Required reliability (safety critical would be very high, information displays
low) Data base size Product complexity (algorithmic, switching, decision making)
Computer attributes Execution time constraint (real time would be high, batch low) Main storage constraint Virtual machine volatility Computer turnaround time
Personnel attributes Analyst capability Applications experience Programmer capability Virtual machine experience Programming language experience
Project attributes Use of modern programming practices Use of software tools Required development schedule
10
Unit 8 28
Product attributes Required reliability (safety critical would be very high, information displays
low) Data base size Product complexity (algorithmic, switching, decision making)
Computer attributes Execution time constraint (real time would be high, batch low) Main storage constraint Virtual machine volatility Computer turnaround time
Personnel attributes Analyst capability Applications experience Programmer capability Virtual machine experience Programming language experience
Project attributes Use of modern programming practices Use of software tools Required development schedule
Unit 8 29
Unit 8 30
11
Unit 8 31
Use software from previous project Change behavior or interfaces Exploit experience, previous testing
Unit 8 32
Use software from previous project Change behavior or interfaces Exploit experience, previous testing
Unit 8 33
12
Unit 8 34
Unit 8 35
Unit 8 36
13
Unit 8 37
Recognized need for more precision More data available Deal with uncertainty Deal with more complex projects
Unit 8 38
Recognized need for more precision More data available Deal with uncertainty Deal with more complex projects
Unit 8 39
Recognized need for more precision More data available Deal with uncertainty Deal with more complex projects
14
Unit 8 40
Recognized need for more precision More data available Deal with uncertainty Deal with more complex projects
Unit 8 41
SLOC estimate difficult early in lifecycle
SLOC determined by Amount of functionality Programming language
Unit 8 42
SLOC estimate difficult early in lifecycle
SLOC determined by Amount of functionality Programming language
15
Unit 8 43
External inputs (EI) – unique data or control inputs crossing the system boundary
External outputs (EO) – unique data or control outputs crossing the system boundary
External inquiries (EQ) – unique transactions that cross system boundaries and make demands –prompts, interrupts
Internal files (ILF) – logical data groupings stored in predefined schema
External interface (EIF) – unique files crossing system boundary and shared with at least one application
Unit 8 44
Attribute Complexity
Simple Average Complex
EI 3 4 6
EO 4 5 7
EQ 3 4 7
ILF 7 10 15
EIF 5 7 10
Unit 8 45
Attribute Complexity
Simple Average Complex
EI 3 4 6
EO 4 5 7
EQ 3 4 7
ILF 7 10 15
EIF 5 7 10
16
Unit 8 46
Adjustment FactorsData communications Conversion/installation ease On-line updatePerformance objectives Multiple site usage ReusabilityTransaction rate Distributed processing Operational easeEnd user efficiency Heavily-used configuration Facilitate changeComplex processing On-line data entry
Unit 8 47
Unit 8 48
17
Unit 8 49
Software cost models exhibit diseconomies of scale
Models should be tailored to company experience
Function points provide a means to estimate SLOC based on functionality