Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSE564 Lecture 21
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Javier Gonzalez-Sanchez
PRO
September 21, 2020
Programming
1.9k
0
Share
CSE564 Lecture 21
Software Design
Assignment
(202211)
Javier Gonzalez-Sanchez
PRO
September 21, 2020
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC364 Lecture 18
javiergs
PRO
0
50
CSC364 Lecture 17
javiergs
PRO
0
170
CSC307_L17_review_5050.pdf
javiergs
PRO
0
29
CSC307 Lecture 16
javiergs
PRO
0
270
CSC364 Lecture 16
javiergs
PRO
0
180
CSC307 Lecture 15
javiergs
PRO
0
300
CSC364 Lecture 15
javiergs
PRO
0
81
CSC364 Lecture 14
javiergs
PRO
0
150
CSC307 Lecture 14
javiergs
PRO
0
500
Other Decks in Programming
See All in Programming
AIエージェントで業務改善してみた
taku271
0
540
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
170
AIと共に生きる技術選定 2026
sgash708
0
110
Road to RubyKaigi: Play Hard(ware)
makicamel
1
460
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
650
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
210
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.5k
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
300
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
160
AIを導入する前にやるべきこと
negima
2
230
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
1k
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
550
Google's AI Overviews - The New Search
badams
0
980
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Faster Mobile Websites
deanohume
310
31k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
490
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
99
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Thoughts on Productivity
jonyablonski
76
5.1k
Accessibility Awareness
sabderemane
1
100
How to Talk to Developers About Accessibility
jct
2
180
Transcript
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
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
jgs Previously … GoF Patterns
jgs 564 00010100 GoF Patterns
jgs Assignment 03 + 04 Assignment
jgs 564 00010100 GUI Box
jgs 564 00010100 GUI Box 1. Click to create boxes
jgs 564 00010100 GUI Box 1. Click to create boxes
(as many as possible) 2. Ask for a name (a String)
jgs 564 00010100 GUI Box 1. Click to create boxes
(as many as possible) 2. Ask for a name (a String) Name1 class Name1 { }
jgs 564 00010100 GUI Box Name1 Name2 class Name1 {
} class Name2 { }
jgs 564 00010100 GUI Box Name1 Name2 class Name1 {
} class Name2 { } class Cat { } Cat 3. Did you notice the opportunity for Observer
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
jgs 564 00010100 GUI Box Name1 Name2 class Name1 {
} class Name2 { method(){ Name1 } } class Cat { } Cat 5. Update text with the connection. Automatically!
jgs 564 00010100 GUI Box Name1 Name2 class Name1 {
} class Name2 { method(){ Name1 Cat } } class Cat { } Cat
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
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
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
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
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
jgs 564 00010100 GUI § Add a JMenuBar with a
Jmenu (New) to delete all
jgs 564 00010100 GUI § Add a JMenuBar with a
Jmenu (Save) to store all coordinates for the cities
jgs 564 00010100 GUI § Add a JMenuBar with a
Jmenu (Load) to load all coordinates for the cities
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)
jgs Ideas Drag and Drop
jgs 564 00010100 Demo
jgs 564 00010100 Main.java
jgs 564 00010100 Workspace.java (part 1 / 2)
jgs 564 00010100 Workspace.java (part 2 / 2)
jgs 564 00010100 City.java (part 1 / 2)
jgs 564 00010100 City.java (part 2 /2)
jgs 564 00010100 Questions
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.