정보처리기사

[정보처리기사 실기] 요약 정리본

반응형

데이터베이스


1.데이터베이스(DB) 개념


1. 정의: 특정 조직의 업무를 수행하는데 필요한 상호 관련된 데이터들의 모임


1)
통합 데이터(Integrated Data): 검색 효율성을 위해 중보기 최소화된 데이터
2)
저장 데이터(Stored Data): 컴퓨터가 접근 가능한 매체에 저장된 데이터
3)
운영 데이터(Operational Data): 조직의 목적을 위해 존재가치가 확실하고 반드시 필요한 데이터
4)
공유 데이터(Shared Data): 여러 응용프로그램이 공동으로 사용하는 데이터


2. 특징
1)
실시간 접근성(Real Time Accessibility): 사용자 질의에 즉시 처리하여 응답
2)
계속적인 진화(Continuous Evolution): 삽입/수정/삭제를 통해 항상 최근의 정확한 데이터를 동적으로 유지
3)
내용에 의한 참조(Content Reference): 데이터 참조 시 튜플이 주소나 위치가 아닌 데이터 내용에 따라 참조
4)
동시 공유(Concurrent Sharing): 여러 사용자가 동시에 원하는 데이터를 공용

5) 데이터 논리적.물리적 독립성(Independence)



3. 데이터 언어
- DBMS
와의 통신 수단
1) DDL(Data Definition Language /
데이터 정의어): DB 구축하거나 변경할 목적으로 사용하는 언어
2) DML(Data Manipulation Language /
데이터 조작어): 응용프로그램과 DBMS 사이의 인터페이스를 위한 언어
3) DCL(Data Control Language /
데이터 제어어): 보안/권한제어, 무결성, 회복, 병행제어를 위한 언어




4. 데이터베이스 사용자
1) DBA(Database Administrator): DDL
DCL을 통해 DB를 정의하고 제어하는 사람/그룹
2)
데이터 관리자(Data Administrator): 기업 또는 조직 전반에 있는 데이터에 대한 관리 총괄/통제
3)
데이터 설계자(Data Architect): 기업 업무 수행에 필요한 데이터 구조를 체계적으로 정의하는 사람
4)
응용프로그램(Application Programmer): 호스트 프로그래밍언어에 DML을 삽입하여 DB에 접근하는 사람
5)
일반 사용자(End User): 질의어를 통해 DBMS에 접근하는 사람

 





2.데이터베이스 관리 시스템(DBMS: Database Management System)


1. 개념
-
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해주는 소프트웨어


2. 장단점
1)
장점: 논리적/물리적 독립성 보장, 공동 이용, 표준화, 무결성 유지, 실시간 처리, 중복 방지, 통합관리, 일관성 유지, 보안 유지, 최신 유지
2)
단점: 전문가 부족, 과부하, 전산화 비용 증가, 백업과 회복 어려움, 시스템 복잡


DSMS(Data Stream Management System)
-
통신 상 데이터 스트리밍을 통해 데이터를 처리하고 관리하는 시스템으로 동적인 데이터를 처리하는 관리 시스템

 




3. 스키마(Schema)


1. 정의
-
데이터베이스의 구조와 계약조건에 관한 전반적인 명세 à 데이터 사전에 저장


2. 스키마 3계층
1)
외부 스키마(External Schema): 사용자나 응용프로그래머가 각 개인 입장에서 필요로 하는 DB의 논리적 구조를 정의
2)
개념 스키마(Conceptual Schema): 개체간 관계와 제약조건을 나타내고, 접근권한, 보안정책, 무결성 규정에 관한 명세 정의
3)
내부 스키마(Internal Schema): DB의 물리적 구조 정의


메타 데이터(Meta Data)
-
데이터에 관한 데이터, 실제 저장되는 데이터는 아니지만, 저장되는 데이터와 직간접적으로 관계 있는 정보를 제공하는 Data
- MARC(Machine Readable Cataloging):
목록 레코드를 식별하여 축적/유통할 수 있도록 코드화한 메타데이터
- MDR(Metadata Registry):
메타데이터의 등록과 인증을 통해 Metadata 유지/관리 및 메타데이터의 명세를 공유하는 레지스트리

 





4.데이터베이스 설계


- 정의: DB Schema를 개발하는 과정


1)
요구조건분석: 요구조건 명세서 작성
2)
개념적 설계: 개념스키마, 트랜잭션 모델링, ER모델
3)
논리적 설계: 논리스키마 설계, 트랜잭션 인터페이스 설계
4)
물리적 설계: 물리적 구조의 데이터로 변환
5)
데이터베이스 구현: DDL로 데이터베이스 생성, 트랜잭션 생성

 





5. ER모델
- 개념적 데이터 모델의 대표(1976 by Peter Chen)


1) 1:1
관계: 관계에 참여하고 있는 두 개체 타입이 모두 하나씩의 개체 어커런스를 갖는 관계
2) 1:N
관계: 관계에 참여하고 있는 두 개체 타입 중 한 개체 타입은 여러 개의 개체 어커런스, 다른 한 개체 타입은 하나의 개체 어커런스를 갖는 관계
3) N:M
관계: 관계에 참여하고 있는 두 개체 타입 모두 여러가지의 개체 어커런스를 갖는 관계

 





6. 관계형데이터 모델
- 테이블 또는 릴레이션(Relation: 데이터를 원자 값으로 갖는 이차원의 테이블)의 구조로 표현하는 논리적 데이터 모델


