정보처리기사 개념정리
정보처리기기사 소프트웨어 구축 자주 나오는 개념
SDLC 소프트웨어 개발 생명주기
프로젝트 계획→요구분석→설계→구현→테스트→유지보수
계획 방법론
- 폭포수 방법론
- 선형 순차적 개발
- 고전적, 전통적 개발 모형
- 나선형 방법론
계획 수립→위험 분석→개발 및 검증→고객 평가- 점진적 개발 과정 반복
- 에자일 방법론
- 기능 중심 개발
- 스크럼 SCRUM
- 익스트림 프로그래밍
- ❌ 오답 :
모듈 중심 개발
SCRUM 방법론
- 에자일 방법론의 일종
- 주요 역할
제품 책임자- 제품 백로그를 관리하고 우선순위 결정
스크럼 마스터- 팀이 스크럼 규칙을 잘 따르도록 도움
개발 팀- 스프린트 목표 달성을 위해 실제 개발 작업하는 팀
- 3~9명으로 구성되며 자율적인 팀
- 주요 개념 및 산출물
제품 백로그- 제품 개발에 필요한 모든 요구사항, 기능, 버그 수정 등을 나열하고 우선 순위를 매긴 목록
스프린트- 1~4주의 짧은 기간 동안 반복적으로 진행되는 고정된 개발 주기
스프린트 백로그- 특정 스프린트 동안 완료할 제품 백로그 항목들의 부분집합
- ⚠️ 주의 :
스크럼(Scrum) 방법론에서 SRS(Software Requirement Specification)나 TRS(Technical Requirement Specification)에 해당하는 목록은 제품 백로그 이다.✅
SRS 소프트웨어 요구 분석 명세서
- 사용자 요구사항을 문서화
- 무엇을 할지 정의하는 단계
- 구성
- 개발 목적 및 범위
- 기능적 요구사항
- 비기능적 요구사항
- 데이터 요구사항
- 제약조건
- ❌ 오답 :
아키텍처 및 인터페이스 명세
CASE
- 소프트웨어 개발 시 사용되는 분석 자동화 도구
- SW 도구와 방법론의 결합
- ❌ 오답 :
프토로타입 모델에 위험 분석 기능을 추가한 생명주기 모형이다. - 구성
상위 CASE- 요구 분석 및 설계 단계 지원
- 모델 간 모순검사, 모델 오류 검증, 자료 흐름도 작성 기능
하위 CASE- 소스코드 작성, 테스트 문서화 과정 지원
통합 CASE- 소프트웨어 개발 주기 전체 과정 지원
- 원천 기술
- 구조적 기법
- 프로토타이핑 기술
- 정보 저장소 기술
- ❌ 오답 :
일괄 처리 기술
- 주요 기능
- S/W 라이프사이클 전 단계의 연결
- 그래픽 지원
- 다양한 소프트웨어 개발 모형 지원
- 작업 과정 / 데이터 공유
- ❌ 오답 :
언어 번역
- 종류
- SADT, SREM, PSL/PSA, TAGS
HIPO
- 하향식 소프트웨어 개발 기법
- 시스템의 기능을 여러 개의 고유 모듈들로 분할 하여 이들 간의 인터페이스를 계층 구조 로 표현한 도형 또는 도면
- 입력 -> 처리 -> 출력를 기본 구조로 함
- 문서화의 도구 및 설계 도구 방법을 제공, 유지보수 용이
- 너무 큰 시스템에서는 한계점
- 특징
가시적 도표: 시스템의 전체적인 기능과 흐름을 보여줌총체적 다이어그램: 프로그램을 구성하는 기능(입력, 처리, 출력)을 기술세부적 도다이어그램: 총체적 다이어그램에 표시된 기능을 구성하는 기본 요소들을 상세히 기술
구조적 분석 모델
- 자료흐름도 DFD
- 구조적 언어, 의사결정표
- 시간의 흐름 표현 ❌
Process: 원Data Flow: 화살표Data Store: 평행선Terminator: 사각형
- 자료사전 DD
- 소단위 명세서, ERD, 상태전이도
=: 정의+: 연결 (AND)[ ]: 선택 (OR){ }: 반복( ): 옵션
객체지향 분석 모델
- 단계 문요객객객
- 문제정의-요구명세화-객체연산자정의-객체인터페이스결정-객체구현
- SOLID 원칙
SRP- 단일 책임 원칙
- 클래스는 한 가지 책임만
OCP- 개방-폐쇄 원칙
- 수정 없이 확장 가능
LSP- 리코스프 교체의 원칙
- 부모 대신 자식 사용 가능
ISP- 인터페이스 분리 원칙
- 작은 인터페이스 다수 → 클라이언트 최적화
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 ❌
- 클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺어서는 ❌
DIP- 의존성 역전 원칙
- 구체가 아니라 추상에 의존
- 분석 모델
Booch- 미시적, 거시적 개발 프로세스를 모두 사용
Jacobson- 유스케이스 사용
Coad와 Yourdon- E-R 다이어그램
Wirfs-Brock- 분석과 설계 구분 없이 명세서 평가후 작업까지 연속 수행
Rumbaugh- 객체 모델링 → 객체 다이어그램
- 동적 모델링 → 상태 다이어그램
- 기능 모델링 → 자료흐름도(DFD)
소프트웨어 아키텍쳐
- 설계 구분
상위: 아키텍처, 데이터, 인터페이스, 사용자 인터페이스하위: 모듈, 자료구조, 알고리즘
- 설계 과정
- 설계 목표 설정
- 시스템 타입 결정
- 스타일 적용 및 커스터마이즈
- 서브 시스템의 기능, 인터페이스 동작 작성
- 아키텍처 설계 검토
- 품질속성
시스템 측면- 성능, 사용 운용성, 보안성, 시험 용이성, 변경 용이성, 사용성
비즈니스 측면- 시장 적시성, 비용, 일정
아키텍처 측면- 이해 용이성, 재사용성, 분석 용이성, 구현 가능성
소프트웨어 아키텍처 4+1 View Model
- 4개의 뷰와 1개의 시나리오(UseCase)
- View 구성
논리- 시스템의 기능적 요소와 그들의 상호작용
- 클래스 다이어그램, 상태 다이어그램
프로세스- 독자적인 제어 스레드를 가질 수 있는 액티브 클래스에 초점
- 활동 다이어그램, 시퀸스 다이어그램
개발- 소프트웨어의 구현 구조 (모듈, 컴포넌트, 패키지)
- 컴포넌트 다이어그램, 패키지 다이어그램
- 계층 구조, 코드 재사용 등 구현 요건
물리- 시스템 엔지니어, 운영자 대상
- 하드웨어 배치 (서버, 노드, 네트워크)
- 배치 다이어그램,
유스케이스- 모든 이해관계자 대상 시스템이 수행하는 기능과 시나리오
소프트웨어 정의 데이터 센터
- 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의
- 인력 개입 없이 소프트웨어 조작만으로 자동 제어 관리
- 데이터 센터 내 모든 자원을 가상화 하여 서비스
- ❌ 오답 : 특정 하드웨어에 종속되어 특화된 업무를 서비스하기 적합하다.
DBC
- 계약(Contract)에 의한 설계
- 구성
선행조건: 메서드 호출 전 만족해야 할 조건결과조건: 메서드 실행 후 보장해야 하는 결과 조건불변조건: 전후로 항상 만족해야 할 조건
- 👀 시험 관련
- 계약에 의한 설계에서 선행조건, 결과조건, 불변조건을 포함한다.
- Eiffel 언어에서 제안된 방법론이다.
- 프로그램 컴포넌트의 신뢰성을 보장하는 방법론이다.
- 품질 속성 중 신뢰성 과 연관되어있다.
UML
- 구성요소 : 사물, 관계, 다이어그램으로 구성
- 사물 : 구조, 행동, 그룹, 주해
- 관계
연관- Association
- 2개 이상의 사물이 서로 관련
집합- 하나의 사물이 다른 사물에 포함
포함- 집합 관계 내 한 사물의 변화가 다른 사물에 영향
일반화- 한 클래스가 다른 클래스를 포함하는 상위 개념일 때를 지칭
의존- Dependency
- 사물 간 서로에게 영향을 주는 관계
실체화- Realizztion
- 한 객체가 타 객체에게 오퍼레이션을 수행할 수 있도록 지정/그룹화
- 다이어그램
구조/정적 다이어그램클객컴배복패- 클래스
- 객체
- 컴포넌트
- 배치(배포)
- 물리적 요소의 위치/구조 표현
- 노드(3D 박스모양), 아티팩트(노드 위 배치), 연결로 구성
- 복합체
- 패키지
행위/동적 다이어그램유활상 - 시커타상- 유스케이스
- 활동
- 처리 흐름을 순서에 따라 표현
- 상태
- 상태 변화
- 상호작용
- 시퀀스(순차)
- 시스템/객체들이 주고받는 메세지 표현
- 생명선, 실행, 메세지
- 커뮤니케이션(교류): 메세지와 객체 간의 연관관계까지 표현
- 타이밍: 상태 변화와 시간 제약 명시적으로 표현
- 상호작용 개요: 상호작용 다이어그램 간 제어
- 시퀀스(순차)
- 객체 표현
- 스테레오 타입 :
《 》로 표기, 의미 확장 - 제약:
{ }안에 제약식, 조건 표현 - 태그:
{속성명=값}형태로 부가 정보 표현
- 스테레오 타입 :
유스케이스
- 시스템을 블랙박스로 보고, "밖에서 누가 무엇을 요청하느냐?"에 초점
- 구성 요소
- Actor, SystemBoundary, UseCase, 관계
- 관계
연관- Actor <-> UsecAse 참여 관계
- 실선, 다중성(1, 1,..,) 표기 가능
- ⚠️ 연관은 행위 흐름이 아닌 참여만 나타냄
포함- 항상 호출되는 공통 하위 시나리오 분리
- 점선 화살표 +
<<include>>표기 - A 수행 전 B가 무조건 선행 수행 되어야하는 경우
- ⚠️ 조건부, 선택 실행은 포함이 아닌 확장
확장- 조건부/선택적으로 기본 UseCase에 끼어드는 부가 흐름
- 점선 화살표 +
<<extend>>표기 - ⚠️ 자꾸 쓰는 공통 절차면 확장이 아닌 포함
일반화- 상/하위의 특화나 공통 관계 (UseCase, Actor 모두 가능)
- 실선 + 속 빈 삼각형 표기
NS chart
- 논리의 기술에 중점을 둔 도형식 표현 방법이다.
- 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현한다.
- 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는 데 적합하다.
- ❌ 오답 : 주로 화살표를 사용하여 논리적인 제어 구조로 흐름을 표현한다.
CBD
- 생산성과 품질을 높이고, 유지보수 비용을 최소화
- 재사용이 가능한 컴포넌트의 개발 또는 사용 컴포넌트들을 조합하여 애플리케이션 개발
- 독립적인 컴포넌트 단위의 관리로 복잡성을 최소화
- ❌ 오답 : 모듈의 분할과 정복에 의한 하향식 설계 방식이다.
결합도 (모듈 간)
- 모듈 상호 간 결합도
- 낮을 수록 좋음
- 오름차순 정리 CCECSD
내용: 한 모듈이 다른 모듈의 내부 기능 및 자료를 직접 참조/수정공통: 공유되는 공통 데이터를 여러 모듈이 사용(전역 변수)외부: 한 모듈에서 선언한 데이터를 외부 다른 모듈에서 참조제어: 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계스탬프: 두 모듈이 동일한 자료구조를 조회데이터: 모듈 간의 인터페이스가 자료요소로만 구성.
- ❌ 오답 :
데이터 결합도는 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어있다고 한다. (이것은 스탬프 결합도의 설명)
응집도
- 각 모듈 내부 간 응집도
- 높을 수록 좋음
- 오름차순 정리 기순통절시논우
기능적: 단일 문제 해결, 한가지 명확한 기능순차적: 모듈 내 출력 Data를 다음 활동의 Data로 순차 전달통신적: 동일한 입출력으로 서로 다른 기능 수행절차적: 여러 기능을 순차적으로 진행 - Data 공유 약함시간적: 같은 시점에 실행되는 것들 모음논리적: 유사한 성격의 처리 요소우연적: 서로 관련없는 것들 모음
디자인 패턴
- 생성, 구조, 행위 패턴으로 구분
서브 시스템에 속하는 컴포넌트들과 그 관계 설계를 위한 참조 모델- ⚠️ 전체 시스템 구조 설계는 디자인 패턴이 아닌 아키텍처 패턴
- 생성패턴 ABFPS
Abstract Factory- 구체적 클래스에 의존 ❌
- 서로 연관/의존적 객체들이 조합된 인터페이스 제공
Builder- 객체 생성 단계를 캡슐화/분리 -> 객체를 조립
- 동일 생성 절차에서 서로 다른 표현 결과 제공
Factory Method- 상위 클래스에서 객체 생성 인터페이스 정의
- 서브 클래스에서 인스턴스 만드는 클래스 결정 (즉, 분리)
Prototype- 원본/원형 객체를 복제 하는 방식
Singleton- 하나의 객체만 생성
- 구조패턴 ABCDFFP
Adapter- 비호환 인터페이스에 호환성 부여
- 기존 클래스를 감싸서 변환
Bridge- 구현부에서 추상층을 분리 후 각각 독립적 으로 확장
Composite- 트리 구조로 부분/전체 계층 표현
- 복합/단일 객체를 구분없이 사용
Decorator- 상속 사용 없이 객체간 결합을 통해 기능 동적 추가/확장
Fecade- 서브 클래스 없이 구현
- 개발자가 사용해야하는 서브 시스템 가장 앞쪽에 위치
- 복잡한 서브시스템 을 감싸서, 단순화된 통합 인터페이스를 제공
Flyweight- 인스턴스 공유로 메모리 절약
- 클래스 경량화
Proxy- 접근이 힘든 객체를 연결하는 인터페이스 역할
- 대리 객체 수행
- 행위패턴 어떻게 객체와 상호작용하고 책임을 분산할것인가?
Mediator- 객체간 복잡 상호작용을 캡슐화하여 객체로 정의 후 중재
Memento- 객체를 이전 특정 시점의 상태로 저장하고 복원
Observer- 한 객체 상태 변화 시 상속 되어있는 객체들에 변화 전달 (
1대 다)
- 한 객체 상태 변화 시 상속 되어있는 객체들에 변화 전달 (
Strategy- 동일 계열 알고리즘 을 개별 캡슐화하여 상호 교환
State- 객체의 상태에 따라 동일 동작 다르게 처리
MVC
- 응집도 ↑, 결합도 ↓, 변경 용이성 ↑
- 사용자 인터페이스를 시스템의 비즈니스 로직과 분리하는 구조
- 디자인 패턴 중
Observer에 해당하는 구조 - 구성
Model- 핵심 데이터와 비즈니스 로직 담당
- 뷰나 컨트롤러에 직접 의존하지 않음
View- 사용자에게 보여지는 UI 담당
- Model이 바뀌면 View는 자동 갱신 가능 (Observer)
Controller- 사용자 입력을 해석하고, 동작을 모델에 전달하거나 뷰를 갱신
- 뷰와 모델 사이 중재자/전달자 역할
미들웨어
- 운영체제와 응용 프로그램 사이의 소프트웨어
- 종류
RPC: 네트워크로 다른 시스템의 함수를 호출MOM: 메세지 큐 기반 비동기 전송, 느슨, 비동기ORB: 객체 요청 브로커로 객체 지향 분산 환경 지원WAS: 웹 기반 서비스 실행 환경 제공TP: 트렌잭션이 온전하게 처리되고 있는지 감시/제어SQL/CLI: C와 같은 언어에서 SQL 호출 간으하게 하는 인터페이스
- ❌ 오답 :
Webserver는 미들웨어가 아님 - ❌ 오답 :
SQL/MM은 미들웨어가 아닌 SQL 표준의 확장
화이트박스
- 모듈 내부 작동을 직접 볼 수 있음
- 기초 경로, 조건, 루프, 구문, 결정기반 검사
- 목표
- 논리적 경로 점검 / 모든 소스코드 문장 한번 이상 수행
- 종류
- 기초 경로 검사
- 제어 구조 검사: 조건, 루프, 자료흐름검사
블랙박스
- 모듈 내부 내용 알 수 없음
- 소프트웨어 인터페이스에서 실행
- SW 각 기능 완전 작동 입증 테스트로 기능테스트 라고 함
- 목표
- 인터페이스 오류 / 행위와 성능 오류 / 초기화와 종료 오류 잡기
- 종류
- 동치 분할 검사
- 경계값 분석
- 원인-효과 그래프 건사
- 오류 예측 검사
- 비교 검사
워크스루 vs 인스팩션
- 워크스루
- 비공식적 검토 기법
- 작성자가
직접 설명하면서 동료/전문가들과 함께 문서 검토 - 검토 회의 전 요구사항 명세서를 미리 배포 후 사전 검토
- 오류 조기 검출에 목표
- 인스팩션
- 공식적 검토 기법
- 작성자가 아닌 전문가가 문서를 체계적으로 검토
- 오류 검출이 최우선
ISO 12207 소프트웨어 생명주기
- 기본: 획득, 공급, 개발, 운영, 유지보수
- 지원: 문서화, 형상관리, 품질보증, 검증, 확인, 합동검토, 감사
- 조직: 관리, 기반구조, 개선, 교육훈련
SPICE
- SW 개발조직의 프로세스 능력 평가
- 능력 수준
0: 불완전 - 프로세스 정의/수행 ❌1: 수행 - 프로세스가 목표를 달성2: 관리 - 프로세스가 계획/모니터링/조절됨3: 확입 - 표준 프로세스가 조직 내에 확립4: 예측 - 정량적 관리로 성과 예측 가능5: 최적화 - 지속적 개선활동 수행
소프트웨어 형상 관리 항목
- 프로젝트 요구 분석서
- 소스코드
- 운영 및 설치 지침서
- ❌ 오답 :
프로젝트 개발 비용
소프트웨어 사용자 인터페이스 개발 시스템의 기능
- 사용자 입력의 검증
- 에러처리와 에러 메세지 처리
- 도움과 프롬프트 제공
- ❌ 오답 :
소스코드 분석 및 오류 복구
EAI
- EAI (Enterprise Application Integration)
- 기업 내 운영되는 플랫폼 및 애플리케이션 간의 정보전달, 연계, 통합 수행
- Point to Point, Hub&Spoke, Message Bus, Hybrid 형태로 구성
- ⚠️
Point-ti-Point만 미들웨어 방식이 아니다.
인터페이스 구현 검증 도구
- Watir: 루비기반 웹 애플리케이션 테스트 프레임워크
- xUnit: 다양한 언어를 지원하는 프레임워크
- FitNesse: 웹기반으로 테스트 케이스 테이블 작성으로 빠르고 쉬움
- STAF: 데몬을 사용하여 테스트 대상 분산 환경에서 진행
- NTAF Naver: STAF + FitNesse
- Selenium: 다양한 브라우저 지원
- ❌ 오답 :
ESB,FoxBase
빌드 자동화 도구
- Ant: Java
- Maven: XML 기반, 의존성 관리 장점
- Gradle: Groovy 기반, Andorid 개발 표준
- Make: Makefile 기반
감성공학
- 접근방법 감통수
1류: 감각적 접근2류: 통계적 접근3류: 수학적 접근4류: 졸합적 접근
DB 설계 순서
- 요개논물구
- 요구조건분석
- DB 사용 용도, 요구사항, 명세서 작성
- 개념적 모델
- 스키마 모델링, 트랜젝션 모델링, E-R 모델
- 논리적 모델
- 개념적 모델을 컴퓨터가 처리 가능한 구조로 표현
- 종속적인 논리 스키마 설계
- 트랜잭션 인터페이스 설계
- 정규화
- 물리적 모델
- 데이터 실제 저장 방법 및 접근 경로 표현
- 저장 레코드 의 형식/순서/접근경로 설계
- 트랜잭션 작성
- 반정규화
- 구현
- DBMS에서 SQL로 작성한 명령문 실행 후 DB 생성
릴레이션
- 구성
속성(Attribute)- 속성 = 열 = 필드
- 속성의 갯수: Degree(차수)
튜플(Tuple)- 튜플 = 행 = 레코드
- 튜플의 갯수: Cardianlity(기수)
- 특징
- 튜플과 속성은 유일하며 순서는 무의미함
- 튜플은 삽입/삭제 등에 의해 계속 변하고, 서로 상이한 값을 가짐
- 속성의 값은 분해 불가(원자성)하고, 동일할 수 있음
- 속성은 Null값을 가질 수 있으나, 기본키는 Null ❌
코드
- 설계순서
- 코드 대상 항목 결정 - 사용 범위와 기간 결정 - 코드화 방식 결정 - 코드의 문서화
- 종류
순차코드- 자료를 일정한 순서 대로 일련번호 단순 부여
- 회원번호 001, 002...
- 단순하고 쉬우나, 중간에 새로운 자료 삽입 어려움 (유연성 부족)
블록코드- 자료를 블록(그룹)별로 나누고, 블록 내에서 순차적으로 번호 부여
- 10-19 가전, 20-29 가구 ...
- ⚠️ 예비코드, 구분 순차 코드 이며 확장성이 좋음
표의숫자코드- 각 자리 숫자에 의미 부여
- 번호 311 (3: 전자), (1: TV), (1: 소형)
- 의미 파악 용이하나 자릿수 늘어나면 복잡
- ⚠️ 기계 처리 적합하지 않음!
연상코드- 사람이 이해하기 쉬운 문자, 기호로 표현
- KR: 한국, JP: 일본
- 직관적이고 암기 용이 하나 부여 기준 일관성 필요
ADO 객체
- Connection 개체
- DB와 연결 관리, 세션 관리, 트랜잭션 처리
Open,Close,Execute
- Command 개체
- SQL 실행, 파라미터 포함 쿼리 실행
CommandText,Execute
- Recordset 개체
- 결과 집합 관리, 데이터 조작 가능
AddNew,Update,Delete,MoveNext
- Field 개체
- Recordset의 한 열, 컬럼(속성) 관리
Name,Value
- 👀 시험
- Connection 개체와 관련 없는 것?
- → AddNew (Recordset 전용) 같은 문제
- Recordset 개체의 기능으로 옳지 않은 것?
- → Open, Execute (Connection 전용) 같은 문제
- ADO 개체 모델에서 각 개체의 역할을 연결하는 문제
- Connection ↔ DB 연결
- Command ↔ SQL 실행
- Recordset ↔ 결과 집합
- Field ↔ 컬럼
- Connection 개체와 관련 없는 것?
저작권 관리 구성요소
- 콘텐츠 제공자(Content Provider)
- 콘텐츠를 제공하는 저작권자
- 콘텐츠 분배자(Content Distributor) 제공자가 만든 콘텐츠를 유통·전달하는 주체
- 클리어링 하우스(Clearing House)
- 권리 허가/요금정산/이용기록 관리
- 패키저(Packager)
- 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
- DRM 제어(관리) 서버(DRM Controller)
- 라이선스 발급, 키 관리, 사용 정책(기간, 복제 금지 등) 적용
- 배포된 콘텐츠의 이용권한을 통제
DRM 기술
- 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 인증, 크랙방지, 인터페이스, 이벤트 보고, 사용 권한
- ❌ 오답 : 콘텐츠 오류 감지 및 복구
데이터 모델 구성요소
- 데이터 구조
- 연산
- 제약조건
- ❌ 오답 : 출력 구조
트렌젝션
- 특징
- 원자성(Atomicity): 완전하게 수행 완료되지 않으면, 전혀 수행되지 않아야 함
- 일관성(Consistency): 시스템 고정요소는 트랜젝션 수행 전후로 같아야 함
- 격리성(Isolation): 트랜젝션 실행 시 타 트랜젝션 간섭 X
- 영속성(Durability): 트랜젠셕의 완료 결과가 DB에 영구히 기억됨
- 상태
- 활동: 트랜젝션의 수행 중인 상태
- 부분완료: 모든 연산 끝내고 Commit 직전
- 완료: Commit 까지 수행 완료
- 실패: 트렌잭션 실행 중 오류
- 철회: 실해 후 Rollback까지 수행
데이터 언어
- DDL: DB구조/객체 정의 및 변경
CREAT테이블, 뷰, 인텍스 등 DB 객체 생성ALTER기존 DB객체 구조 변경DROP테이블, 뷰 등 DB객체 삭제RENAME객체 이름 변경TRUNCATE모든 데이터 삭제
- DML: DB 데이터 조작
SELECT조회INSERT추가UPDATE수정DELETE삭제
- DCL: 데이터 제어어
GRANT권한 부여REVOKE권한 회수COMMIT작업 저장ROLLBACK되돌리기SAVEPOINT세이브포인트지정
교착상태
- Mutual Exculsion
- Hold and wait
- Non-preemption
- Circular Wait
- ❌ 오답 : Linear Wait
CSMA/CA, CSMA/CD
- CSMA/CD (유선 이더넷)
- 채널이 비면 전송 시작
- 전송 중 신호 변화 감지
- 충돌 발견 시 전송 중단 + 재전송 대기
- 나가다가 부딪히면 멈춘다
- CSMA/CA (무선 Wi-Fi)
- 채널이 비면 전송 전 랜덤 대기(백오프)
- 필요 시 RTS/CTS 절차로 송신 예약
- 전송 후 ACK 수신으로 성공 확인
- 즉, 나가기전에 미리 피한다
암호화
- 양방향 암호화
대칭키: 비밀키 암호화 방식- DES
- AES
- SEED (한국 표준)
- ARIA (한국 표준)
- IDEA
- LEA (한국 경량 암호)
- Skipjack
비대칭키: 공개키 암호화 방식- RSA
- Rabin
- Diffie-Hellman (키 교환 방식)
- DSA (전자서명 알고리즘)
- ECC (Elliptic Curve Cryptography, 타원곡선 암호)
- 단방향 암호화 해시함수 암호화 방식
- SHA, HAVAL, MD4, MD5, N-NASH, SNEFRU
- 폴딩법(중첩): 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈주소로 사용
- 제곱법
- 숫자 분석법
- 제산법
CMM
- ❌ 오답 : 모듈의 분할과 정복에 의한 하향식 설계 방식이다.
기타 개념
- 오픈 그래프
- 기존의 웹 사이트를 소셜 네트워크 서비스와 연동하여 마케팅 플랫폼으로 활용하는 기법
- CPND
C: ContentsP: PlatformN: NetworkD: Digital
추가 중