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

CSC307 Lecture 15

CSC307 Lecture 15

Introduction to Software Engineering
Software Metrics II
(202307)

Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSC 307 Introduction to Software Engineering Lecture 15: Software

    Metrics II 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 Metrics Size LOC eLOC lLOC Complexity Average, Max, Min LOC Cyclomatic Complexity Software Metrics
  3. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    10 § Express the portion of contained abstract types. § It is a value 0 to 1: 0 (only concrete classes) to 1 (only interfaces and abstract classes) Abstractness of a Package
  4. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    12 § Indicates whether (a) the item is mainly used by others (stable – hard to change); or (b) it mainly depends on other items (instable – changeable). § It is a value between 0 and 1: 0 only incoming dependencies to 1 (only outgoing dependencies) Instability
  5. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    14 § Distance: how far a package is away from the Main Sequence § D = A + I – 1 § Values -1 to 1 § Absolute Distance |D| Distance
  6. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    15 Stable Abstraction Principle Abstract concrete Stable Hard to Change Only incoming dependencies Unstable Changeable Only outgoing dependencies
  7. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    17 Question project3.common.model project3.client.UI project3.server.controller
  8. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    20 Project Presentation Product Process You
  9. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    21 Demo of your project. Show your project running. First Act – Demo
  10. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    22 Taiga à Stories, Backlogs, and Task board Stories (INVEST), Sprint backlog, product backlog. Estimation (story points) Talk about tasks; who is doing what? Everybody is doing some programming! Show and explain your Burndown Chart. Second Act – Your process
  11. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    23 Show your class diagram. Use colors as needed (Single Responsibility Principle) What are the A, I, or D in the new class? (show the 2D plot regarding where your classes are in terms of the pain zone) Third Act – Software Design
  12. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    24 Show US your GitHub Who is doing What? (everyone is adding or updating code) Show US your Code and Code Metrics Are your metrics OK (LOC, eLOC, lLOC, CC)? Any significant aspect that you want to share? Fourth Act – Code
  13. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    25 Review What is Good in the product? What is next for the product (next features to be added)? (your promise for the next sprint presentation) Retrospective (Process & People) What went well? What did not go well? Fifth Act – Review and Retrospective
  14. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

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

  16. jgs CSC 307 Introduction to Software Engineering Lab 15: Software

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

    30 Think about this Calculate metrics for Final Project class diagram
  18. 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.