2. 소프트웨어 개발 - 인터페이스 구현(모듈 간 공통 기능 및 데이터 인터페이스 확인 ~ 인터페이스 구현)
65. 모듈 간 공통 기능 / 데이터 인터페이스
- 공통 기능 : 모듈의 기능 중에서 공통적으로 제공되는 기능
- 데이터 인터페이스 : 모듈 간 교환되는 데이터가 저장될 파라미터
- 인터페이스 설계서에서 정의한 모듈의 기능을 기반으로 모듈 간 공통 기능과 데이터 인터페이스를 확인
- 확인된 공통 기능 및 데이터 인터페이스는 모듈 간 연계가 필요한 인터페이스의 기능 식별에 이용됨
1) 인터페이스 설계서
: 시스템 간 데이터 교환 및 처리를 위한 정보(교환 데이터, 관련 업무, 송수신 시스템, etc.)를 정의한 문서
- 일반적인 인터페이스 설계서
: 시스템의 인터페이스 목록과 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서
- 시스템 인터페이스 설계서 : 시스템 인터페이스 목록을 만들고 각 인터페이스의 상세 데이터 명세를 정의
- 상세 기능별 인터페이스 명세서 : 각 기능의 세부 인터페이스 정보를 정의 (기능 개요, 사전/사후 조건, 인터페이스 데이터, 반환값, etc)
- 정적, 동적 모형을 통한 인터페이스 설계서
: 정적 모형 또는 동적 모형으로 각 시스템의 구성 요소를 표현한 다이어그램을 이용해 인터페이스를 설명하는 문서
- 시스템 구성 요소 간 트랜잭션을 통해 해당 인터페이스가 어느 부분에 속하는지, 해당 인터페이스를 통해 상호 교환되는 트랜잭션의 종류는 무엇인지 파악 가능
2) 모듈 간 공통 기능 및 데이터 인터페이스 개요 확인 순서
1. 인터페이스 설계서를 통해 모듈별 기능 확인
: 인터페이스 설계서에 정의된 모듈을 기반으로 각 모듈의 기능을 외부 모듈/내부 모듈로 나누어 확인
외부 모듈 | 확인 문서 | 내부 모듈 |
- 송신 및 전달 부분 | 시스템 인터페이스 목록 | - 수신 부분 |
- 데이터 송신 시스템 | 시스템 인터페이스 설계서 | - 데이터 수신 시스템 |
- | 정적, 동적 모형을 통한 인터페이스 설계서 |
- 인터페이스 영역을 기준으로 상위, 하위 모듈 |
2. 확인한 외부/내부 모듈을 기반으로 공통 기능과 데이터 인터페이스 확인
- 외부/내부 모듈 기능에서 공통적으로 제공되는 기능 확인
- 외부/내부 모듈의 기능과 공통 기능을 기반으로 필요한 데이터 인터페이스 항목 확인
66. 모듈 연계
: 내부 모듈과 외부 모듈 사이 또는 내부 모듈들 사이에 데이터 교환을 위해 관계를 설정하는 것
- EAI 방식 (Enterprise Application Integration)
: 기업 내 각종 애플리케이션 및 플랫폼 간에 상호 연동이 가능하도록 하는 솔루션
- 비즈니스 간 통합 및 연계성을 증대시켜 효율성과 각 시스템 간 확정성을 높임
- EAI의 구축 유형
- ESB 방식 (Enterprise Service Bus)
: 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등의 표준 기반 인터페이스를 제공하는 솔루션
- 애플리케이션 통합 측면에서는 EAI와 유사하나, 애플리케이션 보다는 서비스 중심의 통합 지향
- 범용적 서비스를 위해 애플리케이션과의 결합도를 약하게 유지 (Loosely Coupled)
- 관리 및 보안 유지가 쉽고 높은 수준의 품질 지원 가능
1) 모듈 간 연계 기능 식별
: 모듈 간 공통 기능과 데이터 인터페이스를 기반으로 모듈과 연계된 기능을 시나리오 형태로 구체화하여 식별
- 식별된 연계 기능은 인터페이스 기능 식별에 이용됨
2) 모듈 간 인터페이스 기능 식별
: 식별된 모듈 간 관련 기능을 검토하여 인터페이스 동작에 필요한 기능 식별
- 외부 모듈/인터페이스 모듈 간 기능을 통해 인터페이스 기능 식별
- 업무에 대한 시나리오를 통해 내부 모듈 관련 인터페이스 기능 식별
- 위의 과정으로 식별된 인터페이스 기능 중에서 실제로 필요한 인터페이스 기능을 최종적으로 선별
- 식별된 인터페이스 기능은 인터페이스 기능 구현 정의에 이용됨
67. 인터페이스 데이터 표준
: 모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화하는 것
- 기존의 데이터 중에서 공통 영역을 추출하거나, 공통 영역이 없는 경우 어느 한 쪽의 데이터를 변환하여 정의
- 확인된 인터페이스 표준은 인터페이스 기능 구현 정의에 이용됨
1) 인터페이스 데이터 표준 확인 순서
1. 데이터 인터페이스 확인
: 데이터 인터페이스를 통해 입력/출력 값의 의미, 데이터의 특성 등 인터페이스 데이터 표준을 확인
- 확인된 데이터 인터페이스의 각 항목을 통해 데이터 표준 확인
2. 인터페이스 기능 확인
: 식별된 인터페이스 기능을 통해 인터페이스 기능 구현에 필요한 데이터 항목을 확인
- 확인된 데이터 항목과 데이터 표준에서 수정, 추가, 삭제할 항목이 있는지 검토
3. 인터페이스 데이터 표준 확인
: 데이터 인터페이스와 인터페이스 기능을 통해 확인한 데이터 표준 및 항목을 검토하여 최종적으로 인터페이스 데이터 표준을 확인
- 확인된 데이터 표준은 항목별로 데이터 인터페이스와 인터페이스 기능 중 출처를 구분해 기록
68. 인터페이스 기능 구현 정의
: 인터페이스를 실제로 구현하기 위해 인터페이스 기능에 대한 구현 방법을 기능별로 기술한 것
1) 모듈 세부 설계서
:모듈의 구성 요소와 세부적인 동작 등을 정의한 설계서
- 컴포넌트 명세서
: 컴포넌트의 개요, 내부 클래스 동작, 인터페이스를 통한 외부와의 통신 등을 정의한 문서
- 컴포넌트 명세서 포함 항목
- 컴포넌트 ID 및 이름
- 컴포넌트 개요
- 내부 클래스 설명 (내부 클래스 ID 및 이름, 클래스 설명)
- 인터페이스 클래스 설명 (클래스 ID 및 이름, 오퍼레이션 셜명)
- 인터페이스 명세서
: 컴포넌트 명세서의 항목 중 인터페이스 클래스의 세부 조건 및 기능 등을 정의한 문서
- 인터페이스 명세서 포함 항목
- 인터페이스 ID 및 이름
- 오퍼레이션 이름 및 개요
- 사전 조건과 사후 조건
- 파라미터
- 반환값
1) 인터페이스 기능 구현 정의 순서
1. 모듈 세부 설계서 확인
: 컴포넌트 명세서와 인터페이스 명세서를 확인하여 인터페이스에 필요한 기능을 확인
- 컴포넌트 명세서를 통해 컴포넌트의 주요 기능과 인터페이스에 필요한 주요 기능 확인
- 인터페이스 명세서를 통해 인터페이스의 기능과 세부 조건 확인
2. 인터페이스 기능 구현 정의
: 인터페이스 기능, 인터페이스 데이터 표준, 모듈 세부 설계서를 기반으로 인터페이스 기능 구현을 정의
- 일관성 있는 인터페이스 기능 구현 정의
- 정의한 인터페이스 기능 구현에 대해 송수신 측에서 진행해야 할 절차까지 다시 세부적으로 정의
3. 인터페이스 기능 구현 정형화
: 정의한 인터페이스 기능 구현을 특정 하드웨어나 소프트웨어에 의존적이지 않도록 표준화 및 정형화함
- 가독성을 높이기 위해 프로세스 형태나 유스케이스 다이어그램 형태로 정형화
69. 인터페이스 구현
: 송수신 시스템 간 데이터 교환 및 처리를 실현해주는 작업
- 정의된 인터페이스 기능 구현을 기반으로 인터페이스 구현 방법 분석
- 분석한 인터페이스 구현 방법으로 인터페이스 구현
- 인터페이스 구현 방법
1. 데이터 통신을 이용한 인터페이스 구현
: 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 수신 측에서 이를 파싱하여 해석하는 방식
- JSON : 속성-값의 쌍으로 이루어진 데이터 객체를 전달하기 위해 텍스트를 사용하는 개방형 표준 포맷
- XML : 특수 목적의 마크업 언어를 만드는데 이용되는 다목적 마크업 언어
- AJAX : 자바 스크립트 등을 이용해 클라이언트와 서버 간 XML 데이터를 교환 및 제어하여 사용자와 웹 페이지가 자유롭게 상호 작용할 수 있도록 하는 비동기 통신 기술
※ JSON을 이용한 인터페이스 구현
- 인터페이스 객체를 생성할 데이터를 각 시스템 및 환경에 맞게 선택
- 선택한 데이터를 JSON을 이용하여 인터페이스 객체로 생성
- 송신 측은 JSON을 통해 생성한 객체를 AJAX 등을 이용해 수신 측으로 전송
- 수신 측에서는 받은 객체를 파싱 및 처리하고 쳐리 결과를 송신 측에 전달
2. 인터페이스 엔티티를 이용한 인터페이스 구현
: 인터페이스가 필요한 시스템 사이에서 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식
- 일반적으로 인터페이스 테이블을 엔티티로 사용
- 인터페이스 테이블은 한 개를 만들거나 송신/수신 테이블 하나씩을 만들어 활용
- 테이블의 구조는 일반적으로 같으나 상황에 따라 서로 다르게 설계하는 것이 가능
※ 인터페이스 테이블을 이용한 인터페이스 구현
- 인터페이스 이벤트가 발생하면 테이블에 인터페이스 데이터를 기록
- 송신 측은 정해진 주기에 따라 인터페이스 테이블의 데이터를 전송
- 수신 측은 정해진 주기에 따라 인터페이스 테이블의 데이터를 읽음
- 수신 측은 테이블에서 데이터를 읽고 사전에 정의된 데이터 트랜잭션을 수행