일일구름 IT

[정처기 실기] 2022 3회 정리 본문

정보처리기사

[정처기 실기] 2022 3회 정리

일구름 2023. 4. 23. 03:17

생성패턴

⦁  Builder : 복잡한 인스턴스를 조립해 만드는 구조, 복합 객체 생성 시 방법 분리, 서로 다른 표현 결과 만들 수 있음

⦁  Prototype : 처음부터 일반적인 원형을 만들어 놓고, 그것을 복사한 후 필요한 부분만 수정해 사용하는 패턴

⦁  Factory Method : 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식

⦁  Abstract Factory : 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스 제공하는 패턴

⦁  Singleton : 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 디자인 패턴

 

구조 패턴

⦁  Bridge : 기능의 클래스 계층과 구현의 클래스 계층을 연결, 구현부에서 추상 계층 분리

⦁  Decorator : 기존에 구현되어 있는 클래스에 필요한 기능 추가해 나감

⦁  Facade : 복잡한 시스템에 대해 단순한 인터페이스 제공, 시스템 구조에 대한 파악 쉽게

⦁  Flyweight : 메모리 절약, ‘클래스의 경량화’ 목적

⦁  Proxy : 실체 객체에 대한 대리 객체, 실체 객체를 드러나지 않게 해 정보은닉

⦁  Composite : 객체들의 관계를 트리 구조로 구성, 부분-전체 계층 표현

⦁  Adapter : 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할

 

행위 패턴

⦁  Mediator : 중간에 통제, 중재자

⦁  Interpreter : 언어의 다양한 해석, 구문의 해석을 맡는 클래스 가각 작성

⦁  Iterator : 컬렉션 구현 방법 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 방법을 제공

⦁  Template Method : 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화, 상위 클래스-추상, 하위 클래스-구체

⦁  Observer : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락

⦁  State : 상태에 따라 다르게 처리할 수 있도록 행위 내용 변경

⦁  Visitor : 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업 수행

⦁  Command : 명령이 들어오면 그에 맞는 서브 클래스 선택되어 실행

⦁  Strategy : 알고리즘 군 정의, 행위를 클래스로 캡슐화해 동적으로 행위 자유롭게 변환

⦁  Memento : Undo 기능 개발

⦁  Chain of Responsibility : 정적으로 어떤 기능에 대한 처리의 연결이 하드 코딩 되어 있을 때, 이를 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있도록 연결한 디자인

 

화이트박스 테스트 유형

⦁  구문(Statement) 커버리지 : 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지

⦁  결정(선택, 분기)(Decision) 커버리지 : 결정 포인트 내의 전체 조건식이 적어도 한번은 참과 거짓의 결과가 되도록 수행

⦁  조건(Condition) 커버리지 : 결정 포인트 내의 각 개별 조건식이 적어도 한번은 참과 거짓의 결과가 되도록 수행

⦁  조건/결정 커버리지 : 전체 조건식 + 개별 조건식

⦁  변경 조건/결정 커버리지 : 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함

⦁  다중 조건(Multiple Condition) 커버리지 : 결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 커버리지

⦁  기본 경로(Base Path) 커버리지 : 수행 가능한 모든 경로를 테스트, 멕케이브 순환 복잡도

        - 맥케이브 복잡도 : 간선 수(화살표) – 노드 수(원) + 2

⦁  제어 흐름(Control Flow) 테스트 : 프로그램 제어 구조를 그래프 형태로 나타내어 내부 로직 테스트

⦁  데이터 흐름 테스트 : 제어 흐름 그래프에 사용현황 추가

 

블랙박스 테스트 유형

⦁  동등 분할(Equivalence Partitioning) 테스트 : 입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출해 테스트

⦁  경곗값 분석(Boundary Value Analysis) 테스트 : 최솟값 바로 위, 최대치 바로 아래 등 입력값의 극한 한계를 테스트 하는 기법

⦁  결정 테이블(Decision Table) 테스트 : 요구사항의 논리와 발생조건을 테이블 형태로 나열해, 조건과 행위를 모두 조합해 테스트

⦁  상태 전이(State transition) 테스트 : 어느 한 상태에서 다른 상태로 전이 되는 경우의 수를 수행하는 테스트

⦁  유스케이스(Use Case) 테스트 : 프로세스 흐름을 기반으로 테스트 케이스를 명세화해 수행하는 테스트

⦁  분류 트리(Classification Tree Method) 테스트 : SW의 일부 또는 전체를 트리구조로 분석 및 표현하여 테스트 케이스 설계해 테스트

⦁  페어와이즈(Pairwise) 테스트 : 테스트 데이터 값들 간에 최소한 한 번씩을 조합하는 방식

⦁  원인-결과 그래프 테스트 : 그래프를 활용해 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석

⦁  비교(Comparison) 테스트 : 여러 버전의 프로그램에 같은 입력값을 넣어 비교해 테스트

 

사회공학: 사람들 심리행동 양식 교묘하게 이용

다크 데이터: 수집된 후 저장은 되어 있지만, 분석에 활용 되지는 않는 다량의 데이터 

 

SIEM : 보안 관제 솔루션

ESM : 전사적 통합 보안 관리시스템

 

소프트웨어 형상 관리 도구

  • CVS : 가장 오래된 형상관리 도구, 버전 관리
  • SVN : 롤백 기능 지원
  • Git : 로컬 저장소와 원격 저장소 분리되어 분산 저장, 대형 프로젝트에 효과적

트러스트존 : 프로세서 안에 독립적인 보호 구역 따로 두어 중요한 정보 보호

타이포스쿼팅 : 철자 빠뜨리는 실수 이용, 유사한 유명 도메인 미리등록, URL 하이재킹

 

SSO(Single Sign On): 한번의 인증 과정으로 여러 컴퓨터상의 자원 이용

커버로스: MIT, 대칭키 암호기법 바탕 프로토콜, 티켓

 

관계 : 사물 연결하여 표현하는 요소

클래스 : 객체들의 집합

인터페이스 : 특정 메소드가 반드시 존재하도록 강제하는 역할을 하는 클래스