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