Estimation techniques Flashcards
What are the two main types of estimation techniques?
Experience based techniques
Algorithmic cost modeling.
What are experience based modeling techniques?
It’s when the estimate of future effort requirements is based on the manager’s experience of past - informed judgement.
What is algorightimic cost modeling approach
A formulaic approach is used to computer the project effort based on estimates of product attributes - size, process, experience of staff.
What is the problem of experience-based approaches?
- new software project may not have much in common with previous projects.
- software dev changes very quickly and a project may use unfamiliar techniques.
What is the “common” formula for algo cost modeling?
Effort = A * Size^(B) * M
A is organization dependent costant, B is disproportionate effort for large projects, and M is a multiplier reflecting product, process and people.
Most models are similar but they use different values for A,B,M
What are some main points about estimation accuracy
The size of a software system can only be known accurately when it is finished.
Several factors influence the final size (use of reused components, laguage, etc.)
Values B and M vary depending on the estimator.
the more project progresses, the more the estimate becomes accurate.
Limits of algorithmic cost modeling
Systematic, but difficult to use and complex.
many attributes and considerable scope for uncertainty in estimating values.
What is COCOMO cost modeling
Empirical model based on project experience.
Well-documented, not tied to a specific software vendor
Incorportates multiple sub models.
What are the COCOMO 2 models?
Application composition model
Early design model
reuse model
post-architecture model.
When to use the Application compostion model in COCOMO?
This is used when the software is composed of existing parts.
When to use the early design model in COCOMO?
Used when requirements are available but the design has not yet started.
When to use the reuse model in COCOMO?
It is used to compute the effort of integrating reusable components.
When to use the post-architecture model?
It is used once the system architecture has been designed and more information about the system is available.
What are the specifics of the application composition model?
PM = ( NAP*(1 - %reuse/100 ) ) / PROD
PM is in person-months, NAP is number of application points, PROD is productivity. NAP is =#screen or pages+ # reports+#modules in imperative PL +# lines of scripts
What is the application point productivity?
It is a wait of measuring the PROD value. It is based on the dev’s experience. PROD is measured in NAP/Month
Specifics of early design model
PM = A Size^B M
M = PERS*RCPX …
A = 2.94 in initial calibration, size in KSLOC, B between 1.1-1.24 depending on novelty of the project, risk management, etc.
What are the different multipliers?
Multipliers reflect the capability of the developers, the non-functional requirements, the familiarity with the development platform, etc.
RCPX - product reliability and complexity;
RUSE - the reuse required;
PDIF - platform difficulty;
PREX - personnel experience;
PERS - personnel capability;
SCED - required schedule;
FCIL - the team support facilities.
6 point scale, where 1 is most optimal value.
Specifics of reuse model
Takes into account black-box code that is reused without change and code that has to be adapted to integrate it with new code.
There are two versions:
Black-box reuse where code is not modified.
White-box reuse where code is modified. A size estimate equivalent to the number of lines of new source code is computed. This then adjusts the size estimate for new code.
Formula of reuse model
When code is automatically generated without the need of understanding or making changes:
No effort
When code has to be understood and integrated:
ESLOC = ASLOC * (1-AT/100) * AAM.
ASLOC is the number of lines of reused and generated code
AT is the percentage of reused code automatically generated.
AAM is the adaptation adjustment multiplier computed from the sum of
Effort deciding whether to reuse
Effort understanding the code
Effort making the change
Specifics of post-architecture level
Uses the same formula as the early design model but with 17 rather than 7 associated multipliers.
PM = A *SizeB * M