요구사항 검토 방법
동료 검토 : 작성자가 명세서 내용 설명 동료들이 결함 발견하는 형태
워크 스루 : 검토 회의 전 명세서를 미리 배포하여 사전 검토 후 짧은 검토 회의를 통해 오류 조기 검출
인스펙션 : 명세서 작성자를 제외한 다른 검토 전문가들이 확인하면서 결함을 발견하는 형태
동료검토: 2~3명이 진행하는 리뷰형태로 작성자가 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태
3.워크스루: 검토자료를 회의전에 배포하여 사전 검토한 후, 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 조기에 검출하는데 목적은 둔 검증기법
연상코드 : 코드화 대상 항목의 명칭이나 약호와 관계있는 숫자나 문자, 기호를 이용하여 코드를 부여하는 방법
블록코드 : 코드화 대상 항목 중에서 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호를 부여하는 방법 (=구분코드)
표의 숫자 코드 : 코드화 대상 항목의 성질, 물리적 수치를 그대로 코드에 적용시키는 방법 (=유효숫자코드)
1. 연상 코드: 항목의 명칭이나 약호와 관계 있는 숫자, 문자, 기호를 이용하여 코드를 부여하는 방법
2. 블록 코드: 대상 항목에서 공통적인 것을 블록으로 구분하고 블록 내에 일련 번호를 부여하는 방법
3. 순차 코드: 일정 기준에 따라 최초의 자료부터 일련번호를 부여하는 방법
4. 표의 숫자 코드: 길이 넓이 부피 등 항목의 성질의 물리적인 수치를 그대로 코드에 적용시키는 방법
일련번호를 부여하는 코드는 순차 코드 뿐입니다 답변으로는 1번이라 되어있는데 연상 코드는 숫자뿐만 아니라 문자, 기호를 입력하기 때문에 답이 될수 없습니다.
UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호로 맞는 것은?
UML 확장 모델
스테레오 타입 객체 표현기호 << >>
[해설작성자 : HDH]
GoF(Gang of Four)의 디자인 패턴에서 행위 패턴에 속하는 것은?
1. Builder
2. Visitor
3. Prototype
4. Bridge
생성패턴 : 객체의 생성과 관련된 패턴
구조패턴 : 클래스나 객체들을 조합하여 더 큰 구조로 만들 수 있게 해주는 패턴
행위패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴
1. Builder : 작게 분리된 인스턴스를 건축 하듯이 조합하여 객체를 생성한다
2. Visitor : 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성한다
3. Prototype : 원본 객체를 복제하는 방법으로 객체를 생성한다.
4. Bridge : 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성한다.
1.Builder - 생성패턴
3.Prototype - 생성패턴
4.Bridge - 구조패턴
클래스: 객체지향 프로그램에서 데이터를 추상화하는 단위
메소드 : 객체의 행위
상속성 : 객체의 데이터
메시지 : 객체 간의 통신
데이터 흐름도(Data Flow Diagram)
구성요소에는 프로세스(Process)
자료 흐름(Flow)
자료 저장소(Data Store)
단말(Terminator)
어플리케이션 성능 측정 항목
응답시간, 처리량, 자원 사용률, 경과 시간
UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호
《 》
트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어는?
① RPC ② ORB
③ TP monitor ④ HUB
1.RPC: remote procedure call 원격 절차 호출 또는 원격 프로시저 호출.
2.ORB: object request broker, 객체 간 메시지 전달을 지원하는 미들웨어
ORB는 객체 지향 미들웨어로 코바 표준 스펙을 구현한 미들웨어이다.
3.TP monitor: 트랜잭션 처리를 감시/제어하는 미들웨어
직관성 : 누구나 쉽게 이용하고 쉽게 사용할 수 있어야 함
유효성 : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
학습성 : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
유연성 : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작
XP(eXtreme Programming)의 5가지 가치
용기(Courage) : 고객의 요구사항 변화에 능동적인 대처
단순성(Simplicity) : 부가적 기능, 사용되지 않는 구조와 알고리즘 배제
커뮤니케이션(Communication) : 개발자, 관리자, 고객 간의 원활한 의사소통
피드백(Feedback) : 지속적인 테스트와 반복적 결함 수정, 빠른 피드백
존중(Respect) : 모든 프로젝트 관리자는 팀원의 기여를 존중
UML 모델에서 사용하는 Structural Diagram
Class Diagram
Object Diagram
Component Diagram
Activity Diagram : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현한다. Behavioral Diagram에 속한다.
소프트웨어 개발 방법 중 요구사항 분석(requirements annalysis)
비용과 일정에 대한 제약설정
타당성 조사-요구사항 정의 문서화
요구사항 정의 문서화
럼바우(Rumbaugh)의 객체지향 분석 절차
1.객체 모델링
-객체 다이어그램(객체 관계)으로 표시-가장 중요하며 선행되어야함
2.동적 모델링
-상태 다이어그램(상태도)를 이용해 시간의 흐름에 따른 객체들간의 제어흐름, 상호작용, 동작순서 등의 동적인 행위를 표현하는 모델링
3.기능 모델링
-자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료흐름을 중심으로 처리
공통모듈
전체 프로그램의 기능 중 특정기능을 처리할 수 있는 실행코드
자체적으로 컴파일 가능, 다른 프로그램에서 재사용 가능
여러 기능 및 프로그램에서 공통으로 사용할 수 있는 모듈
(예-날짜 처리를 위한 유틸리티 모듈 등)
공통모듈 원칙
정확성 : 해당 기능이 실제 시스템 구현시 필요한지 아닌지를 알 수 있도록 정확하게 작성
명확성 : 해당 기능에 대해 일관되게 이해하고 한가지로 해석될 수 있도록 작성
완전성 : 시스템이 구현될 때 필요하고 요구되는 모든 것을 기술-일관성 : 공통 기능 간에 상호 충돌이 없도록 작성
추적성 : 공통 기능에 대한 요구사항 출처와 관련 시스템 등의 유기적 관계에 대한 식별이 가능하도록 작성
집단화 is part of(part가 들어가면 집단화 생각) : 클래스 간의 구조적인 집약 관계 "클래스 A는 클래스 B와 클래스 C로 구성된다"
일반화 is a :클래스들 간의 개념적인 포함 관계 "자식 클래스 A는 부모 클래스 B의 일종이다."
캡슐화 : 속성 (데이터)과 메소드(연산) 을 하나로 묶어서 객체로 구성된다.
추상화 : 공통 성질을 추출하여 수퍼클래스로 구성한다..또한 객체 중심의 안정된 모델을 구축 가능 하며 현실 세계를 자연스럽게 표현한다..장점으로 분석의 초점이 명확해진다.
CASE가 갖고 있는 주요 기능
[Case가 가지는 주요 기능]
<=>Case란 소프트웨어 개발의 자동화
<=>
1.S/W의 생명주기 전(모든)단계의 연결
2.모델들 사이의 모순검사
3.오류검증
4.자료흐름도 등 다이어그램 작성
5.다양한 소프트웨어 개발 모형지원
6.시스템 문서화 및 명세화를 위한 그래픽 지원
[DBMS분석시 고려사항]
1.무결성(가용성)
2.일관성(상호호환성)
3.회복
4.보안
5.효율성(성능)
6.데이터베이스 확장
HIPO(Hierarchy Input Process Output)에 대한 설명
① 하향식 소프트웨어 개발을 위한 문서화 도구이다.
② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
④ 보기 쉽고 이해하기 쉽다.
객체지향 분석 방법론
E-R다이어그램 사용 객체 행위 모델링 및 객체 구조 식별 및 주체 속성 및 관계 서비스 정의
Coad 와 Yourdon 방법클래스와 객체 식별 및 의미 관계 식별
Booch 방법소프트웨어 구성요소를 그래픽 표기법을 이용하여 모델링
객체모델링 동적 모델링 기능 모델링
럼바우(Rumbaugh) 기법
Rumbaugh - 가장 일반적으로 사용되는 방법으로 분석 활동을 객체/동적/기능 모델로 나누어 수행하는 방법
Booch 부치 - 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석방법
Jacobson - Use Case를 강조하여 사용하는 분석방법
Coad와 Yourdon - E-R다이어그램을 사용하여 개체의 활동들을 데이터 모델링하는데 초점을 둔 기법
Wirfs-Brock - : 분석과 설계간의 구분이 없고 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법
삽입정렬: 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘
선택정렬 : O(n^2)
삽입정렬 : O(n^2)
버블정렬 : O(n^2)
합병정렬 : O(Nlog2N)
White Box Testing 종류 : Condition Testing, Loop Testing, Data Flow TestingBlack
Box Testing 종류 : Equivalence Partitioning Testing,
Boundary Value Testing, Cause-Effect Graphing Testing,
Error Guessing, Comparison Testing
소프트웨어 품질측정 개발자 관점
정확성, 신뢰성, 효율성, 무결성, 유연성, 이식성, 재사용성, 상호운용성
인터페이스 구현 검증 도구
xUnit : Java, C++ 등 다양한 언어 지원하는 단위 테스트 프레임워크
STAF : 서비스 호출 및 컴포넌트 재사용 등 환경 지원하는 테스트 프레임워크
FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
NTAF : FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 네이버의 테스트 자동화 프레임워크이다.
Selenium : 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크
Watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크
Ruby : 인터프리터 방식의 객체지향 스크립트 언어
EAI 구축 유형 : 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달 연계 통합등 상호연동이 가능하게 해주는 솔루션
// 그림 확인해야함
Point - to - Point : 가장 기본적인 애플리케이션 통합 방식 1:1로 연결
Hub &Spoke : 단일 접점인 허브 시스템을 통해 데이터 전송하는 중앙 집중형 방식
Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
Hybrid : Hub &Spoke 와 Message Bus 혼합 방식
전위순회 : 루트를 먼저 방문 ex) +**/ABCDE root -> left -> right
중위순회 : 왼쪽 하위트리를 방문한 뒤 루트를 방문 ex) A/B*C*D+E left -> root -> right
후위순회 : 하위트리를 방문한 뒤 루트를 방문 ex) AB/C*D*E+ left -> right -> root
SMTP는 이메일 송/수신에 사용되는 프로토콜
경계값 분석 기법 -> 경계가 되는 곳
0 59 60 79 80 100 90은 80~100 사이 값이라서 테스트 의미가 없음
101이 되는 이유 : 100까지라서 그 이상의 값을 넣을 경우의 반응 확인 가능
반 정규화 유형 중 중복 테이블 추가 방법
진행 테이블 추가 / 집계 테이블 추가 / 특정 부분만을 포함하는 테이블 추가
ISO/IEC 9126 의 기능성의 하위특성에는 적합성,정확성,상호 운용성,보안성,준수성
디지털 저작권 관리 (DRM)의 기술
요소암호화 / 키 관리 / 암호화 파일 생성 / 식별 기술 / 저작권 표현 / 정책 관리 / 크랙 방지 / 인증
파레토 법칙: 오류의 80%는 전체의 20%내에서 발견된다는 법칙
Brooks의 법칙: 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다
살충제 페러독스 Pesticide Paradox: 동일 테스트 케이스로 동일 테스트 반복 시 더 이상 결함이 발견되지 않은 현상
오류 - 부재의 궤변 Absence of Errors Fallacy: 결함을 모두 제거해도 사용자 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없다..
시험에 brooks랑 pareto만 나왔던걸로 기억(2015~2020기준)
소프트웨어 형상 관리 : 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동
알고리즘 시간 복잡도
비례하지 않는(항상 일정한) O(1)
로그에 비례하는 O(log2^n)
정비례하는(선형) O(n)로그*변수에 비례하는(선형 로그) O(nlog2^n)
제곱에 비례하는 O(n^2)
세제곱에 비례하는 O(n^3)
지수 비례하는 O(2^n)
팩토리얼에 비례하는 O(n!)
정적 분석 도구
pmd :소스 코드에 대한 미사용 변수 최적화안된 코드 등 결함을 유발할 수 있는 코드 검사
cppcheck : C/C++ 코드에 대한 메모리 누수 오버플로우 등 분석
SonarQube : 중복 코드 복잡도 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼
checkstyle : 자바 코드에 대해 소스코드 표준을 따르고 있는지 검사한다.
ccm : 다양한 언어의 코드 복잡도를 분석한다.
cobertura : 자바 언어의 소스코드 복잡도 분석 및 테스트 커버리지 측정
동적 분석 도구
Avalanche : Valgrind 프레임워크 및 STP기반 / 프로그램 결함 및 취약점 분석
valgrind : 프로그램 내에 존재하는 메모리 및 쓰레드 결함 분석
동치 분할 검사 : 입력 자료에 초점을 맞춰 케이스를 만들고 검사하는 방법 - 블랙박스 테스트 종류
알파 테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법 - 인수 테스트 종류
베타 테스트 : 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 기법 - 인수 테스트 종류
형상 검사(구성 검토, 검사) : 구성 요소, 목록, 유지보수를 위한 모든 사항이 표현되었는가를 검사
Stub
하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
상향식 : Driver
하향식 : Stub
SW 패키징 고려사항
- 사용자의 운영체제, CPU, 메모리 등에 필요한 최소 환경 정의
- UI는 편의성, 직관성을 고려해야하고 매뉴얼과 일치시켜 패키징
- 소프트웨어와 하드웨어가 함께 관리될 수 있도록 Managed Service 형태로 제공
- 암호화, 모듈화하여 배포(다양한 기종에서 사용이 가능해야함)
외계인 -> 없는 존재 = 코드에 대해 아는 사람이 없음 -> 어려움
프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의미한다.=>나쁜코드, 코드의 로직이 얽혀 스파게티 코드라고도 함. 아주 오래되거나 참고 문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램 코드
DDL (데이터 정의어): CREATE, ALTER, DROP
DML (데이터 조작어): SELECT, INSERT, UPDATE, DELETE
DCL (데이터 제어어): GRANT, REVOKE
외래키 - 타 릴레이션의 기본키를 참조하는 속성 or 속성들의 집합문제 읽어보면 (밑줄 친 속성은 기본키이다.) 적혀있음고로 수강쪽에 과목번호가 있거나 과목쪽에 수강번호가 있어야함
데이터 제약조건개체 무결성 제약 조건 : 기본 키를 구성하는 어떤 속성도 Null값이나 중복값을 가질 수 없다.
도메인 무결성 제약 조건 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다.
참조 무결성 제약 조건 : 외래키의 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다.
이거 관련 문제 2015~2020까지 개체 무결성만 나왔던 걸로 기억
뷰는 물리적이 아닌 논리적으로 구성되어 있고, 논리적 독립성을 제공한다.
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다..저장장치 내에 물리적으로 존재하지 않지만 사용자에게는 있는 것처럼 간주된다.
데이터 베이스의 논리적 설계(데이터모델링)
-현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
-개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
-개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계(종속적인 논리 스키마)
-트랜잭션의 인터페이스 설계
-관계형 데이터베이스라면 테이블 설계
-특정목표 DBMS에 따른 스키마설계
-스키마의 평가 및 정제
①레코드 집중의 분석 및 설계는 물리적 설계(데이터구조화)이다
물리적 설계
-논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환
-데이터 베이스 파일의 저장 구조 및 엑세스 경로 결정
-데이터가 컴퓨터에 저장되는 방법을 묘사
-저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계
-기본적 데이터 단위는 저장레코드
-성능에 중대한 영향을 미침
이행적 함수 종속 관계
이행적 함수 종속 관계A->B이고 B->C 일 때, A->C
3차 정규화 (3NF)의 조건이행적 함수 종속 관계를 제거해야한다.
관계 데이터 모델에서 데이터의 가장 작은 논리적 단위는 애트리뷰트 값이며, 이 값은 원자 값만을 허용한다.
-같은 타입의 모든 원자 값들의 집합을 그 애트리뷰트의 도메인이라고 한다.
-도메인은 같은 도메인의 값들끼리 비교가 허용된다.
-하나의 도메인에 대하여 둘 이상의 애트리뷰트가 정의될 수도 있다.
-한 릴레이션에서는 모든 애트리뷰트들의 이름이 반드시 달라야 한다.
②튜플 : 릴레이션을 구성하는 각각의 행을 말한다..속성의 모임으로 구성된다..
파일 구조에서 레코드와 같은 의미이다..튜플의 수를 카디널리티(cardinality) 또는 기수, 대응수라고 한다.
단순 SELECT(조건검색)의 경우 전체테이블의 튜플을 검색하기 때문에 130건(=50+30+50)이 조회된다..DISTINCT(중복제거)의 경우 동일한 튜플을 제거하고 검색하기 때문에 독일어과 1건, 중국어과 1건, 영어영문학과 1건으로 총 3건이 조회된다.
셀렉트(Select)σ 릴레이션에서 조건을 만족하는 튜플 반환
프로젝트(Project)π 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환
조인(Join)⋈공통 속성을 이용해 두개의 릴레이션 튜플들을 연결해 만들어진 튜플 반환
디비전(Division)÷ [R%S] 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환
셀렉트(Select)σ : 수평적으로 절단하는 것, 행을 다 가져옴프로젝트
(Project)π : 수직적으로 절단하는 것, 열을 선택적으로 가져옴
Durability 영속성 : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
Consistency 일관성 : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다..
Atomicity 원자성 : 트랜잭션 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
Isolation 격리성 : 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가하다..
분산데이터베이스의 목표
-위치투명성(Location Trasparency) 데이터 베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 엑세스할 수 있음
-중복투명성(Replication Transparency) 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것 처럼 사용 가능, 시스템은 자동으로 여러 자료에 대한 작업 수행
-병행투명성(Concurrency Transparency) 다수의 트랜잭션이 동시에 실현되더라도 그 결과는 영향을 받지 않음
-장애투명성(Failure Transparency) 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션을 정확히 처리함.
52. 분산 데이터베이스 목표 중 “데이터베이스의 분산된 물리적 환경에서 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다”는 것과 관계있는 것은?
① 장애 투명성 ② 병행 투명성
③ 위치 투명성 ④ 중복 투명성
트리거 : 데이터페이스가 미리 정해 놓은 조건이 충족되거나, 특정테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS 에서 자동적으로 실행되도록 구현한 프로그램
CASCADE - 참조 무결성을 유지하기 위하여 DROP문에서 부모 테이블의 항목 값을 삭제할 경우 자동적으로 자식 테이블의 해당 레코드를 삭제하기 위한 옵션
DDL
PRIMARY KEY : 기본키 정의 / FOREIGN KEY : 외래키 정의
UNIQUE : 지정 속성은 중복값 가질 수 없음 / NO ACTION : 변화가 있어도 조취를 취하지 않음
CASCADE : 참조 테이블 튜플 삭제 시 관련 튜플 모두 삭제 및 속성 변경 시 속성값 모두 변경
RESTRICTED : 타 개체가 제거할 요소를 참조중이면 제거를 취소
SET NULL : 참조 테이블 변화 시 기본 테이플 관련 속성값 Null로 변경
SET DEFAULT : 참조 테이블 변화 시 기본테이블의 관련 튜플 속성값을 기본값으로 변경
CONSTRAINT : 제약 조건 이름 지정 / CHECK 속성값에 대한 제약 조건 정의
DML
INSERT INTO ~ VELUES : 튜플 삽입 / DELETE FROM~ WHERE : 튜플 삭제
UPDATE ~ SET ~ WHERE : 튜플 내용 변경 / SELECT~FROM~WHERE : 튜플 검색
DISTINCT : 중복 튜플 발견 시 그 중 첫번째 하나만 검색 / DISTINCTROW : 중복 튜플 제거 및 하나만 검색 (튜플 전체를 대상으로 검색)
PREDICATE : 검색할 튜플 수 제한 / AS 속성명 정의
ORDER BY : 특정 속성 기준으로 정렬 후 검색할 때
ASC : 오름차순 / DESC : 내림차순 / 생략 시 오름차순
GROUP BY : 특정 속성 기준 그룹화하여 검색할 때 사용 having절과 같이 사용되어야함
DML에 해당하는 SQL 명령으로만 나열
SELECT, INSERT, DELETE, UPDATE
DML(Data Manipulation Language) 데이터 조작어
DML의 유형에는 SELECT, INSERT, DELETE, UPDATE 가 있다.
SELECT 데이터 조회 : 튜플 중 전체 또는 조건을 만족하는 튜플을 검색하여 주기억장치 상에 임시테이블로 구성
INSERT 데이터 생성 : 새로운 튜플을 삽입할 때 사용하는 명령문
DELETE 데이터 삭제 : 튜플들 중에서 특정 튜플을 삭제할 때 사용하는 명령문
UPDATE 데이터 변경 : 특정 튜플의 내용을 변경할 때 사용하는 명령문
DCL 데이터 제어 언어는 데이터 베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 하기 위해 DBA가 사용하는 제어용 언어
DDL(데이터 정의어)의 기능 중 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의
E-R 모델
개체 타입 (사각형)
관계 타입 (마름모)
속성 타입 (타원)
연결 (선)
후보키는 유일성 O 최소성 O+ 슈퍼키는 유일성 O 최소성 X
키를 묻는 문제도 나왔었음(2015~2020)
1NF 조건 : 원자값으로 구성
2NF 조건 : 부분 함수 종속 제거 (완전 함수적 종속 관계)
3NF 조건 : 이행 함수 종속 제거
BCNF 조건 : 결정자 함수 종속
4NF 조건 : 다중값(다치) 종속성 제거
5NF 조건 : 조인 종속성 제거
IPv6
128비트의 주소 공간을 제공
인증 및 보안 기능을 포함
IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이
IPv6의 패킷 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있음
IPv4의 패킷 크기가 64Kbyte로 제한
C언어에서 비트 논리연산자
C언어에서 비트 논리 연산 : &, ^ , | , ~ , <<, >>
? 는 조건연산자
HTTP/FTP/SMTP ---> OSI7계층 중 7층인 응용계층에서 동작
TCP--------------> OSI7계층 중 4층인 전송계층에서 동작(인터넷4계층에서도 3계층 전송계층 = 동일 층)
HTTP(Hyper Text Transfer Protocol)
FTP(File Transfer Protocol)
SMTP(Simple Mail Transfer Protocol)
TCP(Transmission Control Protocol)---> 단어 그 자체로도 전송계층에서 동작하는 프로토콜임을 알 수 있다.
결합도
모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도
(1.x 응집도에 대한 설명)결합도가 강할수록 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어렵다.
(2. x)
모듈 간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
(3. o 결합도와 응집도 반비례라고 생각하면 편함 결합이 약하다 -> 응집이 강하다 -> 모듈 독립성이 향상된다.
4.x
(자료 / 스탬프 / 제어 / 외부 / 공통 / 내용 / -> 갈수록 결합도 강함)
이거 순서 맞춰라고 문제내는 경우도 이전 기출에 있었는데 영어임)
은행가 알고리즘은 교착상태의 해결 방법중 회피 기법이다.
Prevention(예방) : 교착 상태의 원인이 되는 조건 중 하나를 제거
- 상호배제
- 점유와대기
- 비선점
- 환형대기
Avoidance(회피) : 은행가 알고리즘
Detection(탐지) : 자원 할당 그래프
Recovery(복구) : 자원 선점/프로세스 종료
*기출문제에 예방의 교착상태 원인이 아닌 것과 회피, 복구가 나왔었음
쉘(Shell) : 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재하며 보조 기억 장치에서 교체 처리가 가능하다..공용 Shell(Bourne shell, C shell, Korn shell)이나 사용자 자신이 만든 Shell을 사용할 수 있다.
커널(Kernel) : UNIX의 가장 핵심적인 부분. 컴퓨터 부팅시 주기억장치에 적재된 후 상주하며 실행된다..하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 한다.
교착상태 발생의 필요 충분 조건은 상호 배제, 점유와 대기, 환형 대기 , 비선점
응용계층
- 사용자가 OSI환경에 접근할 수 있도록 서비스 제공
표현계층
- 응용계층으로 받은 데이터를 세션계층에 보내기 전에 통신에 적당한 형태로 변환, 세션계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능
세션계층
- 송 수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.전송계층
- 논리적 안정 및 균일한 데이터 전송 서비스를 제공함으로서 종단 시스템간 투명한 데이터 전송 가능네트워크
- 개방 시스템들 간의 네트워크 연결을 관리 및 데이터 교환 및 중계데이터링크
- 두 개의 인접한 개방 시스템들 간 신뢰성있고 효율적인 정보 전송
물리계층
- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적 기능적 절차 특성에 대한 규칙
IPv6 : 유니캐스트(unicast) 멀티캐스트(multicast) 애니캐스트(anycast) 세 가지 주소 체계
IPv4 : 브로드캐스트
IP주소를 MAC주소로 변환하는 프로토콜 ARP
ARP <-> RARP(MAC주소를 IP주소로)+ MAC 주소 = 물리적 주소
UDP : 비연결형 서비스 제공 / 실시간 전송 네트워크에서 사용
ARP : IP 주소를 MAC Address로 변환 (논리 주소 → 물리 주소)
TCP : 양방향 연결형 서비스 제공 / 가상 회선 연결 형태의 서비스 제공 / 스트릿 위주 패킷 전달
ICMP : IP와 조합하여 통신 중에 발생하는 오류처리와 전송 경로 변경 등을 위한 제어 메시지를 관리
IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용
프로세스의 상태 종류
- 보류 (pending)
- 준비 (ready)
- 실행 (running)
- 대기 (blocked)
- 교착 (deadlock)
- 완료 (terminated)
스레드(Thread)
프로세스 내에서의 작업단위로 여러 자원을 할당받아 실행하는 프로그램 단위
한 개의 프로세스에는 하나 이상의 스레드가 존재
커널 스레드 : 운영체제 커널에 의해 스레드 운영 / 구현 쉬움 / 속도 느림
사용자 스레드 : 사용자가 만든 라이브러리를 사용해 스레드 운용 / 속도 빠름 / 구현 어렵
하드웨어 운용체제 성능과 처리율을 향상 가능응용프로그램 응답시간 단축 가능
실행 환경을 공유시켜 기억장소 낭비 줄어듬
HRN 스케줄링 방식
비선점 스케줄링실행시간이 긴 프로세스에 불리한 SJF 을 보완하기 위해 대기시간 및 서비스 시간을 이용, 우선순위를 계산 숫자가 높은것부터 낮은순으로 순위 부여
대기시간 + 서비스시간 / 서비스시간 = 우선순위값
IEEE 802.11 워킹 그룹 무선 LAN 표준화 현황 중 QoS 강화 MAC 지원
IEEE 802.11a - 5GHz 대역의 전파를 사용하는 규격으로, OFDM 기술을 사용해 최고 54Mbps까지의 전송 속도를 지원IEEE 802.11d - 지역 간 로밍용 확장 기술
IEEE 802.11e - QoS, 패킷 버스팅 등 기능 확장 기술
IEEE 802.11f - 인터 엑세스 포인트 프로토콜
IEEE 802.11h - 유럽용 5GHz 대역 전송방식
IEEE 802.11i - 보안 확장IEEE 802.11j - 일본용 전송 방식
IEEE 802.11k - 전파 자원 측정 확장 기술
IEEE 802.11p - 빠르게 움직이는 운송 수단을 위한 무선 접속 기술
IEEE 802.11r - 빠른 로밍
IEEE 802.11s - ESS 메쉬 네트워킹
IEEE 802.11t - 무선 성능 예측 (WPP)
IEEE 802.11u - 802.11 기반이 아닌 네트워크와의 상호 연동
IEEE 802.11v - 무선 네트워크 관리
IEEE 802.11w - 보호된 관리 프레임
이전 기출 문제에서는 이런 식 말고 푸는 문제로 나왔는데 저라면 이거 나오면 그냥 틀리겠습니다
C언어에서 사용할 수 없는 변수명
영어 숫자 _ 사용가능
첫글자는 영어 or _예약어 변수명으로 불가능
대소문자 구분
스크립트 언어
javascript
ASP
JSP
PHP
Python
basic
기능적 / 순차적 / 교환적 / 절차적 / 시간적 / 논리적 / 우연적 -> 갈수록 응집도 약함
기능적(Functional cohesion) / 순차적(Sequential cohesion) / 교환적(Communication cohesion) / 절차적(Procedural cohesion) / 시간적(Temporal cohesion) / 논리적(Logical cohesion) / 우연적(Coincidental cohesion) -> 갈수록 응집도 약함
JAVA 언어 접근 제한자
public : 모든 접근 허용
protected : 같은 패키지에 있는 객체와 상속관계 객체들만 허용
default : 같은 패키지에 있는 객체들만 허용
private : 현재 객체 내에서만 허용
비용 산정 기법
전문가 감정 기법 : 조직 내에 있는 경험 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
델파이 기법 : 전문가 감정 기법의 주관적 편견을 보완하기 위해 많은 전문가의 의견을 종합
LOC 기법 : 원시 코드 라인 수 기법으로서 원시 코드 라인 수의 비관치 낙관치 기대치를 측정하여 산정하는 기법
개발 단계별 인월수 기법 : LOC를 보완하기 위한 기법, 필요 노력을 생명 주기의 각 단계별로 선정
COCOMO : 보헴이 제안한 것으로 LOC에 의한 비용 산정 기법
유형별 COCOMO
Organic : 조직형 / 소규모 소프트웨어 일괄 자료 처리 /5만 라인 이하
Semi-detached : 반분리형 / 트랜잭션 처리 시스템이나 운영체제, DB / 30만 라인 이하
Embedded : 내장형 / 최대형 규모 트랜잭션 처리 시스템이나 운영체제 / 30만 라인 이상
COCOMO 종류
Basic (기본): 소프트웨어 크기 및 개발 유형만 이용
Intermediate(중간) : 기본형의 공식 토대로 사용하나 4가지 특성 및 15가지 요인에 의해 비용 산정
제품 특성 : 신뢰도 / DB크기 / 복잡도컴퓨터 특성 : 수행시간제한 / 기억장소제한 / 가상 기계의 안정성 / Turn Around Time
개발 요원의 특성 : 분석가 능력 / 개발 분야 경험 / 가상 기계 경험 / 프로그래머 능력 및 언어 경험
프로젝트 특성 : 소프트웨어 도구 이용 / 프로젝트 개발 일정 / 최신 프로그래밍 기법 이용
Detailed(발전) : 중간형 COCOMO 보완하여 만들어진 방법으로 개발 공정별보다 자세하고 정확하게 비용 산정
Putnam 기법 : 소프트웨어 생명 주기의 전 과정 동안에 사용될 곡선의 노력의 분포를 가정해주는 모형
Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
FP 기법 : 기능 점수 모형으로 알브레히트가 제안 / 요인별 가중치를 합산하여 총 기능 점수를 산출하여 점수와 영향도를 이용 비용 산정
Stack Protection : Stack Overflow를 탐지하고 보안을 강화시키는 기법
Stack Guard 스택가드 : Stack 상에 일정한 주소번지에 프로그램이 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크하여 프로그램이 비정상적으로 종료 시키는 기법
Stack Shield : 함수의 리턴주소를 복사하여 실제 리턴주소를 참조하지 않고 함수를 리턴해주는 기법
Syslog : 시스템에서 로그메시지를 처리하기 위해서 제공
Recovery Control : 부적절한 사건/상황으로 인해 발생한 피해를 극복, 장애/혼란을 정돈하고 정상상태로 회복
+ 카나리(Canary 또는 Canaries) : buffer와 SFP 사이에 buffer overflow를 탐지하기 위한 특정 값(canary value)를 삽입하는 기법
+ Canary 종류 : terminator, random, random XOR (스택가드는 canary 세 가지 모두를 지원)
+ ProPolice 종류 : terminator와 random
+ StackGuard와 ProPolice는 (함수 포인터들을 오버플로우하는) 자동으로 할당된 구조체들에서 오버플로우를 방어하지 못한다
스택가드: 메모리상에서 프로그램의 복귀 주소와 변수사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술
백도어 탐지 방법 : 무결성 검사 / 로그 분석 / SetUID 파일 검사 / 열린 포트 검사 / 바이러스 및 백도어 탐지 툴 이용
Smurfing : IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격 방법
서비스 공격 유형DoS (서비스 거부) : 표적이 되는 서버의 자원을 고갈시킬 목적으로 다수 공격자 or 시스템에서 대량의 데이터를 한 곳에 집중적으로 전송함
Ping of Death (죽음의 핑) : Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격
Smurfing 스머핑 : IP나 ICMP의 특성을 악용 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법.
SYN Flooding : TCP는 신뢰성 있는 전송을 위해 3-way-handshake를 거친 후 데이터를 전송하는데 SYN은 공격자가 가상의 클라이언트로 위장 3WH을 의도적으로 중단, 서버가 대기상태에 놓여 정상 서비스를 못하게 하는 공격 방법TearDrop : Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생 시킴
Land : 패킷을 전송할 때 송 수신 IP주소를 모두 공격대상 IP주소로 하여 공격대상에게 전송하는 것, 공격대상은 송신IP주소가 자신이기 때문에 자신에게 무한히 응답하게 되는 공격
DDoS(분산 서비스 거부) : 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행
CMM(Capability Maturity Model) 모델의 레벨 : 초기단계 / 관리단계 / 정의단계 / 정량적 관리단계 / 최적화단계
웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성·값의 쌍 형태로 표현하는 형식으로 자바스크립트(JavaScript)를 토대로 개발되어진 형식
JSON : 용량이 적은 데이터를 교환하기 위해 데이터의 객체를 속성,값의 쌍 형태로 표현하는 형식, 즉 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 것
XML : 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
Tripwire : 크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구
- MD5, CRC-32, SHA 등의 알고리즘을 사용
Aide : Tripwire를 대신할 수 있는 도구로 파일의 무결성을 검사하는데 사용
sXid : MD5 체크섬을 사용하여 suid, sgid파일을 추적 루트키트가 설치되어있는지 검사. Cron 작업형태로 수행. 자동으로 차일을 추적하고 경고
Claymore : 침입탐지 및 무결성 모니터링 도구로 크론테이블을 이용하여 주기적으로 파일시스템의 변조유무를 확인하고 변조되었을 경우 관리자에게 메일로 통보해 주는 기능
Samhain : 시스템의 무결성을 점검하는 도구로 여러 시스템을 관리할 수 있는 수단을 제공한다..모니터링 에이전트와 중앙 로그서버로 구성
Slipwire : 파일시스템의 무결성을 검사하는 도구로 파일의 SHA-1 hashes값을 비교하여 변경될 경우 사용자에게 경고하는 기능
Fcheck : 유닉스 파일시스템의 변조유무를 점검하기 위한 PERL script 도구로 syslog. console 등로 관리자에게 파일시스템 변화를 경보해 준다..tripwire와 비슷한 도구로 보다 설치 및 운영이 쉽다..
*Cron하고 Tripwire은 많이 나오는 개념이고 기출문제도 많이 출현하였으니 이 두개만 잘 알아놓아도 된다.
프레임워크 : 특정 기능을 수행하기 위해 필요한 클래스 or 인터페이스 등을 모아둔 집합체
맨 땅에 헤딩하는게 복잡할까요 ? 정리된 것들이 사용하는게 복잡할까요?
organic: COCOMO model 중 기관 내부에서 개발된 중소 규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형
유형별 COCOMO
Organic : 조직형 / 소규모 소프트웨어 일괄 자료 처리 /5만 라인 이하
Semi-detached : 반분리형 / 트랜잭션 처리 시스템이나 운영체제, DB / 30만 라인 이하
Embedded : 내장형 / 최대형 규모 트랜잭션 처리 시스템이나 운영체제 / 30만 라인 이상
PICONET : 여러 개의 독립된 통신장치가 UWB(Ultra Wideband)기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
네트워크 관리 신기술
IoT : 정보 통신 기술 기반 실세계와 가상세계의 사물을 인터넷으로 연결하여 서비스 제공하는 기술
M2M : 무선 통신을 이용한 기계와 기계사이의 통신모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
클라우드 컴퓨팅 : 각종 컴퓨팅 자원을 중앙에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 할 수 있는 환경을 의미
모바일 클라우드 컴퓨팅(MCC) : 클라우드 서비스 이용 소비자끼리 클라우드 컴퓨팅 인프라 구성하여 여러 정보와 자원을 공유하는 ICT 기술을 의미
인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동 및 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스 자원을 연결하는 기술
메시 네트워크 : 차세대 이동통신 공공안전 등 특수 목적을 위해 새로운 네트워크 기술로 대규모 디바이스의 네트워크 생성에 최적화
와이선 : 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리 통신 기술NDN : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
NGN : 유선망 기반의 차세대 통신망 유선망뿐만 아니라 이동 사용자를 목표로 함
SDN : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
NFC : 고주파를 이용한 근거리 무선 통신 기술
UWB : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술
PICONET : 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망 형성
WBAN : 웨어러블 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
GIS : 지리적인 자료를 수집 저장 분석 출력할 수 있는 컴퓨터 응용 시스템
USN : 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
SON : 주변 상황에 맞추어 스스로 망을 구성하는 네트워크를 말한다.
ad-hoc network : 재난 현자와 같이 별도의 고정된 유선망을 구출할 수 없는 장소에 모바일 호스트만을 이용하여 구성한 네트워크
네트워크 슬라이딩 : 3GPP를 포함한 여러 글로벌 이동통신 표준화 단체가 선정한 5G의 핵심기술
저젼력 블루투스 기술 : 일반 블루투스와 동일한 주파수 대역을 사용하지만 연결되지않는 대기상태에서는 절전 모드를 유지하는 기술
지능형 초연결망 : 정부 주관 사업
PICONET만 2번 본 거 같습니다(2015-2020)
소프트웨어 생명 주기 모형
폭포수 : 선형 순차적 / 메뉴얼 작성 / 각 단계가 끝난 뒤 다음 단계로 넘어감
타당성 검토 - 계획 - 요구분석 - 설계 - 구현 - 시험 - 유지보수
프로토 : 원형 모형으로 실제 개발될 제품의 견본을 만들어 결과물을 예측하는 모형
개발이 완료된 시점에서 오류가 발견되는 폭포수 모형 보완
요구수집 - 설계 - 구축 - 고객평가 - 조정 - 구현
나선형 : 점진적 모형 / 위험을 관리 및 최소화하는 것이 목적 / 유지보수가 필요 없다
애자일 : 고객 중심적 모형 / 일정 주기를 반복하면서 개발과정 진행
[DB]
- 하둡 : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 디지털 아카이빙 : 디지털 정보 자원을 장기적으로 보존하기 위한 작업
- 타조 : 우리나라가 주도적으로 개발 중인 하둡 기반의 분산 데이터 웨어하우스 프로젝트
- 데이터 다이어트 : 데이터를 삭제하는 것이 아닌 압축하고 중복된 정보를 배제하고 새로운 기분에 따라 나누어 저장하는 작업
- 메타 데이터 : 일련의 데이터를 정의하고 설명해주는 데이터[네트워크]
- 비콘 : 블루투스 기반의 근거리 무선통신 장치
- NFC : 고주파를 이용한 근거리 무선 통신 기술
- NDN : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
- NGN : 유선망 기반의 차세대 통신망
- 포스퀘어 : 위치 기반 소셜 네트워크 서비스
[HW]
- 엠디스크 : 한 번의 기록만으로도 자료를 영구 보관할 수 있는 광 저장 장치
- 맴리스터 : 메모리와 레지스터의 합성어로 전류의 방향과 양 등 기존의 경험을 모두 기억하는 소자. 차세대 메모리 기술 (ex: M.2)
RSA: 소인수 분해 문제를 이용한 공개키 암호화 기법에 널리 사용되는 암호 알고리즘 기법
1. RSA : MIT의 라이베스트,샤미르,애들먼에 의해 제안된 공개키 암호화 알고리즘큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐 / 공개키와 비밀키 사용
2. ECC : 오류 정정 코드 메모리 (가장 일반적인 종류의 내부 데이터 손상 을 감지하고 수정하는 기억 장치 의 일종)
3. PKI : 공개키 기반 구조
4. PEM : SSL 인증서 종류
[블록 암호]
- 대칭키DES : 구 미국 표준. 56비트 키를 사용
AES : DES의 보안 취약점을 대체하기 위해 고안된 미국 표준 방식으로 현재 표준 대칭키 암호화 기법
ARIA : SEED 이후로 나온 대한민국의 국가 암호 표준(AES와 동일)
[공개키 암호]
- 비대칭키RSA : 공개키 암호화 기법의 사실상 표준. 매우 큰 수의 소인수분해가 수학적으로 어렵다는 이론에 기반
ECC : RSA의 키 길이가 너무 긴 결점을 보완하기 위해 타원곡선함수를 이용한 암호화 기법
DSS(DSA) : 디지털 서명 표준 인증서 서비스
최대 홉수를 15로 제한한 라우팅 프로토콜
라우팅 프로토콜
-RIP
자율 시스템 내에서 사용
근거리 통신망 및 독립적 네트워크 내에서 라우팅 정보 관리
최대 홉수 카운트 15로 제한 16이상은 불가판정
-OSPF
가장 많이 사용되는 내부 라우티 프로토콜
효율을 위해 자율시스템을 여러 지역으로 나눔홉수 카운트 대신 Cost사용
-IGRP
Cisco System의 고유의 프로토콜
hop 수를 기준으로 한 정보 전송
라우팅 경로 결정 시 회선의 전송능력 지연시간 사용률 신뢰도 바탕
독립적 네트워크 내에서만 사용
-EIGRP
IGRP의 Metric 구성 값에 256을 곱하여 작동프로토콜 종속 모듈신뢰성 전송 프로토콜 (순차적 패킷 전달)
낮은 대역폭 및 빠른 수렴업데이트 확산 알고리즘
-BGP
라우터에 의해서 전체 경로 교환
루프 방지
179번 포트 이용한 TCP 서비스 사용
오류제어나 흐름제어 필요하지않음
해킹 공격
-좀비PC : 악성코드에 감염되어 다른 프로그램 or 컴퓨터를 조종하도록 만들어진 컴퓨터
-C&C서버 : 좀비PC에 명령을 내리고 악성코드를 제어하기 위한 용도의 서버
-봇넷 : 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 네트워크 연결 형태
-웜 : 연속적으로 자신을 복제하여 시스템 부하를 높임으로써 시스템을 다운시키는 바이러스
-제로데이 공격 : 취약점 발견 시 취약점 존재를 알리기 전에 해당 취약점을 통해 이뤄지는 보안 공격
-키로거 공격 : 컴퓨터 사용자의 움직임을 탐지 개인정보를 몰래 빼가는 공격
-램섬웨어 : 내부 문서나 파일 등을 암호화해서 사용자가 열지 못하게 하는 프로그램
-백도어 : 설계자가 서비스 기술자의 편의를 위해 보안을 제거하여 만들어놓은 비밀 통로
-트로이 목마 : 정상적인 기능인 척하는 악성 프로그램
테일러링 (Tailoring)
프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론
절차, 사용기법 등을 수정 및 보완하는 작업
내부적 요건 : 목표환경 / 요구사항 / 프로젝트규모 / 보유기술 / 외부적 요건 : 법적 제약사항 / 표준 품질 기준
폭포수 : 선형 순차적 / 메뉴얼 작성 / 각 단계가 끝난 뒤 다음 단계로 넘어감
가장 오래됐고 가장 폭넓게 사용된 전통적인 모형
타당성 검토 - 계획 - 요구분석 - 설계 - 구현 - 시험 - 유지보수
1. 선형 순차적이라 앞단계 다 끝냈는데 갑자기 뭐 들고오면 빡쳐서 안한다고 생각하시면 됩니다.
2. 선형 순차적 oo
3. 단계가 끝나야 다음 단계로 넘어가기에 그 단계에서의 정의 및 산출물이 명확해야합니다.
4. 오래된 모형으로서 적용 경험 및 성공사례가 많습니다.
폭포수 - 위에서 아래로 떨어진다라는 뜻에서 선형 순차적이며 다시 거슬러올라갈 수 없기 때문에 요구사항 변경이나 전 단계 수정은 할 수 없다.
1. Smishing: SMS + 피싱 즉 SMS를 이용하는 피싱 사기
2. C-브레인 : MS-DOS용 컴퓨터 바이러스 / 기억 매체의 시동 섹터를 감염
3. 트로이 목마 : 정상적인 기능인 척하는 악성 프로그램
4. Ransomware: 인터넷 사용자의 컴퓨터에 침입해 내부 문서 파일등을 암호화해 사용자가 열지 못하게 하는 공격으로 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 한다.
기밀성 - 열람
무결성 - 수정 - 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소
가용성 - 사용
'정보처리기사' 카테고리의 다른 글
도타비 정보처리기사(2020년 이후) 필기 (기출문제) 랜덤모의고사 응시 1회 (0) | 2021.08.02 |
---|---|
정처기 오답 - 정보처리기사 2020년 06월 06일 기출문제 (0) | 2021.07.27 |
정처기 오답 - 정보처리기사 2020년 08월 22일 기출문제 (0) | 2021.07.23 |
2020년08월22일 기출문제 해설 (0) | 2021.07.20 |
정처기 오답 - 정보처리기사 2020년 06월 06일 기출문제 (0) | 2021.07.16 |