각 모듈의 세부 설계서를 확인하여 인터페이스에 필요한 기능을 확인함
컴포넌트 명세서
컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의
인터페이스 명세서
컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서
인터페이스 명칭, 사전 조건 및 사후 조건, 인터페이스 데이터 및 완료 후 성공 여부 반환값 등이 정의되어 있음
분석된 인터페이스 기능, 데이터 표준, 모듈 설계 명세서를 통해 일관되고 정형화된 인터페이스의 기능을 정의
특정 하드웨어나 소프트웨어에 의존적이지 않게 작성하고, 가독성을 높이기 위해 프로세스 형태나 유스케이스 다이어그램의 형태로 작성함
상세하게 정의된 기능 구현 정의 내용을 토대로 어떻게 구현할 것인지를 분석함
데이터 통신을 사용하는 인터페이스 구현
인터페이스 객체 생성 구현
인터페이스 객체를 생성하기 위해 데이터베이스에 있는 정보를 SQL을 통해 선택한 후 이를 제이슨으로 생성
인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환받도록 구현
송신 측에서 제이슨으로 작성된 인터페이스 객체를 AJAX 기술을 이용해 수신 측에 송신하면, 수신 측에서는 제이슨 인터페이스 객체를 받아 파싱 후 처리하고 결괏값을 송신 측에 True/False로 전달함
인터페이스 객체를 사용하는 인터페이스 구현
송신 시스템의 인터페이스 테이블
송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목을 구현
수신 시스템의 인터페이스 테이블
수신 관련 정보를 관리하기 위한 항목과 수신 시스템에서 필요한 항목 구현
① 송신 측에서 처리
AJAX 호출 후 반환 값을 받아 어떻게 처리할지를 호출하는 부분에서 사전 정의
예외 원인 | 처리 방안 |
---|---|
네트워크 불안정 | POST 이후 에러 메시지를 확인 |
송신 데이터 생성 시 프로세스의 논리적 결함 | 프로세스에 따라 예상되는 예외를 알람을 통해 사용자에게 전달 |
② 수신 측에서 처리
수신한 JSON 객체를 처리 시에 try-catch 구문을 이용해 발생한 예외를 처리하고 이를 송신 측에 전달
예외 원인 | 처리 방안 |
---|---|
네트워크 및 서버 불안정 | 입력 대기 큐를 통해 요청을 쌓아 놓고 서버 정상 가동 시 동작할 수 있도록 처리 |
수신 데이터 정합성 체크 | 파싱 시 특수 문자는 오류가 나지 않는 문자로 대치한 후 재처리 |
수신 데이터 처리 시 프로그램의 논리적 결함 | 프로세스에 따라 예상되는 예외를 알람을 통해 사용자에게 전달 |
① 송신 측에서 처리
예외 발생 시 송신 인터페이스 테이블에 예외 유형에 따른 예외 코드와 상세한 원인을 함께 입력
예외 원인 | 처리 방안 |
---|---|
선택 SQL, 프로그램, 데이터 객체 생성 오류 | 사용자에게 오류 발생 시 알람, 예외 케이스가 재발하지 않도록 프로그램 개선 |
입력 SQL, 데이터 정합성 오류 | 사용자에게 실패 결과 알람, 입력 실패 결과와 원인을 인터페이스 테이블에 기록 |
DB 연계 오류 | 실패 결과 및 원인을 사용자, 관리자에게 메일을 통해 알림, 통신 결과를 읽어서 실패 결과와 원인을 인터페이스 테이블에 기록 |
② 수신 측에서 처리
예외 발생 시 사전에 정의된 예외 코드를 입력하고 사유를 함께 기록
예외 원인 | 처리 방안 |
---|---|
데이터 선택 시 오류 | 수신 측 사용자에게 예외 발생 알람 전송, 인터페이스 테이블에 예외 사항 기록 |
데이터 트랜잭션 시 프로그램의 논리상 오류 | 사용자에게 예외 알람 전송, 인터페이스 테이블에 예외 사항 기록 |
DB 연계 오류 | 예외 상황 발생을 송신자 및 수신자에게 메일을 통해 알림, 인터페이스 테이블에 예외 사항 기록 |
데이터 통신 시 스니핑을 통해 데이터 전송 내역을 감청하여 데이터를 탈취하는 위협
데이터 통신 시 전송 데이터에 대한 삽입, 삭제, 변조 공격을 통한 시스템 위협
인터페이스 개발 시 보안 취약점을 방지할 수 있게 시큐어 코딩 가이드에 따른 개발 수행이 필요함
기밀성을 유지하기 위해 인터페이스 시 활용되는 중요 데이터에 대해서는 필요한 보안 요구 사항을 적용함
민감한 정보를 통신 채널을 통하여 전송 시 반드시 암호화 및 복호화 과정을 거쳐야 하며 IPSec, SSL/TLS 등의 보안 채널을 활용함
송수신 영역의 구현 기술 및 특징에 대해 보안 취약점이 발생할 수 있는 영역을 구분하여 분석함
① 네트워크 구간에 대한 보안 기능 적용
인터페이스 송수신 간 중간자에 의한 데이터 탈취 및 위변조를 막기 위해 네트워크 트래픽에 대한 암호화를 적용하고 전송 구간 암호화를 구현함
② 애플리케이션 보안 기능 적용
애플리케이션 구현 코드 보안 취약점을 보완하는 방향으로 보안 기능을 적용함
③ 데이터베이스 보안 기능 적용
데이터베이스의 접근 권한 강화 및 데이터베이스 동작 객체의 보안 취약점 제거를 위해 보안 기능을 적용해야 함