230925 TIL #199 정처기 실기 #10 인터페이스 구현

김춘복·2023년 9월 24일
0

TIL : Today I Learned

목록 보기
199/575

Today I Learned

오늘은 정보처리기사 실기 인터페이스 구현 파트를 공부했다.


인터페이스 구현

요구사항 검증 방법

요구사항 검토 - B

요구사항 명세서의 오류 확인 및 표준 준수 여부 등의 결함 여부를 수작업으로 분석하는 방법

  • 동료검토(Peer Review) : 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 형태의 검토방법

  • 워크스루(Walk Through) : 검토회의 전에 요구사항 명세서를 미리 배포해 사전 검토한 후 짧은 검토 회의를 통해 결함을 발견하는 검토 방법

  • 인스펙션(Inspection) : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법

프로토타이핑(Prototyping)

요구사항 파악을 위해 견본품(Prototype)을 만들어 최종 결과물을 예측

테스트 설계

요구사항은 테스트할 수 있도록 작성되어야하며, 이를 위해 테스트케이스를 생성해 요구사항이 현실적으로 테스트 가능한지 검토

Case 도구 활용

일관성 분석을 통해 요구사항의 추적, 분석, 관리, 표준준수여부를 확인한다.


미들웨어 - B

운영체제와 응용 프로그램 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 SW
표준화된 인터페이스를 제공함으로써 시스템간 데이터 교환에 일관성을 보장

미들웨어의 종류 - B

  • DB(Database)
    데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하는 미들웨어
    DB를 사용해 시스템을 구축하는 경우 보통 2-Tier 아키텍처라고 한다.

  • RPC(Remote Procedure Call, 원격 프로시저 호출)
    응용 프로그램의 프로시저를 사용해 원격 프로시저를 마치 로컬 프로시저 처럼 호출하는 미들웨어

  • MOM(Message Oriented Middleware, 메시지 지향 미들웨어)
    메시지 기반의 비동기형 메시지를 전달하는 미들웨어
    온라인 업무 보다는 이기종 분산 데이터 시스템의 데이터 동기를위해 많이 사용된다.

  • TP-Monitor(Transaction Processing Monitor, 트랜잭션 처리 모니터)
    온라인 트랜잭션 업무에서 트랜잭션 처리 및 감시를 하는 미들웨어
    항공기나 철도 예약업무 등 사용자 수가 증가해도 빠른 응답속도를 유지해야하는 업무에 사용

  • ORB(Object Request Broker, 객체 요청 브로커)
    코바 표준 스펙을 구현한 객체 지향 미들웨어
    최근엔 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추가로 구현한 제품도 있다.

  • WAS(Web Application Server)
    사용자의 요구에 따라 동적인 컨텐츠를 처리하기 위한 미들웨어
    클라이언트/서버 환경보다는 웹환경을 구현하기 위한 미들웨어다.


내·외부 인터페이스 기술 표준 확인

EAI - A

Enterprise Application Interation
기업 내 각종 애플리케이션 및 플랫폼 간의 상호연동이 가능하게 해주는 솔루션

  • Point-to-Point
    가장 기본적인 애플리케이션 통합 방식으로 1:1로 연결해 변경 및 재사용이 어렵다

  • Hub & Spoke
    단일 접점인 허브시스템을 통해 데이터를 전송하는 중앙 집중형 방식
    확장 및 유지보수가 용이. 허브 장애 발생시 시스템 전체에 영향

  • Message Bus(ESB 방식)
    애플리케이션 사이에 미들웨어를 두어 처리하는 방식
    확장성이 뛰어나며 대용량 처리가 가능.

  • Bus Hybrid
    Hub & Spoke와 Message Bus를 혼합한 방식
    그룹 내에서는 H, 그룹간에는 M 방식을 사용한다.
    데이터 병목을 최소화 할 수 있다.

ESB

Enterprise Service Bus
애플리케이션 간 표준 기반의 인터페이스를 제공하는 솔루션
애플리케이션 통합 측면에서는 EAI와 유사하지만 서비스 중심의 통합을 지향한다.
특정 서비스에 국한되지않고 범용적으로 사용하기 위해 애플리케이션과의 결합도를 약하게 유지


인터페이스 구현 기술

JSON - A

JavaScript Object Notation
웹과 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성-값의 쌍 형태로 표현하는 개방형 표준 포맷
비동기 처리에 사용하는 AJAX에서 XML을 대체해 사용된다.

AJAX - A

Asynchronous Javascript and XML.
자바스크립트에서 클라이언트와 서버 간 XML 데이터를 주고 받는 비동기 통신 기술
전체 페이지를 새로고침하지 않아도 웹페이지 일부 영역만을 업데이트할 수 있다.


인터페이스 보안 기능의 영역

인터페이스 보안은 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용하는 것

  • 데이터베이스 영역 : DB, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 DB 동작 객체의 보안 취약점에 보안 기능을 적용
  • 애플리케이션 영역 : 소프트웨어 개발 보안 가이드를 참조해 애플리케이션 코드상의 보안 취약점을 보완하는 방향으로 보안 기능 적용
  • 네트워크 영역 : 인터페이스 송 수신간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지하기위해 트래픽에 대한 암호화를 설정

네트워크 영역의 암호화 방식 - A

  • IPsec(IP Security) : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉기능을 제공하는 프로토콜

  • SSL(Secure Socket Layer) : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜

  • S-HTTP : 클라이언트와 서버간 전송되는 모든 메세지를 암호화하는 프로토콜

데이터 무결성 검사 도구 - B

인터페이스 보안 취약점을 분석하는데 사용되는 도구
시스템 파일의 변경 유무를 확인하고 변경 시 관리자에게 알려준다.

  • 종류 : Tripwire, AIDE, Samhain, Claymore, Slipwire, Fcheck 등

인터페이스 구현 검증 도구 - A

인터페이스 구현을 검증하기 위해 시나리오를 기반으로 한 통합 테스트가 필요하다.
아래는 통합테스트를 수행하기 위해 사용되는 테스트 자동화 도구이다.

xUnit

같은 테스트 코드를 중복 작성하지 않게 도와주며 예상 결과를 기억할 필요 없이 자동화된 해법을 제공하는 단위테스트 프레임워크
처음엔 SUnit이었지만 Java용 JUnit, C++용 CppUnit, .NET용 NUnit등 다양한 언어에 적용되면서 통칭 xUnit으로 불린다.

STAF

서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
크로스 플랫폼이나 분산 소프트웨어에서 테스트 환경을 조성할 수 있도록 지원한다.
분산 소프트웨어의 경우 각 분산 환경에 설치된 데몬(Deamon)이 테스트 응답을 대신한다.

FitNesse

웹기반 테스트 케이스 설계, 실행, 결과확인 등을 지원하는 테스트 프레임워크

NTAF

FitNesse의 장점인 협업과 STAF의 장점인 재사용 및 확장성을 통합합 네이버의 테스트 자동화 프레임워크

Selenium

다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크

watir

인터프리터 방식의 객체 지향 스크립트 언어인 Ruby를 사용하는 애플리케이션 테스트 프레임워크


APM

애플리케이션의 성능 관리를 위해 다양한 모니터링 기능을 제공하는 도구

  • 리소스 방식 : Nagios, Zabbix, Cacti 등

  • 엔드투엔드 방식 : VisualVM, 제니퍼, 스카우터 등

profile
Backend Dev / Data Engineer

0개의 댓글