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

CSC309 Lecture 02

CSC309 Lecture 02

Software Engineering II
Software Metrics: Structural Quality
(202404)

Javier Gonzalez-Sanchez

January 12, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSC 309 Software Engineering II Lecture 02: Software Metrics:

    Structural Quality Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227
  2. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    3 code Key Ideas CSC 309 idea requirements architecture design quality measure
  3. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    4 Metrics Size LOC eLOC lLOC Understandability Comments Whitespaces Complexity Average, Max, Min LOC Cyclomatic Complexity Software Metrics
  4. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    11 § 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
  5. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    13 § 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
  6. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

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

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

    18 Question project3.common.model project3.client.UI project3.server.controller
  9. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

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

  11. jgs CSC 309 Software Engineering II Lab 02: Structural Metrics

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

    24 Think about this Calculate metrics for your final project in CSC 308
  13. jgs CSC 309 Software Engineering II Javier Gonzalez-Sanchez, Ph.D. [email protected]

    Winter 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.