$30 off During Our Annual Pro Sale. View Details »

CSC309 Lecture 02

CSC309 Lecture 02

Software Engineering II
Software Metrics: Code Quality
(202301)

Javier Gonzalez-Sanchez
PRO

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: Code Quality
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  2. jgs
    Previously …

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 4
    unit testing
    Key Ideas CSC 309
    idea
    requirements
    architecture
    design
    code
    integration
    testing
    system testing
    operation
    validation
    validation
    verification
    verification
    quality measure

    View Slide

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

    View Slide

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

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 7
    Example

    View Slide

  7. jgs
    Test Yourselves

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 9
    Hello World

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 10
    BubbleSort Iterativo

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 11
    Recursive BubbleSort

    View Slide

  11. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 12
    In Order Traversal

    View Slide

  12. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 13

    View Slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 14

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 15

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 16
    Example Sprint 2

    View Slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 17
    Example Sprint 3

    View Slide

  17. jgs
    New Tool
    RSM

    View Slide

  18. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 19
    Resource Standard Metrics (RSM) is a source code metrics and quality
    analysis tool for ANSI C, ANSI C++, C# and Java for use on all Windows* and
    UNIX operating systems.
    1. Download RSM 7.75 Trial (Windows) here:
    http://msquaredtechnologies.com/
    RSM-Download.html
    * Install the Windows version. It includes a easy to use friendly interface (RSM
    Wizard).
    Tool

    View Slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 20
    2. Review the user manual here
    http://msquaredtechnologies.com
    /m2wizard/RSM_Wizard_Manual.htm
    Disclaimer:
    It is a FREE tool…
    Issues counting LOCs, eLOCs,
    Issues counting conditions (syntaxis analysis)
    BUT ±0..9 does not affect in biggest projects !
    Resource Standard Metrics

    View Slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 21
    Resource Standard Metrics

    View Slide

  21. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 22
    Resource Standard Metrics

    View Slide

  22. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 23
    Example Sprint 2

    View Slide

  23. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 24
    Question 2

    View Slide

  24. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 25
    Questions

    View Slide

  25. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 26
    Chapter 24
    Reference

    View Slide

  26. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 27
    Office Hours
    Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  27. jgs

    View Slide

  28. jgs
    CSC 309
    Software Engineering II
    Lab 01:
    RSM Tool
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    Building 14 -227
    Office Hours: By appointment

    View Slide

  29. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 30
    Think about this
    Calculate metrics for your final
    project in CSC 308

    View Slide

  30. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 32
    Let’s Work

    View Slide

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

    View Slide