| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- Ȩ
- 정보처리기사 #정보처리기사실기 #비전공자정보처리기사
- 정보처리기사 #정보처리기사실기 #소프트웨어설계
- 정보처리기사 # 정보처리기사실기
- 형상관리 #configurationmanagement #정보처리기사실기
- 보안 솔루션
- python_sep
- 나
- 미들웨어 #Middleware
- python_end
- 데이터교환 #정보처리기사 #정보처리기사실기 #네트워크 #Network #데이터전송 #다중화
- 시스템 보안 구현 #보안 관제
- 보안 프로토콜
- Software Engeneering #소프트웨어공학
- 방화벽
- 정보처리기사실기 #SoftwareArchitecture # 소프트웨어아키텍쳐
- 정보처리기사 #정보처리기사실기
- 정보처리기사 #정보처리기사필기 #정보처리기사필기합격 #비전공자정보처리기사 #한국IT직업전문학교
- 고가용성
- Today
- Total
dahliahye 님의 블로그
[정보처리기사] 실기_ 소프트웨어 아키텍쳐 (Software Architecture) 본문

소프트웨어 아키텍쳐 (Software Architecture)
- 소프트웨어 시스템의 기본 구조, 시스템의 컴포넌트와 이들 간의 관계 기술
- 시스템의 골격을 제공, 고수준에서의 설계 지침을 제공하여 개발 방향성 제시
소프트웨어 아키텍쳐 특징
간략성, 추상화, 가시성, 관점 모형 (다양한 이해당사자의 관점에 따른 모형을 제시) , 의사 소통 수단
소프트웨어 아키텍쳐 4 (개발, 기획자 관점) +1 (사용자 관점) 뷰
고객의 요구사항을 정리한 시나리오를 다양한 관점에서 분석하고 표현
복잡한 소프트웨어 아키텍쳐를 여러 이해관계가자 이해할 수 있도록 함.
- 논리 뷰 : 클래스나 컴포넌트의 종류와 관계 / 분석사 / 설계사 /시스템의 기능적 요구사항 표현
- 구현 뷰 : 프로그래머, 서브시스템의 모듈 구조와 관계 / 개발자의 관점 반영
- 프로세스 뷰 : 시스템 통합자 / 시스템의 성능, 확장성, 효율 프로그램 실행 시의 동적 표현 (운영자)
- 배치 뷰 : 시스템 구성 , 물리적 배치 / 시스템 엔지니어
- 유스케이스 뷰 : 사용자 검증 (사용자 뷰)
소프트웨어 아키텍쳐 패턴 (Software Architecture Pattern)
1) 계층화 패턴(Layered Pattern)
예) OSI 7계층, TCP/IP계층 등
- 시스템을 계층단위로 구분하여 구성하는 가장 일반적인 구간
- 각 계층은 자신의 하위 계층이 제공하는 서비스에만 의존, 상위 계층에 서비스를 제공
- 논리적 구분이 명확해 유지보수와 변경이 용이
2) 클라이언트-서버 패턴 (Client-Server Pattern)
예) 웹-서버 브라우저, DB 서버-응용 프로그램 등
- 서버(Server)는 서비스를 제공, 클라이언트는 서버에 서비스를 요청
- 시스템을 서비스 제공자와 이용자로 명확히 분리하는 구조
3) 마스터-슬레이브 패턴 (Master-slave Pattern)
예) 병렬 연산, 이미지 처리, Mapreduce 프레임워크
- 마스터가 작업을 여러 슬레이브에 분배, 슬레이브는 작업을 처리한 후 결과를 마스터에 전달
- 마스터는 슬레이브의 결과를 통합해 최종 결과 생성
4) 파이프-필터 패턴 (Pipe-Filter Pattern)
예) Unix 파이프 명령(I), 데이터 변환 파이프라인 등
- 데이터를 단계적으로 처리하는 구조, 각 단계(필터)는 데이터를 가공해 출력, 결과는 파이프를 통해 다음 필터로 전달
- 데이터는 파이프를 통해 한 방향으로 흐르며, 각 필터를 이동할 때 오버헤드 발생할 수 있음.
* 오버헤드 (Overhaed): 특정 작업을 처리하기 위해 필요한 추가적인 자원 소모 (시간, 메모리, 네트웤, 저장공간 등)
본래 목적(핵심 작업) 외에 발생하는 부수적인 비용.
5) 브로커 패턴 (Broker Pattern 중개자 패턴)
- 분산환경에서 서로 다른 컴포넌트 들이 통신할 때, 브로커가 중개 역할을 담당하는 구조
- 클라이언트는 서버와 직접 통신하지 않고, 브로커가 요청 전달, 결과 반환, 위치 투명성을 보장
6) 피어 투 피어 패턴 (Peer to Peer Pattern)
- 각 피어(Peer)가 서버이자 클라이언트 역할을 동시에 수행
- 중앙 서버 없이 각 노드 간 직접 통신이 이루어짐
7) 이벤트 버스 패턴 (Event-Bus Pattern)
예) 알림 서비스, 로그 수집, 실시간 채팅
- 이벤트 버스를 중심으로 이벤트 소스가 메세지를 발행 (Publish) 하고, 리스너가 구독(Subscribe) 하여 비동기적으로 동작
- 구성요소 간 결합도가 낮음.
8) 모델-뷰- 컨트롤러 패턴 (MVC Pattern)
- 사용자 인터페이스를 Model, View, Controller의 세 부분으로 나누어 설계
- 각 구성요소는 역할이 명확히 분리되어, 유지보수성과 재사용성이 높음
- 웹, GUI 애플리케이션에서 가장 널리 사용됨
* 모델: 시스템이 다루는 핵심 데이터 구조와 상태를 관리 (DB와 연결)
* 뷰 : 사용자에게 정보 표시 (UI)
* 컨트롤러: 사용자의 입력 처리 및 흐름 제어
9) 블랙보드 패턴(Black board Pattern)
- 문제의 명확한 해결 절차가 정의되지 않았을 때 사용
- 여러 전문 지식 모듈이 공유 공간(Blackboard) 을 통해 데이터를 읽고 쓰며, 점진적으로 해를 완성
10) 인터프리터 패턴(Interpreter Pattern)
- 특정 언어의 문법을 정의하고, 해석기가 문장을 변환하여 실행 하는 구조
'자격증 > 정보처리기사' 카테고리의 다른 글
| [정보처리기사] 실기_ 네트워크 (Network), 데이터 교환 방식 (Data Transmission) (0) | 2026.03.21 |
|---|---|
| [정보처리기사] 실기_ 형상 관리 (Configuration Management) 도구 (0) | 2026.03.17 |
| [정보처리기사] 실기_ 소프트웨어 구축_소프트웨어 설계 (0) | 2026.03.13 |
| [정보처리기사] 실기_ 미들웨어 Middleware (0) | 2026.03.12 |
| [정보처리기사] 필기_ 비전공자 합격 후기 (feat. 한국IT직업전문학교 양재관) (0) | 2026.03.11 |