Just do IT
article thumbnail

소프트웨어 아키텍쳐 패턴

   - 소프트웨어 시스템의 구조를 구성하기 위한 기본 틀이 제시되어 개발 시간 단축 가능

   - 검증 구조로 개발외더 있어 안정적 개발이 가능

   - 공통 아키텍쳐가 공유되므로 의사소통 간편

   - 이해하기 쉬운 시스템 구조 > 쉬운 유지보수

 

   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설계 원칙
   - 직관성, 유효성, 학습성, 유연성

 

3. 애플리케이션 설계

'정보처리기사 > 1과 소프트웨어 설계' 카테고리의 다른 글

4. 인터페이스 설계  (0) 2023.11.17
3. 애플리케이션 설계  (2) 2023.11.16
1. 요구사항 확인  (2) 2023.11.14
profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!