[정보처리기사] 참고사항(20200822)

Hyo Kyun Lee·2023년 1월 27일
1

정보처리기사

목록 보기
6/26

1. 디자인 패턴

※ 프로토타입은 생성패턴이다.

  • 목적에 따라 생성하기 위한 생성 패턴 / 구조를 구성하기 위한 구조 패턴 / 요청 및 행위를 구현하기 위한 행위패턴으로 분류

  • 생성패턴
    클래스 > Factory method(Virtual-Constructor), 인터페이스를 만들고 서브 클래스에 인스턴스 결정
    객체 > abstract merthod, 생성군 캡슐화 / Builder, 생산단계 캡슐화 / Prototype, 객체 복사 및 생성 / Singleton, 객체 하나만 생성 및 전역 사용

  • 구조패턴
    클래스 > Adaptor, 호환성 없는 인터페이스로 함께 사용할 수 없는 클래스 개조하여 사용
    객체 > Bridge, 추상부-구현부 분리 / Composite, 클라이언트에서 개별객체와 복합객체를 동시에 사용(트리구조, 재귀호출) / Decorator, 기능 확장 유연성 / Facade, 하나의 인터페이스, 단순화 / Flyweight, 대량의 작은 객체들을 효과적으로 사용 + 불필요한 New 방지 / Proxy(대리객체생성)

  • 행위패턴
    클래스 > Interpreter, 언어 규칙을 나타내는 클래스 이용 / Template, 알고리즘 골격 구조 정의(구체적인 단계는 서브 클래스에서)
    객체 > Chain of Responsibility, 객체간 연결고리 + 요청을 내부적으로 전달 / Command, 요청을 객체화하여 전달 / Iterator, 복합객체의 내부는 보여주지 않고 순회하여 데이터 탐색하도록 / Mediator, 객체들간 상호작용을 통해 캡슐화 / Memento, 상태값 미리 기록 및 저장 / Observer, 한 객체 상태가 변할때 다른 객체로 알림 / State, 객체 내부 상태에 따라 행위 변경 / Strategy, 다양한 알고리즘을 하나의 클래스로 캡슐화 / Visitor, 방문을 통해 수행..데이터 처리(operation) 기능을 별도의 클래스에 정의

2. 미들웨어 솔루션 유형

  • WAS - web server 처리내용을 분담, 입력값에 따른 데이터를 control
  • RPC - Remote Procedure Control, 원격 프로시저를 로컬 프로시저처럼 호출
  • ORB - Object Request Broker, 객체지향미들웨어로 COBBA표준(최근엔 트랜잭션 처리 및 모니터링 기능 구현)

3. UML - 시퀀스 다이어그램

※ 액 객 생 실 메

메시지(함수호출) 과정을 시간의 흐름에 따른 상호작용 과정으로 표현

  • 액터 : 서비스 요청 외부요소
  • 객체 : 메시지를 주고받는 요소
  • 생명선 : 객체가 메모리에 존재하는 기간(점선)
  • 실행 : 메시지를 주고받으며 동작하고 있음을 표현
  • 메시지 : 상호작용하면서 주고받는 내용

4. 협약에 의한 설계

클래스에 대한 여러 가정을 공유하도록 명세한 것

  • 선행조건(precondition) : 오퍼레이션이 호출되기전에 참이어야하는 선행조건
  • 결과조건(postcondition) : 오퍼레이션 수행 후 만족해야하는 조건
  • 불변조건(invariant) : 클래스 내부가 실행되는 동안 항상 만족해야하는 조건

5. UML에서 활용하는 다이어그램 중 행위 다이어그램

※ 배치 다이어그램은 구조적 다이어그램이다.

  • 유스케이스
  • 시퀀스
  • 커뮤니케이션
  • 상태
  • 활동
  • 상호작용
  • 타이밍

6. UML 관계 표기법

표기법 관련

  • 일반화 : 실선 + 색없는 화살표
  • 실체화 : 점선 + 색없는 화살표
  • 연관 : 실선
  • 의존 : 점선(스테레오 : include / extend)
  • 집합 : 실선 + 색없는 사각형
  • 합성 : 실선 + 색있는 사각형

7. 객체지향 설계원칙

  • 단일책임원칙(SRP, Single Responsibility) - 객체는 하나의 책임만
  • 개방폐쇄원칙(OCP, Open-Close) - 기존 코드를 변경하지 않으면서 기능 추가 및 확장
  • 리스코프 치환 원칙(LSP, Liscov Substitution) - 서브 클래스는 자신의 기반 상위 클래스로 언제나 치환 가능
  • 의존 역전 원칙(DIP, Despency Inversion) - 의존 관계는 거의 변화하지 않는 것에 의존해야 한다.

