Professional Documents
Culture Documents
Instructor: <Name>
04e-BM/NS/HDCV/FSOFT v2/3
Table of Contents
1.
2.
3.
4.
04e-BM/NS/HDCV/FSOFT v2/3
What is Software
Architecture?
FPT SOFTWARE TRAINING MATERIAL Internal use
04e-BM/NS/HDCV/FSOFT v2/3
Software Architecture
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
04e-BM/NS/HDCV/FSOFT v2/3
Client-Server Architecture
The Classical Client-Server Model
FPT SOFTWARE TRAINING MATERIAL Internal use
04e-BM/NS/HDCV/FSOFT v2/3
Client-Server Architecture
04e-BM/NS/HDCV/FSOFT v2/3
Mobile
Client
Server
Desktop
Client
FPT SOFTWARE TRAINING MATERIAL Internal use
04e-BM/NS/HDCV/FSOFT v2/3
10
04e-BM/NS/HDCV/FSOFT v2/3
3-Tier / Multi-Tier
Architectures
Classical Layered Structure of Software
Systems
04e-BM/NS/HDCV/FSOFT v2/3
12
04e-BM/NS/HDCV/FSOFT v2/3
Middle Tier
(Business Tier)
Client
Machine
Mobile
Client
Database
Business
Logic
Desktop
Client
13
04e-BM/NS/HDCV/FSOFT v2/3
Business Logic
Implements the core processes / services of the application
14
04e-BM/NS/HDCV/FSOFT v2/3
Multi-Tier Architecture
HTML
ASP
.NET
WCF
ORM
DB
FPT SOFTWARE TRAINING MATERIAL Internal use
15
04e-BM/NS/HDCV/FSOFT v2/3
MVC (ModelView-Controller)
What is MVC and How It Works?
04e-BM/NS/HDCV/FSOFT v2/3
Model-View-Controller (MVC)
Model
Keeps the application state (data)
View
Displays the data to the user (shows UI)
Controller
Handles the interaction with the user
17
04e-BM/NS/HDCV/FSOFT v2/3
18
04e-BM/NS/HDCV/FSOFT v2/3
MVC-Based Frameworks
.NET
ASP.NET MVC, MonoRail
Java
JavaServer Faces (JSF), Struts, Spring Web MVC,
Tapestry, JBoss Seam, Swing
PHP
CakePHP, Symfony, Zend, Joomla, Yii, Mojavi
Python
Django, Zope Application Server, TurboGears
Ruby on Rails
19
04e-BM/NS/HDCV/FSOFT v2/3
Controllers
(Business Logic)
Views
(Presentation)
Model (Data)
Typical multi-tier
architecture can
use MVC
To separate logic,
data and
presentation
FPT SOFTWARE TRAINING MATERIAL Internal use
20
04e-BM/NS/HDCV/FSOFT v2/3
Q&A
04e-BM/NS/HDCV/FSOFT v2/3