<모듈 연계를 위한 인터페이스 기능 식별> ★★★★
(1) 모듈 연계의 개요
- 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터의 교환을 위해 관계를 설정하는 것
- EAI(Enterprise Application Integration)
: 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호연동이 가능하게 해주는 솔루션
비즈니스 간 통합 및 연계성을 정대시켜 효율성 및 각 시스템 간의 확정성(Determinacy)을 높여줌
- Point - to - Point
: 가장 기본적인 애플리케이션 통합 방식, 애플리케이션을 1:1로 연결
변경 및 재사용이 어려움
- Hub & Spoke
: 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식
확장 및 유지 보수가 용이함
허브 장애 발생 시 시스템 전체에 영향을 미침
- Message Bus(ESB 방식)
: 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
확장성이 뛰어나며 대용량 처리가 가능함
- Hybrid
: Hub & Spoke와 Message Bus의 혼합 방식
그룹 내에서는 Hub & Spoke 방식을, 그룹 간에는 Message Bus 방식을 사용함
필요한 경우 한 가지 방식으로 EAI 구현이 가능
데이터 병목 현상을 최소화 가능
- ESB(Enterprise Service Bus)
: 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션
애플리케이션 통합 측면에서 EAI와 유사. But, 애플리케이션 보다는 서비스 중심의 통합을 지향함
특정 서비스에 국한되지 않고 범용적으로 사용하기 위해 애플리케이션과의 결합도(Coupling)를 약하게 유지
관리 및 보안 유지가 쉽고, 높은 수준의 품질 지원 가능
(2) 모듈 간 연계 기능 식별
- 모듈 간 공통 기능 및 데이터 인터페이스를 기반으로 모듈과 연계된 기능을 시나리오 형태로 구체화하여 식별함
- 식별된 연계 기능은 인터페이스 기능을 식별하는데 사용됨
(3) 모듈 간 인터페이스 기능 식별
- 식별된 모듈 간 관련 기능을 검토하여 인터페이스 동작에 필요한 기능을 식별함
- 인터페이스 동작은 대부분 외부 모듈의 결과, 요청에 의해 수행됨
--> 외부 및 인터페이스 모듈 간 동작하는 기능을 통해 인터페이스 기능을 식별함
- 내부 모듈의 동작은 외부 모듈에서 호출된 인터페이스에 의해 수행되고 결과를 나타내는 것
--> 해당 업무에 대한 시나리오를 통해 내부 모듈과 관련된 인터페이스 기능을 식별함
- 식별된 인터페이스 기능 중에서 실제적으로 필요한 인터페이스 기능을 최종적으로 선별
- 식별된 인터페이스 기능은 인터페이스 기능 구현을 정의하는데 사용됨
<인터페이스 기능 구현 정의> ☆★★★
(1) 인터페이스 기능 구현의 정의에 대한 구현
- 인터페이스를 실제로 구현하기 위해 인터페이스 기능에 대한 구현 방법을 기능별로 기술한 것
- 인터페이스 기능 구현의 정의 순서
: 1. 컴포넌트 명세서를 확인
2. 인터페이스 명세서를 확인
3. 일관된 인터페이스 기능 구현을 정의
4. 정의된 인터페이스 기능 구현을 정형화
(2) 모듈 세부 설계서
- 모듈의 구성 요소와 세부적인 동작 등을 정의한 설계서
- 컴포넌트 명세서
: 컴포넌트의 개요 및 내부 클래스이 동작, 인터페이스를 통해 외부와 통신하는 명세 등을 정의 한 것
- 인터페이스 명세서
: 컴포넌트 명세서의 항목 중 인터페이스 클래스의 세부 조건 및 기능을 정의한 것
(3) 모듈 세부 설계서 확인
- 각 모듈의 컴포넌트 몽세서와 인터페이스 명세서를 기반으로 인터페이스에 필요한 기능을 확인함
- 컴포넌트 명세서의 컴포넌트의 개요, 내부 클래스의 클래스명, 설명 등을 통해
컴포넌트가 가지고 있는 주요 기능을 확인함
- 컴포넌트 명세서의 인터페이스 클래스를 통해 인터페이스에 필요한 주요 기능을 확인
- 인터페이스 명세서를 통해 컴포넌트 명세서의 인터페이스 클래스에 명시된 인터페이스의 세부 조건 및 기능을 확인
(4) 인터페이스 기능 구현 정의
- 인터페이스 기능, 인터페이스 데이터 표준, 모듈 세부 설계서를 기반으로 정의
- 일관성 있는 인터페이스 기능 구현 정의
: 인터페이스 기능, 인터페이스 데이터 표준, 모듈 세부 설계서를 통해 인터페이스의 기능 구현을 정의함
정의한 인터페이스 기능 구현에 대해 송, 수신 측에서 진행해야 할 절차까지 다시 세부적으로 정의함
- 정의된 인터페이스 기능 구현 정형화
: 정의한 인터페이스 구현을 특정 하드웨어, 소프트웨어에 의존적이지 않게
사람들이 보기 쉽고 표준화하도록 정형화
가독성을 높이려면 프로세스 형태나 유스케이스 다이어그램 형태로 정형화 함
<인터페이스 예외 처리> ☆★★★
(1) 인터페이스 예외 처리의 개요
- 구현된 인터페이스가 동작하는 과정에서 기능상 예외 상황이 발생 했을 때 이를 처리하는 절차를 말함
- 인터페이스를 구현하는 방법에 따라 데이터 통신을 이용한 방법, 인터페이스 엔티티를 이용한 방법이 있음
(2) 데이터 통신을 이용한 인터페이스 예외 처리
- 인터페이스 객체를 이용해 구현한 인터페이스 동작이 실패할 경우를 대비한 것
- 인터페이스 객체의 송, 수신 시 발생할 수 있는 예외 케이스를 정의하고 각 예외 케이스마다 예외 처리 방법을 기술함
- 시스템 환경, 송, 수신 데이터, 프로그래 자체 원인 등 다양한 원인으로 인해 예외 상황이 발생함
(3) 인터페이스 엔티티를 이용한 인터페이스 예외 처리
- 인터페이스 동작이 실패할 경우를 대비하여 해당 엔티티에 인터페이스의 실패 상황과 원인 등을 기록
이에 대한 조치를 취할 수 있도록 사용자 및 관리자에서 알려주는 방식으로 예외 처리 방법을 정의함
<인터페이스 보안> ☆★★★
(1) 인터페이스 보안의 개요
- 인터페이스는 시스테 모듈 간 정보 교환을 위한 통로로 사용됨
--> 충분한 보안 기능을 갖추고 있지 않으면 시스템 모듈 전체에 악영향을 주는 보안 취약점이 될 수 o
- 인터페이스의 보안성 향상을 위해서는 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용한다.
(2) 인터페이스 보안 취약점 분석
- 인터페이스 기능이 수행되는 각 구간들의 구현 현황을 확인하고 각 구간에 어떤 보안 취약점이 있는지를 분석함
- 인터페이스 기능이 수행되는 각 구간의 구현 현황은 송, 수신 영역의 구현 기술 및 특징 등을 구체적으로 확인함
- 확인된 인터페이스 기능을 기반으로 영역별로 발생할 수 있는 보안 취약점을 시나리오 형태로 작성함
(3) 인터페이스 보안 기능 적용
- 분석한 인터페이스 기능과 보안 취약점을 기반으로 인터페이스 보안 기능을 적용함
- 네트워크 영역
: 인터페이스 송, 수신 간 스니핑(Sniffing) 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해
네트워크 트래픽에 대한 암호화를 설정함
암호화는 인터페이스 아키텍처 방식에 따라 다양한 방식으로 적용함
- 애플리케이션 영역
: 소프트웨어 개발 보안 가이드를 참조, 애플리케이션 코드 상의 보안 취약점을 보완하는 방향
- 데이터베이스 영역
: 데이터베이스 동작 객체의 보안 취약점에 보안 기능을 적용함
개인 정보나 업무상 민감한 데이터의 경우 암호화, 익명화 등 데이터 자체의 보안 방안도 고려함
<연계 테스트> ☆★★★
(1) 연계 테스트의 개요
- 구축된 연계 시스테모가 연계 시스템의 구성 요소가 정상적으로 동작하는지 확인하는 활동
- 연계 테스트 케이스(Testcase) 작성 --> 연계 테스트 환경 구축 --> 연계 테스트 수행 --> 연계 테스트 수행 결과 검증
(2) 연계 테스트 케이스 작성
- 연계 시스템 간의 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목을 도출하는 과정
- 송, 수신용 연계 응용 프로그램의 단위 테스트 케이스, 연계 테스트 케이스를 각각 작성함
- 송, 수신용 연계 응용 프로그램의 단위 테스트 케이스
: 송, 수신 시스템에서 확인해야 할 항목을 도출함
송, 수신 시스템에서 단순 개별 데이터의 유효값을 확인하는 경우의 수와
데이터 간의 연관 관계를 확인하는 경우의 수로 구분하여 작성
- 연계 테스트 케이스
: 송, 수신용 연계 응용 프로그램의 기능상 결함을 확인하는 단위 테스트 케이스 형태로 작성함
연계 테이블 간 송, 수신 절차의 앞뒤로 연결하여 흐름을 확인할 수 있는 내용으로 작성함
(3) 연계 테스트 환경 구축
- 테스트의 일정, 방법, 절차, 쇼요 시간 등을 송, 수신 기관과의 협의를 통해 결정하는 것
(4) 연계 테스트 수행
- 연계 응용 프로그램을 실행하여 연계 테스트 케이스의 시험 항목 및 러리 절차 등을 실제로 진행하는 것
- 송, 수신용 연계 응용 프로그램의 단위 테스트를 먼저 수행함
- 단위 테스트의 수행을 완료한 후 연계 테스트 케이스에 따라
데이터 추출, 데이터 송, 수신, 데이터 반영 과정 등의 연계 테스트를 수행함
(5) 연계 테스트 수행 결과 검증
- 연계 테스트 케이스의 시험 항목 및 처리 절차를 수행한 결과가 예상 결과와 동일한지를 확인하는 것
- 연계 테스트 수행 결과는 다음과 같은 테스트케이스 항목별 검증 방법을 이용하여 검증
: 운영 DB 테이블의 건수를 확인하는 방법
테이블, 파일을 열어 데이터를 확인하는 방법
파일 생성 위치에서 파일 생성 여부 및 크기를 확인하는 방법
연계 서버에서 제공하는 모니터링 현황을 확인하는 방법
시스템에서 기록하는 로그(Log)를 확인하는 방법
<인터페이스 구현 검증> ★★★★
(1) 인터페이스 구현 검증의 개요
- 인터페이스가 정상적으로 문제 없이 작동하는지 확인하는 것
- 인터페이스 구현 검증 도구와 감시 도구를 이용하여 인터페이스의 동작 상태를 확인함
(2) 인터페이스 구현 검증 도구
- 인터페이스 단위 기능과 시나리오 등을 기반으로 하는 통합 테스트가 필요함
- 테스트 자동화 도구를 이용하면 효율적으로 수행할 수 있음
- xUnit
: 다양한 언어를 지원하는 단위 테스트 프레임워크
- STAF
: 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- FitNesse
: 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
- NTAF
: FitNesse의 장점인 협업 기능, STAF의 장점인 재사용, 확장성을 통합한
NHN(Naver)의 테스트 자동화 프레임워크
- Selenium
: 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir
: Ruby를 사용하는 애플리케이션 테스트 프레임워크
(3) 인터페이스 구현 감시 도구
- 인터페이스 동작 상태를 APM을 사용하여 감시할 수 있음
- 애플리케이션 성능 관리 도구를 통해 데이터베이스와 웹 애프리케이션의 종합적인 정보를 조회, 분석할 수 있음
- 스카우터(Scouter), 제니퍼(Jennifer)
(4) 인터페이스 구현 검증 도구 및 감시 도구 선택
- 인터페이스 기능 구현 정의를 통해 구현된 인터페이스 명세서를 참조하여
인터페이스의 정상적인 동작 여부를 확인하기 위한 검증 도구와 감시도구의 요건을 분석함
- 분석이 끝나면 시장 및 솔루션 조사를 통해 적절한 인터페이스 구현을 검증하고 감시하는데 필요한
인터페이스 구현 검증 도구와 감시 도구를 선택함
(5) 인터페이스 구현 검증 확인
- 인터페이스 구현 검증 도구를 이용하여 외부 시스템과 연계 모듈의 동작 상태를 확인함
- 최초 입력값과 입력갑셍 의해 선택되는 데이터, 생성되는 객체의 데이터 등
전반적인 인터페이스 동작 프로세스상에서 예상되는 결과값과 실제 검증갑싱 동일한지를 비교함
- 추가적으로 각 단계별 오류 처리도 적절하게 구현되어 있는지를 확인함
(6) 인터페이스 구현 감시 확인
- 인터페이스 구현 감시 도구를 이용, 외부 시스템과 연결 모듈이 서비스를 제공하는 동안 정상적으로 동작하는지 확인
- 인터페이스 동작 여부, 에러 발생 여부 등 감시 도구에서 제공해주는 리포트를 활용함
www.yes24.com/Product/Goods/82838724?OzSrank=6
2020 시나공 정보처리기사 필기
2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중 정보통신 분야의 ‘정보기술’ 분류에 포함된 ‘정보기술개발’과 ‘정보기술운영’에 속한 125개의 학습 모듈을
www.yes24.com
* 2020 시나공 정보처리기사 필기 요약한 내용입니다.
'security > 정보처리기사' 카테고리의 다른 글
정처기 데이터베이스 구축 - 3.1 논리 데이터베이스 설계 (0) | 2021.02.09 |
---|---|
오답 풀이 3 - 정처기 소프트웨어 설계 (0) | 2021.02.02 |
정처기 소프트웨어 개발 - 2.4 애플리케이션 테스트 관리 (0) | 2021.02.02 |
정처기 소프트웨어 개발 - 2.3 제품 소프트웨어 패키징 (0) | 2021.01.26 |
오답 풀이 2 - 정처기 소프트웨어 설계 (0) | 2021.01.26 |
댓글