소프트웨어학부/소프트웨어 공학

중간고사 17~20 (디스패처 아키텍처 스타일, 모델-뷰-컨트롤러 패턴, 파이프-필터 패턴, DFD 데이터 흐름도)

Mt.Hwang 2024. 4. 19. 00:43

 * 디스패처 아키텍처 스타일   Dispatcher Architecture Style
분산 컴퓨팅에서 사용되는 미들웨어 아키텍처
서버 팜을 클라이언트에게 단일 서버처럼 보이도록 만든다

클라이언트 - 디스패처 - 서버
로 연결되어 있음

 디스패처 노드
클라이언트의 초기 호출 시
고품질의 서버를 찾아서
선택된 서보의 정보를 클라이언트에게 제공
이후 클라이언트는 중간 에이전트 없이
직접 서버를 호출

브로커 아키텍처 스타일보다 성능이 b

고가용성, 안정성, 성능, 확장성을 위해
다수의 이중화 서버가 활용됨

디스패처 아키텍처의 필요성
 1. 모든 요청을 처리하는 단일 서버는 높은 트래픽 양을 처리하기에 용량이 부족할 수 있다
 2. 스케일업은 단기적인 해결책에 불과하다

저렴한 하드웨어와 운영체제를 기반으로 한
서버팜의 여러 인스턴스로 처리

서버 조회 시 디스패처는
QoS가 높은 서버를 찾아
서버 참조를 크라이언트에 보냄

 QoS
서비스 품질
조직 네트워크의 성능을 최적화하도록 설계된
일련의 기술 및 기술
한정된 네트워크 용량으로
트래픽을 제어하고 주요 애플리케이션의 성능을 보장하기 위해
메커니즘이나 기술을 활용하는 것


 * 모델-뷰-컨트롤러 패턴   MVC Architecture Style
 1. 모델
 2. 뷰
 3. 컨트롤러

 모델
핵심 기능과 데이터를 포함
핵심 데이터를 포함

 뷰
사용자에게 정보를 표시
하나 이상의 뷰가 정의될 수 있다

 컨트롤러
사용자로부터의 입력을 처리한다

사용자에게 정보가 제공되는 방식과
사용자로부터 정보를 받아 들여지는 방식에서
정보의 내부적인 표현을 분리하기 위해
모델, 뷰, 컨트롤러로 나누어지는 것

코드의 재사용성 증가
컴포넌트를 분리하여
코드의 효율적인 재사용을 가능케 한다

 1. 수직 MVC
 2. 완전 연결 MVC

수직 MVC은
 1. 사용자
 2. 뷰
 3. 컨트롤러
 4. 모델
 5. 서버
순으로 연결되어 있다


 * 파이프-필터 패턴   Pipe and Filter Architecture Style
데이터 스트림을 생성하고 처리하는 시스템에서 사용

 1. 각 처리 과정은 필터 컴포넌트에서 이루어지고
 2. 처리되는 데이터는 파이프를 통해 흐른다

 필터
데이터셋을 조작하는 구성 요소

 파이프
필터 간에 데이터셋을 스트림모드로 전송하는
데이터 버스

파이프는
버퍼링 or 동기화 목적으로 사용될 수 있다

구성 요소는
독립된 프로그램이며
순차적으로 실행

소스 -> 파이프1 -> 필터1 -> 파이프2 -> 필터2 -> 파이프3 -> 씽크

데이터 스트림은
자연스럽게 여러 단계에서 처리된다


 * 데이터 흐름도   DFD, Data Flow Diagram
프로세스, 시스템의 정보 흐름
직사각형, 원형, 화살표 같은 기호 사용

말로 사용하기 어려운 것을
시각적으로 나타낸다

 데이터 흐름도 구성 요소
 1. 외부 개체 (터미널)  // 작은 직사각형
 2. 프로세스  // 타원
 3. 데이터 저장  // 큰 직사각형 안에 여러 사각형이 있음
 4. 데이터 흐름  // 화살표

 외부 개체
시스템과 통신하여
데이터를 송수신하는 외부 시스템
정보의 출처 or 목적지

 프로세스
데이터를 변경하여 출력, 연산 수행, 데이터 정렬
데이터 흐름 방향 제어
작은 라벨로 프로세스 설명

 데이터 저장
정보를 보관하는 파일 or 저장소

 데이터 흐름
데이터의 경로
다른 구성 요소 사이의 인터페이스를 나타냄

 데이터 흐름도 규칙
 1. 프로세스에는 하나 이상의 입력과 출력이 있어야 한다
 2. 데이터 저장에는 하나 이상의 데이터 흐름 입력과 데이터 흐름 출력이 있어야 한다
 3. 시스템에 저장된 데이터는 프로세스를 거쳐야 한다
 4. 데이터 흐름도의 프로세스는 다른 프로세스의 데이터 저장으로 이어진다

 DFD 레벨 0
맥락도

 DFD 레벨 1
맥락도의 여러 부분을 자세하게 분석
프로세스를 하위 프로세스로 나누어 분석
시스템의 기능 강조

 1. 논리적 DFD
 2. 물리적 DFD

 논리적 DFD
비즈니스 운영에 필수적인 데이터 흐름
시스템 작동 방식 원리가 x

 물리적 DFD
현재 시스템이 실제로 구현된 방식
or 추후에 구현될 방식