시험공부/정보처리기사

[정보처리기사 실기] 전날 보는 키워드 요약 정리2

개발하는소유밍 2024. 5. 11. 14:30

* 요약정리5 까지 있음

* 반복되서 나오는것들은 만날때마다 넘기지말고 반복해서 확인

 

통합구현

▷ 통합구현

 ㄴ 사용자들의 요구사항에 맞게 중계시스템과 송 수신 시스템간의 관계를 적절히 구현하는 것

 - 송신 시스템 : 운영 DB에서 연계 데이터를 식별, 추출하여 인터페이스 파일로 생성 후 송신

 - 중계 시스템 : 송신과 수신 시스템을 연결해주는 서버나 시스템, 보안성 강화

 - 수신 시스템 : 수신한 테이블을 운영 DB나 환경에 맞게 변환하여 처리, 활용

 

▷ 모듈

전체 시스템 설계 시,

ㄴ 공통모듈 :  각각의 서브 시스템에서 공통 사용 모듈을 하나로 묶은 라이브러리

ㄴ 단위모듈 : 한가지 동작을 수행하는 기능을 모듈로 구현한 것

 - 모듈화 : 하나의 큰 작업을 각 기능에 따라 실제로 개발할 수 있는 작은 단위로 나누는 것

 ㄴ 결합도는 낮을수록, 응집도는 높을수록 좋음

 

▷ 연계 데이터

 - 연계 범위 및 항목 정의

 → 연계코드 매핑 및 정의

 → 변경된 데이터 구분방식 정의(식별자, 변경구분, 관리를 위한 정보)

 → 데이터 연계 방식 정의

                        

▷ 연계 매커니즘(송신 시스템, 수신 시스템)

 - 직접 연계 방식 : 중간 매개체 없이. DB Link, DB Connection Pool, JDBC, API

 - 간접 연계 방식 : 중간 매개체 이용. EAI*, ESB*, 소켓

 ㄴ 전송 구간의 암호화 : 가상 사설망(VPN), SSL(전송 계층), IPsec(네트워크 계층)

 ㄴ 연계 데이터 보안 프로토콜(메일 관련) : PGP, PEM, S/MINE

 * EAI(Enterprise Application Intergration)

 * EBS(Enterprise Servixe Bus) : 중앙집중식 지향 아키텍처, 서비스 중심 통합 지향

 * SOAP(Simple Object Access Protocol) : HTTP, HTTPS, SMTP 등 사용, xml기반 메세지 교환

 * UDDI : xml 기반의 레지스토리. 월드 와이드 웹 컨소시엄(W3C)와 IETF 표준 사용

      SOAP 의 초기버전을 사용 

 

▷ 형상 관리

 - 항목 : 프로젝트 요구분석서, 설계서, 프로그램, 사용자지침서, 운영 및 설치 지침서

 - 정의 : 변경을 관리하기 위한 일련의 활동

 - 베이스라인 : 정식 변경 통제 절차들을 통해서만 변경 가능

 - 형상관리의 기능* :식별, 통제, 감사, 기록(보고) // "식통감기" 순서도 암기

- 도구: CVS, SVN, Git(Hub)

 ㄴ CVS : 하나의 파일 동시작업, 다양한 운영체제 지원

 ㄴ SVN : CVS 단점 보완, 원자적 커밋, 실패시 롤백, 개별 개발자만의 이력 X

 ㄴ Git(Hub) : 분산형 버전 관리 시스템, 중앙서버 접속 필요 X

 

▷ 그 외 주요 키워드 : 소프트웨어 재사용(생산성↑), 소프트웨어 재공학(유지보수성↑),

                소프트웨어 역공학(프로그램 분석), 리팩토링

 

▷ 디자인 패턴(GoF) : 재사용성, 모듈성, 유지보수

 - 생성 패턴 : 빌더, 프로토타입, 싱글톤, 추상팩토리, 팩토리 메소드

 - 구조 패턴 : 브릿지, 어댑터, 프록시, 데코레이터(동적), 퍼케이드

 - 행위 패턴 : 비지터, 커멘드, 옵저버(감시, 1:다의 객체의존관계), 이터레이터, 스테이트, 메멘토(게임)


서버 프로그램 구현

▷  개발 환경 구축 구현도구 : IDE

 - 개발언어 선정 기준 : 적정성, 효율성, 이식성, 친밀성, 범용성

 - 빌드 도구 : Ant, Maven, Gradle

 - 테스트 도구 : xUnit, Spring Test, JMeter

 

▷  개발 환경

 - 클라이언트 환경 : 사용자와 인터페이스를 연결(제공)하는 하드웨어

 - 서버 환경 구성

 ㄴ 애플리케이션 서버(웹 서버 &웹 애플리케이션 서버), 데이터베이스 서버, 파일 서버

 

▷ 공통 모듈 구현

 - 모듈이란? 프로그램을 기능별로 분할한 논리적인 일부분, 서브 루틴

 ㄴ 결합도 : (높) 내공외 제스자 (낮) / 낮을수록 굿

 ㄴ 응집도 : (높) 기순통절 시논우 (낮) / 높을수록 굿

 - 구조적 분석 도구 : DFD, DD, Mini-spec

 - 구조적 설계 도구

 + 구조도 : Fan-in/Fan-out

 + Jackson : 트리구조, 기본/순차/선택/반복 기호 사용

 + HIPO* : 기능표현 중심, 계층도표(가시적도표)/총괄도표/세부도표(IPO다이어그램)

         하향식구조, 신뢰성 비교적↓

 + NS Chart* : 논리기술에 중점, Box 다이어그램, Chapin Chart라고도 함

            순차 / 선택 / 반복 3가지 제어구조, GOTO문 X

 

테스트 케이스

 - 구성요소 : 식별자, 테스트 항목, 입력명세, 출력명세, 환경설정, 특수 절차요구, 의존성 기술

 

프레임워크 : 모듈화, 재사용성, 확장성, 제어의 역흐름

 - 서버개발 프레임워크 : MVC패턴 기반

                 (MVC 패턴을 가장 적절하게 표현한 디자인패턴 : Observer*)

 *Spring (Java), Node.js (Javascript), Django (Python)

 

▷ 서버 프로그램 테스트(=소프트웨어 테스트) : 요소의 결함을 찾아내는 활동

 - 파레토의 법칙 : 80대20의 법칙. 결함이 20에 집중 되어있음

 - 살충제 패러독스 : 동일한 테스트케이스로 반복 실행하면 더이상 결함 발견이 어려움

 - 오류-부재의 궤변 : 오류보다 사용자의 만족도가 더 중요

 

배치 프로그램 : 일련의 작업들을 작업 단위로 묶어 일괄처리 하는 것

 - 종류 : 스프링배치, 쿼츠 U스케줄러


인터페이스 구현

시스템 인터페이스 기능 : 내/외부의 모듈간의 연결 기능

  - 인터페이스 : 접점, 경계면

  - 구성요소 : 송신시스템, 수신시스템, 중계시스템(EAI, ESB), 프로토콜, 데이터포맷(Json, Xml)

 ㄴ 기술 : SOAP(xml기반 메세지, 신뢰성있게 전송), RPC(원격제어 통신기술), DB Link(동일 DB내 연계 가능)

 * TCP VS UDP - (높)신뢰성 : TCP / (높)속도 : UDP

 * APM* : 인터페이스 감시도구

 

인터페이스 포맷

 - XML : SOAP, REST

 - JSON : 속성 - 값, REST

 - MTOM : 전송 최적화, SOAP

 

인터페이스 솔루션

 - MCI : 다양한 고객 접점 채널과 기업 내부 시스템 간에서 사용

 - EAI* : 기업 내부 및 외부 애플리케이션 사이의 통합을 위해 제공

 - FEB : 기업내부(특히 금융권) 시스템과 대외 기관의 통합을 위해 제공, 전용선이 있음

 - ESB* : SOA기반, 고객 서비스* 요청에 대해 다양한 시스템을 인터페이스

 

