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
CSC509 Lecture 02
Search
Javier Gonzalez-Sanchez
PRO
September 27, 2024
Programming
0
150
CSC509 Lecture 02
Software Design
Model-View-Controller
(202309)
Javier Gonzalez-Sanchez
PRO
September 27, 2024
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC305 Lecture 05
javiergs
PRO
0
19
CSC509 Lecture 03
javiergs
PRO
0
130
CSC305 Lecture 04
javiergs
PRO
0
76
CSC305 Lecture 03
javiergs
PRO
0
82
CSC305 Lecture 02
javiergs
PRO
1
95
CSC509 Lecture 01
javiergs
PRO
1
200
CSC305 Lecture 01
javiergs
PRO
1
140
CSC307 Lecture 15
javiergs
PRO
0
90
CSC307 Lecture 14
javiergs
PRO
0
260
Other Decks in Programming
See All in Programming
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
470
タイミーにおけるデータの利用シーンと データ基盤の挑戦
marufeuille
4
3.1k
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
2
210
API Platform for Laravel
dunglas
1
1.2k
ファーストペンギンBot @Qiita Hackathon 2024 予選
dyson_web
0
200
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
240
GraphQLとGigaViewer for Apps
numeroanddev
4
880
M5Stackボードの選び方
tanakamasayuki
0
200
5年分のツケを一気に払った話
soogie
3
970
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
420
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
100
推しの夫に恋のGPS「ときメーター」#M5Stack #IoT #M5JPTour2024
riyu
0
220
Featured
See All Featured
Optimizing for Happiness
mojombo
375
69k
Ruby is Unlike a Banana
tanoku
96
11k
Designing Experiences People Love
moore
138
23k
The Art of Programming - Codeland 2020
erikaheidi
50
13k
YesSQL, Process and Tooling at Scale
rocio
167
14k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Done Done
chrislema
181
16k
Docker and Python
trallard
40
3k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
25
640
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 508/9 Software Engineering (Design & Deployment) Lecture 02. Architecture
Course Content
This Course 3
This Course 4
This Course covers CSC 509 • Apply wh a t
you know • Deepen into Design (decision-m a king) • Apply development skills (le a rn, a s needed, new fr a meworks, libr a ries, APIs) • Cre a te a product th a t not only works but h a s Qu a lity (reuse, extensibility, a nd modi f i a bility) 5
Concepts Architecture Design Code
Eric Gamma 7
Robert Martin Design principles a re not a perfume to
be liber a lly sc a ttered a ll over the system. Robert M a rtin (Agile m a nifesto, SOLID principles, Cle a n Code Book) 8
Foundations 9
Architecture
Architecture 11 Aerial Perspective of Kunming Campus-Howard Rideout Architect
Blueprint Architecture Design Code
Environment
Architecture Patterns • Model - View - Controller • L
a yered • Bl a ckbo a rd • Client-Server • Publisher-Subscriber 14
Model-View-Controller
MVC Architecture 16
Design | MVC applied to Java Desktop Apps 17
Code 18
19
Homework • Read Gamma et al. paper • Read Garlan
and Shaw paper • Available on Canvas
Review your Java Programming Skills (Including Java Swing GUI) Homework
21
CSC 509 Software Engineering Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2024
Copyright. These slides can only be used as study material for the class CSC509 at Cal Poly. They cannot be distributed or used for another purpose.