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
300
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 Summer Lecture 02
javiergs
PRO
0
27
CSC305 Summer Lecture 01
javiergs
PRO
0
52
CSC307 Lecture 16
javiergs
PRO
0
150
CSC570 Lecture 13
javiergs
PRO
0
40
CSC307 Lecture 17
javiergs
PRO
0
120
UP Lecture 30
javiergs
PRO
0
86
UP Lecture 25
javiergs
PRO
0
77
CSC486 Lecture 14
javiergs
PRO
0
160
CSC486 Lecture 13
javiergs
PRO
0
120
Other Decks in Programming
See All in Programming
PHPカンファレンス関西2025 基調講演
sugimotokei
5
1k
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
170
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
110
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
740
型で語るカタ
irof
1
850
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
230
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
360
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
310
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
The Pragmatic Product Professional
lauravandoore
35
6.8k
Side Projects
sachag
455
43k
Code Reviewing Like a Champion
maltzj
524
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Code Review Best Practice
trishagee
69
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
BBQ
matthewcrist
89
9.8k
Visualization
eitanlees
146
16k
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.