Unformatted text preview:

Software cost estimationObjectivesTopics coveredFundamental estimation questionsSoftware cost componentsCosting and pricingSoftware pricing factorsProgrammer productivityProductivity measuresMeasurement problemsLines of codeProductivity comparisonsSystem development timesFunction pointsSlide 15Object pointsObject point estimationProductivity estimatesFactors affecting productivityQuality and productivityEstimation techniquesSlide 22Algorithmic code modellingExpert judgementEstimation by analogyParkinson's LawPricing to winTop-down and bottom-up estimationTop-down estimationBottom-up estimationEstimation methodsExperience-based estimatesSlide 33Algorithmic cost modellingEstimation accuracyEstimate uncertaintyThe COCOMO modelCOCOMO 81COCOMO 2 levelsEarly prototyping levelObject point productivityEarly design levelMultipliersPost-architecture levelThe exponent termExponent scale factorsSlide 47Project cost driversEffects of cost driversProject planningManagement optionsManagement options costsOption choiceProject duration and staffingStaffing requirementsKey pointsSlide 57©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1Software cost estimationPredicting the resources required for a software development process©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 2Objectives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 COCOMO 2 algorithmic cost estimation model©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 3Topics coveredProductivityEstimation techniquesAlgorithmic cost modellingProject duration and staffing©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 4Fundamental 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 and interleaved management activities©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 5Software cost componentsHardware and software costsTravel and training costsEffort costs (the dominant factor in most projects)•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 (e.g library, staff restaurant, etc.)©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 6Costing 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©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 7Software pricing factorsFactor DescriptionMarket opportunity A development organisation may quote a low pricebecause it wishes to move into a new segment of thesoftware market. Accepting a low profit on oneproject may give the opportunity of more profit later.The experience gained may allow new products to bedeveloped.Cost estimate uncertainty If an organisation is unsure of its cost estimate, itmay increase its price by some contingency over andabove its normal profit.Contractual terms A customer may be willing to allow the developer toretain ownership of the source code and reuse it inother projects. The price charged may then be lessthan if the software source code is handed over to thecustomer.Requirements volatility If the requirements are likely to change, anorganisation may lower its price to win a contract. After the contract is awarded, high prices may becharged for changes to the requirements.Financial health Developers in financial difficulty may lower theirprice to gain a contract. It is better to make a smallprofit or break even than to go out of business.©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 8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 unitProgrammer productivity©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 9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. Function-points are the best known of this type of measureProductivity measures©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 10Estimating the size of the measureEstimating the total number of programmer months which have elapsedEstimating contractor productivity (e.g. documentation team) and incorporating this estimate in overall estimateMeasurement problems©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 11What's a line of code?•The measure was first proposed when programs were typed on cards with one line per card•How does this correspond to statements as in Java which can span several lines or where there can be several statements on one lineWhat programs should be counted as part of the system?Assumes linear relationship between system size and volume of documentationLines of code©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 12The lower level the language, the more productive the programmer•The same functionality takes more code to implement in a lower-level language than in a high-level languageThe more verbose the programmer, the higher the productivity•Measures of productivity based on lines of code suggest that programmers who write verbose code are more productive than programmers who write compact codeProductivity comparisons©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 13System development timesAnalysis Design Coding Testing DocumentationAssembly codeHigh-level language3 weeks3 weeks5 weeks5 weeks8 weeks8


View Full Document

UIC IDS 505 - Software cost estimation

Download Software cost estimation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software cost estimation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software cost estimation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?