announcements
play

Announcements Assignment #3 is due on Monday INF 111 / CSE 121: - PDF document

Announcements Assignment #3 is due on Monday INF 111 / CSE 121: Quiz #3 regrades are due today Software Tools and Methods Lecture Notes for Summer, 2008 Michele Rousseau Lecture Note 10 Effort Estimation Lecture Notes 10 - Effort


  1. Announcements � Assignment #3 is due on Monday INF 111 / CSE 121: � Quiz #3 regrades are due today Software Tools and Methods Lecture Notes for Summer, 2008 Michele Rousseau Lecture Note 10 – Effort Estimation Lecture Notes 10 - Effort Estimation 2 Today’s Lecture Previously in INF 111/ CSE 121… � Effort Estimations � Effort Estimation ● Better Techniques ● Algorithmic Cost Modeling ◘ COCOMO � Personal Software Process (PSP) ( ) Lecture Notes 10 - Effort Estimation 3 Lecture Notes 10 - Effort Estimation 4 Basic Equation Algorithmic Cost Modeling Constant: Organizational Effort for � Cost and development time for a project Large Projects Dependent Disproportionate is estimated from an equation Estimate Vector of cost factors � Equations can come from research or E = (a + S c )m(X) (x1..xn): industry Complexity of the product, Risk, resources, methods, ● Analysis of historical data A l i f hi t i l d t tools, etc… Multiplier: ● Work best if they are tailored using Size (LOC) Reflects product, personal and organizational data process & people attributes ◘ Adjust weights of metrics based on your � Most commonly used product attribute for cost estimation environment is code size � Most models are basically similar but with different values for a,c, & m Lecture Notes 10 - Effort Estimation 5 Lecture Notes 10 - Effort Estimation 6 1

  2. Estimate Uncertainty Problems with Algorithmic Estimation � Effort estimates are based on size ● Highly inaccurate at start of project ● Size is usually given in lines of code � Lines of code does not reflect the difficulty ● Some short programs are harder to write than long ones ● Lines of code ≠ effort ◘ Not all activities produce code N t ll ti iti d d ● Programming Language: Java vs. assembler ● Number of Components ● Distribution of the system � Recall Brooks Chapter 2 ● Effort ≠ progress As you approach delivery, ● The B exponent is an attempt to account for the size estimate becomes communication and complexity costs, but basic more accurate problem remains Lecture Notes 10 - Effort Estimation 7 Lecture Notes 10 - Effort Estimation 8 COCOMO: Some Assumptions Boehm: COCOMO Constructive Cost Model (COCOMO) � Primary cost driver � DSI � COCOMO is one of the most widely used software estimation models in the world ● Delivered Source Instructions (DSI) developed by the project � An empirical model based on project experience ● Only code developed by staff � Well-documented, ‘independent’ model which is not tied to a specific software vendor ● Excludes � Long history from initial version published in 1981 (COCOMO-81) ◘ Test drivers & other support code ◘ Comments � COCOMO II takes into account different approaches to software development, reuse, etc. ◘ Declarations ◘ Code developed by application generators � predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of ● SLOC => Single logical line of code � eg. cost drivers that affect productivity If;then;else Lecture Notes 10 - Effort Estimation 9 Lecture Notes 10 - Effort Estimation 10 COCOMO: Three Models COCOMO: More Assumptions � 3 Models reflect the complexity : � COCOMO estimates assume that the project will enjoy ● the Basic Model good management by both the developer and the customer ● the Intermediate Model ● and the Detailed Model � Assumes the requirements specification is not substantially changed after the plans and requirements phase Lecture Notes 10 - Effort Estimation 11 Lecture Notes 10 - Effort Estimation 12 2

  3. The Development Modes: Basic COCOMO Model: Project Characteristics Estimates the software development effort � Organic Mode ● developed in a familiar , stable environment, using only a single predictor variable ● similar to the previously developed projects (size in DSI) and 3 development modes ● relatively small and requires little innovation ● Eg. Payroll system � Semidetached Mode � Semidetached Mode � When Should You Use It ? ● intermediate between Organic and Embedded ● Good for quick, early, rough order of ● Eg. Banking System magnitude estimates of software costs � Embedded Mode ● tight, inflexible constraints and interface requirements ● The product requires great innovation ● Eg. Nuclear power plant system Lecture Notes 10 - Effort Estimation 13 Lecture Notes 10 - Effort Estimation 14 Basic COCOMO Model: Example Basic COCOMO Model: Equations � We have determined our project fits the characteristics of Semi-Detached mode Mode Effort Schedule � We estimate our project will have 32,000 Delivered E=2.4*(KDSI) 1.05 TDEV=2.5*(E) 0.38 Organic Source Instructions (DSI). E=3.0*(KDSI) 1.12 TDEV=2.5*(E) 0.35 Semi- Using the formulas, we can estimate: detached � Effort = 3.0*(32) 1.12 = 146 man-months � Schedule = 2.5*(146) 0.35 = 14 months Embedded E=3.6*(KDSI) 1.20 TDEV=2.5*(E) 0.32 � Productivity = 32,000 DSI / 146 MM = 219 DSI/MM � Average Staffing = 146 MM /14 months = 10 FSP Lecture Notes 10 - Effort Estimation 15 Lecture Notes 10 - Effort Estimation 16 Comparison of Basic Formula Basic COCOMO Model: Limitations � Its accuracy is necessarily limited because of its lack of factors which have a significant influence on software costs costs � Estimates are within a factor of… � Coefficients derived using actual project data ● 1.3 only 29% of the time & ● Variability in project characteristics ● 2 only 60% of the time � At best, yield estimates that are at most 25% off, 75% of the time, for projects used to derive the model . Lecture Notes 10 - Effort Estimation 17 Lecture Notes 10 - Effort Estimation 18 3

  4. Intermediate COCOMO Model Take a break! � Get some Coffee Estimates effort by using fifteen cost driver � Wakey-Wakey variables besides the size variable used in When we return… Basic COCOMO � When should you use it? y � More on COCOMO ● 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 Lecture Notes 10 - Effort Estimation Lecture Notes 10 - Effort Estimation 20 19 Cost Drivers Intermediate Model: Effort Multipliers Four areas for drivers � Product Attributes � Table of Effort Multipliers for each of the ● Reliability, Database Size, Complexity � Computer Attributes Cost Drivers is provided with ranges ● Execution Time Constraint, Main Storage Constraint, Virtual depending on the ratings Machine Volatility, Computer Turnaround Time � Personnel Attributes P l Att ib t ● Analyst Capability, Applications Experience, Programmer Very Very Extra Capability, Virtual Machine Experience, Programming Cost Driver Low Low Nom High High High Language Experience Product � Project Attributes Complexity 0.70 0.85 1.00 1.15 1.30 1.65 ● Modern Programming Practices, Use of Software Tools, Required Development Schedule Subjective Assessments Lecture Notes 10 - Effort Estimation 21 Lecture Notes 10 - Effort Estimation 22 COCOMO Effort Equation Intermediate Model: Equations Effort = 3.0 * EAF * (KSLOC) E ● Result is in Man-months Mode Effort Schedule ● EAF � Effort Adjustment Factor E=EAF*3.2*(KDSI) 1.05 TDEV=2.5*(E) 0.38 ◘ Derived from Cost Drivers Organic ● E � Exponent E=EAF*3.0*(KDSI) 1.12 TDEV=2.5*(E) 0.35 ◘ Derived from five scale drivers Semi- • Precedentedness detached • Development Flexibility • Architecture / Risk Resolution Embedded E=EAF*2.8*(KDSI) 1.20 TDEV=2.5*(E) 0.32 • Team Cohesion • Process Maturity Lecture Notes 10 - Effort Estimation 23 Lecture Notes 10 - Effort Estimation 24 4

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend