본문 바로가기

정보처리기사

정보처리기사2

연계 요구사항 분석 : 서로 다른 두 시스템, 장치, 소프트웨어를 이어주는 중계역할을 하는 연계시스템과 관련된 요구사항을 분석하는 과정

 

연계 요구사항 분석 참고문서

-개체(엔티티)정의서 : 데이터베이스 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서

-테이블 정의서 : 논리 및 물리 모델링 과정 설계 산출물

-인터페이스 명세서 : 인터페이스 정의서에 작성한 항목을 자세히 작성한 것

 

연계 메커니즘 : 응용 소프트웨어와 연계 대상 모듈간의 데이터 연계시 요구사항을 고려한 연계방법과 주기를 설계하기 위한 매커니즘

 

주요연계 기술

-직접연계

      - DB링크

      - DB연결

      - API/OPEN API

      - JDBC

      - 하이퍼 링크

-간접연계

      - EAI : 기업에서 운영되는 서로  다른 플랫폼 및 애플리케아션들 간의 정보전달, 연계, 통합을 가능하게 해주는 솔루션

      - ESB : 웹서비스가 설명된 WSDL, SOAP 프로토콜을 이용한 시스템간 연계

      - 소켓 : 소켓을 생성하여 포트를 할당하고 클라이언트의 요청을 연결하여 통신

 

EAI

- EAI 구성요소

      - EAI 플랫폼

      - 어댑터

      - 브로커

      - 메시지 큐

      - 비지니스 워크플로우

- EAI 구축 유형

      - 포인트 투 포인트(Point-to-point) : 1대1 단순 통합 방법

      - 허브 앤 스포크(Hub&Spoke) : 단일한 접점의 허브 시스템을 통하여 데이터를  전송하는 중앙 집중적 방식

      - 메시지 버스(Message Bus) : 앱 사이 미들웨어를 두어 연계하는 미들웨어 통합 방식

      - 하이브리드(Hybrid) : 그룹 내에서는 허브앤스포크 방식을 사용, 그룹간에는 메시지 버스 방식을 사용하는 통합방식

 

ESB

 

웹서비스

-웹서비스 : 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술

-웹서비스 유형

 -SOAP : HTTP,HTTPS 등을 사용하여 XML 기반의 메시지를 네트워크상태에서 교환하는 프로토콜

 -WSDL : 웹서비스명, 제공위치, 프로토콜 정보 등 웹서비스에 대한 상세정보가 기술된 XML 형식으로 구현되어 있는 언어

 -UDDI : 웹서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트

 

XML : 웹브라우저 간 HTML 문법이 호환되지 않는 문제를 해결하기 위한 다목적 마크업 언어

 

연계테스트 : 송신시스템과 수신시스템을 연계하였을 경우 데이터의 정합성과 데이터 전송 여부에 대한 테스트

                        *정합성 : 데이터들의 일치

 

IPC : 운영체제에서 프로세스간 서로 데이터를 주고받기 위한 통신 기술


 

컴퓨터 : 기계어

개발자 : 프로그래밍 언어 =>  소스코드

사람 : 자연어

 

형상관리(버전관리)

개발환경구축하기

      빌드도구 : 작성한코드의 빌드 및 배포를 수행하는 도구(ant, maven, gradle)

      구현도구 : 코드작성, 디버깅, 수정 등 같이 작업시 사용되는 도구(이클립스,VS)

      테스트도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구(xUnit,PMD)

      형상관리도구 : 산출물에 대한 버전관리를 위한 도구(Git, SVN, CVS)

 

서버 하드웨어 개발환경

웹서버 : HTTP를 이용한 요청/응답을 처리

웹애플리케이션서버(WAS) : 동적컨텐츠를 처리하고 제공하기 위해 사용

데이터베이스서버 : 데이터의 수집, 저장을 위한 용도로 사용

파일서버 : 파일 저장 하드웨어로 물리저장장치를 활용한 서버

 

소프트웨어 형상관리도구 유형

      -공유폴더방식 : 매일 개발이 완료된 파일은 약속된 위치의 공유폴더에 복사하는 방식

      -클라이언트/서버방식 : 중앙에 버전관리 시스템을 항시 동작시키는 방식(SVN, CVS)

      -분산 저장소 방식 : 로컬 저장소와 원격 저장소로 분리 되어 분산 저장하는 방식(Git)

