본문 바로가기
Computer Science/정보처리기사

[정보처리기사-실기] 5장 인터페이스 구현

by eyi-jin 2022. 4. 26.

인터페이스 구현

순서
CH01 인터페이스 산출물
CH02 인터페이스 기능 구현
CH03 인터페이스 구현 검증

 

<CH01 인터페이스 산출물>

인터페이스 설계서(가장 큰 단위의 설계서)

이기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템이 교환되는 데이터, 업무, 송수진 주체 등이 정의된 문서
  • 상세기능 인터페이스 정의서: 상세기능 인터페이스 목록 + 상세기능 인터페이스 정의서
  • 시스템 인터페이스 정의서: 시스템 인터페이스 목록 + 시스템 인터페이스 정의서

인터페이스 정의서

송수진 정보 구체화, 인터페이스 상세 정보

인터페이스 명세서

컴포넌트 명세서에 명시된 인터페이스 클래스의 세부정보를 명시한 명세서

컴포넌트 명세서

컴포넌트 개요, 내부 클래스 동작, 인터페이스를 통해 외부와 통신하는 명세 정의

 

<CH02 인터페이스 기능 구현>

인터페이스 보안 취약점(입어 보니 시원한 애 코 캡)

  • 입력 데이터 검증 및 표현
  • 보안 기능
  • 시간 및 상태
  • 에러 처리
  • 코드 오류
  • 캡슐화
  • API오용

인터페이스 데이터 암호화 전송 보안 기술

  • IPSec(IP Security) : IP계층(3계층) 에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜
  • SSL/TLS: 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
  • S-HTTP(Secure Hypertext Transfer Protocol): 웹 상에서 네트워크 트래픽을 암호화하는 주요 방법, 클라이언트와 서버 간에 전송되는 모든 메세지를 암호화하여 전송

 

실기 기출 개념

  • JSON(Javascript Object Notation): 비동기식 브라우저/서버 통신을 위해 “속성-값”의 쌍으로 이루어진 오브젝트를 전달하기 위한 인간이 읽기 쉬운 텍스트를 사용하는 개방형 표준 포맷, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷
  • XML(eXtensible Markup Language): HTML의 단점을 보완한 언어, 특수한 목적을 갖는 마크업 언어
  • AJAX(Asynchronous Javascript And XML): 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하는 웹 기술
  • REST(Representational State Transfer) :URL 자원을 활용하여 HTTP 메서드를 주고받는 웹 아키텍처
    • REST 메서드(CRUD) : POST(생성), GET(조회), PUT(수정), DELETE(삭제)
  • 직렬화: 데이터구조나 오브젝트 상태를 다른 컴퓨터 환경에서 저장하고 재구성할 수 있는 포맷으로 변환하는 과정

 

데이터베이스 보안 적용

DB 암호화 알고리즘

  • 대칭키: 암호화와 복호화의 암호키 동일 ex) DES/AES/SEED-블록 암호화
  • 비대칭키: 암호화와 복호화의 암호키가 다르고, 비밀키는 소유자만 알 수 있게 사용함 ex) RSA-공개키,소인수분해/ECC/Elgamal
  • 해시: 해시 값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘 ex) MD5/SHA

DB 암호화 기법

  • API 방식: 애플리케이션 레벨에서 암호화 모듈 적용
  • Plug-In 방식: DBMS에서 Plug-In 모듈로 동작하는 방식
  • Hybrid방식: API방식과 Plug-In 방식의 장점을 합친 방식

데이터베이스 보안 기능 적용

  • 데이터베이스 접근 권한
  • 악의적 코드 삽입 금지
  • 민감 데이터 관리
  • 악의적 시도 시 에러 처리

<CH03 인터페이스 구현 검증>

인터페이스 구현 검증 프로세스

송신 측에서 인터페이스 대상 선택 전송 → 인터페이스 객체 전송 → 수신 측에서 수신 트랜잭션 결과 반환

테스트 프레임 워크(인터페이스 구현 검증 도구)

  • xUnit : 다양한 언어를 지원하는 단위 테스트 프레임워크
  • STAF: 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
  • FitNesse: 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크, 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대해 테스트를 할 수 있는 장점이 있음
  • NTAF: FitNesse의 장점인 협업 기능과 STAF 장점인 재사용 및 확장성을 통합한 NHN의 테스트 자동화 프레임워크
  • Selenium: 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
  • watir: Ruby를 사용하는 웹 애플리케이션 테스트 프레임워크, 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능

인터페이스 감시 도구

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

인터페이스 오류 처리 방법

  • 사용자 화면에 오류 인지하도록 구현
  • 인터페이스 오류 로그 생성
  • 인터페이스 관련 테이블에 오류사항 기록
  • 최초발생→ 오류 처리→ 완료

 

 
💡참고
블로그 기본 내용 정리: https://dustink.tistory.com/155
체계적으로 정리: https://ss-o.tistory.com/99

댓글