2021 3회차(10월 시행)
ARP
IP주소를 MAC주소로 변환하는 프로토콜
RARP
ARP 스푸핑
GRANT
AAA서버
Authentication : 접근 하는 사용자의 신원을 검증하는 기능
Authorization : 신원이 검증된 사용자에게 특정된 권한과 서비스를 허용하는 기능
Accounting : 사용자가 어떤 종류의 서비스를 이용했고, 얼마만큼의 자원을 사용했는지 기록 및 보관하는 기능
디자인 패턴
생성(Creational) 패턴 : 객체 생성에 관련된 패턴
구조(Structural) 패턴 :클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
행위(Behavioral) :객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴
생성(Creational) 패턴
추상 팩토리(Abstract Factory)
-> 구제적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴
팩토리 메서드(Factory Method) (가상 생성자 패턴)
-> 객체 생성 처리를 서브 클래스로 분리해 처리하도록 캡슐화하는 패턴
싱글턴(Singleton)
->전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴
구조(Structural) 패턴
컴퍼지트(Composite)
->여러 개의 객체들로 구성된 복합 객체와 단일 객체를 클라이언트에서 구별 없이 다루게 해주는 패턴
데커레이터(Decorator)
->객체의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주는 패턴
행위(Behavioral) 패턴
옵서버(Observer)
->한 객체의 상태 변화에 따라 다른 객체의 상태도 연동되도록 일대다 객체 의존 관계를 구성하는 패턴
스테이트(State)
->객체의 상태에 따라 객체의 행위 내용을 변경해주는 패턴
스트래티지(Strategy)
->행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴
템플릿 메서드(Template Method)
->어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴
커맨드(Command)
->실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴
결합도종류
자료결합도(data coupling)
-> 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식
스탬프 결합도 (stamp coupling)
-> 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도
제어 결합도(control coupling)
-> 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계던 경우에 발생한다.
외부 결합도(external coupling)
-> 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합이다.
공통(공유)결합도(common coupling)
-> 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도이다.
내용 결합도(content coupling)
-> 한 모듈이 다른 모듈의 내부 기능 및 그 내부자료를 직접 참조하거나 수정할 때의 결합도이다.
통합 테스트
하향식 통합 테스트-> 스텁
상드하스
INDEX(색인)
UML다이어그램
UML 다이어그램은 구조, 행위 두가지 다이어그램으로 이루어져 있다.
구조 다이어그램
클래스(Class) 다이어그램
-> 클래스의 속성, 함수, 변수 타입들로 구성된 다이어그램
객체(Object) 다이어그램
-> 클래스의 인스턴스, 값이 매겨진 행동을 가지고 있는 독립된 객체정보를 표현하는 다이어그램
패키지(Package)다이어그램
->UML의 다양한 모델요소를 그룹화한 다이어그램
컴포넌트(Component) 다이어그램
-> 컴포넌트끼리의 구조 관계를 표현한 다이어그램
배치(Deployment) 다이어그램
-> 소프트웨어, 하드웨어 등을 포함한 시스템의 물리적인 구조를 나타내는 다이어그램
행위 다이어그램
Use Case 다이어그램
-> 사용자 관점에서 바라본 시스템을 표현한 다이어그램
활동(Activity) 다이어그램
-> 여러 활동들이 순차,병행 방식 등을 수행하는 상황을 표현한 다이어그램
상태(State) 다이어그램
-> 하나의 객체가 다른 객체와의 상호작용에 따라 어떻게 변화하는지 표현하는 다이어그램
순서(Sequence) 다이어그램
-> 여러 대상 간의 상호작용을 시간순서에 따라 표현한 다이어그램
커뮤니케이션(Communication) 다이어그램
-> 동작에 참여하는 객체들이 주고받는 메시지를 표현하고, 메시지 뿐만 아니라 객체 간의 관계까지 표현하는 다이어그램
DES
Cause-Effect Graph
GUI
사용자가 명령어를 직접 입력하지 않고 키보드와 마우스 등을 이용하여 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 사용자 인터페이스
2021 2회차(7월 시행)
AD - hoc Network
재난 및 군사현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크
망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합
멀티 홈 라우팅 기능을 지원
트랜잭션 특징 4가지
원자성
- 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나를 뜻함
일관성
- 트랜잭션의 작업 처리의 결과가 항상 일관되어야 한다.
독립성
- 하나의 트랜잭션은 다른 트랜잭션에 끼어들 수 없고 독립적이다.
지속성
- 트랜잭션이 성공적으로 완료되면 영구적으로 결과에 반영되어야 함
AES
2001년 미국 표준 기술 연구소에서 발표한 대칭키 암호화 알고리즘이다.
DES의 한계를 느낀 NIST에서 공모한 후 발표
블록 크기는 128비트이며, 키 길이에 따라 128, 192, 256으로 분류된다.
테스트 커버리지
테스트 커버리지 개념
주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준. 테스트의 정확성, 신뢰성 향상.
테스트 커버리지 유형
- 기능 기반 커버리지 : 테스트 대상 애플리케이션의 전체 기능을 모수로 설정하고, 실제 테스트가 수행된 기능의 수를 측정
- 라인 커버리지 : 애플리케이션 전체 소스 코드의 라인 수를 모수로 테스트 시나리오가 수행한 소스 코드의 라인 수를 측정
- 코드 커버리지 : 소프트웨어 테스트 충분성 지표 중 하나. 소스 코드의 구문, 조건, 결정 등의 구조 코드 자체가 얼마나 테스트되었는지를 측정하는 방법
코드 커버리지 유형
- 구문 커버리지 : 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지
- 결정 커버리지 : 프로그램 내의 전체 결정문이 적어도 한 번은 참과 거짓의 결과를 수행
- 조건 커버리지 : 결정 명령문 내의 각 조건이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 커버리지(결정 커버리지와 다르게 모든 조건문이 false, true를 한번씩 수행을 해야함)
- 조건/결정 커버리지 : 전체 조건식뿐만 아니라 개별 조건식도 참 한 번, 거짓 한 번 결과가 되도록 수행하는 커버리지
- 변경 조건/결정 커버리지 : 각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 커버리지
- 다중 조건 커버리지 : 결정 조건 내 모든 개발 조건식의 모든 가능한 조합을 100% 보장하는 커버리지
가상회선 방식
연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식
데이터 그램 방식
비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식
로킹 기법
데이터베이스의 병행제어 기법 중 하나로, 접근한 데이터에 대한 연산을 모두 마칠 때까지 추가적인 접근을 제한함으로써 상호 배타적으로 접근하여 작업을 수행하도록 하는 기법
럼바우 데이터 모델링
객체 모델링(Object Modeling, information Modeling)
- 객체 다이어그램을 이용
- 정보 모델링이라고도 함
- 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정
- 가장 중요하며 가장 선행되는 단계
동적 모델링(Dynamic Modeling)
- 상태도를 이용
- 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현
기능 모델링(Functional Modeling)
- 자료흐름도를 이용
- 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현
- 어떤 데이터를 입력하면 어떤 결과를 구할 것인지 표현
2021 1회차(4월 시행)
데이터 베이스 설계
개념적 설계
현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로, 개념 스키마 모델링과 트랜잭션 모델링을 수행하며, 요구 조건 명세를 E-R 다이어그램으로 작성한다.
논리적 설계
현실의 자료를 특정 DBMS가 지원하는 자료구조로 변환하는 과정으로, 트랜잭션의 인터페이스를 설계하고, 정규화를 통해 스키마를 평가 및 정제한다.
물리적 설계
논리적 구조로 표현된 데이터를 디스크 등의 저장장치에 저장할 수 있는 데이터로 변환하는 과정으로, 파일의 저장 구조 및 액세스 경로를 결정하며, 테이블 정의서 및 명세서가 산출된다.
WSDL
웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어로, XML로 작성되며 UDDI의 기초가 된다. SOAP, XML 스키마와 결합하여 인터넷에서 웹 서비스를 제공하기 위해 사용되며, 클라이언트는 이것을 통해 서버에서 어떠한 조작이 가능한지를 파악할 수 있다.
반 정규화
시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위
블랙박스 검사 기법
동치 분할 검사
- 입력자료에 초점을 맞춰 테스트케이스를 만들고 검사하는 방법
- 입력 조건에 타당한 입력 자료와 그렇치 않은 자료의 개수를 균등하게 분할 하여 테스트 케이스를 정함
경계값 분석
- 입력 자료에만 치중한 동치 분할 기법을 보안
- 입력 조건 경계값에서 오류 발생 확률이 크다는 것을 이용, 경계값을 테스트케이스로 선정해서 검사
원인-효과 분석 그래프 검사
- 입력 데이터간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석
- 효용성이 높은 테스트케이스를 선정해 검사
오류 예측 검사
- 과거의 경험이나 감각으로 테스트 하는 기법
- 다른 블랙박스 테스트 기법으로는 찾아낼 수 없는 오류를 찾아내는 일련의 보충적 검사 기법
비교검사
- 여러 버전의 프로그램에 동일한 테스트 자료를 제공해 동일한 결과가 출력되는지 테스트
화이트박스 테스트
기초 경로 검사
- Tom McCabe가 제안한 대표적 화이트박스 테스트 기법
- 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 함
- 측정 결과는 실행 경로의 기초를 정의하는데 지침으로 사용
제어 구조 검사
- 조건검사
- 루프검사
- 데이터 흐름 검사
IPC(Inter Process Communication)
모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합으로, 복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다. 대표 메소드 )
- 공유메모리(Shared Memory)
- 소켓(Socket), 세마포어(Semaphores)
- 파이프와 네임드(Pipes&named Pipes)
- 메시지 큐잉(Message Queueing)
EAI(Enterprise Architecture Integration)
기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션구축 방식
Point-to-Point
Hub&Spoke
Message Bus
Hybrid
튜플/ 카디널리티 -> 행
속성 / 어트리뷰트 / 디그리 -> 열
데이터 모델의 구성요소
구조 : 논리적으로 표현된 객체 타입들 간의 관계로서 데이터 구성 및 정석 성질을 표현연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구에 해당제약 조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약조건을 의미
임의 접근통제(DAC ,Discretionary Access Control)
- 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식
- 통제 권한이 주체에 있어 주체가 접근통제 권한을 지정하고 제어할 수 있음
- 일반적으로 특정 객체에 대한 조작 권한은 데이터베이스 관리 시스템으로부터 부여받지만 임의 접근통제에서는 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있음
강제 접근통제(MAC, Mandatory Access Control)
- 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
- 제 3자가 접근통제 권한을 지정
세션 하이재킹
- '세션을 가로채다'라는 의미로 정상적인 연결을 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결하는 공격 기법
- TCP 세션 하이재킹은 공격자가 TCP-3-Way-Handshake 과정에 끼어듦으로써 서버와 상호 간의 동기화된 시퀀스 번호를 갖고 인가되지 않은 시스템의 기능을 이용하거나 중요한 정보에 접근할 수 있다.
'Engineer Information Processing' 카테고리의 다른 글
[정보처리기사 ] 실기 모의고사 개념 정리 -1 (0) | 2022.05.02 |
---|---|
[정보처리기사] 2020년 기출 모음 (0) | 2022.04.29 |
DML이란?(INSERT/DELETE/UPDATE/SELECT 개념/예제) (0) | 2022.04.20 |
DCL이란? (COMMIT/ROLLBACK/GRANT/REVOKE/SAVEPOINT 개념/예제) (0) | 2022.04.20 |
DDL이란? (CREATE/ DROP/ALTER 개념/예제) (0) | 2022.04.19 |