데이터 표준(인터페이스) : 데이터 형식이 맞지 않을 떄 연계코드의 변환 및 매핑처리가 필요

 - EAI* : 기업 내 외부 앱 사이의 통합을 위해 제공되는 프로세스

 - 구성요소 : EAI Platform, Application Adaptor, 브로커(변환 솔루션), Business workflow

 ㄴ 주요기능 : 비지니스 프로세스 관리, 데이터 브로커, APP 접근 기능, 데이터 접근 기능, 플랫폼 기능

 ㄴ 구축유형 : 포인트 투 포인트(1:1), 허브앤 스포크(유지보수 비용절감),

        메세지 버스(대량 데이터, 병목현상 有), 하이브리드(허브+버스)

 

인터페이스 기능구현 : JSON, XML, Ajax

 

인터페이스 주요 보안 취약점

 - 전송 구간 암호화 : 전용선 통신(FEP), VPN

 - 데이터 암호화 : 암호화 알고리즘

 ㄴ 알고리즘 종류

   - (대칭키)DES, AES, ARIA, SEED / (해시-일방향)SHA-256 / (비대칭키) RSA, Elgamal, ECC

 * 주요 데이터 암호화 방식 : API 방식(App레벨에서 암호화) / 플러그인 방식(DB레벨에 확장성 프로시저)

                     하이브리드 방식

 

테스트 자동화도구 : xUnit, STAF(다양한 환경*지원), Fitnesse, NTAF, Selenium(다양한 웹브라우저*지원), Watir


화면 설계

▷ 소프트웨어 아키텍처 : 기본틀(뼈대)

 

사용자 인터페이스 : 인간과 소프트웨어의 의사소통을 도와주는 매개체

 - 평가기준 : 학습용이성(직관성), 속도, 오류 빈도, 사용자의 만족, 사용법의 유지

 - 인터페이스의 종류 : CLI(Unix, pos), GUI(마우스입력), NUI(음성인식), OUI

 * HCI : 인간과 컴퓨터 사이 상호작용을 연구한 설계모형, 시스템 인식, 시스템에 이바지

 - 기본 원칙 : 직관성, 유효성, 학습성, 유연성

 - J.Foley의 사용자 인터페이스 4단계

 ㄴ 개념 단계 (대화형, 심리적), 의미 단계, 문구 단계 (명령문), 어휘 단계(특정 명령)

 

UI 요구사항 : 품질요구사항 - 기신사효유이**

 ㄴ 필수 암기요소 : ISO 9126-프로덕트 품질, ISO 15004(SPICE), ISO 12007-프로세스 품질

 - 기능적 요구사항 : 사용자의 관점

 - 비지능적 요구사항 : 개발자 관점. 기밀 보안성, 자원, 성능, 보안, 품질 관련

 

UI 프로토타입(시제품)

 - 장점 : 이해가 쉽고, 개발 시간이 감소, 오류를 사전에 발견 가능

 - 단점 : 적절한 타협이 필요, 자원 효율성 관점에서 자원 소모가 많아 효율성이 떨어짐

 

 UI 설계 도구의 종류

 - 와이어프레임 : 화면 단위의 레이아웃, 손그림, 파워포인트, 스케치 등

 - 목업 : 정적 모형. 파워 목업, 발사믹 목업 등

 - 스토리보드 : 최종 산출물*, 파워포인트, 키노트, 스케치 등

 - 프로토타입 : (정적인)스토리보드, 와이어프레임에 인터렉션(동적효과) 추가 적용, 시뮬레이션

 ※ 유용성 : 사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가의 척도

 

UI 시나리오 작성 원칙

 - 인터렉션의 흐름 정의, 순서, 분기, 조건, 루프 등 명시

 - 작성의 요건 : 완전성, 일관성, 이해성, 가독성, 수정용이성, 추적용이성

 - 작성 원칙 : 주요키의 위치와 기능(일관성 보장), 공통 UI요소(UI흐름 설명),

 기본스크린 레이아웃(레이아웃 일관성), 기본 인터렉션 규칙(공통사용 조작법 기술),

 공통단위 테스크 흐름(인터렉션 흐름), 케이스 문서

300x250