정보처리기사

[정보처리기사 필기] 2023~2024년 기출문제 오답 노트 – 소프트웨어 개발 (2과목)

@leem 2025. 2. 27. 16:27
정보처리기사 필기 2023년 1,2,3회
정보처리기사 필기 2024년 1,2,3회

기출 문제 풀이 후 자주 출제되는 개념과 오답을 정리한 글 입니다.

 

2과목 - 소프트웨어 개발

알고리즘과 자료구조

탐색 및 정렬 알고리즘

  • 해싱(Hashing) 탐색 → 키를 주소에 매핑하여 탐색 속도 향상
  • 트리 차수 → 노드에서 자식으로 간 개수 중 가장 많은 차수가 트리의 차수
  • 선형 자료구조 → 스택, 큐, 데크, 리스트
  • 비선형 자료구조 → 트리, 그래프
  • 정렬 알고리즘 비교
    • 선택 정렬 (Selection Sort) → 작은 값을 찾아 첫 번째 원소와 교환
    • 퀵 정렬 (Quick Sort) ⭐ → 피봇을 기준으로 분할하여 정렬 (O(NlogN))
    • 합병 정렬 (Merge Sort) → O(NlogN), 안정 정렬
    • 힙 정렬 (Heap Sort) → O(NlogN), 불안정 정렬
    • 버블 정렬 (Bubble Sort) → 인접한 요소를 비교하여 정렬 (O(N²), 비효율적)

소프트웨어 개발 방법론 및 프로세스

소프트웨어 생명주기 모델

  • V-모델 → 요구사항 → 분석 → 설계 → 구현 후 테스트
  • 폭포수 모델 → 단계별 순차적 진행 (이전 단계로 회귀 어려움)
  • 애자일(Agile) 모델 → 반복적 개발, 고객 피드백 반영

소프트웨어 품질 및 유지보수

소프트웨어 품질 관리

  • ISO/IEC 25010 품질 특성
    • 기능 적합성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성
  • 파레토 법칙 ⭐ → 오류 80%가 전체 코드의 20%에서 발생
  • 브룩스 법칙 → 프로젝트에 사람을 추가할수록 기간이 증가

소프트웨어 유지보수

  • 역공학 (Reverse Engineering) → 기존 시스템을 분석하여 재구성
  • 소프트웨어 재구성 → 기능 변화 없이 코드 및 구조 개선

소프트웨어 테스트 기법

테스트 기법 및 검증

  • 블랙 박스 테스트 → 원인-결과 그래프 기반 테스트
  • 화이트 박스 테스트Nassi-Shneiderman 도표 사용
  • 정형 기술 검토 (FTR) ⭐ → 논쟁 제한, 참가자 제한, 문제 영역 명확히 표현
  • 테스트 오라클 → 테스트 결과의 올바름 판단
  • 테스트 케이스 → 개별 테스트 명세서
  • 테스트 시나리오 → 테스트 케이스의 실행 순서

테스트 커버리지

  • 구문, 결정, 조건, 조건/결정 커버리지

테스트 종류

  • 단위 테스트 → 모듈 단위의 테스트 (1개만 테스트)
  • 통합 테스트
    • 하향식 통합 테스트 → "임시 모듈(Stub)" 사용
    • 상향식 통합 테스트 → "임시 모듈(Driver)" 사용
  • 인수 테스트 (Acceptance Test) ⭐
    • 사용자 요구사항 충족 여부 확인
    • 알파 테스트(개발자 앞), 베타 테스트(사용자 환경)

형상 관리 및 버전 관리

형상 관리

  • 체크아웃(Checkout) → 파일을 수정할 때 가져오기
  • 체크인(Check-in) ⭐ → 수정 완료 후 새로운 버전으로 갱신

데이터 구조 및 저장소 설계

자료구조

  • 스택(Stack) 응용
    • 인터럽트 처리, 서브루틴 호출 등에 사용
    • 후입선출 (LIFO)
  • 큐(Queue)
    • 선입선출 (FIFO)
  • 데크(Deque)
    • 양쪽 끝 삽입 및 삭제 가능

트리 및 그래프

  • 이진 트리 → 연습 필요
  • 이진 검색(Binary Search)
  • 방향 그래프의 최대 간선 수n(n-1)
  • 무방향 그래프의 최대 간선 수n(n-1)/2

데이터 저장

  • 해싱 함수 종류
    • 제산법, 제곱법, 숫자 분석법(계수 분석법), 무작위법
    • 개방 주소법 X

소프트웨어 보안 및 저작권 보호

소프트웨어 보안 기법

  • 디지털 저작권 관리(DRM) 기술 요소
    • ⭐ 정책 관리, 저작권 표현, 식별 기술
    • 복호화 기술 X

보안 및 위험 관리

  • 위험 관리 절차
    • ① 위험 식별 → ② 위험 분석 및 평가 → ③ 위험 관리 계획 → ④ 위험 감시 및 조치