1. 데이터 입출력 구현
자료구조
- 선형 구조
배열: 정적 구조
스택: 후입선출(LIFO), 깊이우선탐색
- 오버플로우: 전부 찬 상태에서 데이터 삽입할 때
- 언더플로우: 전부 빈 상태에서 데이터 삭제할 때
큐: 선입선출(FIFO), 너비우선탐색
데크: 리스트 양쪽에서 삽입, 삭제 가능
선형 리스트: 연속, 연결 리스트
- 비선형 구조
트리: 노드, 가지, 사이클X
그래프: 정점, 간선, 사이클
n개의 정점인 경우,
- 방향 그래프: 최대 간선 수 = n(n-1)
- 무방향 그래프: 최대 간선 수 = n(n-1)/2
- 트리 운행법
전위(Preorder) 운행: Root → Left → Right, ABC
중위(Inorder) 운행: Left → Root → Right, BAC
후위(Postorder) 운행: Left → Right → Root, BCA
- 수식 표기법
전위(PreFix) 운행: 연산자 → Left → Right, +AB
중위(InFix) 운행: Left → 연산자 → Right, A+B
후위(PostFix) 운행: Left → Right → 연산자, AB+
정렬
- 삽입 정렬: 맨 앞의 숫자부터 모두와 비교하며 알맞은 순서에 삽입
- 선택 정렬: 최솟값을 찾아 첫번째에 두고 나머지 중 최솟값을 찾아 반복
- 버블 정렬: 첫번째 자리부터 인접한 두 개 값을 비교해 크기에 따라 위치를 교환
- 힙 정렬: 완전이진트리를 기본으로 한 자료구조인 힙을 사용해 정렬
- 퀵 정렬: 하나의 파일을 부분적으로 나누어 정렬
- 병합 정렬: 정렬된 2개 파일을 1개 파일로 합병
데이터베이스
- 통합된 데이터: 자료 중복 배제한 데이터 모임
- 저장된 데이터: 컴퓨터 접근 가능, 저장 매체
- 운영 데이터: 조직의 업무 수행에 필요한 자료
- 공용 데이터: 여러 시스템의 공동 소유 자료
DBMS
- 제어
- 삽입, 삭제 갱신
- 무결성 유지
- 보안유지, 권한 검사
- 병행제어: 여러 사용자 데이터 처리 가능
스키마
- 개념 스키마: 데이터베이스 전체 정의
개체, 관계, 제약 조건, 접근 권한, 무결성, 규칙 - 내부 스키마: 물리적 저장 장치의 입장에서 본 데이터베이스 구조
데이터베이스에 저장된 레코드 형식을 정의
저장 데이터 항목의 표현 방법과 내부 레코드의 물리적 순서 - 외부 스키마: 각자 필요한 데이터베이스의 논리적 구조를 정의
SQL
사용 용도에 따라 구분
- DDL (데이터 정의어): 스키마, 도메인, 테이블, 뷰, 인덱스 정의, 변경, 삭제
- DML (데이터 조작어): 질의어를 통해 저장된 데이터 실질적으로 처리
- DCL (데이터 제어어): 데이터의 보안, 무결성, 회복, 병행 수행 제어
트랜잭션
작업의 논리적 단위, 쪼갤 수 없는 업무처리 최소 단위
- TCL (트랜잭션 제어 명령어)
ex) commit, rollback, savepoint
- Commit: 처리가 정상 종료되어 수행한 변경 내용을 디비에 반영
- Rollback: 모든 변경 작업을 취소하고 이전 상태로 되돌림
- Savepoint: 트랜잭션 내에 롤백할 저장 위치를 지정, 여러개 지정 가능
2. 통합 구현
모듈 구현
- 단위 모듈 구현의 원리 ( 정분추모 )
정보은닉 / 분할과 정복 / 추상화 / 모듈 독립
- 형상 관리 절차 ( 식통감기 )
형상 식별 / 형상 통제 / 형상 감사 / 형상 기록
- 형상 관리 도구의 기능 ( 인아커 )
체크인 / 체크아웃 / 커밋
- 형상 관리 도구 사례 ( CSG )
CVS / SVN / Git
3. 제품 소프트웨어 패키징
- 애플리케이션 배포 도구의 기술요소 ( 암저식키 파크인정 ) = DRM의 기술요소
암호화 / 저작권 표현 / 식별 기술 / 키 관리 / 암호화 파일 생성 / 크랙 방지 / 인증 / 정책 관리
- 제품 소프트웨어 패키징 도구 활용 시 고려사항 ( 암이복최 )
암호화, 보안 / 이기종 연동 / 복잡성 및 비효율성 문제 / 최적합 암호화 알고리즘 적용
- DRM 구성요소 ( 제소분 클콘패 보컨 )
콘텐츠 제공자 / 콘텐츠 소비자 / 콘텐츠 분배자 / 클리어링 하우스 / DRM 콘텐츠 / 패키저 / 보안 컨테이너 / DRM 컨트롤러
- 제품 소프트웨어 설치 매뉴얼 구성요소 ( 개파절아 삭버고준 )
제품 소프트웨어 개요 / 설치 관련 파일 / 설치 절차 / 설치 아이콘 /
삭제 방법 / 설치 버전 및 작성자 / 고객 지원 방법 및 FAQ / 준수 정보 & 제한 보증
- ISO/IEC 9126의 소프트웨어 품질 특성 ( 기신사효유이 )
기능성 / 신뢰성 / 사용성 / 효율성 / 유지보수성 / 이식성
- ISO/IEC 14598의 소프트웨어 품질 특성 ( 반재공객 )
반복성 / 재현성 / 공정성 / 객관성
- ISO/IEC 9126의 소프트웨어 품질 특성 ( 관모측요평 )
품질 관리 / 품질 모델 / 품질 측정 / 품질 요구 / 품질 평가
- 소프트웨어 버전 관리 도구 유형 ( 공클분 )
공유 폴더 방식(RCS) / 클라이언트 - 서버 방식(CVS, SVN) / 분산 저장소 방식(Git)
- 소프트웨어 버전 관리 도구 유형 ( CS 빌테커인 )
CI서버 / SCM / 빌드 도구 / 테스트 도구 / 테스트 커버리지 도구 / 인스펙션 도구
4. 애플리케이션 테스트 관리
- 테스트 오라클 종류 ( 참샘휴일 )
참 오라클 / 샘플링 오라클 / 휴리스틱 오라클 / 일관성 검사 오라클
- 테스트 레벨 종류 ( 단통시인 )
단위 테스트 / 통합 테스트 / 시스템 테스트 / 인수 테스트
블랙박스 테스트
프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 (기능) 테스트
- 블랙박스 테스트 유형 ( 동경결상 유분폐원비오 )
동등 분할 / 경곗값 분석 / 결정 테이블 / 상태전이 /edgtfvergtf
유스케이스 / 분류트리 / 폐어와이즈 / 원인 - 결과 그래프 / 비교 테스트 / 오류 추정
화이트박스 테스트
문제가 발생할 가능성이 있는 모듈 내부를 직접 관찰하고 테스트
- 화이트박스 테스트 유형 ( 구결조 조변다 기제데루 )
구문 커버리지 / 결정 커버리지 / 조건 커버리지 /
조건-결정 커버리지 / 변경 조건-결정 커버리지 / 다중 조건 커버리지 /
기본 경로 커버리지 / 제어 흐름 테스트 / 데이터 흐름 테스트 / 루프 테스트
- 테스트 시각에 따른 분류
검증(Verification): 소프트웨어 개발 과정을 테스트
확인(Validation): 소프트웨어 결과를 테스트
- 테스트 목적에 따른 분류 ( 회안성 강 구회병 )
회복 / 안전 / 성능 / 강도 / 구조 / 회귀 / 병행 테스트
- 소프트웨어 테스트의 원리 ( 초완결 살집 정오 )
결함 존재 증명 / 완벽 테스팅은 불가능 / 초기 집중 / 결함 집중 / 살충제 패러독스 / 정황 의존성 / 오류-부재의 궤변
- 테스트 장치 구성요소 (슈스케 시스드목 )
드라이버 / 스텁 / 슈트 / 케이스 / 시나리오 / 스크립트 / 목오브젝트
- 하향식 및 상향식 통합 수행방식 ( 하스 상드 )
하향식 (스텁) / 상향식 (드라이버)
알고리즘
- 알고리즘 기법 ( 분동탐백 )
분할과 정복 / 동적 계획법 / 탐욕법 / 백트래킹
시간복잡도
- O(1): 해시 함수
- O(logN): 이진 탐색
- O(N): 순차 탐색
- O(NlogN): 퀵, 합병, 정렬
- O(N^2): 삽입, 선택, 버블 정렬
- 해싱 함수 ( 산곱숫 폴기무 )
제산법 / 제곱법 / 숫자 분석법 / 폴딩법 / 기수 변환법 / 무작위 방법
- 클린 코드의 작성 원칙 ( 가단의 중추 )
가독성 / 단순성 / 의존성 최소 / 중복성 제거 / 추상화
EAI(Enterprise Application Integration) 방식
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
- EAI 구축 유형 ( 포허 메하 )
포인트 투 포인트 / 허브 앤 스포크 / 메시지 버스 / 하이브리드
- 시큐어 코딩 가이드 적용 대상 ( 입보시 에코캡아 )
입력데이터 검증 및 표현 / 보안 기능 / 시간 및 상태 / 에러 처리 / 코드 오류 / 캡슐화 / API 오용
- 데이터베이스 암호화 기법 유형 ( 애플하 )
API 방식 / Plug-in 방식 / Hybrid 방식
- 중요 인터페이스 데이터의 암호화 전송을 위한 보안 기술
S-HTTP, IPSec, SSL/TLS
- 시큐어 코딩 가이드 적용 대상 ( 엑스피 엔셀웨 )
xUnit / STAF / FitNesse / NTAF / Selenium / watir
'자격증 > 정처기' 카테고리의 다른 글
[정보처리기사] 2022년 2회 기출 오답 (0) | 2024.02.20 |
---|---|
[정보처리기사] 5과목 - 정보시스템 구축 관리 (1) | 2024.01.30 |
[정보처리기사] 4과목 - 프로그래밍 언어 활용 (1) | 2024.01.30 |
[정보처리기사] 3과목 - 데이터베이스 구축 (0) | 2024.01.29 |
[정보처리기사] 1과목 - 소프트웨어 설계 (1) | 2024.01.24 |