ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보처리기사 실기] 과목5 - 인터페이스 구현, 오답노트
    CS/정보처리기사 2023. 7. 10. 23:08
    반응형

     

     Chapter ① 인터페이스 설계 확인

     

    • 시스템 인터페이스 설계서 개념
    • 시스템 인터페이스 설계서는 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서이다.
    • 시스템의 인터페이스 현황 파악을 위해서 인터페이스 목록 및 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서이다.

     


     

    • 상세 기능별 인터페이스 명세서 주요 항목
    주요 항목 설명
    인터페이스 ID - 인터페이스를 구분하기 위한 식별자
    - 일반적으로 인터페이스 식별성을 강화하기 위해 업무 분류 코드와 연속번호를 같이 활용
    인터페이스 - 해당 인터페이스를 나타내는 고유 명칭
    오퍼레이션 - 해당 인터페이스의 세부 동작 명칭
    퍼레이션 - 해당 인터페이스의 세부 동작 프로세스에 대한 세부 설명
    조건 - 해당 인터페이스의 세부 동작이 정상적으로 작동하기 위한 사전에 완료되어야 하는 조건 기술
    조건 - 해당 인터페이스의 세부 동작이 정상적으로 작동된 이후에 발생되는 조건 기술
    라미터 - 인터페이스 구성 항목 값
    환 값 - 인터페이스 전송 후 반환되는 값

     


     

    • 송수신 시스템 간 인터페이스 데이터 표준 확인 절차

        1) 데이터 인터페이스 입·출력 의미 파악

            - 식별된 데이터 인터페이스의 입력값, 출력값이 의미하는 내용을 파악한다.

            - 각 출력값이 의미하는 바와 데이터의 특성 등 참고할 만한 사항을 구체적으로 작성한다.

        2) 데이터 인터페이스 입·출력 의미 파악을 통한 데이터 표준 확인

            - 데이터 인터페이스의 각 항목의 의미 분석 후, 이를 기반으로 데이터 표준을 확인한다.

        3) 인터페이스 기능을 통한 인터페이스 데이터 항목 식별

            - 식별된 인터페이스 기능을 통해 인터페이스 데이터 항목을 식별한다.

            - 필요 데이터 항목과 이전에 식별된 데이터 인터페이스 항목에서 수정, 추가, 삭제되어야 할 항목이 있는지 검토한다.

        4) 데이터 표준 최종확인

            - 식별된 인터페이스 기능 및 데이터 항목을 통해 필요한 데이터 표준 및 조정해야 할 항목을 검토 및 확인하고, 송·수신 시스템 간 인터페이스 데이터 표준을 최종적으로 확인한다.

     


     

    • 포인트 투 포인트(Point-to-Point)

            가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법

     


     

    • ESB(Enterprise Service Bus) 방식
    • ESB는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처이다.
    • ESB는 버스를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원한다.

     


     

    • XML(Extensible Markup Language)

            XML은 HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어이다.

    • XML의 특징

            - XML은 송·수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의한다.

            - 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어이다.

            - 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다.

     

     

    Chapter ② 인터페이스 기능 구현

     

    • 필요 데이터를 전달하는 인터페이스 절차
    기능 분석 결과
    인터페이스 데이터 전송 - 수신지 주소에 레스트 방식으로 전달될 수도 있으며 DB 커넥션을 이용하여 DB 프로시저, 트리거 등을 활용하여 전송
    인터페이스 데이터 수신 - 인터페이스 데이터를 수신한 후 데이터의 형식이 맞는지 점검
    - 각 규칙을 사전에 정의하고 이를 활용
    인터페이스 데이터 파싱 - 인터페이스 객체는 파서를 이용하여 파싱하거나 인터페이스 테이블에서 선택
    인터페이스 데이터 검증 - 각 세부 데이터의 포맷과 논리적인 제약조건의 오류 검사
    후속 기능 수행 - 각 세부 데이터를 활용해서 수신 시스템에서 정의된 동작을 진행

     


     

    • 인터페이스 구현

            인터페이스 구현 방법에는 데이터 통신을 사용하는 방법과 인터페이스 개체(Entity)를 사용하여 인터페이스를 구현하는 방법이 있다.

     

    데이터 통신을 사용하여 인터페이스를 구현

    방법 설명
    인터페이스 객체 생성 구현 - 인터페이스 객체를 생성하기 위해서 데이터베이스에 있는 정보를 SQL을 통하여 선택한 후 이를 제이슨(JSON)으로 생성
    인터페이스 객체 전송 후 전송
    결과를 수신 측에서 반환
    받도록 구현
    - 송신 측에서 제이슨으로 작성된 인터페이스 객체를 AJAX 기술을 이용하여 수신 측에 송신
    - 수신 측에서는 제이슨 인터페이스 객체를 수신받고 이를 파싱 후 처리
    - 수신 측의 처리 결괏값은 송신 측에 True / False 값을 전달하여 인터페이스 성공 여부를 확인 전달

     

    인터페이스 개체(Entity)를 사용하는 인터페이스 구현

    방법 설명
    송신 시스템의
    인터페이스 테이블
    - 송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목 구현
    - 인터페이스 이벤트 발생 시 인터페이스 테이블에 인터페이스 내용이 기록되도록 구현
    - 데이터 전송을 위해서 DB 커넥션(DB Connection)이 수신 측 인터페이스 테이블과 연계되도록 구현
    - 프로시저, 트리거, 배치 작업 등의 방법을 통해서 수신 테이블로 데이터를 전송하도록 구현
    수신 시스템의
    인터페이스 테이블
    - 수신 관련 정보를 관리하기 위한 항목과 수신 시스템에서 필요한 항목 구현
    - 수신 측 시스템에서는 인터페이스 데이터를 읽은 후 사전에 정의된 데이터 트랜잭션을 진행할 수 있도록 구현
    - 데이터를 읽을 때나 해당 트랜잭션이 진행될 때 오류가 발생하면 오류 코드 칼럼에 정의된 오류 코드와 오류 내용을 입력하도록 구현

     


     

    • JSON(Javascript Object Notation)의 개념

            JSON은 속성-값(Attribute-Value Pair) 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다.

     


     

    • AJAX의 주요 기술
    주요 기술 설명
    XMLHttpRequest - 웹 브라우저와 웹 서버 간에 메서드가 데이터를 전송하는 객체 폼의 API
    - 비동기 통신을 담당하는 자바스크립트 객체
    JavaScript - 객체 기반의 스크립트 프로그래밍 언어
    - 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능 소유
    XML
    (Extensible Markup
    Language)
    - HTML의 단점을 보완한 인터넷 언어로서 SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
    DOM
    (Document Object Model)
    - XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
    - 플랫폼/언어 중립적으로 구조화된 문서를 표현하는 객체 지향 모델
    XSLT
    (Extensible
    Stylesheet Language
    Transformations)
    - XML 문서를 다른 XML 문서로 변환하는 데 사용하는 XML 기반 언어
    - W3C에서 제정한 표준으로 XML 변환 언어를 사용하여 XML 문서로 바꿔주며, 탐색하기 위해 XPath를 사용
    HTML
    (HyperText Markup
    Language)
    - 인터넷 웹(WWW) 문서를 표현하는 표준화된 마크업 언어
    CSS
    (Cascading Style Sheets)
    - 마크업 언어가 실제 표시되는 방법을 기술하는 언어
    - 운영체제나 사용 프로그램과 관계없이 글자 크기, 글자체, 줄 간격, 색상 등을 자유롭게 선택할 수 있는 스타일 시트

     


     

    • 레스트(REST)

            웹과 같은 분산 하이퍼 미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처이다.

     


     

    • 시큐어 코딩 가이드
    적용대상 보안 약점 대응 방안
    력데이터
    검증 및 표현
    프로그램 입력값에 대한 검증 누락 · 부적절한 검증, 잘못된 형식 지정 사용자 · 프로그램 입력 데이터에 대한 유효성 검증 체계를 수립하고 실패 시 처리 기능 설계 및 구현
    안 기능 보안 기능(인증, 접근 제어, 기밀성, 암호화, 권한 관리 등)의 부적절한 구현 인증 · 접근 통제, 권한 관리, 비밀번호 등의 정책이 적절하게 반영되도록 설계 및 구현
    간 및 상태 거의 동시에 수행 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태의 부적절한 관리 공유 자원의 접근 직렬화, 병렬 실행 가능 프레임워크 사용, 블록문 내에서만 재귀 함수 호출
    러 처리 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요 정보가 포함 에러 상황을 처리하지 않거나, 불충분하게 처리되어 중요 정보 유출 등 보안 약점 발생하지 않도록 시스템 설계 및 구현
    드 오류 개발자가 범할 수 있는 코딩 오류로 인해 유발 코딩 규칙 도출 후 검증 가능한 스크립트 구성과 경고 순위의 최상향 조정 후 경고 메시지 코드 제거
    슐화 가능성이 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출 디버거 코드 제거와 필수정보 외의 클래스 내 프라이빗(Private) 접근자 지정
    API 오용 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API의 사용 개발 언어별 취약 API 확보 및 취약 API 검출 프로그램 사용

     


     

    • 데이터베이스 암호화 알고리즘
    구분 설명
    대칭 키 암호화
    알고리즘
    암호화 알고리즘의 한 종류로, 암 · 복호화에 같은 암호 키를 쓰는 알고리즘을 의미
      예) ARIA 128/192/256, SEED
    비대칭 키 암호화
    알고리즘
    공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘
      예) RSA, ECC, ECDSA
    해시 암호화
    알고리즘
    해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
      예) SHA-256/384/512, HAS-160

     


     

    • 데이터베이스 암호화 기법
    구분 구성도 설명
    API
    방식
    - 애플리케이션 레벨에서 암호 모듈(API)을 적용하는 애플리케이션 수정 방식
    - 애플리케이션 서버에 암 · 복호화, 정책 관리, 키 관리 등의 부하 발생
    Plug-in
    방식
    - 암 · 복호화 모듈이 DB 서버에 설치된 방식
    - DB 서버에 암 · 복호화, 정책  관리, 키 관리 등의 부하 발생
    TDE
    방식
    - DB 서버의 DBMS 커널이 자체적으로 암 · 복호화 기능을 수행하는 방식
    - 내장되어 있는 암호화 기능(TDE: Transparent Data Encryption)을 이용
    Hybrid
    방식
    - API 방식과 Plug-In 방식을 결합하는 방식
    - DB 서버와 애플리케이션 서버로 부하 분산

     

     

    Chapter ③ 인터페이스 구현 검증

     

    • 인터페이스 구현 검증 도구
    도구 설명
    xUnit - 자바(jUnit), C++(cppUnit), .Net(nUnit) 등 다양한 언어를 지원하는 단위테스트 프레임워크
    - 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트할 수 있게 해주는 도구
    STAF - 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
    - 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구
    FitNesse - 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
    - 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대해 테스트를 할 수 있는 장점이 있음
    NTAF - FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크
    Selenium - 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
    - 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 도구를 제공
    watir - 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크
    - 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능

     


     

    • 인터페이스 감시 도구
    도구 설명
    스카우터(SCOUTER) 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공
    제니퍼(Jennifer) 애플리테이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어

     


     

    • 인터페이스 오류 처리 방법

        1) 사용자 면에서 오류를 인지하도록 구현

            - 사용자 화면에서 인터페이스 오류를 인지하도록 구현하는 방법은 가장 직관적으로 오류를 인지할 수 있는 방법이다.

            - 인터페이스 오류가 발생하였을 경우 알람 형태로 화면에 표시되며, 주로 실시간으로 데이터가 인터페이스 되는 경우에 사용된다.

        2) 인터페이스 오류 그 생성

            - 시스템 운영 로그에 인터페이스 오류 시 관련 오류 로그가 생성되도록 할 수 있다.

            - 인터페이스 오류의 자세한 내역을 알기 위해 사용되며, 시스템 관리자나 운영자가 오류 로그를 확인할 수 있다.

        3) 인터페이스 관련 이블에 오류 사항 기록

            - 테이블을 통한 인터페이스 기능을 구현할 경우나 인터페이스 트랜잭션 기록을 별도로 보관하는 경우에는 테이블에 오류 사항을 기록할 수 있다.

     

     

    Reference

     

    2022 수제비 정보처리기사 실기 (1권+2권 합본세트) - YES24

    NCS 기반으로 재구성한 합격비법서로 NCS 기반 반영 문제(예상문제, 단원종합문제, 모의고사, 2021년 기출문제)를 수골하였다. 2022년 합격을 위한 NCS 기반 모의고사, 궁극의 암기비법(두음 쌤)과 학

    www.yes24.com

     

     

     

    반응형
Designed by Tistory.