* 인터페이스 요구사항: 개발할 시스템과 외부 시스템을 연동하는데 필요한 시스템 인터페이스에 대한 요구사항 기술
* 시스템 인터페이스 요구사항 명세서의 구성요소:
- 인터페이스 이름
- 연계 대상 시스템
- 연계 범위 및 내용
- 연계방식
- 송신 데이터
- 인터페이스 주기
- 기타 고려사항
* 인터페이스 요구사항 검증 방법:
- 동료 검토 Pear Review
- 워크스루 Walk Through
- 인스펙션 Inspection
* 인터페이스 요구사항 검증의 주요항목:
- 완전성
- 일관성
- 명확성
- 기능성
- 검증 가능성
- 추적 가능성
- 변경 용이성
* 인터페이스 방법 명세화: 내/외부 시스템이 연계하여 작동할 때 인터페이스별 송/수신 방법, 송/수신 데이터, 오류 식별 및 처리 방안에 대한 내용을 문서로 정리
* 미들웨어: 운영체제와 응용 프로그램, 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어.
* 미들웨어의 종류:
- DB (Data Base)
- RPC (Remote Procedure Call)
- MOM (Message Oriented Middleware)
- TP-Monitor(Transaction Processing Monitor)
- ORB(Object Request Broker)
- WAS (Web Application Server)
* 내/외부 모듈 연계 방법:
- EAI: 기업 내 이기종 플랫폼간의 상호 연동이 가능하게 해주는 솔루션
- Point-to-Point
- Hub & Spoke
- Message Bus
- Hybrid
- EBS: 애플리케이션 간 표준 기반의 인터페이스를 제공하는 솔루션
- 웹서비스: 네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술
- UDDI: WSDL를 등록하여 서비스, 서비스 제공자를 검색하고 접근하는 데 사용
- WSDL: XML로 구성되어있는 웹 서비스 관련 서식, 프로토콜 등을 표준적인 방법으로 기술, 게시하기 위한 언어
- SOAP: XML기반의 메시지를 네트워크 상에서 교환하는 프로토콜
* 인터페이스 구현: 송/수신 시스템 간의 데이터 교환 및 처리를 실현해 주는 작업 의미
*인터페이스 구현 방법:
- 데이터 통신을 이용한 인터페이스 구현
- 인터페이스 엔티티를 이용한 인터페이스 구현
* 데이터 통신을 이용한 인터페이스 구현: 애플리케이션 영역에서 데이터 포맷을 인터페이스 대상으로 전송하면 이를 수신 측에서 파싱하여 해석하는 방식이다. 주로 JSON, XML 형식의 데이터 포맷을 이용하여 인터페이스 구현
* 인터페이스 엔티티를 이용한 인터페이스 구현: 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 것. 인터페이스 테이블을 엔티티로 활용.
* 인터페이스 보안:
- 네트워크 영역
- 애플리케이션 영역
- 데이터베이스 영역
* 인터페이스 구현 검증:
- xUnit
: 자바, C++, .Net 등 다양한 언어를 지우너하는 단위테스트 프레임워크. 소프트웨어의 함수나 클래스 같은 서로 다른 구성 단위를 테스트할 수 있게 해주는 도구
- STAF
: 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크. 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행, 통합하며 자동화하는 검증도구
- FitNesses
: 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크. 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대해 테스트를 할 수 있음
- Selenium
: 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크. 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 도구를 제공
- Watir
: 루비 기반 웹 애플리케이션 테스트 프레임워크. 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스트 기능
* 인터페이스 구현 감시 도구: 인터페이스 동작 상태는 APM(어플리케이션 성능 관리)를 사용하여 감시할 수 있다.
* 인터페이스 APM:
- 스카우터 Scouter : OS 자원에 대한 모니터링 기능 제공
- 제니퍼 Jennifer : 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화 까지 전 단계에 걸쳐 성능을 모니터링하고 분석해주는 소프트웨어
* APM (Application Performance Management/Monitoring): 애플리케이션의 성능 관리를 위해 다양한 모니터링 기능을 제공하는 도구.
- 리소스 방식: Nagios, Zabbix, Cacti 등
- 엔드투엔드 방식: VisualVM, 스카우터, 제니퍼 등
'정처기 실기' 카테고리의 다른 글
[정처기 실기] 애플리케이션 테스트 관리 (1) (0) | 2022.07.11 |
---|---|
[정처기 실기] 화면설계 (0) | 2022.07.10 |
[정처기 실기] 서버 프로그램 구현 (0) | 2022.07.06 |
[정처기 실기] 통합 구현 (0) | 2022.07.06 |
[정처기 실기] 데이터 입출력 구현 (2) | 2022.07.04 |