-
[정보처리기사 실기] 과목5 - 인터페이스 구현, 오답노트CS/정보처리기사 2023. 7. 10. 23:08반응형
Chapter ① 인터페이스 설계 확인
- 시스템 인터페이스 설계서 개념
- 시스템 인터페이스 설계서는 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서이다.
- 시스템의 인터페이스 현황 파악을 위해서 인터페이스 목록 및 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서이다.
- 상세 기능별 인터페이스 명세서 주요 항목
주요 항목 설명 인터페이스 ID - 인터페이스를 구분하기 위한 식별자
- 일반적으로 인터페이스 식별성을 강화하기 위해 업무 분류 코드와 연속번호를 같이 활용인터페이스 명 - 해당 인터페이스를 나타내는 고유 명칭 오퍼레이션 명 - 해당 인터페이스의 세부 동작 명칭 오퍼레이션 개요 - 해당 인터페이스의 세부 동작 프로세스에 대한 세부 설명 사전 조건 - 해당 인터페이스의 세부 동작이 정상적으로 작동하기 위한 사전에 완료되어야 하는 조건 기술 사후 조건 - 해당 인터페이스의 세부 동작이 정상적으로 작동된 이후에 발생되는 조건 기술 파라미터 - 인터페이스 구성 항목 값 반환 값 - 인터페이스 전송 후 반환되는 값
- 송수신 시스템 간 인터페이스 데이터 표준 확인 절차
1) 데이터 인터페이스 입·출력 의미 파악
- 식별된 데이터 인터페이스의 입력값, 출력값이 의미하는 내용을 파악한다.
- 각 출력값이 의미하는 바와 데이터의 특성 등 참고할 만한 사항을 구체적으로 작성한다.
2) 데이터 인터페이스 입·출력 의미 파악을 통한 데이터 표준 확인
- 데이터 인터페이스의 각 항목의 의미 분석 후, 이를 기반으로 데이터 표준을 확인한다.
3) 인터페이스 기능을 통한 인터페이스 데이터 항목 식별
- 식별된 인터페이스 기능을 통해 인터페이스 데이터 항목을 식별한다.
- 필요 데이터 항목과 이전에 식별된 데이터 인터페이스 항목에서 수정, 추가, 삭제되어야 할 항목이 있는지 검토한다.
4) 데이터 표준 최종확인
- 식별된 인터페이스 기능 및 데이터 항목을 통해 필요한 데이터 표준 및 조정해야 할 항목을 검토 및 확인하고, 송·수신 시스템 간 인터페이스 데이터 표준을 최종적으로 확인한다.
- 포인트 투 포인트(Point-to-Point)
가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법
- ESB(Enterprise Service Bus) 방식
- ESB는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처이다.
- ESB는 버스를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원한다.
- XML(Extensible Markup Language)
XML은 HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어이다.
- XML의 특징
- XML은 송·수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의한다.
- 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어이다.
- 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다.
Chapter ② 인터페이스 기능 구현
- 필요 데이터를 전달하는 인터페이스 절차
기능 분석 결과 인터페이스 데이터 전송 - 수신지 주소에 레스트 방식으로 전달될 수도 있으며 DB 커넥션을 이용하여 DB 프로시저, 트리거 등을 활용하여 전송 인터페이스 데이터 수신 - 인터페이스 데이터를 수신한 후 데이터의 형식이 맞는지 점검
- 각 규칙을 사전에 정의하고 이를 활용인터페이스 데이터 파싱 - 인터페이스 객체는 파서를 이용하여 파싱하거나 인터페이스 테이블에서 선택 인터페이스 데이터 검증 - 각 세부 데이터의 포맷과 논리적인 제약조건의 오류 검사 후속 기능 수행 - 각 세부 데이터를 활용해서 수신 시스템에서 정의된 동작을 진행
- 인터페이스 구현
인터페이스 구현 방법에는 데이터 통신을 사용하는 방법과 인터페이스 개체(Entity)를 사용하여 인터페이스를 구현하는 방법이 있다.
▼ 데이터 통신을 사용하여 인터페이스를 구현
방법 설명 인터페이스 객체 생성 구현 - 인터페이스 객체를 생성하기 위해서 데이터베이스에 있는 정보를 SQL을 통하여 선택한 후 이를 제이슨(JSON)으로 생성 인터페이스 객체 전송 후 전송
결과를 수신 측에서 반환
받도록 구현- 송신 측에서 제이슨으로 작성된 인터페이스 객체를 AJAX 기술을 이용하여 수신 측에 송신
- 수신 측에서는 제이슨 인터페이스 객체를 수신받고 이를 파싱 후 처리
- 수신 측의 처리 결괏값은 송신 측에 True / False 값을 전달하여 인터페이스 성공 여부를 확인 전달▼ 인터페이스 개체(Entity)를 사용하는 인터페이스 구현
방법 설명 송신 시스템의
인터페이스 테이블- 송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목 구현
- 인터페이스 이벤트 발생 시 인터페이스 테이블에 인터페이스 내용이 기록되도록 구현
- 데이터 전송을 위해서 DB 커넥션(DB Connection)이 수신 측 인터페이스 테이블과 연계되도록 구현
- 프로시저, 트리거, 배치 작업 등의 방법을 통해서 수신 테이블로 데이터를 전송하도록 구현수신 시스템의
인터페이스 테이블- 수신 관련 정보를 관리하기 위한 항목과 수신 시스템에서 필요한 항목 구현
- 수신 측 시스템에서는 인터페이스 데이터를 읽은 후 사전에 정의된 데이터 트랜잭션을 진행할 수 있도록 구현
- 데이터를 읽을 때나 해당 트랜잭션이 진행될 때 오류가 발생하면 오류 코드 칼럼에 정의된 오류 코드와 오류 내용을 입력하도록 구현
- JSON(Javascript Object Notation)의 개념
JSON은 속성-값(Attribute-Value Pair) 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다.
- AJAX의 주요 기술
주요 기술 설명 XMLHttpRequest - 웹 브라우저와 웹 서버 간에 메서드가 데이터를 전송하는 객체 폼의 API
- 비동기 통신을 담당하는 자바스크립트 객체JavaScript - 객체 기반의 스크립트 프로그래밍 언어
- 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능 소유XML
(Extensible Markup
Language)- HTML의 단점을 보완한 인터넷 언어로서 SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어 DOM
(Document Object Model)- XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
- 플랫폼/언어 중립적으로 구조화된 문서를 표현하는 객체 지향 모델XSLT
(Extensible
Stylesheet Language
Transformations)- XML 문서를 다른 XML 문서로 변환하는 데 사용하는 XML 기반 언어
- W3C에서 제정한 표준으로 XML 변환 언어를 사용하여 XML 문서로 바꿔주며, 탐색하기 위해 XPath를 사용HTML
(HyperText Markup
Language)- 인터넷 웹(WWW) 문서를 표현하는 표준화된 마크업 언어 CSS
(Cascading Style Sheets)- 마크업 언어가 실제 표시되는 방법을 기술하는 언어
- 운영체제나 사용 프로그램과 관계없이 글자 크기, 글자체, 줄 간격, 색상 등을 자유롭게 선택할 수 있는 스타일 시트
- 레스트(REST)
웹과 같은 분산 하이퍼 미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처이다.
- 시큐어 코딩 가이드
적용대상 보안 약점 대응 방안 입력데이터
검증 및 표현프로그램 입력값에 대한 검증 누락 · 부적절한 검증, 잘못된 형식 지정 사용자 · 프로그램 입력 데이터에 대한 유효성 검증 체계를 수립하고 실패 시 처리 기능 설계 및 구현 보안 기능 보안 기능(인증, 접근 제어, 기밀성, 암호화, 권한 관리 등)의 부적절한 구현 인증 · 접근 통제, 권한 관리, 비밀번호 등의 정책이 적절하게 반영되도록 설계 및 구현 시간 및 상태 거의 동시에 수행 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태의 부적절한 관리 공유 자원의 접근 직렬화, 병렬 실행 가능 프레임워크 사용, 블록문 내에서만 재귀 함수 호출 에러 처리 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요 정보가 포함 에러 상황을 처리하지 않거나, 불충분하게 처리되어 중요 정보 유출 등 보안 약점 발생하지 않도록 시스템 설계 및 구현 코드 오류 개발자가 범할 수 있는 코딩 오류로 인해 유발 코딩 규칙 도출 후 검증 가능한 스크립트 구성과 경고 순위의 최상향 조정 후 경고 메시지 코드 제거 캡슐화 가능성이 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출 디버거 코드 제거와 필수정보 외의 클래스 내 프라이빗(Private) 접근자 지정 API 오용 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API의 사용 개발 언어별 취약 API 확보 및 취약 API 검출 프로그램 사용
- 데이터베이스 암호화 알고리즘
구분 설명 대칭 키 암호화
알고리즘암호화 알고리즘의 한 종류로, 암 · 복호화에 같은 암호 키를 쓰는 알고리즘을 의미
예) ARIA 128/192/256, SEED비대칭 키 암호화
알고리즘공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘
예) RSA, ECC, ECDSA해시 암호화
알고리즘해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
예) SHA-256/384/512, HAS-160
- 데이터베이스 암호화 기법
구분 구성도 설명 API
방식- 애플리케이션 레벨에서 암호 모듈(API)을 적용하는 애플리케이션 수정 방식
- 애플리케이션 서버에 암 · 복호화, 정책 관리, 키 관리 등의 부하 발생Plug-in
방식- 암 · 복호화 모듈이 DB 서버에 설치된 방식
- DB 서버에 암 · 복호화, 정책 관리, 키 관리 등의 부하 발생TDE
방식- DB 서버의 DBMS 커널이 자체적으로 암 · 복호화 기능을 수행하는 방식
- 내장되어 있는 암호화 기능(TDE: Transparent Data Encryption)을 이용Hybrid
방식- API 방식과 Plug-In 방식을 결합하는 방식
- DB 서버와 애플리케이션 서버로 부하 분산Chapter ③ 인터페이스 구현 검증
- 인터페이스 구현 검증 도구
도구 설명 xUnit - 자바(jUnit), C++(cppUnit), .Net(nUnit) 등 다양한 언어를 지원하는 단위테스트 프레임워크
- 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트할 수 있게 해주는 도구STAF - 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구FitNesse - 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대해 테스트를 할 수 있는 장점이 있음NTAF - FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크 Selenium - 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 도구를 제공watir - 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크
- 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능
- 인터페이스 감시 도구
도구 설명 스카우터(SCOUTER) 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공 제니퍼(Jennifer) 애플리테이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어
- 인터페이스 오류 처리 방법
1) 사용자 화면에서 오류를 인지하도록 구현
- 사용자 화면에서 인터페이스 오류를 인지하도록 구현하는 방법은 가장 직관적으로 오류를 인지할 수 있는 방법이다.
- 인터페이스 오류가 발생하였을 경우 알람 형태로 화면에 표시되며, 주로 실시간으로 데이터가 인터페이스 되는 경우에 사용된다.
2) 인터페이스 오류 로그 생성
- 시스템 운영 로그에 인터페이스 오류 시 관련 오류 로그가 생성되도록 할 수 있다.
- 인터페이스 오류의 자세한 내역을 알기 위해 사용되며, 시스템 관리자나 운영자가 오류 로그를 확인할 수 있다.
3) 인터페이스 관련 테이블에 오류 사항 기록
- 테이블을 통한 인터페이스 기능을 구현할 경우나 인터페이스 트랜잭션 기록을 별도로 보관하는 경우에는 테이블에 오류 사항을 기록할 수 있다.
Reference
2022 수제비 정보처리기사 실기 (1권+2권 합본세트) - YES24
NCS 기반으로 재구성한 합격비법서로 NCS 기반 반영 문제(예상문제, 단원종합문제, 모의고사, 2021년 기출문제)를 수골하였다. 2022년 합격을 위한 NCS 기반 모의고사, 궁극의 암기비법(두음 쌤)과 학
www.yes24.com
반응형'CS > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 과목7 - SQL 응용, 오답노트 (0) 2023.07.16 [정보처리기사 실기] 과목6 - 프로그래밍 언어 활용, 오답노트 (0) 2023.07.15 [정보처리기사 실기] 과목4 - 통합 구현, 오답노트 (0) 2023.07.09 [정보처리기사 실기] 과목3 - 데이터 입출력 구현, 오답노트 (0) 2023.07.06 [정보처리기사 실기] 과목2 - 화면 설계, 오답노트 (0) 2023.07.04