정보처리기사 - 인터페이스 구현 #85~91

2023. 8. 19. 12:21자격증/정보처리기사

85. 시스템 인터페이스 요구사항 분석

85.1 시스템 인터페이스 요구사항

개발할 시스템과 외부 시스템을 연동하는데 필요한 시스템 인터페이스에 대한 요구사항을 기술한 것
  • 시스템 인터페이스 : 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호 작용하기 위한 접속 방법이나 규칙
  • 시스템 인터페이스 요구사항 명세서의 구성 요소
    • 인터페이스 이름
    • 연계 대상 시스템
    • 연계 범위 및 내용
    • 연계 방식
    • 송신 데이터
    • 인터페이스 주기
    • 기타 고려사항

85.2 시스템 인터페이스 요구사항 분석

요구사항을 분류하고 구체적으로 명세한 후 이를 이해관계자에게 전달하는 일련의 과정
  • 소프트웨어 요구사항 분석 기법을 적절히 이용
  • 요구사항의 분해가 필요한 경우 적절한 수준으로 세분화
  • 요구사항 분석 시 누락된 요구사항이나 제한 조건을 추가
  • 요구사항에 대한 상대적 중요도를 평가하여 우선순위를 부여

85.3 시스템 인터페이스 요구사항 분석 절차

  1. 시스템 인터페이스 관련 요구사항 선별 및 별도의 요구사항 목록 제작
  2. 요구사항 관련 자료 준비
  3. 기능적 요구사항과 비기능적 요구사항으로 분류
  4. 요구사항 분석 및 요구사항 명세서에 내용 추가 또는 수정
  5. 추가·수정한 요구사항 명세서와 요구사항 목록을 관련 이해관계자에게 전달

86. 인터페이스 요구사항 검증

86.1 인터페이스 요구사항 검증

사용자들의 요구사항이 요구사항 명세서에 정확하고 완전하게 기술되었는지 검토하고 개발 범위의 기준인 베이스라인을 설정하는 것
  • 인터페이스 요구사항 검증 수행 순서

<인터페이스 요구사항 검증 수행 순서>

86.2 요구사항 검증 방법

  • 요구사항 검토(Requirements Review) : 요구사항 명세서의 오류 확인 및 표준 준수 여부 등의 결함 여부를 검토 담당자들이 수작업으로 분석하는 방법
방법 내용
동료 검토
(Peer Review)
요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 형태의 검토 방법
워크스루
(Walk Through)
검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법
인스펙션
(Inspection)
요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법
  • 프로토타이핑(Prototyping) : 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측
  • 테스트 설계 : 요구사항은 테스트할 수 있도록 작성되어야 하며, 이를 위해 테스트 케이스를 생성하여 요구사항이 현실적으로 테스트 가능한지를 검토
  • CASE 도구 활용 : 일관성 분석(Consistency Analysis)을 통해 요구사항 변경사항의 추적, 분석, 관리, 표준 준수 여부를 확인
  • 종류별 핵심 키워드
종류 키워드
동료 검토 작성자가 명세서 내용을 직접 설명
워크스루 명세서를 미리 검토
인스펙션 검토 전문가들이 명세서 확인
프로토타이핑 견본품(Prototype)을 통한 결과물 예측
테스트 설계 테스트 케이스를 생성
CASE 도구 일관성 분석, 추적 및 분석, 관리

86.3 인터페이스 요구사항 검증의 주요 항목

항목 내용
완전성
(Completeness)
사용자의 모든 요구사항이 누락되지 않고 완전하게 반영되어 있는가?
일관성
(Consistency)
요구사항이 모순되거나 충돌되는 점 없이 일관성을 유지하고 있는가?
명확성
(Unambiguity)
모든 참여자가 요구사항을 명확하게 이해할 수 있는가?
기능성
(Functionality)
요구사항이 '어떻게(How to)'보다 '무엇을(What)'에 중점을 두고 있는가?
검증 가능성
(Verifiability)
요구사항이 사용자의 요구를 모두 만족하고, 개발된 소프트웨어가 사용자의 요구 내용과 일치하는지를 검증할 수 있는가?
추적 가능성
(Traceability)
요구사항 명세서와 설계서를 추적할 수 있는가?
변경 용이성
(Easily Changeable)
요구사항 명세서의 변경이 쉽도록 작성되었는가?

