정보처리기사/필기 기출문제 풀이

2024년 2회차

2024년 2회차 정보처리기사 기출문제 풀이 후 작성한 오답노트입니다.

요약


과목과 목 명문항수맞힌수점수판정
1과목소프트웨어 설계20개14개70점통과
2과목소프트웨어 개발20개15개75점통과
3과목데이터베이스 구축20개13개65점통과
4과목프로그래밍 언어 활용20개15개75점통과
5과목정보시스템 구축관리20개20개100점통과
총 문항수총 맞힌 수총점판정
100개77개77점합격

1과목


1. 요구공학

요구공학(Requirements Engineering)

무엇을 개발해야 하는지 요구사항을 정의하고 분석 및 관리하는 프로세스를 연구하는 학문이다.

요구공학은 요구사항 개발보다 더 큰 범주에 해당한다. 즉, 요구사항 개발이 요구 공학의 한 요소가 된다.


10. HIPO

HIPO(Hierarchy Input Process Output)

시스템 분석 및 설계나 문서화할 때 사용하는 기법으로, 기호도표 등을 사용하여 보기 쉽고 이해하기도 쉽다는 특징이 있다. 하향식 소프트웨어 개발을 위한 도구이며, 차트 종류로 가시적 도표, 총체적 도표, 세부적 도표가 있다.


11. 코드 설계

코드 설계

데이터를 효율적이고 정확하게 처리하기 위해 부여하는 기호나 숫자의 체계를 말한다. 목적은 데이터의 저장 공간 절약, 데이터 오류 감소, 데이터 검색 및 정리의 용이이며, 원칙으로는 간결성, 일관성, 유연성, 명확성이 있다.

  • 코드 설계 방법

    • 순차 코드: 일련번호를 부여한 코드
    • 연상 코드: 명칭 일부를 약호 형태로 넣은 코드
    • 블록 코드: 공통성이 있는 것끼리 블록으로 구분하고 일련번호를 부여한 코드
    • 표의 숫자 코드: 대상 자료의 물리적인 수치를 표시한 코드
    • 십진 코드: 10진수 형태로 표현한 코드
    • 그룹 분류식 코드: 대상을 기준에 따라 대/중/소분류로 구분하여 번호를 부여한 코드
  • 코드 설계 절차

    • 코드화 항목 선정 → 코드화 목적 설정 → 코드화 대상 확인 → 코드와 범위 설정 → 코드 사용 기간 설정 → 코드화 항목의 특성 분석 → 코드화 방식 결정 → 문서화
  • 코드 오류 종류

    1. 사본 오류(Transcription Error): 한 자리를 잘못 표기한 경우로, 필사/오자 오류라고도 칭함
    2. 전위 오류(Transposition Error): 연속된 두 글자가 서로 바뀌어 표기된 경우
    3. 생략 오류(Omission Error): 한 글자를 빼먹고 기술한 경우
    4. 첨가 오류(Addition Error): 한 글자가 추가되어 기술한 경우
    5. 이중 전위 오류(Double Transposition Error): 전위 오류가 중복 발생한 경우

15. WAS

WAS(Web Application Server)

동적인 콘텐츠 처리를 위한 미들웨어로 웹 환경 구현을 위해 활용한다. 대표적인 예시로 오라클의 WebLogic, IBM의 WebSphere가 있다.

정적인 콘텐츠를 처리하기 위해 사용되는 것은 웹 서버(Web Server)에 해당한다.


18. 송/수신 데이터

대량의 데이터 처리를 위해 사용하는 방식은 배치 방식에 해당한다.


2과목


21. 테스트 하네스

테스트 하네스(Test Harness)

소프트웨어 컴포넌트나 애플리케이션 테스를 지원하기 위한 코드 및 데이터의 집합이다. 테스트 드라이버, 테스트 스텁, 테스트 슈트, 테스트 케이스, 테스트 스크립트, 목 오브젝트 등으로 구성되어 있다.

테스트 시나리오는 구성요소가 아니다.

25. EAI

EAI(Enterprise Application Integration)

기업 내부에서 서로 다른 플랫폼이나 애플리케이션의 사이에서 정보를 전달하고 연계, 통합하는 솔루션이다.

  • Point-to-Point: 네트워크에 있어 물리적으로 중개 장치 없이 별도 회선을 이용해 1:1로 연결하는 방식
  • Hub & Spoke: 하나의 허브 시스템을 통해 데이터를 주고 받는 중앙 집중 방식
  • Message Bus: 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 방식
  • Hybrid: Hub & Spoke + Message Bus

ESB(Enterprise Service Bus)

애플리케이션 간 통합 측면에서 EAI와 유사하지만, 애플리케이션 보단 서비스 중심으로 통합되는 것을 지향하는 아키텍처 혹은 기술이다. Message Bus 유형으로 Bus를 중심으로 각각 프로토콜이 호환되게끔 변환이 가능하고 서비스 중심으로 메시지 이동을 라우팅 할 수 있다.


34. 화이트 박스 테스트

화이트 박스 테스트(White Box Testing)

모듈 원시 코드를 오픈한 상태에서 모든 논리적 경로를 테스트하는 방법이다. 모든 문장을 한 번 이상 수행하기에 모듈 내 작동을 직접 관찰할 수 있고, 산출물 기능별로 제어 구조에 따라 선택, 반복 등의 부분을 수행함으로써 논리적 경로를 점검하며, 테스트 데이터를 이용해 실제 프로그램을 실행하여 오류를 찾는 동적 테스트(Dynamic test)에 해당한다. 테스트 종류는 아래와 같다.

  • 기초 경로 검사(Basic Path Testing): 수행 가능한 모든 경로를 의미하며 Mocabe의 순환 복잡도를 사용하여 선형 독립 경로 수를 결정한 다음 얻어진 각 경로에 대한 테스트 사례를 생성한다.
  • 제어 구조 검사: 조건 검사, 루프 검사, 데이터 흐름 검사로 구성된다.

