Intermediate cocomo
• Intermediate COCOMO introduces sets of 15 subjective assessment
called “Cost Drivers” to ensure that other aspects of Software
Development are taken into account in the cost estimation. Cost
drivers are divided into 4 groups including, product attributes,
hardware attributes, personal attributes, and project attributes.
• Subjective assessment, based on your weightage assigned
• When should you use it?
• ● Can be applied across the entire software product for easy and
rough cost estimation during the early stage
• ● or it can be applied at the software product component level for
more accurate cost estimation in more detailed stages
Why cocomo II
• approach uses various multipliers and exponents the values of which
have been set initially by experts.
• However, a database containing the performance details of executed
projects has been built up and periodically analysed so that the
expert judgements can be progressively replaced by values derived
from actual projects.
• estimates are required at different stages in the system life cycle and
COCOMO ll has been designed to accommodate this by having
models for three different stages
• Application composition Here the external features of the system that
the users will experience are designed. Prototyping will typically be
employed to do this. With small applications that can be built using
high-productivity application-building tools, development can stop at
this point.
• Early design- Here the fundamental software structures are designed.
With larger, more demanding systems, where, for example, there will
be large volumes of transactions and performance is important,
careful attention will need to be paid to the architecture to be
adopted.
• Post architecture Here the software structures undergo final
construction, modification and tuning to create a system that will
perform as required
• Each of cost driver is rated on the scale of are very low to
extremely high to calculate the specific effort multiplier and each
of them returns an adjustment factor which multiplied yields in
the total EAF (Effort Adjustment Factor).
• The scale includes very low, low, normal, high very high, extra
high, accordingly. The adjustment factor is 1 for a cost driver
that is judged as normal. In practice, typical values for EAF
range from 0.9 to 1.4.
Extension of COCOMO
• Although this article only cover about the COCOMO I model
(1981), but it is worthy for you to do further research on the
extension of this effective COCOMO model.
• An obvious example of COCOMO II (1995) is an extension of
COCOMO I used in other categories of Software development
process, such as Agile, Iterative waterfall, and spiral waterfall
model.
Exercise 1
Exercise 2
• Using COCOMO and based on the team size (small) and experience (high), the concerned project could be
categorized as "organic". The experts, based on their prior experience, suggested that the project size could
roughly be around 10 KLOC. This would serve as the basis for estimation of different project parameters
using basic COCOMO
Compare with actual effort
Exercise 3
• Consider a project to develop a full screen editor. The major
components identified and their sizes are (i) screen edit-4K ii)
Command Lang interpreter - 2K iii) File Input and output - 1K
• iv) Cursor movement- 2K v) screen movement- 3k.
• Assume the required software realiability is high, product complexity
is high, analyst capability is high and programming langauge
experience is low. Use COCOMO model II to estimate cost and time.
• Calculate the cost and time for each phases.
Exercise 4
Exercise 5
Advanced Cocomo
Shortcoming of basic and intermediate
cocomo
• Both models:
• consider a software product as a single homogeneous entity:
• However, most large systems are made up of several smaller sub-
systems.
• Some sub-systems may be considered as organic type, some may be
considered embedded, etc. for some the reliability requirements may
be high, and so on.
Pros
• COCOMO is transparent, one can see how it works unlike other
models such as SLIM.
• COCOMO works on historical data or the past experience, therefore it
is predictable and more accurate.
• Easy to implement factors, as the drivers help to estimate the impact
of different factors that affect the projects.
• Easy to estimate the total cost of the projects. This is because
COCOMO uses a regression formula from historical projects.
Cons
• Cocomo ignores the requirements of the project and also all the
related documentation related to the project.
• Cocomo ignores customer skills, cooperation, knowledge and other
parameters.
• When the Cocomo cannot establish a good understanding of the
project between the customers and the developers.
• Cocomo is dependent, If there are changes to the actual amount of
time spent on these phases, it will affect the accuracy.
• There are certain factors that are beyond the control of the
developers or customers such as hardware malfunctions and failures.
• “The models are just there to help, not to make the management
decisions for you.” -- Barry Boehm
• https://www.ics.uci.edu/~michele/Teaching/INF111-
Sum08/Slides/INF%20111%20-%20SET%2010-6up.pdf
• https://www.javatpoint.com/cocomo-model

