인터페이스 요구사항 검증
- 요구사항이 명세서에 정확하고 완전하게 기술되었는지 검토하고 베이스라인 설정하는 것
- 수행 순서 : 요구사항 검토 계획 수립 -> 검토 및 오류 수정 -> 베이스 라인 설정
요구사항 검증 방법
- 요구사항 검토 (동료검토, 워크스루, 인스펙션)
- 동료 검토 : 동로들이 설명을 들으며 피드백하면서 발전하는 형태
- 워크스루 : 검토 회의 전 미리 배포하여 사전 검토 후 결함 발견 하는 형태
- 인스펙션 : 명세서 작성자 제외 다른 검토 전문가들이 명세서를 확인하고 결함을 발견하는 형태
- 프로토타이핑 : 견본품 만들어 최종 결과물 예측
- 테스트 설계 : 테스트 케이스 생성하여 요구사항이 현실적으로 가능한지 검토
- CASE 도구 활용 : 일관성 분석을 통해 요구사항 변경 사항 추적,분석, 관리, 표준 준수 여부를 확인한다.
인터페이스 요구사항 검증의 주요 항목
- 완전성(Completeness) : 사용자 모든 요구사항이 누락되지 않았는가 ?
- 일관성(Consistency) : 요구사항이 모순되거나 충돌 없이 일관성을 유지하는가 ?
- 명확성(Unambiguity) : 모든 참여자가 요구사항을 명확히 이해할 수 있는가 ?
- 기능성(Functionality) : 요구사항이 어떻게 보다 무엇을에 중점을 두고 있는가 ?
- 검증 가능성(Verifiability) : 요구사항이 사용자 요구를 모두 만족하고, 개발된 소프트웨어가 사용자 요구 내용과 일치하는지를 검증할 수 있는가?
- 추적 가능성(Traceability) : 요구사항 명세서와 설계서를 추적할 수 있는가?
- 변경 용이성(Easily Changeable) : 요구사항 명세서의 변경이 쉽도록 작성되었는가 ?
--> 일기명 완추 변경
인터페이스 방법 명세화
- 내 외부 시스템이 연계하여 작동할 때 인터페이스별 송수신 방법, 오류 식별 및 처리방안에 대한 내용을 문서로 정리하는 것
- 시스템 연계 기술, 인터페이스 통신 유형, 처리 유형, 발생 주기 등이 있다.
시스템 연계 기술
DB Link | DB에서 제공하는 DB Link 객체를 이용하는 방식 |
API/Open API | DB에서 데이터 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램 |
연계 솔루션 | EAI 서버와 송수신 시스템에 설치되는 클라이언트를 이용하는 방식 |
Socket | 소켓을 생성해 포트 할당, 클라이언트 통신 요청시 연결하여 통신하는 네트워크 기술 |
Web Service | 웹 서비스에서 WSDL, UDDI , SOP)AP 프로토콜을 이용해 연계하는 서비스 |
인터페이스 통신 유형
- 단방향 : 요청만 하고 응답 없는 방식
- 동기 : 요청하고 응답 올 때 까지 대기
- 비동기 : 요청하고 할 거 하고 있는거
인터페이스 처리 유형
- 실시간 방식 : 요청한 내용을 바로 처리해야 할 때 사용하는 방식
- 지연 처리 방식 : 데이터를 매건 단위로 처리할 경우 비용이 많이 발생할 때 사용하는 방식
- 배치 방식 : 대량의 데이터를 처리할 때 사용하는 방식
미들웨어
- 운영체제와 응용 프로그램 사이에서 다양한 서비스를 제공하는 소프트웨어
- DB, RPC, MOM , TP-Monitor , ORB , WAS
미들웨어 종류
DB | 클라이언트에서 원격 데이터베이스와 연결하는 미들웨어 |
RPC (원격 프로시저 호출) | 응용 프로그램 프로시저를 사용하여 원격 프로시저를 로컬 프로시저 처럼 호출 |
MOM (메시지 지향 미들웨어) | 비동기형 메시지를 전달하는 미들웨어 |
TP-Monitor (트랜잭션 처리 모니터) | 트랜잭션을 처리 및 감시하는 미들웨어 |
ORB (객체 요청 브로커) | 코바 표준 스펙을 구현한 객체 지향 미들웨어 |
WAS (웹 애플리케이션 서버) | 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어 |
모듈 연계
- 내뷰 모듈과 외부 모듈 또는 내부 모듈 간 데이터 교환을 위해 관계를 설정하는 것
- 대표적인 모듈 연계 방법 : EAI , ESB , 웹 서비스
EAI
- 기업 내 각종 애플리케이션 및 플랫폼 간 상호 연동이 가능하게 해주는 솔루션
- Point-to-Point : 1:1 연결 , 기본적인 애플리케이션 통합 방식
- Hub & Spoke : 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식 , 허브 장애 --> 시스템 전체 영향
- Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
- Bus Hybrid : Hub & Spoke와 Message Bus의 혼합 방식 , 그룹 내 : Hub & Spoke , 그룹 간 : Message Bus
ESB
- 애플리케이션 간 표준 기반의 인터페이스를 제공하는 솔루션
- EAI와 유사하지만 애플리케이션 보다는 서비스 중심 통합을 지향
- 결합도를 약하게 유지
웹 서비스
- 네트워크 정보를 표준화 된 서비스 형태로 만들어 공유하는 기술
SOAP | HTTP, HTTPS, SMTP 등 활용해 XML 기반 메시지를 네트워크 상에서 교환하는 프로토콜 |
UDDI | WSDL을 등록해 서비스와 서비스 제공자를 검색하고 접근하는데 사용 |
WSDL | XML로 작성되고 UDDI의 기초가 되며 웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술 |
인터페이스 구현
- 송수신 시스템 간 데이터 교환 및 처리를 실현해주는 작업을 의미
- 데이터 통신을 이용한 인터페이스 구현 : 파싱하여 해석하는 방식 , JSON이나 XML 형식 데이터 포맷 사용
- 인터페이스 엔티티를 이용한 인터페이스 구현 : 별도의 인터페이스 엔티티를 두어 상호 연계하는 것
JSON
- 데이터 객체를 속성 값의 쌍 형태로 표현하는 개방형 표준 포맷
- AJAX에서 XML을 대체하여 사용
AJAX
- 클라이언트와 서버간 XML 데이터를 주고 받는 비동기 통신 기술
인터페이스 보안 기능 적용
- 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용하는 것
네트워크 영역 | IPSec, SSL, S-HTTP / 네트워크 트래픽에 대한 암호화를 설정 |
애플리케이션 영역 | 애플리케이션 코드 상 보안 취약점을 보완하는 방향으로 보안 기능 적용 |
데이터베이스 영역 | 데이터베이스 동작 객체의 보안 취약점에 보안 기능을 적용 |
IPSec, SSL , S-HTTP
- IPSec : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능 제공 프로토콜
- SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성 보장 프로토콜
- S-HTTP : 클라이언트 서버 간 전송되는 모든 메시지를 암호화하는 프로토콜
데이터 무결성 검사 도구
- 인터페이서 보안 취약점을 분석하는데 사용되는 도구
- 종류 : Tripwire , AIDE , Samhain , Claymore , Slipwire, Fcheck
인터페이스 구현 검증 도구
- 인터페이스 단위 기능과 시나리오 등 기반으로 하는 통합 테스트가 필요하며 통합 테스트를 위해 사용하는 자동화 도구
- XUnit : 같은 테스트 코드를 여러 번 작성하지 않게 도와준다. (SUnit , JUnit, CppUnit, NUnit 등)
- STAF : 서비스 호출 및 컴포넌트 재사용 지원 , 크로스 플랫폼이나 분산 소프트웨어 환경 지원
- FitNess : 웹 기반 테스트 케이스 설계, 실행, 결과 확인 지원
- NTAF : FitNess 장점 + STAF 장점 == NTAF
- Selenium : 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크
- Watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크
인터페이스 구현 감시 도구
- 인터페이스 동작 상태는 APM을 사용해 감시할 수 있다
- 대표적인 APM
- 스카우터 : 애플리케이션 및 OS 자원에 대한 모니터링 기능
- 제니퍼 : 개발부터 전 단계에 걸쳐 성능을 모니터링 하는 기능
APM
- 애플리케이션의 성능 관리에 대한 다양한 모니터링 기능을 제공하는 도구
- 리소스 방식 : Nagios , Zabbix , Cacti 등
- 엔드투엔드 방식 : VisualVM , 제니퍼 , 스카우터