1. 시스템 인터페이스 요구사항 분석
시스템 인터페이스 요구사항
•
개발할 시스템과 외부 시스템을 연동하는데 필요한 시스템 인터페이스에 대한 요구사항을 기술한 것
•
시스템 인터페이스 요구사항 명세서의 구성 요소
◦
인터페이스 이름
◦
연계 대상 시스템
◦
연계 범위 및 내용
◦
연계 방식
◦
송신 데이터
◦
인터페이스 주기
◦
기타 고려사항
시스템 인터페이스 요구사항 분석
시스템 인터페이스 요구사항 분석 절차
2. 인터페이스 요구사항 검증
인터페이스 요구사항 검증
•
사용자들의 요구사항이 요구사항 명세서에 정확하고 완전하게 기술되었는지 검토하고 개발 범위의 기준인 베이스라인을 설정하는 것
•
인터페이스 요구사항 검증 수행 순서
요구사항 검증 방법
•
요구사항 검토 (Requirements Review)
◦
요구사항 명세서의 오류 확인 및 표준 준수 여부 등의 결함 여부를 검토 담당자들이 수작업으로 분석하는 방법
동료 검토 (Peer Review)
•
요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 형태의 검토 방법
워크스루 (Work Through)
•
검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법
인스펙션 (Inspection)
•
요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법
•
프로토타이핑 (Prototyping)
◦
사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측한다.
•
테스트 설계
◦
요구사항은 테스트할 수 있도록 작성되어야 하며, 이를 위해 테스트 케이스를 생성하여 요구사항이 현실적으로 테스트 가능한지를 검토한다.
•
CASE 도구 활용
◦
일관성 분석(Consistency Analysis)을 통해 요구사항 변경사항의 추적, 분석, 관리, 포준 준수 여부를 확인한다.
인터페이스 요구사항 검증의 주요 항목
•
완전성 (Completeness)
◦
사용자의 모든 요구사항이 누락되지 않고 완전하게 반영되어 있는가?
•
일관성 (Consistency)
◦
요구사항이 모순되거나 충돌되는 점 없이 일관성을 유지하고 있는가?
•
명확성 (Unambiguity)
◦
모든 참여자가 요구사항을 명확히 이해할 수 있는가?
•
기능성 (Functionality)
◦
요구사항이 ‘어떻게(How to)’ 보다 ‘무엇을(What)’에 중점을 두고 있는가?
•
검증 가능성 (Verifiability)
◦
요구사항이 사용자의 요구를 모두 만족하고, 개발된 소프트웨어가 사용자의 요구 내용과 일치하는지를 검증할 수 있는가?
•
추적 가능성 (Tracebility)
◦
요구사항 명세서와 설계서를 추적할 수 있는가?
•
변경 용이성 (Easily Changeable)
◦
요구사항 명세서의 변경이 쉽도록 작성되었는가?
3. 인터페이스 시스템 식별
인터페이스 시스템 식별
•
인터페이스별로 인터페이스에 참여하는 시스템들을 송신 시스템과 수신 시스템으로 구분하여 작성하는 것
인터페이스 시스템 식별을 위한 선행 작업
4. 송수신 데이터 식별
식별 대상 데이터
•
송수신 시스템 사이에서 교환되는 데이터로, 규격화된 표준 형식에 따라 전송된다.
•
교환되는 데이터의 종류
◦
인터페이스 표준 목록
◦
송수신 데이터 항목
◦
공통 코드
인터페이스 표준 항목
•
송수신 시스템을 연계하는데 표준적으로 필요한 데이터
•
인터페이스 표준 항목은 시스템 공통부와 거래 공통부로 나뉜다.
시스템 공통부
•
시스템 간 연동 시 필요한 공통 정보
•
구성 정보
◦
인터페이스 ID, 전송 시스템 정보, 서비스 코드 정보, 응답 결과 정보, 장애 정보 등
거래 공통부
•
시스템들이 연동된 후 송수신되는 데이터를 처리할 때 필요한 정보
•
구성 정보
◦
직원 정보, 승인자 정보, 기기 정보, 매체 정보 등
송수신 데이터 항목
•
송수신 시스템이 업무를 수행하는 데 사용하는 데이터
•
전송되는 데이터 항목과 순서는 인터페이스별로 다르다.
공통 코드
•
시스템들에서 공통으로 사용하는 코드
정보 흐름 식별
•
정보 흐름은 개발할 시스템과 내외부 시스템 사이에서 전송되는 정보들의 방향성을 식별한다.
•
개발할 시스템과 내외부 시스템에 대한 각각의 인터페이스 목록을 확인하여 정보 흐름을 식별한다.
•
식별한 정보 흐름을 기반으로 송수신 시스템 사이에서 교환되는 주요 데이터 항목이나 정보 그룹을 도출한다.
송수신 데이터 식별
•
송수신 데이터는 개발할 시스템과 연계할 내외부 시스템 사이의 정보 흐름과 데이터베이스 산출물을 기반으로 식별한다.
•
송수신 데이터의 종류에 따라 다음과 같이 식별한다.
◦
인터페이스 표준 항목과 송수신 데이터 항목 식별
◦
코드성 데이터 항목 식별
5. 인터페이스 방법 명세화
인터페이스 방법 명세화
시스템 연계 기술
DB Link
•
DB에서 제공하는 DB Link 객체를 이용하는 방식
API / OpenAPI
•
송신 시스템의 데이터베이스에서 데이터를 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램
연계 솔루션
•
EAI 서버와 송수신 시스템에 설치되는 클라이언트를 이용하는 방식
Socket
•
서버가 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술
Web Service
•
웹서비스에서 WSDL, UDDI, SOAP 프로토콜을 이용하여 연계하는 서비스
인터페이스 통신 유형
인터페이스 처리 유형
인터페이스 발생 주기
•
개발할 시스템과 내외부 시스템 간 송수신 데이터가 전송되어 인터페이스가 사용되는 주기
•
업무의 성격과 송수신 데이터 전송량을 고려하여 매일, 수시, 주 1회 등으로 구분한다.
6. 미들웨어 솔루션
미들웨어 (Middleware)
•
운영체제와 응용 프로그램, 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어
•
표준화된 인터페이스를 제공함으로써, 시스템 간의 데이터 교환에 일관성을 보장한다.
•
미들웨어의 종류
◦
DB (Database)
◦
RPC (Remote Procedure Call)
◦
MOM (Message Oriented Middleware)
◦
TP-Monitor (Transaction Processing Monitor)
◦
ORB (Object Request Broker)
◦
WAS (Web Application Server)
DB
•
데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하는 미들웨어
•
DB를 사용하여 시스템을 구축하는 경우, 보통 2-Tier 아키텍쳐 라고 한다.
RPC (원격 프로시저 호출)
•
응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 미들웨어
MOM (메시지 지향 미들웨어)
•
메시지 기반의 비동기형 메시지를 전달하는 미들웨어
•
온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용된다.
TP-Monitor (트랜잭션 처리 모니터)
•
온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어
•
항공기나 철도 예약 업무 등 사용자 수가 증가해도 빠른 응답 속도를 유지해야 하는 업무에 주로 사용된다.
ORB (객체 요청 브로커)
•
코바(CORBA) 표준 스펙을 구현한 객체 지향 미들웨어
•
최근에는 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추가로 구현한 제품도 있다.
WAS (웹 애플리케이션 서버)
•
사용자의 요구에 따라 변하는 동적인 컨텐츠를 처리하기 위한 미들웨어
•
클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어
•
HTTP 세션 처리를 위한 웹 서버 기능 뿐만 아니라 미션-크리티컬한 기업 업무까지 Java, EJB 컴포넌트 기반으로 구현이 가능하다.
7. 모듈 간 공통 기능 및 데이터 인터페이스 확인
모듈 간 공통 기능 및 데이터 인터페이스
•
공통 기능 : 모듈의 기능 중에서 공통적으로 제공되는 기능
•
데이터 인터페이스 : 모듈 간 교환되는 데이터가 저장도리 파라미터
•
모듈 간 공통 기능 및 데이터 인터페이스 확인 절차
1.
인터페이스 설계서를 통해 모듈별 기능을 확인한다.
2.
외부 및 내부 모듈을 기반으로 공통으로 제공되는 기능과 각 데이터의 인터페이스를 확인한다.
인터페이스 설계서
•
시스템 사이의 데이터 교환 및 처리를 위해 교환 데이터 및 관련 업무, 송수신 시스템 등에 대한 내용을 정의한 문서
•
인터페이스 설계서 종류
◦
일반적인 인터페이스 설계서
▪
시스템의 인터페이스 목록, 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서
◦
정적, 동적 모형을 통한 인터페이스 설계서
▪
정적, 동적 모형으로 각 시스템의 구성 요소를 표현한 다이어그램을 이용하여 만든 문서
▪
시스템을 구성하는 주요 구성 요소 간의 트랜잭션을 통해 해당 인터페이스가 시스템의 어느 부분에 속하고, 해당 인터페이스를 통해 상호 교환되는 트랜잭션의 종류를 확인할 수 있음
인터페이스 설계서별 모듈 기능 확인
•
인터페이스 설꼐서별 모듈 기능은 인터페이스 설계서에서 정의한 모듈을 기반으로 각 모듈의 기능을 확인한다.
모듈 간 공통 기능 및 데이터 인터페이스 확인
8. 모듈 연계를 위한 인터페이스 기능 식별
모듈 연계
•
내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터 교환을 위해 관계를 설정하는 것
•
대표적인 모듈 연계 방법
◦
EAI (Enterprise Application Integration)
◦
ESB (Enterprise Service Bus)
◦
웹 서비스 (Web Service)
EAI (Enterprise Application Integration)
•
기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션
•
EAI 구축 유형
ESB (Enterprise Service Bus)
•
애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션
•
애플리케이션 통합 측면에서 EAI와 유사하지만, 애플리케이션 보다는 서비스 통합을 지향한다.
•
특정 서비스에 국한되지 않고, 범용적으로 사용하기 위하여 애플리케이션과의 결합도(Coupling)을 약하게 유지한다.
•
관리 및 보안 유지가 쉽다
•
높은 수준의 품질 지원이 가능하다.
웹 서비스
•
네트워크 정보를 표준화된 서비스 형태로 만들어 공유하는 기술
•
웹 서비스는 서비스 지향 아키텍쳐(SOA) 개념을 실현하는 대표적인 방법이다.
◦
서비스 지향 아키텍처(SOA: Service Oriented Architecture)
▪
기업의 소프트웨어 인프라인 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보 기술 아키텍처
•
웹 서비스의 구성
◦
SOAP
▪
HTTP, HTTPS, SMTP 등을 활용하여 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜
◦
UDDI
▪
WSDL을 등록하여 서비스와 서비스 제공자를 검색하고 접근하는데 사용됨
◦
WSDL
▪
웹 서비스명, 서비스 제공 위치, 프로토콜 등 웹 서비스에 대한 상세 정보를 XML 형식으로 구현함
모듈 간 연계 기능 식별
•
모듈 간 연계 기능은 모듈과 연계된 기능을 시나리오 형태로 구체화하여 식별한다.
•
식별된 연계 기능은 인터페이스 기능을 식별하는데 사용된다.
•
해당 업무에 대한 시나리오를 통해 내부 모듈과 관련된 인터페이스 기능을 식별한다.
•
식별된 인터페이스 기능 중에서 실제적으로 필요한 인터페이스 기능을 최종적으로 선별한다.
•
식별된 인터페이스 기능은 인터페이스 기능 구현을 정의하는데 사용된다.
9. 모듈 간 인터페이스 데이터 표준 확인
인터페이스 데이터 표준
•
모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화하는 것
•
기존의 데이터 중에서 공통 영역을 추출하거나 어느 한쪽의 데이터를 변환하여 정의한다.
•
확인된 인터페이스 데이터 표준은 인터페이스 기능 구현을 정의하는데 사용된다.