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

CSE460 Lecture 25

CSE460 Lecture 25

Software Analysis and Design
Structural Complexity
(202104)

Javier Gonzalez-Sanchez
PRO

July 25, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 460
    Software Analysis and Design
    Lecture 25: Structural Complexity
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    564 00010100
    Announcements
    § Assignment 06 is due tonight
    We have done a total of quizzes and 6 assignments (4.1666% each)
    § Final Exam is scheduled Wednesday April 21 (during lecture time)
    A review scheduled for Monday

    View Slide

  3. jgs
    564 00010100
    • Instability = Cout
    (Cin + Cout)
    Stable Abstraction Principle (SAP)

    View Slide

  4. jgs
    564 00010100
    Distance
    § Distance: how far a package is away from
    the Main Sequence
    § D = A + I – 1
    § Values -1 to 1
    § Absolute Distance |D|

    View Slide

  5. jgs
    564 00010100
    Example
    ITeamA = 6 / 0 + 6 = 1
    ATeamA = 0
    DTeamA = 0 + 1 – 1 = 0
    IJlabel = 0 / 4 + 0 = 0
    AJlabel = 0
    DJlabel = 0 + 0 – 1 = -1
    |Djlabel| = 1
    Pain Zone (just an example!)

    View Slide

  6. jgs
    564 00010100
    Stable Dependency Principle (SDP)
    § Every dependency between modules should terminate on a module whose
    Instability is less than or equal to the depending
    module's Instability.
    § Every dependency between modules should terminate on a module whose
    Abstractness is greater than or equal to the depending
    module's Abstractness.

    View Slide

  7. jgs
    564 00010100
    Example
    MyNewClass
    OtherClass

    View Slide

  8. jgs
    CSE 460 Software Analysis and Design
    Javier Gonzalez-Sanchez
    [email protected]
    Fall 2020
    Disclaimer. These slides can only be used as study material for the class CSE460 at ASU. They cannot be distributed or used for another purpose.

    View Slide