본문 바로가기

자격증/정보처리기사

[정보처리기사] 아키텍처

  • 서비스 지향 아키텍처(SOA): 애플리케이션 조각들을 느슨하게 결합하여 하나의 완성된 애플리케이션을 구현하는 아키텍쳐
  • EAI
    • 포인트 투 포인트: P2P
    • 허브 앤 스포크: 허브를 통해서 통신
    • 메시지 버스: ESB
    • 하이브리드: 클러스터 내부는 허브 앤 스포크, 클러스터끼리는 메시지 버스
  • EAI 구성요소
    • EAI 플랫폼: 노드 하나
    • 어댑터: 데이터 입출력 도구
    • 브로커: 포맷 변경
    • 메시지 큐: 중간에서 비동기
    • 비즈니스 워크플로우: workflow
  • 데이터 웨어하우스: 추출한 특정 데이터를 저장하여 사용자들에게 효율적인 의사결정에 필요한 자료를 제공하는 저장소
    • 데이터 마트: 웨어하우스의 일부 데이터를 모아 특정 분야에 집중시킨 소규모 웨어하우스
    • 온라인 분석 처리(OLAP): 웨어하우스의 데이터를 전략적 정보로 변환하여 의사결정을 지원하는 시스템
  • 객체지향 설계원칙 (SOLID)
    • SRP: 단일 책임
    • OCP: 닫힌 변경 열린 확장
    • LSP: 자식은 부모로 치환 가능
    • ISP: 인터페이스 쪼개기
    • DIP: 추상을 호출
  • 결합도(결합도 높은 순)
    • 내용 결합도: 타 모듈 내부의 기능을 사용. 제일 별로
    • 공통 결합도: 전역 변수와 상호작용
    • 외부 결합도: 아예 외부 모듈을 참조
    • 제어 결합도: 타 모듈의 기능 + 제어 요소까지 사용
    • 스탬프 결합도: 파라미터로 자료구조를 넘김
    • 자료 결합도: 파라미터로 값을 넘김
  • 응집도(응집도 낮은 순)
    • 우연적 응집도: 연관 없는 것들끼리 모음
    • 논리적 응집도: 유사한 성격
    • 시간적 응집도: 특정 시간에 처리되는 것들
    • 절차적 응집도: 관련된 요소들이 순차적으로 시행됨
    • 통신적 응집도: 동일한 입출력을 사용하는 활동이 모임
    • 순차적 응집도: 한 활동의 출력을 다른 활동의 입력으로 사용
    • 기능적 응집도: 모든 기능이 단일한 목적을 위함
  • 단위 모듈 핵심 원리
    • 정보 은닉: 모듈 내부 정보 은폐
    • 분할 정복: 복잡한 문제를 분해하여 모듈화
    • 데이터 추상화: 자료구조 데이터를 은폐
    • 모듈 독립성: 낮은 결합도와 높은 응집도를 갖게 함.
  • 배치(Batch) 프로그램: 일련의 작업을 묶어서 수행
    • 이벤트 배치: 조건 충족 시 수행
    • 온디맨드 배치: 명시적 요구가 있으면 수행
    • 정기 배치: 정해진 시점에 수행
  • APM: 애플리케이션 모니터링 툴
  • 소프트웨어 아키텍처 패턴
    • 계층화 패턴: 계층으로 구분
    • 클라이언트-서버 패턴
    • 파이프-필터 패턴: 데이터 스트림 처리
    • 브로커 패턴: 브로커 컴포넌트가 통신 조정
    • MVC 패턴
  • 고가용성: 장애 시 다른 시스템으로 빠르게 전환하는 기술
    • Hot Standby: 주서버와 백업서버가 동일. 문제 생기면 백업 구동
    • 상호 인수: 서버 두개 돌리고 하나 터지면 돌리기
    • 동시적 접근: 여러 서버가 업무를 병렬로 처리
  • 개발 방법론
    • 구조적 방법론: 기능에 따라 나누어 개발
    • 정보공학 방법론: 정보 시스템 개발
    • 객체지향 방법론: 기본 단위를 객체로 놓고 설계
    • 컴포넌트 기반 방법론: 컴포넌트 조립
    • 애자일: 신속함
    • 제품 계열 방법론: 임베디드 특화