1. 매핑룰(Mapping Rule)
-
개념적 모델인 ER모델을 논리적 모델인 릴레이션 스키마로 변환하는 것
1) 1:1
관계: 릴레이션 A의 기본키à B의 외래키 또는 릴레이션 B의 기본키à A의 외래키
2) 1:N
관계: 릴레이션 A 기본키à B의 외래키
3) N:M
관계: 릴레이션 A, B 기본키를 포함한 별도 릴레이션 C를 표현. 이 때 C는 교차 엔티티(또는 교차 릴레이션)



2. 식별/비식별관계
1)
식별 관계
-
개체 A, B 사이 관계에서 A개체의 기본키가 B의 외래키이면서 동시에 기본키인 경우(B A에 의존적)
- ER
모델에서 실선으로 표현
2)
비식별 관계
-
개체 A, B 사이 관계에서 A의 기본키가 B의 비기본키 영역에서 외래키인 관계(A B는 독립적)
- ER
모델에서 점선으로 표현

 




7.키의 개념과 종류


1) 슈퍼키(Super Key): 한 릴레이션 내 있는 속성들의 집합. 유일성은 만족하나 최소성은 만족 못함
2)
후보키(Candidate Key): 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합. 유일성과 최소성 만족
3)
기본키(Primary Key): 후보키 중 특별히 선정된 키. 중복 값 갖지 못함. Not Null.
4)
대체키(Alternate Key): 후보키 중 기본키 제외한 나머지 후보키
5)
외래키(Foreign Key): 다른 릴레이션의기본키를 참조하는 속성 또는 속성들의 집합
6)
복합키(Composite Key): 2개 이상 속성을 조합하여 만든 키

 




8.무결성(Integrity)


1. 개념: DB에 저장된 값과 그것이 표현하는 현실세계 실제 값이 일치하는 정확성


2. 제약조건(Constraint): DB의 정확성을 보장 위해 정확하지 않은 데이터가 저장되는 것을 방지하기 위한 제약조건


3. 종류
1)
참조무결성: 외래키 값은 null 또는 참조 릴레이션의기본키 값과 동일해야 함
2)
개체무결성: 기본키를 구성하는 어떤 속성도 null값이 될 수 없음
3)
도메인무결성: 특정 속성의 값은 그 속성이 정의된 도메인에 속한 값이어야 함
4)
관계무결성: 튜플 삽입 가능 여부 또는 튜플들 사이 관계에 대한 적설정 여부를 지정한 규정
5) Null
무결성: 특정 속성 값은 null이 될 수 없음
6) Key
무결성: 하나의 릴레이션에는 적어도 하나의 키가 존재 해야 함
7)
고유무결성: 특정 속성 내 각 튜플 값은 서로 달라야함

 





9.관계대수


1. 정의: 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어


2. 순수관계 연산자
1) SELECT:
수평연산. σ조건(R)
2) PROJECT:
수직연산. π속성(R)
3) JOIN:
공통속성을 중심으로 2개의 릴레이션을 하나로 합쳐 새로운 릴레이션을 만드는 연산.  (R)▷◁조건(S)

자연조인(NATURAL JOIN): 동등 조인의 결과 릴레이션에서 중복된 속성을 제거하여 수행하는 연산으로 동등조인에서 중복속성 중 하나를 제거
4) DIVISION: R
릴레이션에서 S와 관련된 속성을 뺀 나머지. R[r÷s]S


3. 일반집합 연산자
- UNION(∪), INTERSECTION(∩), DIFFERENCE(-), CARTESIAN PRODUCT(×)


4. 관계해석
-
원하는 정보가 무엇이라는 것만 계산하여 수식을 사용하여 정의하는 비절차적 언어

 




10. DDL


- SCHEMA, DOMAIN, TABLE, VIEW, INDEX 정의/변경/제거
à 메타데이터. 시스템 카달로그에 저장
è CREATE(정의), ALTER(테이블 변경), DROP(삭제)


1. SCHEMA


1) 스키마 정의
- CREATE SCHEMA
스키마명 AUTHORIZATION ID;

2) 도메인 정의
- CREATE DOMAIN
도메인명
    [DEFAULT
기본값] [CONSTRAINT 제약조건명 CHECK(범위 값)] ;

3) 테이블 정의
- CREATE TABLE
테이블명
    (
속성명1데이터타입 [NOT NULL], 속성명2데이터타입 [NOT NULL], ... ,
PRIMARY KEY(
속성명),
    UNIQUE(
속성명),
    FOREIGN KEY(
속성명) REFERENCES 참조테이블명(기본키속성명),
           [ON DELETE (NO ACTION | CASCADE | SET NULL | SET DEFAULT)]
           [ON UPDATE (NO ACTION | CASCADE | SET NULL | SET DEFAULT)]
    [CONSTRAINT
제약조건명] CHECK(조건식)) ;

4)뷰 정의
- CREATE VIEW
뷰명(속성명1, 속셩명2, ...)
 AS SELECT

 [WITH OPTION CHECK]
à뷰에서 사용하는 SELECET문에는 UNION 또는 ORDER BY 사용 불가
à WITH OPTION CHECK 사용한 경우 뷰 정의에 위배되는 경우 뷰 생성 안함
à뷰의속성명 미정의 시 SELECT문에 정의된 속성명 사용
VIEW: 하나 이상의 기본 테이블에서 유도되는 가상 테이블

5) 인덱스 정의
- CREATE [UNIQUE] INDEX
인데스명
  ON
테이블명(속성명ASC | DESC)
à UNIQUE: 중복 값 없는 속성으로 인덱스 정의 사용

6)트리거 정의
- CREATE TRIGGER
트리거명 [BEFORE | AFTER] [INSERT | UPDATE | DELETE] ON 테이블명
 REFERENCING [NEW |OLD] TABLE AS
테이블명
 FOR EACH ROW
 WHEN
조건식
트리거 BODY


