architectural design yonsei university 2 nd semester, 2015 sanghyun park

32
Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Upload: brook-freeman

Post on 18-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Design

Yonsei University2nd Semester, 2015

Sanghyun Park

Page 2: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Topics Covered System structuring Modular decomposition Control models Reference architectures

Page 3: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Software Architecture Architectural design is the design process for

identifying the __________ making up a system and the framework for sub-system _______ and communication

The output of this design process is a description of the software __________

sub-systemscontrol

architecture

Page 4: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Design An ______ stage of the system design process

Represents the ____ between requirement specification and design processes

In many cases, carried out in ______ with some specification activities

Involves identifying major system components and their communications

early

link

parallel

Page 5: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Design Process System structuring

The system is decomposed into several principal__________ and communications between thesesub-systems are identified

Modular decomposition The identified sub-systems are decomposed into

________

Control modeling A model of the ________ relationships between the

different parts of the system is established

sub-systems

modules

control

Page 6: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Sub-Systems And Modules A sub-system is a system in its own right whose

operation is __________ of the services provided by other sub-systems

A module is a system component that provides _______ to other components but would not normally be considered as an independent system

independent

services

Page 7: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Styles (1/3) The system architecture affects the performance,

robustness, and maintainability of a system

Therefore the particular style and structure chosen for an application may depend on the ____________ requirementsnon-functional

Page 8: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Styles (2/3) Performance

_______ critical operations and ________ communications Use ______ rather than fine-grain components

Security Use a _______ architecture with critical assets in the

inner layers

Localize minimize

large

layered

Page 9: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Styles (3/3) Safety

_______ safety-critical operations in a small number of sub-systems

Availability Include _________ components for fault tolerance

Maintainability Use ____-grain, self-contained components

Localize

redundant

fine

Page 10: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Architectural Conflicts Using large-grain components improves

__________ but reduces ____________

Introducing redundant data improves ________ but makes _______ more difficult

Localizing safety-related features usually means more ____________ so degraded ___________

performance maintainability

availabilitysecurity

communication performance

Page 11: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

System Structuring(System Organization)

Concerned with decomposing the system into interacting sub-systems

The architectural design is normally expressed as a ______ diagram presenting an overview of the system structure

More specific models of the structure may be developed which show how systems share data, how they are distributed, and how they interface with each other

block

Page 12: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Repository Model Sub-systems must exchange data; this may be

done in two ways: Shared data is held in a central database or ________

and may be accessed by all sub-systems Each sub-system maintains its ____ database and

passes data explicitly to other sub-systems

When large amounts of data are to be shared,the _________ model of sharing is most commonly used

repository

repository

own

Page 13: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

CASE Toolset Architecture

Page 14: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Repository Model Characteristics (1/2)

Advantages Efficient way to share large amount of data Sub-systems which produce data need not be

concerned with how that data is used by other sub-systems

Activities such as backup, security, access control and recovery from error are _________

Sharing model is visible through the repository ______

centralizedschema

Page 15: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Repository Model Characteristics (2/2)

Disadvantages Sub-systems must agree on a repository data model Data ________ is difficult and expensive No scope for specific management policies Difficult to ________ the repository over a number of

machines

evolution

distribute

Page 16: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Client-Server Model Distributed system model which shows how data

and processing are distributed across a range of components

Set of stand-alone ______ which provide specific services such as printing, data management, etc.

Set of ______ which call on these services

Network which allows clients to access servers

servers

clients

Page 17: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Film And Picture Library

Page 18: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Client-Server Characteristics Advantages

Distribution of data is straightforward Makes effective use of ________ systems.

May require _______ hardware Easy to add new servers or upgrade existing servers

Disadvantages No shared data model so sub-systems use different

data organization. Data __________ may be inefficient _________ management in each server No central _______ of names and services – it may be

hard to find out what servers and services are available

networkedcheaper

interchange

Redundantregister

Page 19: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Abstract Machine (Layered) Model

Used to model the interfacing of sub-systems

Organizes the system into a set of _____ each of which provides a set of services

Each layer defines an _______ machine whose machine language is used to implement the next level of abstract machine

When a layer interface changes, only the _______ layer is affected

Often difficult to structure systems in this way

layers

abstract

adjacent

Page 20: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Version Management System

Configuration management system layer

Database system layer

Operating system layer

Object management system layer

Page 21: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Modular Decomposition Another structural level where sub-systems are

decomposed into ________

Two modular decomposition models covered An _____ model where the system is decomposed into

interacting objects A function-oriented pipeline or ____-flow model where

the system is decomposed into functional modules which ________ inputs to outputs

modules

object

data

transform

Page 22: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Object Models Structure the system into a set of loosely

coupled _______ with well-defined interfaces

Object-oriented decomposition is concerned with identifying object ______, their attributes, and operations

When implemented, objects are created from these classes and some control model is usedto coordinate object operations

objects

classes

Page 23: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Invoice Processing System

Page 24: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Object Model Advantages Objects are loosely coupled;

so their implementation can be modified without affecting other objects

The objects may reflect ___-world entities

OO implementation languages are widely used

However, object ________ changes may cause problems and _______ entities may be hard to represent as objects

real

interfacecomplex

Page 25: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Function-Oriented Pipelining(Data-Flow Models)

Functional transformations process their inputs to produce outputs

Variants of this approach are very common.When transformations are sequential with data processed in batches, this is a _____ sequential model

Not really suitable for _________ systems

batch

interactive

Page 26: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Invoice Processing Systems

Page 27: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Data-Flow Model Advantages Supports transformation _____

Intuitive organization for stakeholder communication

Easy to add new transformation

Relatively simple to implementas either a concurrent or sequential system

However, requires a _______ format for data transfer along the pipeline and difficult to support _____-based interaction

reuse

common

event

Page 28: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Control Models Concerned with the control flow between

sub-systems

Two general approaches can be identified Centralized approach

One sub-system has ______ responsibility for control, and starts and stops other sub-systems

Event-based approachEach sub-system can respond to events from other sub-systems or the system’s environment

overall

Page 29: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Reference Architectures Architectural models may be specific to some

application _______

Two types of domain-specific model Generic models which are abstractions from a number

of _____ systems and which encapsulate the principal characteristics of these systems

Reference models which are more abstract, idealized model. Mainly used to communicate domain ________ and compare different architectures

Generic models are usually _________ models;Reference models are _________ models

domain

bottom-uptop-down

real

concepts

Page 30: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Generic Models Compiler model is a well-known example although

other models exist in more specialized application domains Lexical analyzer Symbol table Syntax analyzer Syntax tree Semantic analyzer Code generator

Generic models may be reused directly in a design

Page 31: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

Reference Models Reference models are derived from a _____ of

the application domain rather than from existing systems

May be used as a basis for system implementation or to compare different systems

Act as a standard against which systems can be evaluated

OSI model is a layered model for communication systems

study

Page 32: Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park

OSI Reference Model

Presentation

Session

Transport

Network

Data link

Physical

7

6

5

4

3

2

1

Communications medium

Network

Data link

Physical

Application

Presentation

Session

Transport

Network

Data link

Physical

Application