8. 인터페이스 요구사항 검토방법

  • 동료 검토 : 요구사항 명세서 작성자가 요구사항 명세를 설명하고, 이해관계자들이 이를 들으면서 결함 발견
  • 인스펙션 : 소프트웨어 개발에 참여하지 않은 다른 개발자에 의해 결함 발견
  • 워크스루 : 검토 자료를 회의전에 배포, 짧은 시간 동안 검토회의 진행

9. 테스트 국제 표준

  • ISO/IEC 12119
  • 현재는 ISO/IEC 25010

10. 블랙박스 테스트

※ 명세된 기능에 대한 테스트

  • 동치(동등)분할 검사(Equivalence Partitioning Test)
  • 경계값 분석(Boundary Value Analysis)
  • 원인-효과 그래프 검사(Cause-Effect graph Test)
  • 오류 예측 검사(Error Guessing)
  • 비교 검사(Comparison Test)

11. 화이트박스 테스트

※ 구조에 대한 테스트

  • 기초 경로 검사
  • 제어 구조 검사(조건, 루프 검사, 데이터 흐름 검사)

12. 선택정렬

  • O(N^2)
  • 가장 작은 값을 선택하여, 정렬 되지 않은 인덱스 중 가장 첫번째 값과 자리 교환

13. 알고리즘 설계 기법

  • Backtracking : 가능한 모든 경로에 대해 탐색, 해를 찾는 도중 해가 아니면 다시 되돌아가서 해를 찾는 기법

14. 파티션 유형

  • 범위 분할(Range) : 지정한 열의 값 범위를 기준을 분할
  • 해시 분할(Hash) : 해시 함수를 적용한 값에 따라 분할
  • 조합 분할(Composition) : 범위 분할후 해쉬함수를 적용하여 다시 분할 / 기준을 여러 항목으로 두어 분할

15. 애플리케이션 테스트

  • 상향식 : 테스트 드라이버, 상위 모듈과 종속모듈의 그룹(클러스터), 인터페이스를 알면 테스트가 쉬워짐, DFS/BFS
  • 하향식 : 스텁, 인터페이스를 알고 있어야 진행 가능
  • 회귀테스트 : 테스트된 프로그램 반복
  • 빅뱅 테스트 : 일괄적으로 모든 테스트 시행(비점진적 통합 방식)

16. 인수 테스트

  • 알파테스트, 베타테스트는 인수 테스트에서 시행한다.

17. NF

  • 1NF : 원자성
  • 2NF : 부분 함수 종속을 완전 함수 종속으로 전환
  • 3NF : 이해함수종속
  • BCF : 모든 결정자가 후보키
  • 4NF : 다치 종속 성립시, 함수적 종속 관계 성립
  • 5NF : 모든 조인 종속이 후보키를 통해서만 성립

18. 분산DB의 투명성

  • 분할(Division) 투명성 : 논리적으로는 하나의 통합된 DB
  • 위치(location) 투명성 : 저장장소 명기X, 위치정보가 카탈로그에 유지
  • 지역사항 투명성 : 지역DB와 물리DB사이의 mapping 보장
  • 중복(Replication) 투명성 : DB객체의 여러 위치에서 중복 저장
  • 장애(Failure) 투명성 : 장애에 무관하여 DB유지
  • 병행(concurrency) 투명성 : 다수 트랜잭션 실행시 일관성 유지(Time stamp)

19. DB에서 로그를 필요로 하는 회복기법

※ 회복(Recovery) : 트랜잭션 도중 이상 발생시 이전 상태로 복구하는 작업

  • 즉각 갱신(immediate Update) : 트랜잭션 연산 수행하여 데이터 갱신시 바로 DB에 반영, 보관시 로그에 보관, 회복작업간 Undo, Redo 가능
  • 연기 갱신(Deffered Update) : 트랜잭션 완료시까지 갱신 연기, 갱신 내용은 로그에 보관, 트랜잭션 부분완료 시점에서 log내역을 DB에 반영, 재시도 작업으로 트랜잭션 재실행 가능
  • 검사점 기법(Check Point) : 트랜잭션 중간에 체크포인트로 로그 보관, 검사점까지 보관 및 취소
  • 그림자페이지대체(Shadow paging) : 로그필요X, 트랜잭션 연산으로 갱신필요시 복사본을 생성