2. ALETER

1) ALTER TABLE 테이블명 ADD 속성명데이터타입 [DEFAULT ] ;
2) ALTER TABLE
테이블명 ALTER 속성명 [SET DEFAULT ] ;
3) ALTER TABLE
테이블명 DROP COLUMN 속성명 [CASCADE] ;


3. DROP

- DROP (SCHEMA | DOMAIN | TABLE | VIEW | INDEX | TRIGGER) 이름 [CASCADE | RESTRICT] ;
- DROP CONSTRAINT
이름 ;




11. SELECT
- DB 검색 시 사용


1. SELECT (ALL | DISTINCT | DISTINCTROW) 테이블명1.속성명1, 테이블명1.속성명2, 테이블명2.속성명3, ...
FROM
테이블명1, 테이블명2
WHERE
조건 (IS NULL | IS NOT NULL | IN( 또는 SELECT)
GROUP BY
속성명
HAVING
조건
ORDER BY
속성명 [ASC | DESC] ;

 





12. JOIN


- 2개의 테이블에 대해 연관된 튜플들을 결합하여 하나의 새로운 릴레이션으로 반환하는 연산

1. Inner JOIN

1) Equi JOIN
- SELECT
테이블1.속성1, 테이블2.속성2
  FROM
테이블1, 테이블2
  WHERE
테이블1.속성1=테이블2.속성2
- SELECT
테이블1.속성1, 테이블2.속성2
  FROM
테이블1 NATURAL JOIN 테이블2
- SELCET
테이블1.속성1, 테이블2.속성2
  FROM
테이블1 JOIN 테이블2 USING(속성명) ;

2) non-EquiJOIN


2. Outer JOIN

1) LEFT OUTER JOIN
-
좌측 전부 표시, 우측은 관계 있는 튜플만 표시
- SELECT T1.C1, T2.C2;
  FROM T1 LEFT OUTER JOIN T2
  ON T1.C1=T2.C2;
- SELECT T1.C1, T2.C2
  FROM T1, T2
  WHERE T1.C1=T2.C2(+) ;

2) RIGHT OUTER JOIN
-
우측 전부 표시, 좌측은 관계 있는 튜플만 표시
- SELECT T1.C1, T2.C2
  FROM T1 RIGHT OUTER JOIN T2
  ON T1.C1=T2.C2 ;
- SELECT T1.C1, T2.C2
  FROM T1, T2
  WHERE T1.C1(+)=T2.C2 ;

3) FULL OUTER JOIN
- SELECT T1.C1, T2.C2
  FROM T1 FULL OUTER JOIN T2
  ON T1.C1=T2.C2;

 





13. DML
- INSERT, UPDATE, DELETE
- DB
사용자와 DBMS간 인터페이스 제공

1. INSERT
-
테이블에 새로운 튜플 삽입
- INSERT T1(C1, C2, C3, ...)
  VALUES(data1, data2, data3, ...) ;

2. UPDATE
-
특정 튜플 내용 갱신
- UPDATE
테이블명
  SET
속성명=”
  WHERE
조건 ;

3. DELETE
-
특정 튜플 삭제
- DELETE FORM
테이블명 WHERE 조건 ;
à WHERE 조건 없는 경우 모든 튜플 삭제 (테이블 삭제는 아님)

 





13. DCL


- COMMIT, ROLLBACK, GRANT, REVOKE
-
보안, 무결성, 회복, 병행제어, 등 정의


1. COMMIT
-
데이터베이스 조작 작업을 영구적으로 반영하여 완료

2. ROLLBACK
-
데이터베이스 조작 작업이 비정상적으로 종료 시 원래 상태로 복귀

3. GRANT
-
데이터베이스 사용자에게 권한 부여
- GRANT (DBA | RESOURCE | CONNECT) TO id [identified by
비밀번호] ;
- GRANT (ALL |
권한 리스트) ON 개체 TO 사용자 [WITH GRANT OPTION] ;

4. REVOKE
-
데이터베이스 사용자 권한 취소
- REVOKE (DBA | RESOURCE | CONNECT) FROM id
- REVOKE [GRANT OPTION FOR] (ALL |
권한 리스트) ON 개체 FROM id [CASCADE] ;

 





14. 이상(Anomaly)


1. 개념
-
테이블에서 일부 속성들의 종속으로 인해 데이터 중복이 발생하고, 이로 인해 테이블 조작 시 문제가 발생하는 현상
à 삽입 이상, 갱신 이상, 삭제 이상

1) 삽입 이상(Insertion Anomaly)
-
데이터 삽입 시 의도하지 않는 값들로 인해 삽입 불가한 현상
2)
갱신 이상(Update Anomaly)
-
갱신 시 일부 튜플의 정보만 갱신 되어 정보의 불일치성이 생기는 현상
3)
삭제 이상(Deletion Anomaly)
-
한 튜플 삭제 시 의도하지 않은 값들도 같이 삭제 되는 현상

 





15. 정규화(Normalization)


1. 개념

- 테이블을 무손실분해햐여 이상 현상 발생 가능성을 줄이는 것

2. 정규화 과정


3. 역정규화(비 정규화)
-
데이터베이스 검색 시 자주 JOIN을 하여 검색 시 응답속도가 저하되어, 정규화에 위배가 되지만 성능 향상을 위해 테이블을 다시 합치는 것

다치 종속
- A, B, C
R à (A, C)B à AB(), AC (X) è ATwoheadrightarrow.gifB


조인 종속

 




16. 인덱스


1. 개념
-
데이터 레코드에 빠르게 접근하기 위해 (키 값, 포인터) 쌍으로 구성되는 데이터 구조
-
색인이 없는 경우 (Full) Table scan 발생


