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
Javier Gonzalez-Sanchez
PRO
September 21, 2020
Programming
0
1.9k
CSE564 Lecture 21
Software Design
Assignment
(202211)
Javier Gonzalez-Sanchez
PRO
September 21, 2020
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC307 Lecture 15
javiergs
PRO
0
210
CSC364 Lecture 15
javiergs
PRO
0
18
CSC364 Lecture 14
javiergs
PRO
0
110
CSC307 Lecture 14
javiergs
PRO
0
450
CSC307 Lecture 13
javiergs
PRO
0
310
CSC364 Lecture 13
javiergs
PRO
0
94
CSC364 Lecture 12
javiergs
PRO
0
82
CSC307 Lecture 12
javiergs
PRO
0
450
CSC307 Lecture 11
javiergs
PRO
0
580
Other Decks in Programming
See All in Programming
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
670
登壇資料を作る時に意識していること #登壇資料_findy
konifar
5
2.1k
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.1k
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
1
380
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
320
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.3k
AHC061解説
shun_pi
0
290
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
1
100
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
350
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
530
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
950
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Scaling GitHub
holman
464
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Tell your own story through comics
letsgokoyo
1
830
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
580
How to build a perfect <img>
jonoalderson
1
5.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
68
Statistics for Hackers
jakevdp
799
230k
[SF Ruby Conf 2025] Rails X
palkan
2
800
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
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.