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

CSE564 Lecture 21

CSE564 Lecture 21

Software Design
Assignment
(202211)

Javier Gonzalez-Sanchez

September 21, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSE 564 Software Design Lecture 21: Assignment Dr. Javier

    Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs 564 00010100 § Monday 11/14 – We are here

    § Wednesday 11/16 § Monday 11/21 § Wednesday 11/23 § Monday 11/28 – Final Review § Wednesday, 11/30 – Final Exam vs. Monday, December 5 Assignment (04 + 05) Quiz 04, Quiz 05
  3. jgs 564 00010100 GUI Box 1. Click to create boxes

    (as many as possible) 2. Ask for a name (a String)
  4. jgs 564 00010100 GUI Box 1. Click to create boxes

    (as many as possible) 2. Ask for a name (a String) Name1 class Name1 { }
  5. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { } class Cat { } Cat 3. Did you notice the opportunity for Observer
  6. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { } class Cat { } Cat 4. Make connections between boxes. Detect a click on a box and a second click on another box
  7. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 } } class Cat { } Cat 5. Update text with the connection. Automatically!
  8. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 Cat } } class Cat { } Cat
  9. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 Cat } } class Cat { } Cat 6. Allow the selection of 3 types of connections
  10. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { } Cat 6. Allow the selection of 3 types of connections
  11. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { Car } Cat 6. Allow the selection of 3 types of connections Car
  12. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { Car } Cat 7. Allow Drag and Drop Car
  13. jgs 564 00010100 GUI Box Name1 Name2 class Name1 {

    } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { Car } class Car { } Cat 7. Allow Drag and Drop Car
  14. jgs 564 00010100 GUI § Add a JMenuBar with a

    Jmenu (Save) to store all coordinates for the cities
  15. jgs 564 00010100 GUI § Add a JMenuBar with a

    Jmenu (Load) to load all coordinates for the cities
  16. jgs 564 00010100 § UML Class Diagram § Model-View-Controller §

    Observer § Singleton (Blackboard) § Decorator § Other: chain of responsibilities, strategy, bridge, § Source Code § JavaDoc (Classes and Methods)
  17. jgs CSE 564 Software Design Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall

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