2. 클러스터드 인덱스(Clustered Index)
-
인덱스 키의 순서에 따라 데이터 정렬되어 저장되는 방식
-
검색 속도는 빠르지만, 삽입/삭제 시 순서 유지 위해 데이터 재 정렬 필요
- 1
개의 릴레이션에 1개의 인덱스 존재


3. 넌클러스터드 인덱스(Non-clustered Index)
-
인덱스의 키 값만 정렬. 실제 데이터는 정렬 안됨
-
검색 속도는 느림
- 1
개의 릴레이션에 다수의 인덱스 존재

행 이주
- Varchar
타입으로 정의된 컬럼에 데이터 저장 후 꽉 찬 상태에서 다른 데이터 입력 시 튜플이 다른 블록으로 이동하는 현상

분포도(선택성, Selectivity)

 






17. 트랜잭션(Transaction)


1. 개념
- DB
에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합으로서 작업의 논리적 단위


2. 특징
1)
원자성(Atomicity): 트랜잭션 연산은 DB에 모두 반영 또는 반영되지 않아야 함
2)
일관성(Consistency): 트랜잭션이 성공적으로 완료되면 언제나 일관성 있는 DB 상태로 변환
3)
독립성(Isolation): 한 트랜잭션이 갱신중인 데이터를 다른 트랜잭션이 접근하지 못하도록 하는 것
4)
영속성(Durability): 트랜잭션이 성공적으로 실행 완료 후 시스템 오류가 발생하더라도 트랜잭션에 의해 변경된 내용은 계속 보존


3. Commit/Rollback
1) Commit:
트랜잭션 처리가 정상적으로 종료되어 변경 내용을 DB에 반영하는 연산
2) Rollback:
트랜잭션 처리가 비정상적으로 종료되어 DB 일관성 깨진 경우 모든 변경 작업을 취소하고, 이전 상태로 되돌리는 연산

 





18. 병행제어


1. 개념
-
트랜잭션이 병행 수행할 때 DB의 일관성을 파괴하지 않도록 트랜잭션 간 상호작용을 제어하는 기술


2. 필요성
1)
갱신 분실: 갱신 결과 일부 없어지는 결과 방지
2)
모순성: 데이터들이 상호 일치하지 않아 모순되는 결과 발생 방지
3)
연쇄복귀: 어느 하나 Rollback 시 다른 트랜잭션도 함께 ROLLBACK 되는 현상 방지


3. 잠금(Lock)
-
하나의 트랜잭션에 사용되는 데이터를 다른 트랜잭션이 접근하지 못하도록 하는 것
Locking 기법
-
트랜잭션들이 어떤 로킹 단위를 액세스 하기 전에 Lock을 요청해서 Lock이 허락 되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법






19. 고급 데이터베이스


1. 데이터 웨어하우스(Data Warehouse)
-
급증하는 데이터를 효과적으로 분석하여 정보화하고, 이를 여러 계층 사용자들이 효율적으로 사용할 수 있도록 한 DB à 의사결정용 DB


2. 데이터마트(Data Mart)
-
전사적으로 구축된 data warehouse에서 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의 data warehouse


3. 데이터 마이닝(Data Mining)
- Data Warehouse
에서 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법
à 군집화: 상호간 유사한 특성을 갖는 데이터를 집단화하는 방법


4. OLAP(Online Analytical Processing)
-
다차원으로 이루어진 데이터에서 통계적인 요약정보를 분석하여 의사결정에 활용하는 방식(중간 매게체 없음)
1) OLAP
연산
- Roll-up:
분석할 항목에 대한 한 차원의 계층 구조를 따라 단계적으로 구체적인 내용의 상세 데이터로부터 요약된 형태의 데이터로 접근하는 기능
- Drill-down:
요약된 형태의 데이터 수준에서 보다 구체적인 내용의 상세 데이터로 단계적으로 접근
- Drill-through:
데이터웨어하우스나 OLTP에 존재하는 상세 데이터에 접근하는 기능
- Drill-access:
다른 데이터 큐브의 데이터에 접근하는 기능
- Pivoting:
고정된 형태의 정형화된 보고서가 아니라 사용자가 원하는 형태의 다양한 보고서를 역동적으로 볼 수 있음. 사용자는 다차원의 질의를 통해 원하는 항목들을 자유롭게 선택할 수 있음
- Slicing:
차원 별로 데이터 큐브를 수직/수평으로 얇게 잘라 분석
- Dicing: Slicing
을 더 자르는데 그 모양이 주사위 모양
2)
종류
- ROLAP, MOLAP, HOLAP


5. OLTP(Online Transaction Processing)
-
여러 이용자가 실시간으로 데이터베이스에서 데이터를 처리하는 방식

데이터 큐브
-
특정 목적의 OLAP에서 사용하기 위한 큐브 형태의 다차원 논리적 구조
-
하나의 데이터 웨어하우스에서 있는 데이터로부터 여러 개의 데이터 큐브를 생성 할 수 있음
-
데이터 큐브 저장 방식에는 관계형과다차원형이 있음


6. 객체 지향 데이터베이스
-
객체 지향 데이터 모델의 개념을 반영하여 실세계에 존재하는 객체를 표현하고 관리하는 데이터베이스 기술
à 객체 지향형 데이터베이스 관리 그룹(ODMG) 2.0

1) 객체(Object): 실세계 환경에서 존재하는 개체를 추상적으로 표현한 것
2)
속성(Attribute): 객체를 기술하는데 사용되며, 유일한 이름과 데이터 타입을 가짐
3)
메소드(Method): 객체에 수행될 연산, 즉 객체의 속성 값에 대한 변경이나 검색으로 기술한 것(메시지 필요)
4)
클래스(Class): 공통적인 특성을 소유한 객체들을 그룹화 및 추상화한 것
5)
인스턴스(Instance): 클래스를 이용하여 생성한 하나의 객체
6)
상속(Inheritance): 클래스 계층 구조를 형성하는 서브 클래스와 슈퍼 클래스간에 존재하는 계승의 개념


