Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC307 Lecture 16

CSC307 Lecture 16

Introduction to Software Engineering
Cost Estimation and Final Review
(202307)

Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSC 307 Introduction to Software Engineering Lecture 16: Cost

    Estimation & Final Review Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  2. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    4 Summary Plan-Based Approaches Agile Approaches waterfall V-model Prototyping Kanban XP SCRUM
  3. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    5 Stories and Tasks … move the pacman … show the pacman … move a ghost … show a ghost … show power pills stories tasks (new) … show a maze
  4. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    7 Relationships Association Directed Association Reflexive Association Multiplicity Aggregation Composition Generalization Realization
  5. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    8 public class A extends B { C c1, c2; public A() { c1 = new C(); } public void method() { D d = new D(); d.working(); } } Public class X { public void m() { B var = new A(); double x – Math.sqrt(5); } } public class B implements E { public B() { C c1 = new C(); } public void method() { B b = new B(); b.sleep(); } } public class Y { A [] a = new A[5]; } Lab
  6. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    11 § Students and Staff members can request the Library to notify him/her when a Book becomes available. § Also, they can reserve the book. Before reserving a Book for someone the Library check, for students, with the Registrar, if the Student is currently enrolled, and for employees, with Human Resources if the employee has an active contract. Case 4
  7. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    21 § The constructive cost model was developed by Barry Boehm (the Spiral model guy) in the late 1970 and published in Software Engineering Economics. § It is a model for estimating effort, cost, and schedule for software projects. § It drew on a study of 63 projects at TRW Aerospace. § The study examined projects ranging in size from 2,000 to 100,000 lines of code and diverse programming languages. § These projects were based on the waterfall model of software development (prevalent in 1981). COCOMO
  8. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    23 COCOMO II Web Tool by USC http://softwarecost.org/tools/COCOMO/
  9. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    24 1. Software Size (Lines of Code) 2. Software Scale Drivers: sources of exponential effort variation 3. Software Cost Drivers: sources of linear effort variation. They group in 4 categories: product, platform, personnel and project Factor are rated between very low and very high per rating guidelines Factors of development cost
  10. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    26 Scale Drivers Rating Scale Factors (Wi) Very Low Low Nominal High Very High Extra High Precedentedness (PREC) thoroughly unprecedented largely unprecedented somewhat unprecedented generally familiar largely familiar throughly familiar Development Flexibility (FLEX) rigorous occasional relaxation some relaxation general conformity some conformity general goals Architecture/Risk Resolution (RESL)* little (20%) some (40%) often (60%) generally (75%) mostly (90%) full (100%) Team Cohesion (TEAM) very difficult interactions some difficult interactions basically cooperative interactions largely cooperative highly cooperative seamless interactions Process Maturity (PMAT) Weighted average of “Yes” answers to CMM Maturity Questionnaire * % significant module interfaces specified, % significant risks eliminated
  11. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    27 COCOMO II - Inputs ⬆ ⬆ ⬆ ⬆ 🔄
  12. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    28 1.1. Required Reliability (RELY) 1. 2. Data Base Size (DATA) 1. 3. Complexity (CPLX) 1. 4. Developed for Reusability (RUSE) 1. 5. Documentation (DOCU) Cost Drivers | Product Factors
  13. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    29 2.1 Analyst capability (ACAP) 2.2 Programmer (Software Engineer) capability (PCAP) 2.3. Applications experience (APEX) 2.4. Platform (or VM) experience (PLEX) 2.5. Language and tool experience (LTEX) 2.6. Personnel continuity (PCON) Cost Drivers | Personnel factors
  14. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    30 3.1. Time constraint (TIME) 3.2. Storage constraint (STOR) 3.3. Platform volatility (PVOL) Cost Drivers | Platform Factors
  15. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    31 Project Factors 4.1. Use of Software tools (TOOL) 4.2. Multisite development (SITE) 4.3. Required schedule - stretch-out or acceleration (SCED) Cost Drivers | Project Factors Multisite development
  16. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    32 § Somerville, Chapter 23 Reference
  17. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    34 Office Hours Tuesday and Thursday 3 - 5 pm But an appointment required Sent me an email – [email protected]
  18. jgs

  19. jgs CSC 307 Introduction to Software Engineering Lab 16: Final

    Project Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  20. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    37 Think about this Work in your Final Project
  21. jgs CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D.

    [email protected] Summer 2023 Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly. They cannot be distributed or used for another purpose.