1. 자료구조 및 알고리즘
자료구조
- 선형 구조
- 스택 (LIFO): 함수 호출, 후위 표현식 변환, 깊이 우선 탐색(DFS), 인터럽트 처리
- 큐 (FIFO): 데이터 버퍼, 프로세스 스케줄링
- 데크 (Deque): 양쪽에서 삽입/삭제 가능
- 리스트
- 선형 리스트
- 연결 리스트 (단순/이중/원형)
- 비선형 구조
- 트리
- 이진 트리: 전위/중위/후위 순회
- 이진 탐색 트리 (BST)
- 힙 (Heap): 우선순위 큐 구현
- 그래프
- DFS (깊이 우선 탐색)
- BFS (너비 우선 탐색)
- 트리
정렬 알고리즘
- 퀵 정렬: 피벗을 설정하여 분할 정복 방식으로 정렬
- 합병 정렬: 분할 후 병합하여 정렬
- 힙 정렬: 최대 힙/최소 힙 구조를 활용
- 거품 정렬: 인접한 두 요소를 비교하며 정렬
- 삽입 정렬: 앞에서부터 정렬된 부분과 비교하여 삽입
- 선택 정렬: 가장 작은 값을 선택하여 정렬
검색 알고리즘
- 순차 검색: 처음부터 하나씩 비교
- 이진 검색: 중앙값을 기준으로 탐색 (O(log n))
해시 함수 기법
- 나눗셈 방법
- 곱셈 방법
- 숫자 분석 방법
- 폴딩 방법 (XOR 폴딩법)
- 중간 제곱 방법
2. 통합 구현
통합 구현 개념
- 모듈(컴포넌트) 간 데이터 교환 및 시스템 연계를 수행
단위 모듈
- 정의
- 분석
- 추출
- 모듈화
재사용 기법
- 재공학 (Reengineering)
- 분석
- 재구조화
- 역공학
- 이식
- 재개발 (Refactoring)
형상 관리 (SCM, Software Configuration Management)
- 형상 관리 절차: 식별 - 통제 - 감사 - 기록
- 형상 관리 도구 기능: 인증 - 아카이브 - 커밋
- 사례: CSG
- 형상 통제 위원회 (CCB, Configuration Control Board)
3. 제품 SW 패키징
소프트웨어 품질 기준
- ISO 9126: 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성
- ISO 14598: 평가 기준 (반복성, 재사용성, 공정성, 객관성)
- ISO 2500 시리즈: 통합 품질 모델
SW 패키징 구성 요소
- DRM (Digital Rights Management, 디지털 저작권 관리)
- 패키저: 콘텐츠를 메타데이터와 함께 묶음
- 클리어링 하우스: 라이선스 발급
- 컨트롤러: 이용 권한 통제
- 버전 관리
- 공유 폴더 방식 (RCS)
- 클라이언트/서버 방식 (SVN, CVS)
- 분산 방식 (Git)
- 빌드 자동화 도구
- CS, 빌드, 테스트, 커밋, 인테그레이션
소프트웨어 배포 도구 고려 사항
- 암호화
- 이식성
- 복구 기능
- 최적화
4. 애플리케이션 테스트 관리
테스트 개념
- 테스트 오라클: 참, 샘플링, 휴리스틱, 일관성 검사
- 테스트 레벨
- 단위 테스트 (모듈 내 구조 확인)
- 통합 테스트 (모듈 인터페이스 검증)
- 시스템 테스트 (기능/비기능 테스트)
- 인수 테스트 (알파/베타 테스트)
- 테스트 유형
- 블랙박스 테스트: 프로그램 내부 구조를 고려하지 않음
- 화이트박스 테스트: 내부 로직 기반 테스트
테스트 설계 기법
- 블랙박스 테스트 기법: 동등 분할, 경계값 분석, 결정 테이블, 상태 전이, 유스케이스, 원인-결과 그래프, 비즈니스 규칙
- 화이트박스 테스트 기법: 제어 흐름, 조건 검증, 루프 테스트
테스트 원리
- 결함 집중: 파레토 법칙 (80% 결함은 20% 원인)
- 소프트웨어 테스트 원칙: 결함 존재 증명, 완벽한 테스트 불가능, 조기 테스트, 결함 집중, 살충제 패러독스, 정황 의존성, 오류 부재의 궤변
5. 인터페이스
EAI (Enterprise Application Integration)
- 서로 다른 애플리케이션 간 데이터 연계를 위한 솔루션
- 연계 방식: 포인트 투 포인트, 허브 앤 스포크, 메시지 버스, 하이브리드
ESB (Enterprise Service Bus)
- 서로 다른 프로토콜과 애플리케이션을 유연하게 연계 (낮은 결합)
데이터 교환 기술
- AJAX: 비동기 데이터 전송
- REST API: HTTP 기반 인터페이스
DB 암호화 기법
- 애플리케이션 레벨
- 하드웨어 기반 암호화
시큐어 코딩 가이드
- 입력 데이터 검증, 보안 기능, 시간 및 상태, 에러 처리, 코드 오류, 캡슐화, API 오용
보안 프로토콜
- S-HTTP, SSL/TLS, IPsec
인터페이스 구현 검증 도구
- xUnit, Postman, Excel, WebSquare
STAF (Software Testing Automation Framework)
- 분산 환경에서 데몬을 이용한 자동화 테스트 수행
'자격증 > 정보처리기사' 카테고리의 다른 글
정보시스템 구축관리(필기 5단원) (0) | 2025.02.22 |
---|---|
프로그래밍 언어활용(필기 4단원) (0) | 2025.02.21 |
데이터베이스 구축(필기 3단원) (0) | 2025.02.21 |
소프트웨어 설계(필기 1단원) (0) | 2025.02.21 |