7. 분산 데이터베이스(Distributed Database)
-
논리적으로 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스
1)
위치 투명성(Location Transparency): 데이터베이스의 실제 위치를 알 필요 없이 데이터베이스의 논리적인 명칭만으로 접근 할 수 있음
2)
중복 투명성(Replication Transparency): 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 하나의 데이터만 존재하는 것처럼 사용할 수 있고, 시스템은 자동으로 여러 데이터에 대한 작업을 수행
3)
병행 투명성(Concurrency Transparency): 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실행되더라도 그 트랜잭션들의 수행 결과는 서로 영향을 받지 않음
4)
장애 투명성(Failure Transparency): 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션은 정확하게 수행





알고리즘


1. 객체지향기법


- 정의: 현실 세계의 개체를 하나의 객체로 만들어 소프트웨어 개발 시 객체들을 조립해서 작성할 수 있도록 하는 기법
-
구성요소: 객체(Object), 클래스(Class), 메시지(Message)


1. 객체
-
데이터를 처리하는 함수를 캡슐화한 소프트웨어 모듈
1)
데이터: 객체가 가지고 있는 정보
2)
함수(메소드): 객체가 가지고 있는 데이터를 처리하는 알고리즘


2. 클래스
-
공통된 속성과 연산을 갖는 객체의 집합


3. 메시지

- 객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구사항





 

2. 객체지향기법 기본원칙


1. 캡슐화(Capsulation)
-
데이터를 처리하는 함수를 하나로 묶는 것을 의미 (정보은닉, 재사용 가능)


2. 정보은닉(Information Hiding)
-
다른 객체에게 자신의 정보를 숨기고 자신의 연산을 통하여 접근을 허용하는 것


3. 추상화(Abstraction)
-
객체의 속성 중 불필요한 부분을 생략하고, 가장 중요한 부분만 모델화 하는 것


4. 상속성(Inheritance)
-
이미 정의된 상위 클래스의 속성과 연상을 하위 클래스가 물려 받는 것

5. 다형성(Polymorphism)

- 메시지에 의해 객체가 연산을 수행할 때, 하나의 메시지에 의해 각 객체가 가지고 있는 고유의 방법으로 응답할 수 있는 능력

 






3. 객체지향기법 생명주기


- 단계: 계획/분석à설계à구현à테스트/검증


1. 객체지향 분석(Object Oriented Analysis)
-
사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스, 속성, 연산 관계 등을 정의하여 모델링하는 작업


2. 객체지향 설계(Object Oriented Design)
- OOA
를 통해 생성한 분석 모델을 설계 모델로 변환 하는 작업

- 단계: 문제 정의 à 요구 명세화 à 객체연산자 정의 à 객체인터페이스 결정 à 객체 구현


3. 객체지향 구현
- OOD
에서 생성된 설계 모듈과 명세서를 근거로 코딩하는 단계


4. 객체지향 테스트
1)
클래스 테스트: 단위테스트. 캡슐화된 클래스나 객체 검사
2)
통합 테스트: 객체를 몇 개 결합하여 하나의 시스템으로 완성시키는 과정에서의 검사
3)
확인 테스트: 사용자 요구사항에 대한 만족 여부를 검사
4)
시스템 테스트: 모든 요소들이 적합하게 통합되고 올바를 기능을 수행하는지 검사

 






4. 아키텍처 스타일


- 정의: 보편적인 설계 방법의 양식


1. IEEE 1471
-
소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용과 관계를 규정하는 국제 표준
-
특징: 표준화, 중립성, 유연성, 의사소통


2. 저장소 구조
-
중앙자료구조와 독립된 컴포넌트로 구성 되었으며, 컴포넌트간 통신은 이루어지지 않음


3. MVC 구조
-
유저인터페이스와 비즈니스로직들을 서로 분리하여 개발하는 방법으로, 세 개의 컴포넌트(M/V/C)로 구분
1) Model:
애플리케이션의 핵심 기능 포함
2) View:
정보 표시를 관리하고 결과물 생성을 위해 모델로부터 정보를 수신
3) Controller:
사용자로부터 입력을 받아 모델과 뷰에 명령을 전달


4. 클라이언트/서버 구조
- Client
Server를 나뉘는 아키텍처. 하나의 서버에 다수의 클라이언트가 접속되는 일대다 관계 구성


5. 계층 구조
-
계층적으로 조직화가 가능한 애플리케이션에 적합한 아키텍처


6. 파이프필터 구조
-
데이터의 흐름을 점진적으로 처리하는 시스템을 위한 아키텍처
-
프로세싱을 위한 시스템이 각 필터에 캡슐화 되어 있으며, 데이터는 인접필터 사이의 파이프를 통해 전달








5. 순서도와 C언어의 기본


1. 변수명 작성 규칙
-
영문, 숫자, _ 로 사용
-
글자수 제한 없음
-
공백 및 예약어 사용 불가
-
대소문자 구분
-
첫글자는 영문 또는 _
-
문장 끝 세미콜론(;) 반드시 위치


2. 자료형 변수
1)
문자형 변수: Char(1Byte)
2)
정수형 변수: Int(4Byte), Short(2Byte
3)
실수형 변수: float[단정도 | 1bit(부호부) + 지수부(8bit) + 가수부(23bit)],
               double(
배정도 | 1bit(부호부) + 지수부(11bit) + 가수부(52bit)]


