경험

정보처리기사 실기 정리 4

NONAME DIALOG 2024. 10. 25. 14:48

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서

프로그래밍 언어 활용

자료 구조

  • 자료구조
    • 자료를 기억장치의 공간 내에 저장하는 방법과 관계, 처리 방법등을 연구 분석하는 것
    • 저장 공간의 효율성과 실행기간의 단축을 위해 사용함
    • 자료 구조의 분류
  • 배열
    • 크기와 타입이 동일한 자료들이 순서대로 나열된 자료의 집합
    • 정적인 자료구조로, 기억장소의 추가가 어려움
    • 데이터 삭제 시, 메모리 낭비가 발생함
  • 연속 리스트
    • 연속되는 기억장소에 저장되는 자료 구조
    • 데이터 삽입을 위해서 연속된 빈 공간이 있어야함
    • 삽입, 삭제 시 자료의 이동이 필요함
  • 연결 리스트
    • 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
    • 기억 공간의 효율이 좋지 않음
    • 접근 속도가 느리고, 연결이 끊어지면 다음 노드를 찾기 어려움
  • 스택
    • 리스트의 한 쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
    • 후입선출(LIFO)
    • 리스트의 한 쪽에서는 삽입, 다른 한쪽에서는 삭제 작업이 이루어지는 자료 구조
    • 선입선출(FIFO)
  • 그래프
    • 정점(Vertex)와 간선(Edge)의 두 집합으로 이루어진 자료 구조
    • 사이클이 없는 그래프를 트리라고 함
    • 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨
  • 방향/무방향 그래프의 최대 간선 수
    • 방향 그래프의 최대 간선 수: n(n-1)
    • 무방향 그래프에서 최대 간선 수: n(n-1)/2
    • ⇒ n == 정점의 개수
    • ex) 정점이 4개인 경우 무방향 그래프의 방향 그래프의 최대 간선 수를 구하시오.

트리

  • 트리
    • 트리는 정점(Node, 노드)과 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
  • 트리 관련 용어

이진 트리

  • 이진 트리
    • 차수가 2 이하인 노드들로 구성된 트리
    • 이진 트리의 레벨 i에서 최대 노드의 수는 2^(i-1)임
    • 터미널 노드 수는 n0, 차수가 2인 노드 수가 n2라 할때, n0 = n2 + 1이 됨
  • 트리의 운행법
    • 각 노드들을 찾아가는 방법을 운행법(Traversal)이라고 함
    • 산술식의 표기법과 연관성을 갖는다
    • 이진 트리의 운행법
  • Preorder 운행법
    • Root → Left → Right
  • Inorder 운행법
    • Left → Root → Right
  • Postorder 운행법
    • Left → Right → Root
  • 수식의 표기법
    • 인오더, 프리오더, 포스트오더로 운행하면 각 각 중위, 전위 후위 표기법이 됨
    • 전위 표기법
      • 연산자 → Left → Right, +AB
    • 중위 표기법
      • Left → 연산자 → Right, A+B
    • 후위 표기법
      • Left → Right → 연산자, AB+
  • Infix 표기를 Postfix나 Prefix로 바꾸기
    • Postfix나 Prefix는 스택을 이용하여 처리하므로 Infix는 Postfix나 Prefix로 바꾸어 처리함
    • 예) 다음과 같이 Infix로 표기된 수식을 Prefix나 Postfix로 변환하시오
  • Postfix나 Prefix로 표기된 수식을 Infix로 바꾸기
    • 예) 다음과 같이 Postfix로 표기된 수식을 Infix로 변환하시오.

