'estimation'에 해당되는 글 2건

  1. 2008/04/24 Management : Software cost estimation 3/3
  2. 2008/04/14 Management : Software cost estimation 1/3
본 포스트는 개인 스터디 용으로 작성된 Ian Sommerville의 Software Engineering, 8/E의 요약본입니다.
16. The COCOMO Model
- An empirical model based on project experience
- Long history from initial version published in 1981(COCOMO-81) through various instantiations to COCOMO2
- COCOMO2 takes into account different approaches to S/W development, reuse, etc.

17. COCOMO2
- COCOMO81 was developed with the assumptions that a waterfall process would be used and all S/W would be developed from scratch
- COCOMO2 incorporates a range of sub-models that produce increasingly detailed S/W estimates
- The sub-models in COCOMO2
  1) Application composition model : Used when S/W iscomposed from existing parts, based on number of Application Points
  2) Early design model : used when requirements are available but design has not yet started, based on number of Function Points
  3) Reuse model : used to compute the effort of integrating reusable components, based on reused or generated LOC
  4) Post-architecture model : used once the system architecture has been designed and more information about the system is available, based on LOC

18. Application composition model
- Supports prototyping projects and projects where there is extensive reuse
- based on standard estimates of developer productivity in application(object) points/month
- takes CASE tool use into account
- PM = (NAP * (1 - %REUSE/10)) / PROD. PM is the effort in Person-Month(工數), NAP is the number of application points, %REUSE is the amount of reused codes and PROD is productivity(unit : LOC/PM)

19. Early design model (Early prototyping model)
- Estimates can be made after the requirements have been agreed
- based on a standard formular for algorithmic models
  1) PM = A * Size^B * M
  2) A is 2.94 in initial calibration, Size in KLOC, B varies from 1.1 to 1.24 depending on novelty of the project development flexibility, risk management approaches and the process maturity
  3) M is multiplier that reflect the capability of developer and the non-functional requirements

20. The reuse model
- takes into account reusable code that requires little or no change and has to be adapted to be integrated with new code
- two versions :
  1) Black-box reuse(non-modification of source code).
  2) White -box reuse(code is modified)
- Non-linear model. The more reusable code, the code decreased.
- For generated code : PM = (ASLOC * AT)/ATPROD
  1) ASLOC is the number of lines of generated code(unit : LOC)
  2) AT is the percentage of code automatically generated
  3) ATPROD is the productivity of engineers in integrating this code(e.g. 2400 LOC/PM)

21. Post architecture model
- uses the same formula as the early design model but with 17 rather than 7 associated multipliers.
- The code size is estimated as
  1) Number of lines of new code to be developed
  2) estimate of equivalent number of lines of new code computing using the reuse model
  3) An estimate of the number of lines of code that have to be modified according to requirements changes
- Due to its complexity, most company would not adapt this model

22. Project duration and staffing
- As well as effort estimation, managers must estimate the calendar time required to complete a project and when staff will be required
- Calendar time can be estimated using a COCOMO2 formula
  1) TDEV = 3 * PM^(0.33 + 0.2 * (B - 1.01))
  2) B is exponent computed as discussed above (B is for the early prototyping model)
- The time required is independent of the number of people working on the project. The key is on the net effort

23. Staffing requirements
- Staff required can't be computed by dividing the development time by the required schedule
- The number of people working on a project varies depending on the phase of the project
- The more people who work on the project, the more total effort is usually required
- A very rapid build-up of people often correlates with schedule slippage
2008/04/24 07:05 2008/04/24 07:05

트랙백 주소 :: http://anyflow.net/trackback/390

댓글을 달아 주세요

본 포스트는 개인 스터디 용으로 작성된 Ian Sommerville의 Software Engineering, 8/E의 요약본입니다.
1. Fundamental estimation question
- How much effort is required to complete an activity?
- How much calendar time is need to complete an activity?
- What is the total cost of an activity?

2. Software cost components and pricing
- H/W and S/W costs
- Effort costs (the dominant factor in most projects) : salaries, social and insurance costs.
- Effort costs must take overheads into account : heating, lighting, networking, shared facilities, etc.
- No simple relationship between the development cost and the price charged to the customer
- Broader organisational, economic, political and business considerations influence the price charged

4. Software pricing factors
- Market opportunity
- Cost estimate uncertainty : contingency increase its price
- Source code ownership : to customer or developer or hybrid
- Requirements volatility
- Financial health of the developer

5. Software productivity
- A measure of the rate at which individual engineers produce software and documentation
- Not quality-oriented although assourance is a factor in productivity assessment

6. Productivity measures
- Size related measures : based on some output from the S/W process. e.g LOC, KLOC
- Function-related measures : based on an estimate of the functionality of the delivered S/W. e.g. Function-points, Object-points

7. Lines of code (LOC)
- assumes thate there is a linear relationship between system size and volume of documentation
- The more verbose the programmer, the highter the productivity

8. Productivity comparisons : The lower level the language, the more productive the programmer : More code on lower level language
2008/04/14 01:56 2008/04/14 01:56

트랙백 주소 :: http://anyflow.net/trackback/386

댓글을 달아 주세요