tailieunhanh - Lecture Software engineering (7/e): Chapter 26 – Ian Sommerville

In this chapter, the learning objectives are: To introduce the fundamentals of software costing and pricing, to describe three metrics for software productivity assessment, to explain why different techniques should be used for software estimation, to describe the principles of the COCOMO 2 algorithmic cost estimation model. | Software cost estimation Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity assessment To explain why different techniques should be used for software estimation To describe the principles of the COCOMO 2 algorithmic cost estimation model Topics covered Software productivity Estimation techniques Algorithmic cost modelling Project duration and staffing Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete an activity? What is the total cost of an activity? Project estimation and scheduling are interleaved management activities. Software cost components Hardware and software costs. Travel and training costs. Effort costs (the dominant factor in most projects) The salaries of engineers involved in the project; Social and insurance costs. Effort costs must take overheads into account Costs of building, heating, lighting. Costs of . | Software cost estimation Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity assessment To explain why different techniques should be used for software estimation To describe the principles of the COCOMO 2 algorithmic cost estimation model Topics covered Software productivity Estimation techniques Algorithmic cost modelling Project duration and staffing Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete an activity? What is the total cost of an activity? Project estimation and scheduling are interleaved management activities. Software cost components Hardware and software costs. Travel and training costs. Effort costs (the dominant factor in most projects) The salaries of engineers involved in the project; Social and insurance costs. Effort costs must take overheads into account Costs of building, heating, lighting. Costs of networking and communications. Costs of shared facilities ( library, staff restaurant, etc.). Costing and pricing Estimates are made to discover the cost, to the developer, of producing a software system. There is not a simple relationship between the development cost and the price charged to the customer. Broader organisational, economic, political and business considerations influence the price charged. Software pricing factors A measure of the rate at which individual engineers involved in software development produce software and associated documentation. Not quality-oriented although quality assurance is a factor in productivity assessment. Essentially, we want to measure useful functionality produced per time unit. Software productivity Size related measures based on some output from the software process. This may be lines of delivered source code, object code instructions, etc. Function-related measures based on an estimate of the functionality of the delivered software. .