3. 표준 입출력
1) scanf(
서식문자열, 변수주소);
-
서식문자열: %d(10진수), %o(8진수), %x(16진수), %c(문자), %s(문자열), %f(실수), %e(지수형 실수)
-
변수주소: int A일 경우 à&A / A[i]일 경우 à A
2) printf(“
서식문자열”, 변수);
-
서식문자열: \n(다음 줄), \t(tab만큼 간격), \r(현재 줄 처음)


4. 연산자
1)
산술연산자: ++, --  *, /, %  +, -
- ++a(
전치연산자): a값 증가 후 a값을 연산에 사용
- a++(
후치연산자): a값 연사에 사용 후 a값 증가
2)
관계연산자: <, <=, >, >=  ==, !=
3)
비트연산자: ~(not)  <<, >>&(and)  ^(xor)  |(or)
-
양수일 경우 shift(<<, >>) 패딩비트: 0
-
음수일 경우 shift(<<) 패딩비트: 0, shift(>>) 패딩비트: 1
4)
논리연산자: !(not)  &&(and)  ||(or) à true or false
5)
조건연산자: 조건? 수식1: 수식2; à조건이 참일 경우 수식1, 거짓일 경우 수식2 실행 또는 저장
6)
기타연산자: sizeof(자료형 크기 출력)

* 정수형 변수의 값 정의 시 숫자 앞에 0이 있으면 8진수, 0x가 있으면 16진수

 





6. C언어의 제어문


1. 조건문
1) if(
조건) {실행문1;} else {실행문2;}
2) if(
조건) {실행문1;} else if {실행문2;} else {실행문3;}
3) switch(
식 또는 값) {case 1: 실행문1; break; case 2: 실행문2; break; ... default: 실행문0; break;}

2. 반복문
1) for(
1; 2; 3) à 1: 초기값, 2: 최종값, 3: 증가값
2) while(
조건) {실행문;}
3) do {
실행문;} while(조건);

 






7. C언어의 포인터와 배열


1. 포인터 변수
-
주소 값을 저장하는 변수
- int A=100;
à A변수에 100을 저장, 이 때 100이 저장된 곳의 주소를 FF라 할 때
- int *B;
à 포인터 변수 B 정의
- B=&A;
à 포인터 변수 B A의 주소 값 FF를 저장
- *B
àB가 가지고 있는 주소 FF가 가리키는 곳의 값을 의미


2. 배열
-
동일한 데이터 유형을 여러 개 사용하는 경우 이를 손쉽게 처리하기 위해 여러 개 변수들을 조합해서 하나의 변수명으로 정의할 때 사용
-
배열의 이름은 주소로 사용 가능 à 배열 이름 앞에는 &를 사용하지 않음


3. 내장함수
1) math.h
- sqrt(x) :
루트x
- pow(a,b): a^b(a
b제곱)
- abs(x): |x|(
절대값 x)

2) string.h
- strlen(x): x
문자열의 길이
- strcpy(a,b): a
문자열을 b에 복사
- strcmp(a,b): a=b
à0, a>bà1, a<bà-1

 

 





 

업무 프로세스


1.정보 전략 계획 수립(ISP: Information Strategy Planning)


1. 정의: 전사적 관점에서 정보시스템이나 정보관리 등의 전략을 수립하는 활동

CSF(Critical Success Factor)
- MIT
경영 대학원에서 개발한 전략 정보 시스템 실현을 위한 기법의 하나. 성공에 불가결한 요인 찾아내어 경영상 중요한 정보를 결정하는 방법


2. 기법
1) 3C
분석: 표적 시장 선정을 위해 3C를 분석하여 자사의 성공에 필요한 전략을 수립하는 기법
à Customer(고객), Competitor(경쟁사), Company(자사)

2) SWOT분석: 기업 내/외부 환경을 분석하여 강점은 부각, 약점은 보완, 기회는 활용, 위협은 억제하는 마케팅 전략을 수립하는 기법
à Strength(강점), Weakness(약점), Opportunity(기회), Threat(위협)

3) 5-Force분석: 외부의 5가지 요인을 분석하여 기업의 경쟁환경을 분석하기 위한 도구
à 구매자 교섭력, 공급자 교섭력, 신규 진입자의 위협, 대체품의 위협, 기존 업계 경쟁

4) 7S분석: 조직 내부의 역량, 체계 등을 분석하는 기법으로 전략 경영 체제에 적합한 내부 역량 판단 방법론
à Hard 3S: Strategy(전략), Structure(구조), System(시스템) /
   Soft 4S: Staff(
사람), Shared Value(공유된 가치), Style(스타일), Skill(기술/역량)
à상위 3S: 전략, 공유된 가치, 기술/역량
  
하위 4S: 시스템, 사람, 스타일, 구조

5) 6시그마(Sigma): 모토로라에서 창안된 방법론으로 생산 현장의 무결함을 위해 시작된 불량률 축소 운동. GE의 잭웰치에 의해 6시그마 적용 범위 확대 되어 경영 전반에 걸쳐 경영 혁신 기법으로 발전
à (기존) DMAIC: Define(정의), Measure(측정), Analyze(분석), Improve(향상), Control(관리)
à (신규) DMADV: Define(정의), Measure(측정), Analyze(분석), Design(디자인), Verify(검증)

6) 벤치마킹(Benchmarking): 특정분야에서 우수한 상대를 모델로 하여 자기 기업과의 차이를 비교.분석하고, 단점을 극복하기 위해, 상대의 장점을 배우면서 자기 혁신을 하는 경영 기법
à 프로젝트 계획 자료수집 분석 개선

 






2.업무 프로세스 재설계(BPR: Business Process Reengineering)


