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

SER516 Lecture 20a

SER516 Lecture 20a

Software Agility
Dependency Metrics II
(202103)

Javier Gonzalez-Sanchez
PRO

February 24, 2019
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    SER 516
    Software Agility
    Lecture 20: Dependency Principles II
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    516 00010000
    Assignment 05
    § Third Sprint
    Sprint Backlog
    Burndown Chart
    Retrospective
    Review
    Product – Source Code – Clean Source Code
    Product – Class Diagram– Clean Design
    Due date Assignment 5.3 – March 30

    View Slide

  3. jgs
    Previously…
    Structural Quality

    View Slide

  4. jgs
    516 00010000
    Principles
    1. Acyclic Dependency Principle (ADP)
    2. Stable Dependency Principle (SDP)
    3. Stable Abstraction Principle (SAP)

    View Slide

  5. jgs
    Stable Abstraction Principle

    View Slide

  6. jgs
    516 00010000
    Abstractness of a Package
    § 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)

    View Slide

  7. jgs
    516 00010000
    Instability of a Package
    § Indicates whether the package is mainly used by other artifacts (stable –
    hard to change) or
    if it mainly depends on other artifacts (instable – changeable).
    § It is a value 0 to 1:
    0 only incoming dependencies to
    1 (only outgoing dependencies)

    View Slide

  8. jgs
    516 00010000
    • Instability = Cout
    (Cin + Cout)
    Stable Abstraction Principle
    IC
    = ?, A= ?
    IX
    = ?, A= ?
    IA
    = ?, A= ?

    View Slide

  9. jgs
    516 00010000
    Instability of a Package
    § Indicates whether the package is mainly used by other artifacts (stable –
    hard to change) or
    if it mainly depends on other artifacts (instable – changeable).
    § It is a value 0 to 1:
    0 only incoming dependencies to
    1 (only outgoing dependencies)

    View Slide

  10. jgs
    516 00010000
    • Instability = Cout
    (Cin + Cout)
    Stable Abstraction Principle
    IC
    = 1.0, A= ?
    IX
    = 0.5, A= ?
    IA
    = 0.0, A= ?

    View Slide

  11. jgs
    To be continued …

    View Slide

  12. jgs
    SER 516 Software Agility
    Javier Gonzalez-Sanchez
    [email protected]
    Spring 2021
    Disclaimer. These slides can only be used as study material for the class SER516 at ASU. They cannot be distributed or used for another purpose.

    View Slide