20. DDL

CREATE, ALTER, DROP, TRUNCATE

21. 순수 관계 연산자

  • select(where), project(select), division, join

22. 배치프로그램 필수 요소

  • 견고성 : 적합하지 않은 데이터를 다루더라도 비정상적인 동작 중단 발생하지 않아야 한다.
  • 성능 : 주어진 시간 내 처리를 완료해야하고, 동시에 동작하는 다른 애플리케이션 동작을 방해하지 않아야 한다.

23. TCP 프로토콜

  • 기본 헤더 크기는 20byte ~ 최대 60byte(Option 추가시 20byte 추가가능)
  • 스트림 전송 기능

24. 응집도

  • 우논시절교순기

25. 결합도

  • 내공제외스자

26. 파이썬 문자열 슬라이싱

  • 인덱스 표기 안할경우 - 처음 혹은 끝부터/까지
  • 인덱스 표기시 - 해당 인덱스부터 표기 인덱스 -1 자리까지

27. 제어결합도

  • 내공제외스자
  • control coupling, 다른 모듈의 제어 권리전도

28. 디지털 트윈

  • 물리적인 사물이 컴퓨터 세계에서 동일하게 표현
  • 실제 자산에 대한 정확한 정보, 과정 효율성 증대

29. 매쉬업

  • 웹에서 제공하는 정보등을 이용하여 새로운 소프트웨어 서비스, 데이터베이스를 만드는 기술

30. 기능점수모형(FP)

  • 자료입력(입력양식)
  • 정보 출력(출력보고서)
  • 명령어(사용자 질의수)
  • 데이터 파일
  • 외부 루틴과의 인터페이스

31. 블록 암호화 방식

  • SEED, DES, AES, ARIA

32. 스트림 암호화 방식

  • RC4, LFSR

33. Putnam - 자동화

  • 소프트웨어 생명주기동안 사용될 곡선의 노력 분포
  • Rayleigh - Norden 곡선의 노력 분포 기초
  • SLIM

34. 대량의 데이터를 분석하여 데이터 속 변수들의 상호관계 규명

  • Data mining

35. Mesh Network

  • 기존 무선랜 한계를 극복하기 위해 등장
  • 대규모 디바이스에 대한 네트워크 생성에 적합, 이동통신/홈 네트워킹/공공 안전 등의 특수목적을 위한 차세대 네트워크 방식

36. DDos 공격

※ 네트워크 취약점이 있는 호스트들을 탐색한 후, 호스트들에 분산 공격 툴을 설치하여 에이전트로 만든 후 공격

  • Tribe Flood Network
  • Trin00
  • TFN2K
  • Stacheldraht

※ Nimda -> 바이러스 공격 중 하나
※ Deadlock -> 교착상태

37. RIP

※ 네트워크 계층에서의 라우팅 프로토콜 일종임

  • 벨만포트 알고리즘
  • 최대 홉수 15이하
  • 소규모 네트워크 환경, 거리 벡터 라우팅 프로토콜

※ OSPF(Open Shortest Path First)

  • 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP 단점 보완
  • 홉 카운트 제한 없음
  • 라우팅 메트릭(최소지연, 최대처리량)
  • 다익스트라 알고리즘(링크상태기반 메트릭 사용)
  • AS분할사용
  • 멀티캐스팅 지원

38. 폭포수 모형

  • 타당성 검토 > 계획 > 요구사항 분석 > 구현 > 테스트 > 유지보수

39. 나선형 모델

  • 계획 수립 > 위험 분석 > 개발 및 평가 > 고객평가

40. 재사용 방법

  • 합성 중심 : 블럭처럼 끼워 맞추는 방법
  • 생성 중심 : 추상화 형태로 쓰여진 명세를 구체화, 패턴 구성 방법

41. 개발보안 방법론

  • Seven Touch points - 실무적으로 검증된, SW보안 모범사례를 SDLC에 통합(각 생명주기단계에서 7가지 관련 보안 활동을 개발자에게 집중적으로 관리하도록 요구)
  • CLASP - Comprehensive, Lightweight, Application, Security Process - 소프트웨어 개발 생명주기(SDLC) 초기 단계에서 보안 강화를 목적으로 하는 정형화된 프로세스, 활동중심/역할기반, 이미 운영중인 시스템에 적용하기 적합
  • CWE - Common Weakness Enumeration, 주요 보안 취약점 및 보안 문제를 정리
  • PIMS - Personal Information Management System, 개인정보보호관리체계

0개의 댓글