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

CSE564 Lecture 26

CSE564 Lecture 26

Software Design
Final Review
(202211)

Javier Gonzalez-Sanchez

September 26, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSE 564 Software Design Lecture 25: Final Review Dr.

    Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs 564 00000100 • Instability = Cout (Cin + Cout)

    Stable Abstraction Principle (SAP)
  3. jgs 564 00000100 Distance § Distance: how far a package

    is away from the Main Sequence § D = A + I – 1 § Values -1 to 1 § Absolute Distance |D|
  4. jgs 564 00000100 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!)
  5. jgs 564 00000100 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.
  6. jgs The following slides shows some examples related to some

    topics This is NOT a comprehensive list of topics Topics in the exam can be found Weeks 2 to 16 (Lectures 1 to 24)
  7. jgs 564 00000100 Object Oriented Relationships Association Directed Association Reflexive

    Association Multiplicity Aggregation Composition Generalization Realization
  8. jgs 564 00000100 Design Principles There are five key design

    principles to consider in Object-Oriented: § Single Responsibility Principle (SRP) § Open-Closed Principle (OCP) § Liskov Substitution Principle (LSP) a child should always be better than its parent. § Interface Segregation Principle (ISP) broke up interfaces § Dependency Inversion Principle (DIP) do not call us, we will call you
  9. jgs 564 00000100 Idea 2 Main Factory Gift Ball Box

    Envelop Handler Supervisor Bin GUI
  10. jgs 564 00000100 • Instability = Cout (Cin + Cout)

    Stable Abstraction Principle (SAP)
  11. jgs 564 00000100 Distance § Distance: how far a package

    is away from the Main Sequence § D = A + I – 1 § Values -1 to 1 § Absolute Distance |D|
  12. jgs CSE 564 Computer Systems Fundamentals Javier Gonzalez-Sanchez [email protected] Fall

    2020 Disclaimer. These slides can only be used as study material for the class CSE564 at ASU. They cannot be distributed or used for another purpose.