Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

jgs Previously… Structural Quality

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

jgs Stable Abstraction Principle

Slide 6

Slide 6 text

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)

Slide 7

Slide 7 text

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)

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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)

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

jgs To be continued …

Slide 12

Slide 12 text

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.