1. 정의: 경쟁에서 우위를 확보하기 위해 프로세스를 기반으로 비즈니스 시스템을 근본적으로 재설계하여 혁신적인 성과를 추구하는 것


2. BPR 실행 4단계
1)
현행 업무 프로세스(As-is) 모형 분석 à 프로세스 분할도(수직), 프로세스 종속도(수평)

2) 개선 사항 분석
3)
향후 업무 프로세스(To-be) 모형 수립
4)
이행 계획(Transition Plan)


3. BPM(업무 프로세스 관리: Business Process Management)
-
기업 내/외의 업무 프로세스를 가시화하고, 프로세스를 실행 통제하며, 전체 업무 프로세스를 효율적으로 관리하고 최적화 할 수 있는 변화 관리 시스템의 구현 기법
-
프로세스 정의 프로세스 실행 프로세스 측정 프로세스 분석/개선 프로세스 통제와 모니터링/예측
à 프로세스 측정 시 KPI(핵심성과지표: Key Performance Indicator) 활용


4. RTE(
실시간 기업: Real-time Enterprise)
-
지속적인 프로세스 개선과 실시간 정보 제공을 통해 업무 지연을 최소화하고 의사결정 스피드를 높여 경쟁력을 강화하는 기법


5. PI(업무 혁신: Process Innovation)
-
기존의 업무 처리 방식을 정형화하고, 최적의 프로세스를 재구축하여 업무 효율성을 높이려는 비즈니스 프로젝트
à 3요소: 프로세스, 정보기술, 조직

 






3. 전사적 자원 관리(ERP: Enterprise Resource Planning)


1. 정의: 기업의 모든 자원을 체계적으로 관리하여 최적화된 기업 활동을 가능하게 하는 것
- MRP(
자재) MRP II(제조) → ERP → X-ERP → ERP II
※ MRP(
자재 소요 계획: Material Requirements Planning)
-
원자재~최종 완제품까지 자재 흐름을 관리하는 기법


2. SEM(전략적 기업 경여: Strategic Enterprise Management)
-
경영자/관리자들이 기업의 수익 창출을 위한 합리적인 의사결정을 할 수 있도록 정보를 제공해주는 전략적 의사결정 지원 시스템
à VBM, ABM/ABC, BSC(재무적 관점, 고객 관점, 내부 비즈니스 프로세스 관점, 학습과 성장 관점)

 






4. 정보 시스템 구축


1. IRM(정보자원관리: Information Resource Management)
-
기업의 정보 자원을 조직 전체가 공유할 수 있도록 자원 관리 원칙에 따라 관리하는 정보관리 접근 방법
à 3요소: 정보, 정보기술, 정보시스템


2. ERM(전사적 위험 관리: Enterprise Risk Management)
-
기업이 직면하고 있는 주요 리스크들을 식별하고 관리하기 위한 리스크 관리 방식


3. SCM(공급망 관리: Supply Chain Management)
-
제품 또는 부품의 최초 생산자부터 최종 소비자에 이르는 공급망을 효율적으로 관리해 불필요한 요소를 줄이려는 관리 기법
1) SCP(
공급망 계획: Supply Chain Planning): 제품 수요를 예측하고, 그에 대한 조달 및 생산 계획을 수립하는 시스템
2) SCE(
공급망 실행: Supply Chain Execution): 제품이 올바르게 전달될 수 있도록 제품의 흐름을 관리하는 기법

가치 사슬(Value Chain)


4. PLM(제품 수명주기 관리: Product Lifecycle Management)
-
제품의 원가를 낮추고 부가가치를 높일 수 있도록 제품의 수명주기를 관리하는 것


5. CRM(고객 관계 관리: Customer Relationship Management)
-
고객관리 비용을 최소화 하면서 지속적인 기업의 가치 창출을 위해 고객의 요구나 의견을 분석하여 고객의 성향과 욕구를 충족시키는 마케팅을 실시하는 경영 기법


6. SRM(공급업체 관계 관리: Supplier Relationship Management)
-
제품을 공급하는 공급 업체와의 관계를 관리하고 평가하여 기업의 수익성을 높일 수 있도록 해주는 경영 기법


7. MDM(기준 정보 관리: Master Data Management)
-
기업 내/외부의 마스터 데이터를 단일화하여 활용도를 높이고 오류를 줄이기 위한 모든 활동의 집합
1) PIM(
제품 정보 관리: Product Information Management)
2) CDI(
고객 데이터 통합: Customer Data Integration)


8. VRM(밴더 관계 정리: Vendor Relationship Management)
-
개인이 기업에게 제공할 개인 정보, 선호도, 패턴 등을 관리하는 기술
à 개인용 데이터 저장소, 개인용 데이터 분석, 제안 요청서, 권한 관리와 역메시징

 





5. 시스템 통합


1. EAI(전사적 응용 통합: Enterprise Application Integration)
-
기업 내 운영되는 여러 종류의 플랫폼 및 애플리케이션을 통합하고 유기적으로 처리할 수 있는 기반 기술을 통칭
-
구성요소: 어댑터, 플랫폼, 브로커, 업무흐름


2. EIP(기업 정보 포탈: Enterprise Information Portal)
- EAI
통해 기업 내/외부의 정보를 모두 통합해 하나의 웹 화면으로 제공하는 통합정보시스템(e-Portal)


3. EKP(기업 지식 포탈: Enterprise Knowledge Portal)
-
기업 내/외부의 정보를 통합하고, 업무 프로세스와 연결하여 단일 창구를 통해 제공하는 지식 정보 포털 시스템
à 기업에서 사용하는 모든 프로그램을 단일 웹 화면에서 사용하도록 제공