Lecture 04.2 COCOMO II student ver.pptxx

  • 1.
    Intermediate cocomo • IntermediateCOCOMO introduces sets of 15 subjective assessment called “Cost Drivers” to ensure that other aspects of Software Development are taken into account in the cost estimation. Cost drivers are divided into 4 groups including, product attributes, hardware attributes, personal attributes, and project attributes. • Subjective assessment, based on your weightage assigned
  • 2.
    • When shouldyou use it? • ● Can be applied across the entire software product for easy and rough cost estimation during the early stage • ● or it can be applied at the software product component level for more accurate cost estimation in more detailed stages
  • 3.
    Why cocomo II •approach uses various multipliers and exponents the values of which have been set initially by experts. • However, a database containing the performance details of executed projects has been built up and periodically analysed so that the expert judgements can be progressively replaced by values derived from actual projects.
  • 4.
    • estimates arerequired at different stages in the system life cycle and COCOMO ll has been designed to accommodate this by having models for three different stages
  • 5.
    • Application compositionHere the external features of the system that the users will experience are designed. Prototyping will typically be employed to do this. With small applications that can be built using high-productivity application-building tools, development can stop at this point. • Early design- Here the fundamental software structures are designed. With larger, more demanding systems, where, for example, there will be large volumes of transactions and performance is important, careful attention will need to be paid to the architecture to be adopted.
  • 6.
    • Post architectureHere the software structures undergo final construction, modification and tuning to create a system that will perform as required
  • 9.
    • Each ofcost driver is rated on the scale of are very low to extremely high to calculate the specific effort multiplier and each of them returns an adjustment factor which multiplied yields in the total EAF (Effort Adjustment Factor). • The scale includes very low, low, normal, high very high, extra high, accordingly. The adjustment factor is 1 for a cost driver that is judged as normal. In practice, typical values for EAF range from 0.9 to 1.4.
  • 16.
    Extension of COCOMO •Although this article only cover about the COCOMO I model (1981), but it is worthy for you to do further research on the extension of this effective COCOMO model. • An obvious example of COCOMO II (1995) is an extension of COCOMO I used in other categories of Software development process, such as Agile, Iterative waterfall, and spiral waterfall model.
  • 17.
  • 18.
    Exercise 2 • UsingCOCOMO and based on the team size (small) and experience (high), the concerned project could be categorized as "organic". The experts, based on their prior experience, suggested that the project size could roughly be around 10 KLOC. This would serve as the basis for estimation of different project parameters using basic COCOMO
  • 19.
  • 20.
    Exercise 3 • Considera project to develop a full screen editor. The major components identified and their sizes are (i) screen edit-4K ii) Command Lang interpreter - 2K iii) File Input and output - 1K • iv) Cursor movement- 2K v) screen movement- 3k. • Assume the required software realiability is high, product complexity is high, analyst capability is high and programming langauge experience is low. Use COCOMO model II to estimate cost and time. • Calculate the cost and time for each phases.
  • 21.
  • 22.
  • 24.
  • 26.
    Shortcoming of basicand intermediate cocomo • Both models: • consider a software product as a single homogeneous entity: • However, most large systems are made up of several smaller sub- systems. • Some sub-systems may be considered as organic type, some may be considered embedded, etc. for some the reliability requirements may be high, and so on.
  • 27.
    Pros • COCOMO istransparent, one can see how it works unlike other models such as SLIM. • COCOMO works on historical data or the past experience, therefore it is predictable and more accurate. • Easy to implement factors, as the drivers help to estimate the impact of different factors that affect the projects. • Easy to estimate the total cost of the projects. This is because COCOMO uses a regression formula from historical projects.
  • 28.
    Cons • Cocomo ignoresthe requirements of the project and also all the related documentation related to the project. • Cocomo ignores customer skills, cooperation, knowledge and other parameters. • When the Cocomo cannot establish a good understanding of the project between the customers and the developers. • Cocomo is dependent, If there are changes to the actual amount of time spent on these phases, it will affect the accuracy. • There are certain factors that are beyond the control of the developers or customers such as hardware malfunctions and failures.
  • 29.
    • “The modelsare just there to help, not to make the management decisions for you.” -- Barry Boehm
  • 30.