Software Architecture Design

Part 1 - Introduction

Chap 1: What is Software Architecture?

Chap 2: Sofware Archiecture Design space

Part 2- Architecture Design Patterns

Chap 3: Models of Software Architecture -UML

Chap 4- OOP

Chap 5- Data Flow Architectures

Chap 6- Data Centered Architecture

Chap 7- Hierachical Architecture

Chap 8- Implicit Asynchronous Communication Architecture

Chap 9- Interaction Oriented Architecture

Chap 10- Distributed Architecture

Chap 11- Component-based Architecture

Chap 12 - Heterogeneous architecture

Batch sequential

Pipe & Filter

Process-Control

Repository

Blackboard

3 Layers

Virtual Machine

Main-Subrountines

Master - Slaves

Non-Buffer

Buffer

Message Queue

Message Topic

MVC II

PAC

MVC I

Client-Server

Multi-Tiers

SOA- Service Oriented Architecture

Service Broker

Built-in component

Commercial Off The Shelf (COTS) components

OOSE- OOP: Object Oriented Paradigm

OOA- Object Oriented Analysis

OOD- Object Oriented Design

OOP- Object Oriented Programming

Characteristics

Encapsulation

Hide Information

Reduce Complexity

Flexibility in design

Easy teamworking

Access modifier : public-protected -private-default

Inheritance

Reuse code components

Improve productivity

Improve Reliability

Child class inherits all fields and methods of base class

Reduce Development Time

Polymorphism

Overload - Methods same name- same class- different signature

Override - Method same signatures in hierarchical relationship

Abstraction - Trừu tượng hóa

click to edit