서비스라고 정의되는 분할된 애플리케이션 조각들을 Loosely-coupled 하게 연결해 하나의 완성된 Application을 구현하기 위한 아키텍처이다.
TCP Sequence number의 보안상 문제점 때문에 발생한다.
TCP의 세션 관리 취약점을 이용한 공격 기법이다.
TCP 세션 하이재킹 대응을 위해서는 비동기화 상태 탐지, ACK 패킷 비율 모니터링, 특정 세션에서 패킷 유실 및 재전송이 증가되는 것을 탐지해야한다.
동료 검토 (Peer Review)
2~3명이 진행하는 리뷰의 형태로 요구사항 명세서 작성자가 요구사항 명세서를 설명하고, 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행하는 검토 기법이다.
워크 스루 (Walk Through)
검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서로 만드는 기법이다.
인스펙션 (Inspection)
소프트웨어, 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 기법이다.
%
0개 이상의 문자열과 일치
[ ]
1개의 문자와 일치
[^]
1개의 문자와 불일치
_
특정 위치의 1개의 문자와 일치
예시
SELECT ~ FROM ~ WHERE LIKE '_BCD';
int A(int a, int b){~}
void main(){
int (*pf)(int, int);
pf = A;
pf(1,2); // 가능
}
SELECT A.컬럼1, A.컬럼2, ..., B.컬럼1, B.컬럼2, ...
FROM 테이블1 A LEFT OUTER JOIN 테이블2 B
ON A.공통_컬럼 = B.공통_컬럼
[WHERE 조건];
특정 서버에 악의적으로 수많은 요청을 보내어 해당 서비스를 다른 사용자들이 이용하지 못하도록하는 공격 기법이다.
키-값 쌍으로 이루어진 데이터를 전달하기 위해 사용하는 문자 기반의 표준 포맷이다.
비정형 명세 기법
자연어를 기반으로 서술
사용자와 개발자의 이해가 용이
정형 명세 기법
수학적인 원리와 표기법으로 서술
표현이 간결, 명확성 및 검증이 용이
갱신 손실 (Lost Update)
먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류
현황 파악오류 (Dirty Read)
트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생하는 오류
모순성 (Inconsistency)
두 트랜잭션이 동시에 실행되어 데이터베이스의 관성이 결여되는 오류
연쇄 복귀 (Cascading Rollback)
복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소하지 못하는 오류
1정규형 (1NF)
원잣값으로 구성
2정규형 (2NF)
부분 함수 종속 제거 (완전 함수적 종속 관계)
3정규형 (3NF)
이행 함수 종속 제거
보이스-코드 정규형 (BCNF)
결정자 함수이면서 후보 키가 아닌 것 제거
4정규형 (4NF)
다치 종속성 제거
5정규형 (5NF)
조인 종속성 제거
C언어의 배열에서 %s로 특정 요소의 주솟 값을 받을 시 해당 하는 주소의 요소값부터 끝까지 출력된다.
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 [제약 조건];
자료흐름도(DFD)는 요구사항 분석에서 자료의 흐름 및 변화 과정과 기능을 도형 중심으로 기술하는 방법이다.
처리기 (Process)
입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로, DFD에서는 원(O)으로 표시한다.
데이터 흐름 (DAta Flow)
DFD의 구성요소(프로세스, 데이터 저장소, 외부 엔터티)들 간의 주고받는 데이터 흐름을 나타내며, DFD에서는 화살표(→)로 표시한다.
데이터 저장소 (Data Store)
데이터가 저장된 장소이고, 평행선(=)으로 표시하며, 평행선 안에는 데이터 저장소의 이름을 넣는다.
단말 (Terminator)
프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타내고, 사각형(ㅁ)으로 표시하며, 사각형 안에는 외부 엔터티의 이름을 넣는다.
요구사항 분석
현행 데이터의 문제점과 개선해야 할 점을 확인하고 향후 개선점을 도출하는 활동이다.
개념적 모델링
업무 중심의 포괄적인 모델링으로 추상화하는 활동으로 주제 영역과 핵심 데이터 간 관계를 정의한다.
논리적 모델링
관계(Relationship), 속성(Attribute), 키(Key) 등을 도출하는 활동이다.
물리 모델링
사용 DBMS특성에 맞게 물리적 스키마를 만드는 활동이다.
기능성 (Functionality)
소프트웨어가 특정 조건에서 사용될 때 명시된 요구와 내재된 요구를 만족하는 기능을 제공하는 소프트웨어 제품의 능력이다.
신뢰성 (Reliability)
명시된 조건에서 사용될 때 성능 수준을 유지할 수 있는 소프트웨어 제품의 능력이다.
사용성 (Usability)
명시된 조건에서 사용될 경우, 사용자에 의해 이해되고, 학습되고, 사용되고 선호될 수 있는 소프트웨어 제품의 능력을 말한다.
효율성 (Efficiency)
명시된 조건에서 사용되는 자원의 양에 따라 요구된 성능을 제공하는 소프트웨어 제품의 능력을 말한다.
유지보수성 (Maintainability)
소프트웨어 제품이 변경되는 능력이다.
이식성 (Portability)
한 환경에서 다른 환경으로 전이될 수 있는 소프트웨어 제품의 능력이다.
큐 (Queue)
한쪽에서는 삽입 작업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지도록 구성한 자료구조이다.
FIFO 방식으로 처리된다.
시작과 끝을 표시하는 두개의 포인터가 존재한다.
데크 (Deque)
양쪽 끝에서 삽입과 삭제를 할 수 있는 자료구조이다.
두 개의 포인터를 사용하여, 양쪽의 삭제/삽입이 가능하다.