87. 인터페이스 시스템 식별

87.1 인터페이스 시스템 식별

인터페이스별로 인터페이스에 참여하는 시스템들을 송신 시스템과 수신 시스템으로 구분하여 작성하는 것

87.2 인터페이스 시스템 식별을 위한 선행 작업

작업 내용
개발 시스템과 내·외부 시스템 식별 개발할 시스템과 이와 연결할 내·외부 시스템의 상세 식별 정보를 정의하고 목록을 작성
내·외부 시스템 환경 관리 및 관리 주체 식별 - 내·외부 시스템의 실제 운용할 환경과 하드웨어 관리 주체를 확인
- 내·외부 시스템 환경 : 연계할 시스템 접속에 필요한 IP 또는 URL, Port 정보 등 시스템의 실제 운용 환경
- 내·외부 시스템 관리 주체 : 하드웨어 관리 담당자
내·외부 시스템 네트워크 연결 정보 식별 내·외부 시스템을 연계하는데 필요한 시스템 로그인 및 데이터베이스 정보 등의 네트워크 연결 정보를 확인
인터페이스 식별 개발할 시스템과 연계할 내·외부 시스템 사이의 인터페이스를 식별하고 인터페이스 목록을 작성
  • 데이터베이스 정보 : 데이터베이스 연계 시 필요한 DBMS 유형, DBMS 로그인 정보 등을 의미
  • 인터페이스 식별 : 인터페이스 요구사항 명세서와 인터페이스 요구사항 목록을 기반으로 함

88. 송·수신 데이터 식별

88.1 식별 대상 데이터

송·수신 시스템 사이에서 교환되는 데이터로, 규격화된 표준 형식에 따라 전송
  • 교환되는 데이터의 종류
    • 인터페이스 표준 항목
    • 송·수신 데이터 항목
    • 공통 코드

88.2 인터페이스 표준 항목

송·수신 시스템을 연계하는데 표준적으로 필요한 데이터
  • 인터페이스 표준 항목은 시스템 공통부와 거래 공통부로 나뉨
구분 내용
시스템 공통부 - 시스템 간 연동 시 필요한 공통 정보
- 구성 정보 : 인터페이스 ID, 전송 시스템 정보, 서비스 코드 정보, 응답 결과 정보, 장애 정보 등
거래 공통부 - 시스템들이 연동된 후 송·수신되는 데이터를 처리할 때 필요한 정보
- 구성 정보 : 직원 정보, 승인자 정보, 기기 정보, 매체 정보 등

88.3 송·수신 데이터 항목

송·수신 시스템이 업무를 수행하는 데 사용하는 데이터
  • 전송되는 데이터 항목과 순서는 인터페이스별로 다름

88.4 공통 코드

시스템들에서 공통으로 사용하는 코드
  • 연계 시스템이나 연계 소프트웨어에서 사용하는 상태 및 오류 코드 등의 항목에 대해 코드값과 코드명, 코드 설명 등을 공통 코드로 관리

88.5 정보 흐름 식별

개발할 시스템과 내·외부 시스템 사이에서 전송되는 정보들의 방향성을 식별
  • 개발할 시스템과 내·외부 시스템에 대한 각각의 인터페이스 목록을 확인하여 정보 흐름을 식별
  • 식별한 정보 흐름을 기반으로 송·수신 시스템 사이에서 교환되는 주요 데이터 항목이나 정보 그룹을 도출

88.6 송·수신 데이터 식별

