도서 개발 공부/정보 처리 기사 필기

2. 소프트웨어 개발 - 인터페이스 구현(모듈 간 공통 기능 및 데이터 인터페이스 확인 ~ 인터페이스 구현)

캐티시 2022. 4. 2. 23:55

65. 모듈 간 공통 기능 / 데이터 인터페이스

- 공통 기능 : 모듈의 기능 중에서 공통적으로 제공되는 기능

- 데이터 인터페이스 : 모듈 간 교환되는 데이터가 저장될 파라미터

  • 인터페이스 설계서에서 정의한 모듈의 기능을 기반으로 모듈 간 공통 기능과 데이터 인터페이스를 확인
  • 확인된 공통 기능 및 데이터 인터페이스는 모듈 간 연계가 필요한 인터페이스의 기능 식별에 이용됨

1) 인터페이스 설계서

: 시스템 간 데이터 교환 및 처리를 위한 정보(교환 데이터, 관련 업무, 송수신 시스템, etc.)를 정의한 문서

 

- 일반적인 인터페이스 설계서

: 시스템의 인터페이스 목록과 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서

  • 시스템 인터페이스 설계서 : 시스템 인터페이스 목록을 만들고 각 인터페이스의 상세 데이터 명세를 정의
  • 상세 기능별 인터페이스 명세서 : 각 기능의 세부 인터페이스 정보를 정의 (기능 개요, 사전/사후 조건, 인터페이스 데이터, 반환값, etc)

 

- 정적, 동적 모형을 통한 인터페이스 설계서

: 정적 모형 또는 동적 모형으로 각 시스템의 구성 요소를 표현한 다이어그램을 이용해 인터페이스를 설명하는 문서

  • 시스템 구성 요소 간 트랜잭션을 통해 해당 인터페이스가 어느 부분에 속하는지, 해당 인터페이스를 통해 상호 교환되는 트랜잭션의 종류는 무엇인지 파악 가능

 

2) 모듈 간 공통 기능 및 데이터 인터페이스 개요 확인 순서

1. 인터페이스 설계서를 통해 모듈별 기능 확인

: 인터페이스 설계서에 정의된 모듈을 기반으로 각 모듈의 기능을 외부 모듈/내부 모듈로 나누어 확인

외부 모듈 확인 문서 내부 모듈
- 송신 및 전달 부분 시스템 인터페이스 목록 - 수신 부분
- 데이터 송신 시스템 시스템 인터페이스 설계서 - 데이터 수신 시스템
- 정적, 동적 모형을 통한
인터페이스 설계서
- 인터페이스 영역을 기준으로 상위, 하위 모듈

 

2. 확인한 외부/내부 모듈을 기반으로 공통 기능과 데이터 인터페이스 확인

- 외부/내부 모듈 기능에서 공통적으로 제공되는 기능 확인

내부 모듈과 외부 모듈 간 공통 기능 확인의 예시

- 외부/내부 모듈의 기능과 공통 기능을 기반으로 필요한 데이터 인터페이스 항목 확인

내부 모듈과 외부 모듈의 기능, 이 모듈들 간 공통 기능을 기반으로 한 데이터 인터페이스 확인의 예시


66. 모듈 연계

: 내부 모듈과 외부 모듈 사이 또는 내부 모듈들 사이에 데이터 교환을 위해 관계를 설정하는 것

 

- EAI 방식 (Enterprise Application Integration)

: 기업 내 각종 애플리케이션 및 플랫폼 간에 상호 연동이 가능하도록 하는 솔루션

  • 비즈니스 간 통합 및 연계성을 증대시켜 효율성과 각 시스템 간 확정성을 높임
  • EAI의 구축 유형

 

- ESB 방식 (Enterprise Service Bus)

: 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등의 표준 기반 인터페이스를 제공하는 솔루션

ESB 방식의 간단한 구조도

  • 애플리케이션 통합 측면에서는 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을 이용한 인터페이스 구현

  1. 인터페이스 객체를 생성할 데이터를 각 시스템 및 환경에 맞게 선택
  2. 선택한 데이터를 JSON을 이용하여 인터페이스 객체로 생성
  3. 송신 측은 JSON을 통해 생성한 객체를 AJAX 등을 이용해 수신 측으로 전송
  4. 수신 측에서는 받은 객체를 파싱 및 처리하고 쳐리 결과를 송신 측에 전달

 

2. 인터페이스 엔티티를 이용한 인터페이스 구현

: 인터페이스가 필요한 시스템 사이에서 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식

  • 일반적으로 인터페이스 테이블을 엔티티로 사용
  • 인터페이스 테이블은 한 개를 만들거나 송신/수신 테이블 하나씩을 만들어 활용
  • 테이블의 구조는 일반적으로 같으나 상황에 따라 서로 다르게 설계하는 것이 가능

 

인터페이스 테이블을 이용한 인터페이스 구현

  1. 인터페이스 이벤트가 발생하면 테이블에 인터페이스 데이터를 기록
  2. 송신 측은 정해진 주기에 따라 인터페이스 테이블의 데이터를 전송
  3. 수신 측은 정해진 주기에 따라 인터페이스 테이블의 데이터를 읽음
  4. 수신 측은 테이블에서 데이터를 읽고 사전에 정의된 데이터 트랜잭션을 수행