Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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|

Slide 5

Slide 5 text

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!)

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

jgs 564 00010100 Example MyNewClass OtherClass

Slide 8

Slide 8 text

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.