230 likes | 348 Views
CS 562 is a graduate-level course focused on software cost estimation and project management techniques. The class covers the COCOMO II model, key cost estimation processes, and factors influencing software projects. Students engage in discussions, reading assignments, and writing essays to deepen their understanding. A term project allows students to invent and plan a software project, applying the concepts learned. The course emphasizes the importance of planning and accurate cost estimation to avoid pitfalls in software development.
E N D
CS 562Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer CS 562 - WPI
Class Format for Today • Review General Course Info & Syllabus • Review Assignments • Reading material • Homework handout • Project Discussion • Lecture #1: • Intro to Software Cost Estimation • Exploring COCOMO II CS 562 - WPI
General Course Info • Course Web Site: • http://www.cs.wpi.edu/~cs562/e04 • Lecture slides, handouts, announcements, etc. • Prerequisites, grading, assignments • Academic Integrity: • Cheating = not acknowledging the contributions of others CS 562 - WPI
Goals for this Course • Main focus on SW cost estimation • Also look at project management from a number of different perspectives • Reading list: • Boehm, et al • Yourdon • Brooks • Other – additional suggested reading material CS 562 - WPI
Syllabus • Reading assignments: • Read in advance for class assigned • Come prepared to discuss • In class activities: • Discussions on reading assignments • Other exercises/activities • Everyone is expected to participate CS 562 - WPI
Writing Assignments • Homework Handout • 4 essays on reading material • 3 have topics already assigned • The 4th is up to you • Submit proposal by week 5 • Include source material & topic • See course web site for suggested readings CS 562 - WPI
Term Project • Invent a SW project to plan/estimate • Find something going on in your company (current or past), perhaps in a different dept • Try not to get any real costs (estimated or actual) • These will bias your work • Submit proposal in 2 weeks • More info coming CS 562 - WPI
Introduction toSoftware Cost Estimation Boehm, et al Chapter 1 CS 562 - WPI
Why Cost Estimations? • Why do we need to plan out SW projects? • What can go wrong without a plan? • What data need to be considered? • What goes into a project plan? • What goes into a cost estimate? • What happens when our estimates are wrong? • Have any of you done this before? • What were your experiences? CS 562 - WPI
COCOMO II Software • Use to help make software cost estimates • User objectives • Review list on pages 1 – 2 • Model objectives • Review list on pages 3 – 4 • Evolution strategies • Review list on pages 4 – 5 CS 562 - WPI
Projected Future SW Practice • SW Development Roles: (Figure 1.1, page 6) • End user programming • Infrastructure • Intermediate Sectors • Application Generators • Application Composition • System Integration • How are each of these defined? • Why do we care? CS 562 - WPI
Cost Drivers • Life Cycle Models • Reusability, COTS • Degree of understanding of: • Requirements, Architecture, Market window, Scheduling constraints, Required reliability, etc. • Granularity of available information • See figure 1.2, page 10 • Point estimates vs. range estimates CS 562 - WPI
Process Models • Early prototyping • Resolve high-risk issues, such as? • Early design • Explore alternative software/system architectures • Post architecture • Actual development and maintenance CS 562 - WPI
COCOMO II Software Reference Manual Boehm, et al Appendix E, page 391 CS 562 - WPI
Introduction • What does COCOMO stand for? • Used by project managers or team leaders • Used to develop model(s) of projects to identify potential problems in: • Resources, personnel, budgets, schedules • Primary objectives: • Review list on page 391 CS 562 - WPI
Estimation Equations • Effort estimation • 1.1.1, page 392 • Schedule estimation • 1.1.2, page 393 • Scale factors • 1.1.3, page 393 • Also see table 1.1, page 394 CS 562 - WPI
Sizing Methods • Lines of Code (LOC) • Why is this difficult to measure? • See SEI definition checklist, page 395 • Guidelines for what to include/exclude • Function Points (FP) • Identify user function types (Table 1-2, page 396) • Classify by complexity level • Degree of influence CS 562 - WPI
Adapting Existing Code • COCOMO supports cost estimations for modifications to existing code • Review list on page 397 • Also see Figure 1-6, page 403 CS 562 - WPI
Effort Multipliers • Lists on pages 397 – 398 • Product attributes: constraints, requirements • Platform attributes: hardware/OS limitations • Personnel attributes: level of various skills • Project attributes: development conditions • 16 factors with up to 6 ratings • < 1 reduces effort, > 1 increases effort • See Figure 1-2, page 398 CS 562 - WPI
COCOMO User Interface • CLEF: see Figure 1-3, page 399 • UI descriptions, pages 399 – 406 • Remaining contents of Appendix E • Chapter 2: File Menu (pages 407 – 425) • Chapter 3: Edit Menu (pages 425 – 428) • Chapter 4: Parameters Menu (pages 429 – 435) • Chapter 5: Calibrate Menu (pages 435 – 439) • Chapter 6: Phase Distribution (pages 439 – 456) • Chapter 7: Maintenance (pages 457 – 466) CS 562 - WPI
Accompanying CD-ROM Boehm, et al Appendix F, page 472 CS 562 - WPI
Review Contents of CD • Greeting and book overview by Boehm • COCOMO II Installation • Tutorials • My 1st COCOMO Run • Can run off CD without full installation • Commercial COCOMO II – based tools CS 562 - WPI
For Next Time • Review Chapter 1 of Boehm • Read Yourdon – Death March • Write Paper 1 • Research & think about term project CS 562 - WPI