190 likes | 305 Vues
In this third lecture of CS.562 Advanced Software Engineering, we delve into the COCOMO II model, exploring its definitions and applications for software project estimation. Key topics include different model types, methods for sizing, and the impact of requirements evolution on project estimates. We will also examine function points, source lines of code, and factors influencing software maintenance and effort estimates. Students are expected to participate actively in discussions and review relevant chapters of the course material to prepare for the next class.
E N D
CS 562Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004 CS 562 - WPI
Class Format for Today • Turn in Paper #1 • Questions • Lecture #3: • Chapter 2 – Model Definition • Exercise? CS 562 - WPI
Questions? • From last week’s class • From the reading • About the papers/project? • Anything else? • Everyone has books, all set with reading? CS 562 - WPI
COCOMO IIModel Definition Boehm, et al Chapter 2 CS 562 - WPI
Overview • Model Types • Post-Architecture Model • Early Design Model • How are these models defined? • Review Estimation Equations on page 13: • Amount of effort in Person-Months (Eq. 2.1) • Amount of calendar time (Eq. 2.2) • Review average-sized project example, p. 14 CS 562 - WPI
Sizing • Types of size data used by COCOMO II: • New code • Reused code • Automatically translated code • How are the types of data treated differently? CS 562 - WPI
Counting Source Lines of Code • Best source for estimating new lines of code is historical data. • What other options are given when lacking historical data? • Support software, such as test drivers: • Include/exclude? • When to estimate, why? • Use of SEI definition checklist (p. 16) CS 562 - WPI
Unadjusted Function Points • How do function points measure a project? • Review user function types – Table 2.1, p. 17 • What other factors are considered? • 4-step procedure for determining UFPs • Steps listed on page 18 • Complexity levels & weights – Tables 2.2, 2.3 • Relating UFPs to SLOC • Conversion ratios in Table 2.4, p. 20 • What are USR slots used for? CS 562 - WPI
Nonlinear Reuse Effects • Review Figure 2.2 & Equation 2.3, p. 21, and Figure 2.3, p. 22: • What are these about? • How & why are the effects nonlinear? • Discuss reuse penalties: • Software understanding • Module-interface checking CS 562 - WPI
Reuse Model • Estimate amount of software to be adapted using 3 degree-of-modification factors: • Percentage of design modified • Percentage of code modified • Percentage of integration effort required • Review Equation 2.4, page 22 • How does this relate to Tables 2.5, 2.6, 2.7? • Also see ranges of reuse factors, Table 2.8, p. 26 CS 562 - WPI
Req’s Evolution & Volatility • Adjust effective size of product caused by requirements evolution & volatility • What factors contribute to such volatility? • REVL = % of code discarded due to requirements evolution • Review example, bottom of p. 25 • How is this factor used to calculate size? • See Equation 2.5, p. 26 CS 562 - WPI
Automatically Translated Code • Estimating costs of reengineering and conversion, using tools for restructuring • How do the tools impact the estimate factors? • Equation 2.6, p. 27, shows how auto translation affects estimated effort • What is AT? • What is ATPROD? • How are these factors calculated/estimated? CS 562 - WPI
Sizing Software Maintenance • Scope of SW maintenance • Includes adding new capabilities & fixing or adapting existing capabilities • Excludes major product rebuilds and development of sizable interfacing systems • Review Equations 2.7 – 2.10, page 28 CS 562 - WPI
Effort Estimation • Expressed in terms of person-months • How is PM defined? • How does this relate to TDEV? • Review Eq. 2.11, p. 29, and discuss inputs to this equation: • A, Size, E, Emi • How do cost drivers fit in – individual project components, vs. project as a whole? CS 562 - WPI
Scale Factors • Economy vs. diseconomy of scale • What produces one or the other effect? • How does this impact effort estimation? • Review Eq. 2.12, p. 31, and Table 2.10, p. 32 • What are these about? • Discuss example on bottom of p. 31 • Review various scale factors in Sections 2.3.1.1 through 2.3.1.5 CS 562 - WPI
Effort Multipliers • Used in Eq. 2.11, what are they? • Post-Architecture vs. Early Design EM’s • Post-Architecture: RELY, DATA, CPLX, RUSE, DOCU, TIME, STOR, PVOL, ACAP, PCAP, PCON, APEX, PLEX, LTEX, TOOL, SITE, SCED • Pages 41 – 51 • Early Design: RCPX, PDIF, PERS, PREX, FCIL • Pages 51 – 55 CS 562 - WPI
Multiple Modules & Schedules • 6 steps for estimating multiple module effort • Why not just sum up individual module efforts? • Review steps listed on pages 55 – 57 • Schedule estimation – Eq. 2.14, p. 57 • Review factors that go into this equation • More info in Appendix A. CS 562 - WPI
SW Maintenance & Decisions • How is SW Maintenance defined? • What assumptions are made? • Review Eq. 2.15 & 2.16, p. 59 • Section 2.6 presents an example for an auto-parts company named UST. • Discuss Sections 2.6.1 – 2.6.9, pgs. 60 – 68. • More examples (in 2 weeks) in Chapter 3. CS 562 - WPI
For Next Time • Read Chapters 1-9 of Brooks • Come prepared to discuss • Proposal 1 for term project due CS 562 - WPI