개발할 시스템과 연계할 내·외부 시스템 사이의 정보 흐름과 데이터베이스 산출물을 기반으로 식별
  • 송·수신 데이터의 종류에 따라 다음과 같이 식별
    • 인터페이스 표준 항목과 송·수신 데이터 항목 식별 : 송·수신 시스템 사이의 교환 범위를 확인하고 인터페이스 표준 항목에 대해 송·수신 데이터 항목을 식별
    • 코드성 데이터 항목 식별 : 코드성 데이터 항목에 대해 코드, 코드명, 코드 설명 등의 코드 정보를 식별

89. 인터페이스 방법 명세화

89.1 인터페이스 방법 명세화

내·외부 시스템이 연계하여 작동할 때 인터페이스별 송·수신 방법, 송·수신 데이터, 오류 식별 및 처리 방안에 대한 내용을 문서로 정리하는 것
구분 내용
송·수신 방법 명세화 내·외부 인터페이스 목록에 있는 각각의 인터페이스에 대해 연계 방식, 통신 및 처리 유형, 발생 주기 등의 송·수신 방법을 정의하고 명세를 작성하는 것
송·수신 데이터 명세화 내·외부 인터페이스 목록에 있는 각각의 인터페이스에 대해 인터페이스 시 필요한 송·수신 데이터에 대한 명세를 작성하는 것
오류 식별 및 처리 방안 명세화 내·외부 인터페이스 목록에 있는 각각의 인터페이스에 대해 인터페이스 시 발생할 수 있는 오류를 식별하고 오류 처리 방안에 대한 명세를 작성하는 것
  • 인터페이스별로 송·수신 방법을 명세화하기 위해 필요한 정보
    • 시스템 연계 기술
    • 인터페이스 통신 유형
    • 처리 유형
    • 발생 주기

89.2 시스템 연계 기술

기술 내용
DB Link DB에서 제공하는 DB Link 객체를 이용하는 방식
API/Open API 송신 시스템의 데이터베이스(DB)에서 데이터를 읽어 와 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램
연계 솔루션 EAI 서버와 송·수신 시스템에 설치되는 클라이언트(Client)를 이용하는 방식
Socket 서버가 통신을 위한 소켓(Socket)을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술
Web Service 웹 서비스(Web Service)에서 WSDL, UDDI, SOAP 프로토콜을 이용하여 연계하는 서비스

89.3 인터페이스 통신 유형

유형 내용
단방향 시스템에서 거래를 요청만 하고 응답이 없는 방식
동기 시스템에서 거래를 요청하고 응답이 올 때까지 대기(Request-Reply)하는 방식
비동기 시스템에서 거래를 요청하고 다른 작업을 수행하다 응답이 오면 처리하는 방식(Send-Receive, Send-Receive-Acknowledge, Publish-Subscribe)

89.4 인터페이스 처리 유형

유형 내용
실시간 방식 사용자가 요청한 내용을 바로 처리해야 할 때 사용하는 방식
지연 처리 방식 데이터를 매 건 단위로 처리할 경우 비용이 많이 발생할 때 사용하는 방식
배치 방식 대량의 데이터를 처리할 때 사용하는 방식

89.5 인터페이스 발생 주기

개발할 시스템과 내·외부 시스템 간 송·수신 데이터가 전송되어 인터페이스가 사용되는 주기를 의미
  • 업무의 성격과 송·수신 데이터 전송량을 고려하여 매일, 수시, 주 1회 등으로 구분

90. 미들웨어 솔루션

90.1 미들웨어(Middleware)

운영체제와 응용 프로그램, 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어
  • 미들웨어는 표준화된 인터페이스를 제공함으로써 시스템 간의 데이터 교환에 일관성을 보장
  • 미들웨어의 종류
    • DB(DataBase)
    • RPC(Remote Procedure Call)
    • MOM(Message Oriented Middleware)
    • TP-Monitor(Transaction Processing Monitor)
    • ORB(Object Request Broker)
    • WAS(Web Application Server)

