1. 데이터 입출력 구현
1-1. 자료표현 단위
- 자료 구성의 단위 : 비트, 니블(4bit), 바이트(8bit, 문자표현의 최소 단위)
1-2. 자료구조
- 자료구조의 개념 : 논리적으로 설계된 데이터의 구조 및 관계
- 자료 구조의 유형 : 선형 구조(Stack, Queue, Deque, Linear List, Linked List), 비선형 구조(트리, 그래프)
- 스택 : 삽입(Push), 추출(Pop), LIFO
- 큐 : 삽입포인터(Rear), 삭제포인터(Front), FIFO
- 데크 : 데이터 출입구가 양쪽 모두에 있는 구조
- 선형 리스트 : 배열
- 연결 리스트 : 포인터를 이용, 탐색속도가 비교적 느리다
- 트리 : 계층구조
- 이진 트리 순회 : 중위 순회(좌측자식>부모>우측자식), 전위 순회(부모>좌측자식>우측자식), 후위 순회(좌측자식>우측자식>부모)
1-3. 탐색
- 선형탐색 : 순차적으로 비교하여 검색
- 이분(이진) 검색 : 절반씩 나누어 가며 검색, 정렬 작업이 선행
- 블록 탐색 : 그룹별로 블록화 하여 인덱싱을 통해 검색, 블록 내부요소들은 순차탐색(정렬X)
- 보간 탐색 : 찾을 값의 위치 값을 예상하여 검색
- 이진 트리 탐색 : 이진 트리로 변형한 뒤에 검색
- 해시 탐색 : 해싱 함수를 사용하여 데이터를 검색
- 해싱 함수의 종류 : 제산법(키를 특정 값으로 나눈 나머지 값), 폴딩법(키를 여러 부분으로 나누어), 제곱법, 숫자 분석법, 기수변환법, 의사 무작위법
1-4. 정렬
- 선택 정렬 : 첫 위치와 나머지 위치들을 각각 비교하여 데이터를 교환
- 버블 정렬 : 각 위치와 인접한 오른쪽 값과 비교
- 삽입 정렬 : 좌측에 이미 정렬된 요소들과 비교하여 자신의 위치를 찾아 삽입
- 쉡 정렬 : 데이터 간격을 정하고 간격을 점차 줄이면서 삽입 정렬 진행
- 힙 정렬 : 완전 이진 트리 형태로 만들어 정렬
- 이진 병합 정렬, 버킷 정렬, 퀵 정렬
2. 통합 구현
2-1. 통합 구현 도구
- 형상 관리 도구의 기능 : check-out, check-in, commit, update, import, export
- 형상 관리 도구의 종류 : CVS, SVN, Git, Perforce
2-2. 연계 통합 구현
- 연계 요구사항 분석에 필요한 도구 및 기법 : 사용자 인터뷰, 분석 체크리스트, 설문조사, 델파이 기법, 연계 솔루션 비교 분석
2-4. 연계 장애 및 오류 처리 구현
- 재해 복구 시스템 : Mirror > Hot > Warm > Cold
2-5. 인터페이스 구현
- EAI : 서로 다른 기종의 시스템 간의 연동을 가능하게 해주는 전사적 애플리케이션 통합 환경
- EIA 구축 유형 : Point-to-Point, Hub & Spoke, Message Bus
- 인터페이스 구현 검증 도구 : xUnit(Java, C++ 등을 지원하는 단위테스트 프레임워크), STAF, FitNesse(웹기반), NTAF(Naver 테스트 자동화 프레임워크), Selenium, watir
3. 제품 소프트웨어 패키징
3-1. 제품 소프트웨어 패키징
- 제품 소프트웨어를 위한 빌드 자동화 도구 : Jenkins(java기반), Gradle(groovy 언어 기반)
3-3. 제품 소프트웨어 버전 관리
- 버전 관리 도구의 유형 : 공유폴더방식(RCS-한번에 한사람만), 클라이언트/서버 방식(CVS,SVN), 분산 저장소방식(Git, BitKeeper, ClearCase)
4. 애플리케이션 테스트 관리
4-1. 애플리케이션 테스트
- 낚시의 법칙 : 낚시 포인트처럼, 소프트웨어도 특정 위치에서 많은 결함이 발생된다는 법칙
- 파레토의 법칙 : 소프트웨어 결함의 80%는 20%의 기능들이 가진다는 법칙
- 살충제 패러독스 : 동일한 테스트 케이스를 반복 실행하면 더이상 새로운 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 개선하여 테스트를 진행해야 한다.
- 실행 기반 테스트 : 정적 테스트(워크스루, 동료 검토, 인스펙션), 동적 테스트(블랙박스, 화이트박스)
- 설계 기반 테스트 : 명세기반(동등 분할, 경계값 분석), 구조 기반(구문기반, 결정 기반, 조건 기반), 경험 기반(에어추정, 체크리스트, 탐색적 테스팅)
- 시간 기반 테스트 : 검증 테스트(개발자의 입장에서), 확인 테스트(사용자의 입장에서)
- 목적 기반 테스트 : 회복테스트, 안전테스트, 강도테스트, 성능테스트, 구조테스트, 회귀테스트, 병행테스트
- 화이트박스 테스트 : 모든 소스 코드의 논리적인 경로를 테스트, 주로 테스트 과정 초기에 적용, 기초경로 테스트
- 블랙박스 테스트 : 요구사항 명세서를 기반으로 구현된 기능을 테스트, 동치분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
4-2. 개발 단계에 따른 애플리케이션 테스트
- V-모델 : 애플리케이션 테스트와 소프트웨어 개발단계를 연결하여 표현한 것
- 단위 > 통합 > 시스템 > 인수
- 단위 테스트 : 모듈이나 컴포넌트에 초점, 명세 기반 테스트, 구조기반 테스트
- 통합 테스트 : 하향식 통합테스트(하위모듈 스텁), 상향식 통합 테스트(드라이버)
- 인수 테스트 : 알파 테스트, 베타 테스트
4-3. 결함 관리
- 오류로 인해 결함이 나타나고, 결함으로 인해 장해가 발생한다.
4-4. 성능 분석 및 품질 평가
- 성능 측정 지표 : 처리량, 응답시간, 반환시간, 자원 사용률
- 클린 코드 작성 원칙 : 가독성, 단순성, 의존성 배제, 중복성 제거, 추상화
- 소프트웨어 품질 목표 항목 : 정확성, 신뢰성, 효율성, 무결성, 유지보수 용이성, 사용 용이성, 검사 용이성, 이식성, 상호 운용성, 유연성, 재사용성
'기타 > 정보처리기사' 카테고리의 다른 글
정보처리기사 필기 키워드 정리 - 5과목 : 정보 시스템 구축 관리 (0) | 2022.04.21 |
---|---|
정보처리기사 필기 키워드 정리 - 4과목 : 프로그래밍 언어 활용 (0) | 2022.04.21 |
정보처리기사 필기 키워드 정리 - 3과목 : 데이터베이스 구축 (0) | 2022.04.20 |
정보처리기사 필기 키워드 정리 - 1과목 : 소프트웨어 설계 (0) | 2022.04.19 |
댓글