블랙 박스 테스트(Black Box Testing)

소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트기능 테스트라고도 한다. 즉, 입력값과 출력값 만을 확인하는 테스트다. 테스트 종류는 아래와 같다.

  • 동치 분할 검사(Equvialence Partitioning): 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법
  • 원인-효과 그래프 검사(Cause and Effect Graphing): 입력 데이터 간의 관계출력에 영향을 미치는 상황을 체계적으로 분석
  • 오류 예측 검사(Error Forecast): 과거의 경험이나 감각으로 테스트하는 기법이며, 보충적 검사기법이다.
  • 비교 검사(Comparison Testing): 동일한 테스트 자료를 여러 버전의 프로그램에 입력하여 동일한 결과가 출력되는지 테스트하는 기법
  • 경계값 분석(Boundary Value Analysis): 입력 조건 경계값에서 오류 발생확률이 크다는 것을 활용하여 경계값을 테스트 케이스로 선정하여 검사

35. 검토 방법

워크스루(Walkthrough)

소프트웨어 개발 단계에서 문서나 코드를 그룹의 구성원들과 함께 순회하면서 검토하는 방법이다. 의사소통 촉진이해도 향상을 위해 사용되며 참여적 검토, 실시간 토론, 교육 및 이해 증진의 특징을 갖는다.

인스펙션(Inspection)

정형적이고 체계적인 방법으로 소프트웨어 코드나 문서를 검토하는 절차이다. 주로 오류 및 결함을 찾기 위해 엄격한 규칙 하에 수행되며 정형적 절차, 검토자와 작성자 분리, 기록 유지의 특징을 갖는다.

동료 검토(Peer Review)

동료들 간의 비공식적인 코드나 문서 리뷰 과정에 해당한다. 비공식적, 소규모 그룹, 주관성, 버그 탐지, 코드 품질 개선의 특징을 갖는다.


3과목


47. 트리의 차수

트리 내 개수 구하기

트리의 차수(Degree)은 각 노드가 가진 자식의 수 중 최댓값에 해당하며, 튜플의 개수는 부모-자식 형태의 개수를 의미한다. 아래 예제의 경우 차수는 노드 C의 자식 개수로 3개, 튜플은 화살표의 개수로 총 7개이다.


48. 정규형

정규형 조건

  • 1NF: 원자화
  • 2NF: 부분 함수 종속 제거 (완전 함수 종속)
  • 3NF: 이행 함수 종속 제거
  • BCNF: 결정자 함수 종속
  • 4NF: 다치 종속성 제거
  • 5NF: 조인 종속성 제거

49. 병행 제어

병행 제어(Concurrency Control)

트랜잭션이 병행 수행될 때 트랜잭션이 데이터베이스의 일관성을 파괴하지 않고, 다른 트랜잭션에 영향을 주지 않도록 트랜잭션 간 상호작용을 제어하는 것이다.

로킹(Locking)

트랜잭션이 접근하려는 데이터를 다른 트랜잭션이 접근하지 못하도록 잠그는 병행 제어 기법이며, 상호 배제(Mutual Exclusive) 기능을 제공한다. 한 번에 로킹할 수 있는 단위를 로킹 단위라고 하는데 필드, 레코드, 테이블, 파일, 데이터베이스 모두가 대상이 될 수 있다. 로킹 단위와 병행 제어와의 관계는 아래와 같다.

  • 로킹 단위가 클수록, 제어가 단순하며 병행성 감소
  • 로킹 단위가 작을수록, 제어가 복잡하며 병행성 및 데이터베이스 공유도 증가

50. 파티션

파티션(Partition)

대용량 테이블 혹은 인덱스작은 논리적 단위로 나누는 것이다. 쿼리 성능, 디스크 성능, 백업 및 복구 속도, 데이터 가용성이 향상되며 입출력 분산과 시스템 장애 시 데이터 손상 최소화가 가능하다는 장점이 있고 세심한 관리가 요구된다는 것과 조인 비용 증가 등의 단점이 있다.


55. 분산 데이터베이스

분산 데이터베이스

여러 곳으로 분산된 데이터베이스를 하나의 가상 시스템처럼 사용할 수 있게 하는 데이터베이스이다. 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임이다.

분산 데이터베이스는 잠재적 오류가 증가한다는 단점이 있다.


58. 데이터베이스 특성

데이터베이스 특성

데이터베이스의 특성으로 실시간 접근성, 계속적인 변화, 동시 공용, 내용에 의한 참조가 있다.


59. DBMS

DBMS 필수 기능

DBMS의 필수 기능은 정의(Definition) 기능, 조작(Manipulation) 기능, 제어(Control) 기능이 있다.


4과목


61. IDE

이클립스(Eclipse)는 통합 개발 환경(IDE) 도구로 하드웨어 환경과 관련이 없다.


65. OSI 7계층

OSI 7계층의 PDU(프로토콜 데이터 단위)

  1. 물리(Physical) 계층: 비트(Bit)
  2. 데이터 링크(Data Link) 계층: 프레임(Frame)
  3. 네트워크(Network) 계층: 패킷(Packet)
  4. 전송(Transport) 계층: 세그먼트(Segment)
  5. 세션(Session) 계층: 데이터(Data)
  6. 표현(Presentation) 계층: 데이터(Data)
  7. 응용(Application) 계층: 데이터(Data)

78. 페이지 교체 알고리즘

페이지 교체 알고리즘의 종류는 OPT, FIFO, LRU, LFU, NUR, SCR 등이 있다.


Last updated on