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

SER516 S20 Lecture 13

SER516 S20 Lecture 13

Software Agility
Clean Design I
(202103)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez
PRO

February 17, 2019
Tweet

Transcript

  1. jgs SER 516 Software Agility Lecture 13: Clean Design Dr.

    Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs 516 00001101 Announcement § Quiz 05 is open, and

    it is due tonight Individual Work § Midterm Exam - Thu March 11 § Midterm Review – Tue March 9 § Final Exam - Thu April 22 § Final Review – Tue April 20
  3. jgs 516 00001101 Assignment 05 § 2 Sprints Sprint Backlog

    Burndown Chart Retrospective Review Product – Source Code – Clean Source Code Product – Class Diagram– Clean Design Due date Assignment 5.1 – March 9 Due date Assignment 5.2 – March 16
  4. jgs 516 00001101 Requirement Space 2 … Project 4 O

    X - Space 1 ( ) < > | | - @ Save Load New Space Compile 4. Compile ?!
  5. jgs 516 00001101 Building a City § How to handle

    all the details? Team working § But some people is responsible for the big picture, while others focus on the details. § Architecture
  6. jgs 516 00001101 Goal § Be Careful: § Big Design

    Up Front (BDUF) § It could Inhibit adapting to change • Modularized domains of concerns • Integrated with minimal invasive aspects (dependencies) • It should feel like this is the simplest thing…
  7. jgs 516 00001101 Design Principles § Concerns and Separation of

    concerns § Dependencies and Dependency Injection § Low Coupling
  8. jgs Separation of concerns

  9. jgs 516 00001101 1. Separate concerns § Concern: a matter

    of interest or importance to someone. § Divide and Conquer: each unit should only talk to its friends; don't talk to strangers
  10. jgs 516 00001101 Requirement Space 2 … Project 4 O

    X - Space 1 ( ) < > | | - @ Save Load New Space Compile 4. Compile ?!
  11. jgs 516 00001101 Step 1 _____ to Icons _____ to

    a Working area _____ to a Menu
  12. jgs 516 00001101 Step 1 PanelLeft JMenuBar Main JMenu JMenuItem

    JFrame JPanel Workspace
  13. jgs 516 00001101 Step 1 PanelLeft JMenuBar Main JMenu JMenuItem

    JFrame JPanel Workspace Icon * A B C ____Listener
  14. jgs 516 00001101 Step 1 PanelLeft JMenuBar Main JMenu JMenuItem

    JFrame JPanel Workspace Icon * A B C ____Listener Graph Edge Compiler
  15. jgs 516 00001101 Reference § Clean Code, Chapter 11.

  16. jgs SER 516 Software Agility Javier Gonzalez-Sanchez javiergs@asu.edu 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.