Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
CSC308 Lecture 20
Javier Gonzalez-Sanchez
PRO
November 06, 2022
Programming
0
150
CSC308 Lecture 20
Software Engineering I
Final Project
(202211)
Javier Gonzalez-Sanchez
PRO
November 06, 2022
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC309 Lecture 10
javiergs
PRO
0
7
CSC309 Lecture 09
javiergs
PRO
0
41
CSC309 Lecture 08
javiergs
PRO
0
27
CSC309 Lecture 07
javiergs
PRO
0
20
CSC309 Lecture 06
javiergs
PRO
0
18
CSC309 Lecture 05
javiergs
PRO
0
37
CSC309 Lecture 04
javiergs
PRO
0
34
CSC309 Lecture 03
javiergs
PRO
0
34
CSC309 Lecture 02
javiergs
PRO
0
77
Other Decks in Programming
See All in Programming
AWSとCPUのムフフな関係
cmdemura
0
470
OIDC仕様に準拠した Makuake ID連携基盤構築の裏側
ymtdzzz
0
560
LIFFで動く割り勘アプリTATEKAをリリースしてみた話
inoue2002
0
260
Ruby Pattern Matching
bkuhlmann
0
610
OSSから学んだPR Descriptionの書き方
fugakkbn
4
130
Rによる大規模データの処理
s_uryu
2
640
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.5k
Swift Expression Macros: a practical introduction
kishikawakatsumi
2
730
AWS App Runnerがそろそろ本番環境でも使い物になりそう
n1215
PRO
0
1.1k
(新米)エンジニアリングマネージャーのしごと #RSGT2023
murabayashi
9
5.8k
爆速の日経電子版開発の今
shinyaigeek
2
620
23年のJavaトレンドは?Quarkusで理解するコンテナネイティブJava
tatsuya1bm
1
120
Featured
See All Featured
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
11k
Web development in the modern age
philhawksworth
197
9.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
Art, The Web, and Tiny UX
lynnandtonic
284
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
29
7.9k
Facilitating Awesome Meetings
lara
33
4.6k
Done Done
chrislema
178
14k
Statistics for Hackers
jakevdp
785
210k
Happy Clients
brianwarren
90
5.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
32
1.9k
Transcript
jgs CSC 308 Software Engineering I Lecture 20: Final Project
Dr. Javier Gonzalez-Sanchez j
[email protected]
users.csc.calpoly.edu/~javiergs | javiergs.com Building 14 -227 Office Hours: By appointment
jgs Final Project Customer Needs
jgs Fall 2022 | 00000010 GUI Box
jgs Fall 2022 | 00000010 GUI Box 1. Click to
create boxes
jgs Fall 2022 | 00000010 GUI Box 1. Click to
create boxes (as many as possible) 2. Ask for a name (a String)
jgs Fall 2022 | 00000010 GUI Box 1. Click to
create boxes (as many as possible) 2. Ask for a name (a String) Name1 class Name1 { }
jgs Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { }
jgs Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { } class Cat { } Cat 3. Did you notice the opportunity for Observer
jgs Fall 2022 | 00000010 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 Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { method(){ Name1 } } class Cat { } Cat 5. Update text with the connection. Automatically!
jgs Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { method(){ Name1 Cat } } class Cat { } Cat
jgs Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { method(){ Name1 Cat } } class Cat { } Cat 6. Allow the selection of 3 types of connections
jgs Fall 2022 | 00000010 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 Fall 2022 | 00000010 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 Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { Car } Cat 7. Allow Drag and Drop Car
jgs Fall 2022 | 00000010 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 Fall 2022 | 00000010 GUI Box Name1 Name2 class
Name1 { } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { Car hello(){ } move(){ } } class Car { Cat 8. Reverse Car hello move
jgs Fall 2022 | 00000010 GUI Box Name2 class Name1
{ aaa bbb } class Name2 { method(){ Name1 Cat } } class Cat extends Name1 { Car hello(){ } move(){ } } Cat 8. Reverse. It is a Decorator / Composition Car hello move Name1 aaa bbb
jgs Fall 2022 | 00000010 GUI § Add a JMenuBar
with a Jmenu (New) to delete all
jgs Fall 2022 | 00000010 GUI § Add a JMenuBar
with a Jmenu (Save) to store all coordinates for the cities
jgs Fall 2022 | 00000010 GUI § Add a JMenuBar
with a Jmenu (Load) to load all coordinates for the cities
jgs Fall 2022 | 00000010 § User Stories in Taiga
§ Sprint(s) § Tasks and their responsible § Daily report (Burndown Chart) § UML Class Diagram § Model-View-Controller § Observer § Singleton (Blackboard) § Decorator § Source Code § JavaDoc (Classes and Methods)
jgs Ideas Drag and Drop
jgs Fall 2022 | 00000010 Demo
jgs Fall 2022 | 00000010 Main.java
jgs Fall 2022 | 00000010 Workspace.java (part 1 / 2)
jgs Fall 2022 | 00000010 Workspace.java (part 2 / 2)
jgs Fall 2022 | 00000010 City.java (part 1 / 2)
jgs Fall 2022 | 00000010 City.java (part 2 /2)
jgs Fall 2022 | 00000010 Questions
jgs
jgs CSC 308 Software Engineering I Lab 20: Final Project
Dr. Javier Gonzalez-Sanchez
[email protected]
users.csc.calpoly.edu/~javiergs | javiergs.com Building 14 -227 Office Hours: By appointment
jgs Fall 2022 | 00000010 Let’s Work
jgs CSC 308 Software Engineering I Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2022 Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly. They cannot be distributed or used for another purpose.