230 likes | 340 Views
CS 562 Advanced SW Engineering. General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer. Class Format for Today. Review General Course Info & Syllabus Review Assignments Reading material Homework handout Project Discussion Lecture #1: Intro to Software Cost Estimation
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