정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
    • 평균과 최악 모두 시간 복잡도는 O(n^2)이다.
    • 예) 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오
  • 선택 정렬
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
    • 평균, 최악 모두 시간 복잡도는 O(n^2)이다.
  • 버블 정렬
    • 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
    • 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.
  • 쉘 정렬
    • 매개 변수의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 정렬 방식
    • 삽입 정렬을 확장한 개념
    • 평균 시간 복잡도는 O(n^1.5)이고, 최악의 경우는 O(n^2)이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 정렬 방식
    • 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬함
    • 평균 시간 복잡도는 O($nlog_2n$)이고, 최악의 경우는 O(n^2)이다.
  • 힙 정렬
    • 전이진 트리를 이용한 정렬 방식
    • 전이진 트리를 Heap Tree로 변환하여 정렬함
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 2-Way 합병 정렬
    • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식
    • 평균, 최악 모두 O($nlog_2n$)이다.
  • 기수 정렬
    • Queue를 이용하여 자릿수별로 정렬하는 방식
    • 키 값을 분석하여 같은 수 또는 같은 문자끼리 그 순서에 맞게 버킷에 분배하였다가 순서대로 레코드를 꺼내어 정렬
    • 평균, 최악 모두 O(dn)이다.

통합 구현

  • 통합 구현
    • 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미
    • 사용자의 요구사항과 구축 환경에 적합한 방식을 설계
    • 일반적인 통합 구현은 송,수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성됨
  • 통합 구현의 구성 요소
    • 송신 모듈: 전송 데이터를 생성하고 전송 데이터의 변환 등을 수행함 | | --- | --- | | 수신 시스템과 모듈 | - 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템으로, 수신 모듈과 모니터링 기능으로 구성됨
    • 수신 모듈: 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환 | | 중계 시스템 | 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처 | | 연계 데이터 | 송,수신 시스템 간 송,수신되는 데이터 | | 네트워크 | 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망 |
  • | 송신 시스템과 모듈 | - 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
  • 통합 구현의 개념도
  • 연계 요구사항 분석
    • 통합 구현을 위해 사용자의 요구사항을 분석하여 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
    • 연계 요구사항 분석 절차
      1. 하드웨어 및 소프트웨어 구성, 네트워므 현황 확인
      2. 테이블 정의서, 코드 정의서 등의 문서 확인
      3. 체크리스트 작성
      4. 관련 문서 공유 및 인터뷰, 설문 조사 실시
      5. 요구사항 정의서 작성
  • 연계 데이터 식별 및 표준화 절차
    1. 연계 범위 및 항목 정의
      1. 위 테이블만 제공하는 것이 아니라, 아래의 부서코드 직급코드가 어떻게 테이블로 정의 되어있는지 알려줘야함
      2. 시스템 간 연계할 정보를 상세화하여 정의
    2. 연계 코드 변환 및 매핑
      1. 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환
    3. 연계 데이터 식별자와 변경 구분 추가
      1. 각 테이블별로 식별자(위는 사번, 왼쪽은 부서코드 오른쪽은 직급코드)가 존재
      2. 데이터 구분 식별자, 작업 구분 정보, 테이블/파일 관리 정보 등을 추가
    4. 연계 데이터 표현 방법 정의
      1. 연계 대상 범위, 대상 항목, 코드 변환 방식, 매핑 방식을 정의한 후 연계 데이터 구성
    5. 연계 정의서 및 명세서 작성
      1. 문서화

연계 매커니즘

  • 연계 매커니즘
    • 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성
    • 데이터 송,수신과 송,수신 시스템 현황을 모니터링하는 중계시스템을 설치할 수 있음
    • 연계 매커니즘의 연계 방식
      • 종류: DB Link, API/Open API, DB Connection, JDBC 등 | | --- | --- | | 간접 연계 방식 | - 중간 매개체 있음
      • 종류: 연계 솔루션, ESB, 소켓, 웹 서비스 등 |
    • | 직접 연계 방식 | - 중간 매개체 없음
  • 연계 매커니즘의 과정
  • 연계 메커니즘의 구성연계 데이터 생성 및 추출 응용 시스템에서 연계 데이터를 생성하고 추출하는 과정
    코드 매핑 및 데이터 변환 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 과정
    인터페이스 테이블 또는 파일 생성 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 과정
    로그 기록 송,수신 시스템에서 수행되는 모든 과정에 관한 결과 및 오류에 대한 정보를 파일에 기록하는 과정
    연계 서버 또는 송,수신 어댑터 - 연계 서버: 전송 형식에 맞게 변환하고 송,수신을 수행
    • 송신 어댑터: 인터페이스 테이블 또는 파일의 전송 형식에 맞도록 변환 및 송신 수행
    • 수신 어댑터: 수신 데이터를 인터페이스 테이블이나 파일로 생성 | | 전송 | 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것 | | 운영 DB에 연계 데이터 반영 | 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 과정 |

