상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 소프트웨어 아키텍처

정보처리기사 공부지식

by 소란한소란 2024. 2. 5. 14:55

본문

728x90

소프트웨어 아키텍처: 기본 구조와 특징

 

소프트웨어 아키텍처란?

소프트웨어 아키텍처는 소프트웨어의 기본 구조로서, 전체 시스템을 지탱하는 틀을 제공합니다.


소프트웨어 아키텍처의 특징

  • 간략성
  • 추상화
  • 가시성
  • 관점 모형
  • 의사소통수단

소프트웨어 아키텍처 프레임워크 구성 요소

  • 아키텍처 명세: 시스템의 전반적인 설계와 관련된 명세를 정의합니다.
  • 이해관계자: 시스템에 영향을 미치는 이해관계자를 식별하고 관리합니다.
  • 관심사: 아키텍처에서 중요한 측면이나 영역을 결정합니다.
  • 관점: 특정 이해관계자나 목적에 따라 시스템을 볼 수 있는 관점을 제공합니다.
  • : 시스템의 특정 측면을 나타내는 시각적인 표현입니다.

소프트웨어 아키텍처 4+1 뷰

  • 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법

4 + 1 View Model 구성요소

  1. 논리적 뷰: 시스템의 논리적인 모듈 구조를 표현합니다.
  2. 구현 뷰: 시스템의 물리적인 구성 요소와 연결을 보여줍니다.
  3. 프로세스 뷰: 시스템의 동작을 프로세스와 스레드로 나타냅니다.
  4. 배포 뷰: 시스템의 물리적 배치와 네트워크 구조를 보여줍니다.
  5. 유스케이스 뷰: 시스템의 사용자 시점에서 기능을 표현합니다.

4+1 View Model 구성요소

아키텍처 패턴 종류

  • 계층화 패턴: N-계층 아키텍처로도 불리며 모듈화된 계층으로 시스템을 구성합니다.
  • 클라이언트-서버 패턴: 여러 클라이언트가 중앙 서버에 연결되는 아키텍처를 나타냅니다.
  • 마스터-슬레이브 패턴: 마스터 구성 요소가 작업을 슬레이브 구성 요소에 분배하고 결과를 계산하는 구조입니다.
  • 파이프-필터 패턴: 입력 데이터를 처리하고 결과를 다음 구성 요소로 전달하는 구조를 반복합니다.
  • 브로커 패턴: 분리된 구성 요소로 구성된 분산 시스템에서 사용되는 패턴입니다.
  • 피어-투-피어 패턴: 각 구성 요소가 피어로 불리는 서비스를 교환하는 패턴입니다.
  • 이벤트 버스 패턴: 이벤트 버스를 통해 메시지를 발행하고 수신하는 패턴입니다.
  • 모델-뷰-컨트롤러 패턴 (MVC 패턴): 모델, 뷰, 컨트롤러 세 가지 구성 요소로 시스템을 구성합니다.
    • 3개의 각 컴포넌트는 각각의 역할을 갖고 사용자에게 서비스를 제공
    • 모델 : 도메인(하나의기능)의 기능과 자료를 저장하고 보관
    • : 사용자에게 결과를 표시
    • 컨트롤러 : 사용자로부터 입력을 받아 연산을 처리
  • 블랙보드 패턴: 해결책 전략이 명확하지 않은 문제에 유용한 패턴입니다.
  • 인터프리터 패턴: 특정 언어로 작성된 프로그램을 해석하는 구성 요소를 디자인할 때 사용되는 패턴입니다.

아키텍처 패턴은 소프트웨어 엔지니어링에서 발생하는 다양한 문제를 해결하는 데 도움을 줍니다.

2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

728x90

관련글 더보기