실기 단어 정리
오류-부재의 궤변
: 소프트웨어의 결함을 모두 제거해도 해당 소프트웨어가 사용자의 요구사항을 만족시키지 못한다면 품질이 높다고 할 수 없다.
살충제 패러독스
: 동일한 테스트 케이스로 반복 실행하면 더 이상 새로운 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 점검, 개선해야 한다.
파레토 법칙
: 전체 결함의 80%는 소프트웨어 제품의 기능 20%에 집중되어 있다.
증분백업
: 백업 대상 데이터 중 변경되거나 증가한 부분만 백업되는 방식
UI (User Interface)
: 사용자와 컴퓨터가 정보를 주고 받기 위해 사용자와 컴퓨터의 상호작용을 매개하는 것
MVC 모델
: 전체 프로그램을 model, view, control 세 부분으로 나누어 UI부분과 비즈니스 로직 부분을 분리하여 개발하는 것
공개키 암호화 방식
: 암호화에는 공개키를 사용하고, 복호화에는 개인키를 사용하는 비대칭 구조의 암호화 방식
소프트웨어 프레임워크 특징
: 재사용성, 제어의 역흐름, 모듈화, 확장성
제어의 역흐름
: 개발자가 관리하고 통제해야 할 객체들의 제어 권한을 프레임워크에 넘겨 생산성 향상시킨다.
참조 무결성
: 외래키의 값은 Null값을 가지거나 참조하는 릴레이션의 기본값과 같아야 한다.
개체 무결성
: 기본키의 속성은 Null 값이거나 중복되어서는 안된다.
도메인 무결성
: 각 속성 값들은 반드시 정의된 도메인에 속한 값이어야 한다.
트랜잭션 특징
Atomicity : 모두 반영되거나 전혀 반영되지 않아야 한다.
Consistency : 트랜잭션이 실행을 성공적으로 완료하면 데이터베이스를 일관성있는 상태로 유지해야 한다.
Isolation : 트랜잭션이 실행되고 있을 때 다른 트랜잭션의 연산이 끼어들 수 없다.
Durability : 트랜잭션의 결과는 영구적으로 반영된다.
이상
원인 : 릴레이션에서 일부 속성의 종속으로 인해 중복이 발생하여 데이터 조작 시 불일치가 발생
종류 : 삭제, 삽입, 갱신 이상
COMMIT
: 트랜잭션이 성공했을 경우그 결과를 데이터베이스에 적용하여 완료시킨다.
ROLLBACK (20년 2회 실기 기출)
: 트랜잭션의 실패로 작업을 취소하고, 이전 상태로 되돌리는 데이터 제어어
병행제어
: 동시에 여러 트랜잭션을 수행할 때, 데이터베이스 일관성 유지를 위해 트랜잭션 간 상호작용을 제어하는 것
로킹기법
: 한 트랜잭션이 데이터를 액세스하는 동안 다른 트랜잭션이 그 데이터에 액세스할 수 없도록 하는 기법
시간 스탬프 순서 기법
:
반정규화
: 전체 프로그램 성능 향상을 위해 의도적으로 정규화 원칙을 위배하는 것
형상관리 (20년 2회 실기 기출)
: 소프트웨어 개발 과정에서 발생하는 산출물의 변경 사항을 버전관리하기 위한 일련의 활동
완전함수적 종속
: X, Y가 각각 릴레이션의 속성이고 Y가 X에 함수 종속일 때, X의 임의의 부분집합에 대해 Y가 어떤 값도 X의 부분집합 값에 대응하지 않을 때 Y는 X에 완전함수족 종속이라고 한다.
스니핑
: 네트워크 중간에서 남의 패킷 정보를 도청하는 해킹 기법
SQL 삽입(injectoin) (20년 2회 실기 기출)
: 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
XXS (Cross Site Scripting)
: 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행되는 보안 약점
CSRF (사이트 간 요청 위조)
: 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 되는 공격
DNS : 문자로 된 도메인 네임을 컴퓨터가 이해할 수 있는 IP주소로 변환하는 역할을 하는 시스템
스래싱 : 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
워킹셋 : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
클러스터 : 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법
지역성 : 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
정규화 : 관계형 데이터베이스의 설계에서 중복을 최소화해서 데이터를 구조화하는 프로세스
개체 관계 모델 : 현실 세계에 존재하는 개체와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위한 모델
WDSL : 웹서비스에 대한 정보를 XML형식으로 기술한 파일
UDDI : WSDL을 등록하고 검색하기 위한 저장소
SOAP : HTTP 등을 이용하여 XML 메시지 교환을 위한 프로토콜
응집도 : 모듈 내부 구성요소 간의 연관 정도
결합도 : 모듈 간의 상호의존성
회귀테스트 : 오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법
운영체제 : 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
데이터베이스 : 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합
릴리즈 노트 : 조직의 최종 사용자인 고개고가 잘 정리된 릴리즈 정보를 공유하는 문서
옵티마이저 : SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해주는 DBMS내부의 핵심 엔진
빅데이터 : 처리 가능한 데이터범위를 넘어서는 수십 페타 바이트 크기의 데이터
인공지능 : 컴퓨터가 인간의 지능적인 행동과 사고를 모방할 수 있도록 하는 소프트웨어
AJAX : 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적인 XML데이터를 교환하는 통신 기술
데이터웨어하우스 : 다량의 데이터를 분석하여 정보화하고 이를 사용자들이 효율적으로 사용할 수 있도록 한 데이터베이스
배치프로그램 : 여러 작업들을 미리 정해진 순서에 따라 일괄 처리하는 프로그램
JDBC : JAVA에서 데이터베이스를 사용할 수 있도록 연결해주는 응용 프로그램 인터페이스
드라이버 : 상위 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈, 상향식 통합 테스트에 사용
스텁 : 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈, 하향식 통합 테스트에 사용
경계값 분석 : 입력조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용해 입력 조건의 경계값을 테스트 케이스로 선정해 검사하는 기법
트랜잭션 : 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 기본 단위
트리거 : 데이터베이스가 미리 정해 놓은 조건을 만족하거나, 어떤 동작이 수행되면 자동적으로 수행되는 동작이다.
RBO : 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이즈
CBO : 통계 정보로부터 모든 접근 경로를 고려한 질의 실행 계획을 선택하고 쿼리 변환, 비용산정, 계획 생성을 구분하는 옵티마이저
OLAP : 사용자가 다양한 각도에서 정부에 대해 접근해 직접 대화식으로 정보를 분석하고 의사결정에 활용하는 과정으로 사용자들이 직접 컴퓨터를 이용하여 데이터에 접근하는 데 있어 필수적인 시스템
OLTP : 온라인 업무 처리 형태의 하나로 네트워크 상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하거나 검색하는 등의 단위 작업을 처리하는 방식
DBMS : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어