SVN : 하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 도구

CVS : 서버와 클라이언트로 구성되어 있고, 다수의 인원이 동시에 범용적인 운영체제로 접근 가능한 형상관리도구

RCS : 소스파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일을 동시에 수정할 수 없도록 파일 잠금형식으로 형상관리하는 도구

GIT : 속도에 중점을 둔 분산형 버전 관리 시스템, 대형프로젝트에서 효과적이고 유용함

 

공통모듈구현하기

모듈 : 하나의 완전한 기능을 수행할 수 있는 독립된 실체

모듈화 : 프로그램 개발시 생산성과 최적화, 관리에 용이하게 기능 단위로 분할하는 기법

 

결합도는 낮을수록 좋고 응집도는 높을수록 좋다.

응집도 : 모듈의 독립성울 나타내는 정도, 모듈 내부 구성요소간 연관 정도

응집도 유형 : 기능적응집도, 순차적응집도, 통신적응집도(교환적 응집도), 절차적 응집도, 시간적응집도, 논리적응집도,우연적 응집도

결합도 : 외부 모듈과의 연관도 또는 모듈간의 상호 의존성, 모듈간의 관련성을 측정하는 척도

결합도 유형 : 자료결합도, 스탬프결합도, 제어결합도, 외부결합도, 공통결합도, 내용결합도

 

팬인 : 어떤 모듈을 제어하는 모듈의 수, 모듈 자신을 기준으로 모듈에 들어오면 팬인

팬아웃 : 어떤 모듈에 의해 제어되는 모듈의 수, 모듈 자신을 기준으로 모듈에서 나가면 팬아웃

시스템 복잡도를 최적화 하기 위해 팬인은 높게, 팬아웃 낮게 설계 해야한다.

 

공통모듈테스트 종류

      -화이트박스테스트 : 소스코드를 보면서 테스트케이스를 다양하게 만들어 테스트

      -메서드기반테스트 : 공통모듈의 외부에 공개된 메서드 기반 테스트

      -화면기반테스트 : 화면단위로 단위모듈을 개발 후에 화면에 직접 데이터를 입력하여 테스트

                        - 테스트 드라이버 : 하위모듈은 있지만 상위모듈은 없는 경우 사용

                        - 테스트 스텁 : 상위모듈은 있지만 하위모듈은 없는 경우 사용

 

배치프로그램 구현하기

배치프로그램 : 사용자와의 상호작용없이 일련의 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법

배치프로그램유형

      -이벤트 배치 : 특정 조건을 설정해두고 조건이 충족될 때만 수행

      -온디맨드 배치 : 사용자 요청시 수행

      -정기 배치 : 일, 주, 월과 같이 정해진 기간에 정기적으로 수행

배치 스케쥴러 : 일괄처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구

배치 스케쥴러 종류

   -스프링배치 : 오픈소스 프레임워크

   -Quartz : 수행할 작업과 수행시간을 관리하는 요소들을 분리하여 일괄 처리 작업에 유연성을 제공(오픈소스 라이브러리)

   -Cron : 리눅스의 스케쥴러 도구로 명령어를 통해 작업을 예약할 수 있다.

 

인터페이스구현

컴포넌트 명세서 : 컴포넌트의 개요, 부클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세

인터페이스 명세서 : 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서

JSON : 속성-값 또는 키-값으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는                       개방형 표준 포맷. 서버에서 클라이언트로 데이터를 보낼때 사용하는 양식

AJAX : JS를 사용하여 웹서버와 클라이언트 간 비동기적으로 XML데이터를 교환하고 조작하는 웹기술

REST : 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP메서드로 주고받은 웹 아키텍쳐

'정보처리기사' 카테고리의 다른 글

정보처리기사6  (0) 2022.07.09
정보처리기사5  (0) 2022.07.03
정보처리기사 4  (0) 2022.07.02
정보처리기사3  (0) 2022.06.26
정보처리기사1  (0) 2022.06.19