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
310
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 14
javiergs
PRO
0
41
CSC305 Summer Lecture 13
javiergs
PRO
0
87
CSC305 Summer Lecture 12
javiergs
PRO
0
140
CSC305 Summer Lecture 11
javiergs
PRO
0
61
CSC305 Summer Lecture 10
javiergs
PRO
0
80
CSC305 Summer Lecture 09
javiergs
PRO
0
85
CSC305 Summer Lecture 08
javiergs
PRO
0
55
CSC305 Summer Lecture 07
javiergs
PRO
0
78
CSC305 Summer Lecture 06
javiergs
PRO
0
110
Other Decks in Programming
See All in Programming
🔨 小さなビルドシステムを作る
momeemt
4
690
楽して成果を出すためのセルフリソース管理
clipnote
0
190
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
520
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
600
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
print("Hello, World")
eddie
2
530
速いWebフレームワークを作る
yusukebe
5
1.7k
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.6k
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
570
Kiroで始めるAI-DLC
kaonash
2
630
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
4.5k
RDoc meets YARD
okuramasafumi
4
170
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
The Language of Interfaces
destraynor
161
25k
Documentation Writing (for coders)
carmenintech
74
5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Bash Introduction
62gerente
615
210k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Code Review Best Practice
trishagee
71
19k
Code Reviewing Like a Champion
maltzj
525
40k
Music & Morning Musume
bryan
46
6.8k
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.