소프트웨어 아키텍쳐 패턴
- 소프트웨어 시스템의 구조를 구성하기 위한 기본 틀이 제시되어 개발 시간 단축 가능
- 검증 구조로 개발외더 있어 안정적 개발이 가능
- 공통 아키텍쳐가 공유되므로 의사소통 간편
- 이해하기 쉬운 시스템 구조 > 쉬운 유지보수
1) 계층화 패턴 / 레이어드 패턴 (Layered pattern)
- 하위 모듈들의 그룹으로 나눌 수 있는 구조화된 프로그램
- 일반적인 데스크톱 애플리케이션, 전자상거래 웹 애플리케이션
2) 클라이언트 - 서버 패턴 (Client - server pattern)
- 클라이언트가 서버에 서비스를 요청하면 서버는 클라이언트에게 적절한 서비스를 제공
- 이메일, 문서 공유 및 은행 등의 온라인 애플리케이션
3) 마스터 - 슬레이브 패턴 (Master - slave pattern)
- 마스터 컴포넌트는 동등한 구조를 지닌 슬레이브 컴포넌트들로 작업을 분산하고,
슬레이브가 반환한 결과 값으로부터 최종 결과값을 계산
- 컴퓨터 시스템에서 버스와 연결된 주변장치
4) 파이프 - 필터 패턴 (Pipe - filter pattern)
- 각 처리 과정은 필터(filter) 컴포넌트에서 이루어지며,
처리되는 데이터는 **파이프 (pipes)**를 통해 흐른다 (파이프는 버퍼링 또는 동기화 목적으로 사용)
- 컴파일러, 연속한 필터들은 어휘 분석, 파싱, 의미분석
5) 브로커 패턴 (Broker pattern)
- 서버는 자신의 기능들(서비스 및 특성)을 브로커에 넘겨주며 (publish), 클라이언트가 브로커에 서비스를 요청하면 브로커는 클라이언트를 자신의 레지스트리에 있는 적합한 서비스로 리디렉션
6) 피어 투 피어 패턴 (Peer - to - peer paattern)
- 각 컴포넌트를 **피어 (peers) **라고 부른다
- 피어는 클라이언트로서 피어에게 서비스를 요청할 수도 있고,
서버로서 각 피어에게 서비스를 제공할 수도 있다
7) 이벤트 - 버스 패턴 (Event - bus pattern)
- 소스는 이벤트 버스를 통해 특정 채널로 메시지를 발행하며 (publish), 리스너는 특정 채널에서 메시지를 구독
- 안드로이드 개발, 알림 서비스
8) 모델 - 뷰 - 컨트롤러 패턴 (Model - view - controller pattern)
- MVC 패턴
- 모델 (model) : 핵심 기능과 데이터를 포함
- 뷰 (view) : 사용자에게 정보를 표시
- 컨트롤러 (controller) : 사용자로부터의 입력을 처리
9) 블랙보드 패턴 (Blackboard pattern)
- 결정 가능한 해결 전략이 알려지지 않은 문제에 유용
10) 인터프리터 패턴 (Interperter pattern)
- 특정 언어로 작성된 프로그램을 해석하는 컴포넌트를 설계할 때 사용
- SQL과 같은 데이터베이스 쿼리 언어, 통신 프로토콜을 정의하기 위한 언어
UI의 설계 원칙
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있도록
- 유효성 : 사용자의 목적을 정확하게 달성할 수 있도록
- 학습성 : 누구나 쉽게 배우고 익힐 수 있도록
- 유연성 : 사용자의 요구사항을 최대한 수용, 오류를 최소화 하도록
정리하기
1. 소프트웨어 아키텍쳐 패턴
- 계층화 패턴 / 레이어드 패턴 Layered pattern
- 클라이언트 - 서버 패턴 Client-server pattern
- 마스터 - 슬레이브 패턴 Master-slave pattern
- 파이프 - 필터 패턴 Pipe-filter pattern
- 브로커 패턴 Broker pattern
- 피어 투 피어 패턴 Peer-to-peer pattern
- 이벤트 - 버스 패턴 Event-bus pattern
- 모델 - 뷰 - 컨트롤러 패턴 Model-view-controller pattern
- 블랙보드 패턴 Blackboard pattern
- 인터프리터 패턴 Interpreter pattern
2. UI설계 원칙
- 직관성, 유효성, 학습성, 유연성
'정보처리기사 > 1과 소프트웨어 설계' 카테고리의 다른 글
4. 인터페이스 설계 (0) | 2023.11.17 |
---|---|
3. 애플리케이션 설계 (2) | 2023.11.16 |
1. 요구사항 확인 (2) | 2023.11.14 |