90.2 DB

데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하는 미들웨어
  • DB를 사용하여 시스템을 구축하는 경우 보통 2-Tier 아키텍처라고 함

90.3 RPC(Remote Procedure Call, 원격 프로시저 호출)

응용 프로그램의 프로세저를 사용하여 원격 프로세저를 마치 로컬 프로시저처럼 호출하는 미들웨어

90.4 MOM(Message Oriented Middleware, 메시지 지향 미들웨어)

메시지 기반의 비동기형 메시지를 전달하는 미들웨어
  • 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용됨

90.5 TP-Monitor(Transaction Processing Monitor, 트랜잭션 처리 모니터)

온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어 
  • 항공기나 철도 예약 업무 등 사용자 수가 증가해도 빠른 응답 속도를 유지해야 하는 업무에 주로 사용

90.6 ORB(Object Request Broker, 객체 요청 브로커)

코바(CORBA) 표준 스펙을 구현한 객체 지향 미들웨어
  • 최근에는 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추가로 구현한 제품도 존재

90.7 WAS(Web Application Server, 웹 애플리케이션 서버)

사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어
  • 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어
  • HTTP 세션 처리를 위한 웹 서버 기능뿐만 아니라 미션-크리티컬한 기업 업무까지 Java, EJB 컴포넌트 기반으로 구현 가능

91. 모듈 간 공통 기능 및 데이터 인터페이스

91.1 모듈 간 공통 기능 및 데이터 인타페이스

공통 기능은 모듈의 기능 중에서 공통적으로 제공되는 기능을 의미
  • 데이터 인터페이스는 모듈 간 교환되는 데이터가 저장될 파라미터를 의미
  • 모듈 간 공통 기능 및 데이터 인터페이스 확인 절차
  1. 인터페이스 설계서를 통해 모듈별 기능을 확인
  2. 외부 및 내부 모듈을 기반으로 공통으로 제공되는 기능과 각 데이터의 인터페이스를 확인
  • 파라미터(Parameter, 매개변수) : 함수를 통해 어떠한 작업을 수행할 때 해당 함수 수행에 필요한 값을 전달하기 위해 사용되는 변수를 의미

91.2 인터페이스 설계서

시스템 사이의 데이터 교환 및 처리를 위해 교환 데이터 및 관련 업무, 송·수신 시스템 등에 대한 내용을 정리한 문서
  • 인터페이스 설계서 종류
종류 내용
일반적인 인터페이스 설계서 - 시스템의 인터페이스 목록, 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서
- 종류 : 시스템 인터페이스 설계서, 상세 기능별 인터페이스 명세서
정적·동적 모형을 통한 인터페이스 설계서 - 정적·동적 모형으로 각 시스템의 구성 요소를 표현한 다이어그램을 이용하여 만든 문서
- 시스템을 구성하는 주요 구성 요소 간의 트랜잭션을 통해 해당 인터페이스가 시스템의 어느 부분에 속하고, 해당 인터페이스를 통해 상호 교환되는 트랜잭션의 종류를 확인할 수 있음

91.3 인터페이스 설계서 별 모듈 기능 확인

인터페이스 설계서에서 정의한 모듈을 기반으로 각 모듈의 기능을 확인
구분 외부 모듈 내부 모듈
시스템 인터페이스 목록 송신 및 전달 부분 수신 부분
시스템 인터페이스 설계서 데이터 송신 시스템 부분 데이터 수신 시스템 부분
상세 기능 인터페이스 명세서 오퍼레이션, 사전 조건 사후 조건

91.4 모듈 간 공통 기능 및 데이터 인터페이스 확인

항목 내용
공통 기능 내·외부 모듈 기능을 통해 공통으로 제공되는 기능 확인
데이터 인터페이스 내·외부 모듈 기능과 공통 기능을 기반으로 필요한 데이터 인터페이스 항목 확인