4. KMS(지식 관리 시스템: Knowledge Management System)
-
인적자원이 축적하고 있는 개별적인 지식을 체계화하여 공유함으로써 경쟁력을 향상 시키기 위한 기업 정보 시스템
à KMS → EP → EKP → EKP 2.0


5. EA(전사적 아키텍처: Enterprise Architecture)
-
기업 목표와 요구사항을 효과적으로 지원하기 위해 IT 인프라 각 부분의 구성과 구현 기술을 체계적으로 기술하는 작업
à 비즈니스 아키텍처, 데이터 아키텍처, 애플리케이션 아키텍처, 기술 아키텍처


6. BI(비즈니스 인텔리전스: Business Intelligence)
-
기업 내부 축적된 대량의 정보를 기업의 경영 활동 전반에 활용될 수 있도록 정리/분석하여 제공하는 애플리케이션과 기술을 총칭
à Data Warehouse – Data Mart => Data Mining(OLAP, OLTP)


7. BRMS(비즈니스 규칙 관리 시스템: Business Rule Management Systme)
-
비구조적인 업무 프로세스를 자동으로 정의/제어 함으로써 비전문가도 효과적으로 업무 처리할 수 있도록 지원하는 시스템


8. DSS(의사결정 시스템: Decision Support Systme)

- 일부는 계량화 할 수 있으나, 일부는 주관적으로 처리할 수 밖에 없는 문제에 관해 효과적인 의사결을 할 수 있도록 지원하는 시스템


9. SIS(전략 정보 시스템: Strategic Information System)

- 기업 경쟁 우위를 확보하기 위하여 구축 이용하는 시스템

 







6. IT 아웃소싱


1. BPO(업무 프로세싱아웃소싱: Business Processing Outsourcing)
-
핵심 업무를 제외한 모든 업무를 외부 전문 업체에 위탁하여 자사의 핵심업무에 모든 역량을 집중하는 경영 기법

à ITOP(정보 기술 아웃소싱: Information Technology Outsourcing) BPO의 일부분


2. SLA(서비스 수준 계약: Service Level Agreement)
-
일정한 서비스 수준을 보장하기 위해 IT서비스 사업자와 사용자간 맺는 계약


3. SLM(서비스 수준 관리: Service Level Management)
- SLA
에서 정의한 서비스에 대해 성과와 문제점을 정확히 측정 평가하고 개선해 나가는 과정


4. ITSM(IT서비스 관리: IT Service Management)
-
서비스 사용자에게 제공되는 IT서비스를 서비스 제공자가 수행하는 프로세스 및 지원 절차
à 요소: 프로세스, 인력, 조직, 기술


5. ITIL(정보기술 인프라 라이브러리: IT Infrastructure Library)
-
영국에서 태동한 정보기술 서비스를 지원, 구축, 관리하는 프레임워크로 IT서비스의 운영/관리를 돕기위한 문서들의 집합


6. ISO/IEO 20000
- ITSM
에 필요한 사항들을 구체적으로 명시한 최초 국제 표준




 

7. 전자 상거래


1. 정의: (전자거래 기본법) 재화, 용역 거래에 있어 전부 혹은 일부가 전자문서 교환 등 전자적 방식에 의해처리되는 거래


2. 유형
- B2C, B2B, B2G, C2C, B2E, e-Marketplace(
카달로그형, 경매형, 역경매형, 교환형)

CLAS(광속상거래: Commerce At Light Speed)

ESCROW 서비스(조건부 양도 증)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

정보 보안/암호화

1.정보 보안/암호화

1. 보안 정의
-
컴퓨터 시스템 또는 저장된 정보들을 권한이 없는 외부의 불법적인 침입이나 변경, 파괴로부터 보호하는 것

2. 보안 요건
1)
기밀성: 시스템 내의 정보와 자원을 인가된 사용자에게만 접근을 허용 하는 것
2)
무결성: 시스템 내의 정보는 인가된 사용자만 수정 가능하게 하는 것
3)
가용성: 인가된 사용자는 언제라도 시스템 사용 가능함
4)
인증: 정보를 보내는 사람의 신원을 확인하는 것
5)
부인방지: 데이터 송/수신을 부인할 수 없도록 송/수신 증거를 제공
6)
접근통제: 불법적인 접근을 방지하는 과정. 크래커의 침입으로부터 보호함

3. 보안 위협 유형
1)
가로막기: 데이터의 정상적인 전달을 가로막아 흐름을 방해(가용성 저해)
2)
가로채기: 송신에서 수신까지 가는 도중 몰래 보거나 도청하여 정보를 유출(기밀성 저해)
3)
수정: 전송된 데이터를 다른 내용으로 바꾸는 행위(무결성 저해)
4)
위조: 다른 송신자로부터 데이터가 송신된 것처럼 꾸미는 행위(무결성 저해)

4. 인증(Authentification)
-
시스템이 단말 작동 개시 정보를 확인하는 보안 절차

5. 암호화
1)
개인키 암호화 기법(Private Key Encryption)
-
동일한 키로 데이터를 암호화(Encryption)하고 복호화(Decryption)하는 기법
à 대칭적 암호화 기법, 단일키 암호화 기법 è DES
2)
공개키 암호화 기법(Public Key Encryption)
-
암호화 시 사용하는 공개키는 공개하고, 복호화 시 사용하는 비밀키는 관리자가 관리하는 기법
à 비대칭적 암호화 기법 è RSA

PKI(Public Key Infrastructure)
-
공개키 암호화 시스템을 안전하게 사용할 수 있도록, 필요한 서비스를 지원해주는 기반 구조로, 사용자들이 안전하게 데이터를 교환할 수 있게 해줌


반응형