자격증/정보처리기사 필기
[소프트웨어개발] 5. 인터페이스 구현
염두리안
2023. 3. 6. 01:30
728x90
반응형

066. 모듈 간 공통 기능 및 데이터 인터페이스 확인 (★☆☆)
- 데이터 인터페이스) 모듈 간 교환되는 데이터가 미리 저장될 파라미터... 확인은? 연계 위해 주고 받아야 할 데이터가 뭔지 찾는 것 / 인터페이스 설계서 통해 모듈별 기능 확인 → 외부/내부 모듈 기반으로 공통적으로 제공되는 기능, 각 데이터의 인터페이스 확인
- 인터페이스 설계서 : 시스템 사이 데이터 교환&처리 위해 교환 데이터&관련 업무, 송수신 시스템 등을 정의한 문서
- 일반적인 인터페이스 설계서
- 시스템 인터페이스 설계서
- 상세 기능별 인터페이스 명세서) 각 기능의 세부 인터페이스 정보 정의
- 정적/동적 모형을 통한 인터페이스 설계서) 다이어그램 이용해 만든 문서 / 상호 교환되는 트랜잭션 종류 확인 가능
- 일반적인 인터페이스 설계서
- 인터페이스 설계서별 모듈 기능 확인) 설계서 정의한 모듈 기반으로 각 모듈 기능 확인
- 모듈 간 공통 기능 및 데이터 인터페이스 확인) 내/외부 모듈 기능 통해 공통적으로 제공되는 기능 확인
067. 모듈 연계를 위한 인터페이스 기능 식별 (★★☆)
- 개요) 내/외부 모듈 or 내부 모듈 간 데이터 교환을 위해 관계 설정하는 것... EAI, ESB 등
- EAI(Enterprise Appllication Integration) : 기업 내 각종 앱, 플랫폼 간의 정보전달, 연계, 통합 등 상호 연동 가능하게 해주는 솔루션 / 비즈니스 간 통합&연계성 증대 ~> 효율성, 각 시스템 간 확장성 ↑
- Point-to-Point : 가장 기본적인 앱 통합 방식, 1:1 연결 / 변경, 재사용 어렵
- Hub & Spoke : 단일 접점인 허브 시스템 통해 데이터를 전송하는 중앙 집중형 방식 / 확장, 유지보수 용이 / 허브 장애 발생 시 전체 영향 미침
- Message Bus(ESB방식) : 앱 사이에 미들웨어를 두어 처리하는 방식 / 확장 뛰어나고 대용량 처리 가능
- Hybrid : Hub&Spoke + Message Bus / 그룹 내에선 허브앤스포크, 그룹 간에선 메시지 버스 방식 사용 / 필요한 경우 한 가지 방식으로 EAI 구현 가능 / 데이터 병목 현상 최소화
- ESB(Enterprise Service Bus) : 앱 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스 제공 솔루션 / 앱보단 서비스 중심 통합 지원(EAI와 차이점) / 특정 서비스에 국한 X, 범용적 사용 위해 앱과의 결합도를 약하게 유지함 / 관리, 보안 유지 쉽고 높은 수준 품질 지원 가능
- EAI(Enterprise Appllication Integration) : 기업 내 각종 앱, 플랫폼 간의 정보전달, 연계, 통합 등 상호 연동 가능하게 해주는 솔루션 / 비즈니스 간 통합&연계성 증대 ~> 효율성, 각 시스템 간 확장성 ↑
- 모듈 간 연계 기능 식별) 모듈 간 공통 기능 & 데이터 인터페이스 기반으로 모듈과 연계된 기능 시나리오 형태로 구체화해 식별
- 모듈간 인터페이스 기능 식별) 인터페이스 동작에 필요한 기능 식별 / 식별된 인터페이스 기능은 인터페이스 기능 구현 정의하는 데 사용
068. 모듈 간 인터페이스 데이터 표준 확인 (☆☆☆)
- 데이터 인터페이스 통해 인터페이스 데이터 표준 확인 → 인터페이스 기능 통해 인터페이스 표준 확인 → 인터페이스 표준 검토해 최종적인 인터페이스 데이터 표준 확인
069. 인터페이스 기능 구현 정의 (★☆☆)
- 컴포넌트 명세서 확인 → 인터페이스 명세서 확인 → 일관된 인터페이스 기능 구현 정의 → 정의된 인터페이스 기능 구현 정형화
- 모듈 세부 설계서) 모듈 구성 요소, 세부적 동작 정의한 설계서
- 컴포넌트 명세서 : 컴포넌트 개요&내부 클래스 동작, 인터페이스를 통해 외부와 통신하는 명세 등
- 인터페이스 명세서 : 컴포넌트 명세서 항목 중 인터페이스 클래스의 세부 조건, 기능 정의
- 모듈 세부 설계서 확인) 명시된 인터페이스의 세부 조건, 기능 확인
- 인터페이스 기능 구현 정의) 일관성 있는 인터페이스 기능 구현 정의 / 정의된 인터페이스 기능 구현 정형화
070. 인터페이스 구현 (★★☆)
- 인터페이스 구현) 송/수신 시스템 간 데이터 교환, 처리 실현해주는 작업
- 데이터 통신 이용한 인터페이스 구현) 앱 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송, 이를 수신측에서 파싱해 해성하는 방식 / 주로 JSON, XML 사용해 구현
- JSON(Javascript Object Notation) : 속성-값 쌍으로 이뤄진 데이터 객체 전달 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷 / 비동기처리에 사용되는 AJAX에서 XML 대체 사용
- XML(eXtensible Markup Language) : 특수 목적 갖는 마크업 언어 만드는 데 사용되는 다목적 마크업 언어 / HTML 문법이 각 브라우저에서 상호호환적이지 않음 + SGML 복잠함 해결 위해 개발
- AJAX(Asynchronous Javascript and XML) : 자바스크립트 등 이용해 클라이언트-서버 간 XML 데이터 교환, 제어 ~> 이용자가 웹 페이지랑 상호 작용할 수 있도록 하는 비동기 통신 기술
- 인터페이스 엔티티 통한 인터페이스 구현) 언터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 둬 상호 연계
071. 인터페이스 예외 처리 (★☆☆)
- 데이터 통신 이용) JSON, XML 등 인터페이스 객체를 이용해 구현한 인터페이스 동작이 실패한 경우 대비... 인터페이스 객체의 송/수신 시 발생할 수 있는 예외케이스 정의, 각각의 예외처리방법 기술
- 인터페이스 엔티티 이용) 인터페이스 동작이 실패할 경우 대비해 해당 엔티티에 인터페이스의 실패 상황, 원인 등 기록하고 이에 대한 조치 취할 수 있도록 사용자&관리자에서 알려주는 방식
072. 인터페이스 보안 (★★★)
- 취약점 분석) 인터페이스 기능이 수행되는 각 구간들의 구현 현황 확인, 어떤 취약점 있는지 분석
- 인터페이스 보안 기능 적용
- 네트워크 영역) 인터페이스 송/수신 간 스니핑(Sniffing) 등을 이용한 데이터 탈취, 변조 위협을 방지하기 위해 네트워크 트래픽에 암호화 설정 / IPSec, SSL, S-HTTP 등의 다양한 방식 적용
- 스니핑 : 네트워크 중간에서 남 패킷 정보 도청하는 해킹 유형(수동적공격) / 네트워크 내 패킷들은 대부분 암호화 X... 공격당하기 쉬움
- 애플리케이션 영역) SW 개발 보안 가이드 참조 ~> 앱 코드 상의 보안 취약점 보완
- SW 개발 보안 : 앱 소스 코드에 존재할 수 있는 보안 취약점의 발견, 제거, 보안 고려한 기능 설계 및 구현 등... 시큐어 코딩
- 데이터베이스 영역) DB, 스키마, 엔티티 접근 권한 프로시저, 트리거 등 DB 동작 개체의 보안 취약점에 보안 기능 적용 / 기밀내용의 경우, 암호화&익명화 등 데이터 자체 보안 방안도 고려
- 네트워크 영역) 인터페이스 송/수신 간 스니핑(Sniffing) 등을 이용한 데이터 탈취, 변조 위협을 방지하기 위해 네트워크 트래픽에 암호화 설정 / IPSec, SSL, S-HTTP 등의 다양한 방식 적용
- 데이터 무결성 검사 도구 : 시스템 파일 변경 유무 확인, 변경 시 관리자한테 알려줌 / 해시함수 이용 / Tripwire, AIDE, Samhain, Claymore, Slipwire, Fchech 등
073. 연계 테스트 (★☆☆)
- 연계 테스트 케이스 작성 → 연계 테스트 환경 구축 → 연계 테스트 수행 → 연계 테스트 수행 결과 검증
074. 인터페이스 구현 검증 (★★★)
- 도구
- xUnit : 코드 중복 작성 되지 않게 도와주고 테스트마다 예상 결과를 기억할 필요가 없게 하는 자동화된 해법 제공하는 단위 테스트 프레임워크
- STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경 지원하는 테스트 프레임워크 / 크로스 플랫폼, 분산 SW 테스트 환경 조성할 수 있도록 지원
- 분산 SW 경우, 각 분산 환경에 설치된 데몬이 프로그램 테스트에 응답 대신해 테스트 완료되면 이를 통합하고 자동화해 프로그램 완성함
- FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등 지원하는 테스트 프레임워크
- NTAF : 협업기능(FitNesse장점) + 재사용 및 확장성(STAF장점) 통합... NHN(네이버) 테스트 자동화 프레임워크
- Selenium : 다양한 브라우저, 개발언어 지원하는 웹 애플리케이션 테스트 프레임워크
- watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크
- 구현 감시 도구 : APM 사용 / 종합적 정보 조회&분석 / 스카우터, 제니퍼 등
- APM(Application Performance Management/Monitoring) : 앱의 성능 관리 위해 접속자, 자원현황, 트랜잭션 수행 내역, 장애 진단 등 다양한 모니터링 기능 제공하는 도구
- 리소스 방식) Nagios, Zabbix, Cacti 등
- 엔드투엔드 방식) VisualVM, 제니퍼, 스카우트 등
- APM(Application Performance Management/Monitoring) : 앱의 성능 관리 위해 접속자, 자원현황, 트랜잭션 수행 내역, 장애 진단 등 다양한 모니터링 기능 제공하는 도구
- 검증 도구/감시 도구 선택 → 검증 확인&감시 확인
075. 인터페이스 오류 확인 및 처리 보고서 작성 (☆☆☆)
- 오류 발생 즉시 확인
- 주기적인 인터페이스 오류 발생 확인
- 인터페이스 오류 처리 보고서 작성
728x90
반응형