연계 장애 및 오류처리 구현

  • 연계 매커니즘 구간별 장애 및 오류 모니터링 현환
    • 오류 발생 시점, 로그 기록 장소 로그 기록 주체는 송, 수신 시스템, 연계 서버 구간으로 구분됨
    • 구간 별 주요 오류 발생 시점구간 오류 발생 시점
      송신 시스템 - 데이터 생성 및 추출 시
      • 인터페이스 테이블 또는 파일 등록 시 | | 수신 시스템 | - 연계 데이터 로드 시
      • 운영 DB 반영 시 | | 연계 서버 | - 연계 데이터 로드 및 전송 형식으로 변환 시
      • 연계 데이터 송, 수신 시
      • 수신 시스템의 데이터 형식으로 변환 및 로드 시 |
  • 장애 및 오류 유형과 처리 방안
    • 장애 및 오류 유형의 분류
      • 연계 프로그램 오류
      • 연계 서버의 오류
      • 연계 데이터의 오류
    • 로그를 통해 장애 및 오류 원인을 확인하고 분석하여 처리방안 선택
  • 장애 및 오류의 확인과 처리 절차
    • 1차적으로 연계 서버에서 장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인
    • 1차에서 확인이 불가능한 경우 그 테이블 또는 파일을 확인하여 오류 원인을 분석
  • 장애 및 오류의 정의와 설계항목 내용
    장애 및 오류 관리 대상 장애 및 오류를 관리 대상으로 정의함
    관리 대상의 장애 및 오류 코드와 메시지 식별한 오류 주제별로 분류한 후 오류 코드를 부여하고 오류 메시지를 정의함
    장애 및 오류 코드와 메시지 관리 방식 많은 경우에는 테이블 관리 방식을, 적은 경우에는 파일 관리 방식 선택함
    장애 및 오류 기록방식 테이블이나 파일은 인터페이스 테이블이나 파일에 대한 로그, 연계 데이터에 대한 로그로 설계함

연계 데이터 보안 적용

  • 연계 데이터 보안
    • 수신 시스템으로 전송되는 연계데이터는 중요성을 고려하여 보안을 적용해야함
    • 일반적인 연계 데이터의 보안 방식
      • 전송 구간 보안
      • 데이터 보안
  • 전송 구간 보안
    • 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용함
  • 데이터 보안
    • 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암,복호화 하는 것
    • 데이터의 암,복호화 처리 절차
      • 송신 시스템(암호화)
        1. DB에서 연계 데이터 추출
        2. 보안 적용 대상 컬럼을 암호화
        3. 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신
      • 수신 시스템(복호화)
        1. 수신된 데이터 중 암호화된 컬럼을 복호화
        2. 운영 DB에 반영
  • 암,복호화 적용 절차
    1. 암호화 적용 대상, 암호화 알고리즘, 암호화 키 설정
    2. 암호화 적용 대상 컬럼의 데이터 길이 변경
    3. 암호화 알고리즘 라이브러리 확보 및 설치
    4. 연계 응용 프로그램에서 암, 복호화 처리 수행

XML

  • XML(eXtensible Markup Language)
    • 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
    • HTML 문법이 호환되지 않는 문제 해결 , SGML의 복잡함을 해결
    • 사용자가 직접 문서의 태그를 정의할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음
    • 트리 구조로 구성, 상위 태그는 여러 개의 하위태그를 가질 수 있음
  • SOAP(Simple Object Access Protocol)
    • 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약
    • 메시지 형식과 처리 방법을 지정함
    • 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있음
    • 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 함
  • WSDL(Web Services Description Language)
    • 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
    • XML로 작성되며, UDDI의 기초
    • 인터넷에서 웹 서비스를 제공하기 위해 사용
    • WSDL 파일을 읽어 어떤 조작이 가능한지 파악 가능

연계 테스트

  • 연계 테스트의 개요
    • 연계 시스템과 연계 시스템의 구성요소가 정상적으로 동작하는지 확인하는 활동
    • 연계 테스트 진행 순서