2022년 정보처리기사 실기를 준비하면서 실기를 정리하면서 공부하려고 포스팅으로 정리해보고자 만들고 있습니다.
정보처리기사 실기시험 출제 경향
정보시스템 등의 개발 요구 사항을 이해하여
각 업무에 맞는 소프트웨어의 기능에 관한 설계, 구현 및 테스트를 수행에 필요한 지식을 함양합니다.
1. 현행 시스템 분석 및 요구사항 확인(소프트웨어 공학 기술의 요구사항 분석 기법 활용)
2. 데이터 입출력 구현(논리, 물리데이터베이스 설계, 조작 프로시저 등)
3. 통합 구현(소프트웨어와 연계 대상 모듈간의 특성 및 연계 모듈 구현 등)
4. 서버프로그램 구현(소프트웨어 개발 환경 구축, 형상 관리, 공통 모듈, 테스트 수행 등)
5. 인터페이스 구현(소프트웨어 공학 지식, 소프트웨어 인터페이스 설계, 기능 구현, 구현검증 등)
6. 화면설계(UI 요구사항 및 설계, 표준 프로토 타입 제작 등)
7. 애플리케이션 테스트 (테스트 케이스 설계, 통합 테스트, 성능 개선 등)
8. SQL 응용(SQL 작성 등)
9. 소프트웨어 개발 보안 구축(SW 개발 보안 설계, SW개발 보안 구현 등)
10. 프로그래밍 언어활용(기본 문법 등)
11. 응용 SW기초 기술 활용(운영체제, 데이터베이스 활용, 네트워크 활용, 개발환경 구축 등)
12. 제품 소프트웨어 패키징(제품 소프트웨어 패키징, 제품소프트웨어 매뉴얼 작성 , 버전 관리등 )
뷰, 분산 데이터베이스, 복구, 암호화, 접근통제
뷰(View)
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블이다.
- 뷰가 정의된 기본테이블, 뷰를 삭제하면 해당 테이블/뷰를 기초로 정의된 뷰도 자동삭제된다.
- 뷰 정의 - CREATE문, 뷰 삭제 - DROP문
분산 데이터베이스 목표
- 위치 투명성 : 엑세스하려는 DB 의 실제위치를 알 필요 없이 데이터베이스의 논리적 명칭만으로 엑세스가 가능함
- 중복 투명성 : 동일 데이터가 여러곳에 중복되어 있더라도 사용자는 하나의 데이터만 존재하는 것처럼 이용, 시스템이 자동으로 여러자료에 대한 작업을 수행함
- 병행 투명성 : 분산 DB와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 트랜잭션의 결과에 영향을 받지 않음
- 장애 투명성 : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확히 처리함
암호화
- 데이터를 보낼 때, 송신자가 지정한 수신자 이외에는 내용을 알 수 없도록 암호문으로 변환하는 것
- 암호화 과정 : 평문 → 암호문
- 복호화 과정 : 암호문 → 평문
- 암호화 기법 : 개인키 암호 방식, 공개키 암호방식
임의 접근통제
- 데이터에 접근하는 사용자의 신원에 따라 접근권한을 부여하는 방식이다.
- 데이터 소유자가 접근통제 권한을 지정하고 제어함
- 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수 있음
강제 접근통제
- 주체와 객체의 등급을 비교하여 접근권한을 부여하는 방식
- 시스템이 접근통제 권한을 가짐
- 데이터베이스 객체별로 보안등급을 부여함
- 사용자별로 인가등급을 부여함
스택(STACK)
- 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다.
- 후입선출방식으로 자료를 처리함
- 저장할 기억공간이 없는 상태에서 데이터가 삽입되면 오버플로 발생
- 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로가 발생
트리(Tree) 용어, preorder, inorder, postorder
트리(Tree)
- Node와 Branch를이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
- 트리는 하나의 기억공간을 Node, 노드와 노드를 연결하는 선을 Link라 한다.
트리관련 용어
- node : 트리의 기본요소로서 자료 항목과 다른 항목에 대한 branch를 합친 것
- root node : 트리의 맨위에 있는 노드
- degree : 차수, 각 노드에 뻗어나온 가지의 수
- Terminal Node : 자식이 하나도 없는 node, degree가 없는 node
- Level : root node 레벨을 1로 가정한 후 어떤 레벨이 L이면 자식노드는 L+1
- Depth, Height : Tree 에서 node가 가질 수 있는 최대의 레벨
- forest : 여러개의 Tree가 모여있는 것
- tree of degree : node들이 degree 중 가장 많은 수
Preorder운행법
- Preorder 운행법은 이진트리를 root → left → right순으로 운행하며 노드들을 찾아가는 방법
- 1 : B2E → AB2E3
- 2 : DHI → ABDHIE3
- 3 : CFG → ABCDHIECFG
Inorder 운행법
- Inorder 운행법은 이진트리를 Left → Root → Right 순으로 운행하며 노드들을 찾아가는 방법이다.
- 1 : 2BE → 2BEA3
- 2: HDI → HDIBEA
- 3 : FCG → HYIBEAFCG
Postorder 운행법
- Post운행법은 이진트리를 Left → Right → Root 순으로 운행하며 노드들을 찾아가는 기법이다.
- 2EB : 2EB3A
- HID : HIDEBFGCA
- FGC : HIDEBFGCA
삽입정렬, 선택정렬, 버블정렬, 퀵정렬, 힙 정렬, 2-Way 합병정렬
삽입정렬(Insertion Sort)
- 가장 간단한 정렬방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식
선택정렬(Selection Sort)
- n개의 레코드 중에서 최소값을 찾아 첫번째 레코드 위치에 놓고, 나머지 n-1개 중 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식이다.
- 평균과 최악 모두 수행행시간 복잡도는 O(n^2)이다.
버블정렬(Bubble Sort)
- 주어진 파일에서 인접한 두개의 레코드 키 값을 비교하여 크기에 따라 레코드 위치를 서로 교환하는 정렬방식이다.
- 평균과 최악 모두 수행행시간 복잡도는 O(n^2)이다.
퀵정렬(Quick Sort)
- 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브파일에 분해시키는 과정을 반복하는 정렬방식이다.
- 레코드의 많은 자료이동을 없애고 하나의 파일을 부분적으로 나누면서 정렬한다.
힙정렬(Heap Sort)
- 전이진 트리를 이용한 정렬방식이다.
- 구성된 전이진 트리를 Heap Tree로 변환하여 정렬한다
2-Way 합병정렬
- 이미 정렬되어 있는 2개의 파일을 한개의 파일로 합병하는 정렬방식이다.
댓글