포스트

[정보처리기사] 정보처리기사 필기 오답노트 4

Computer Science / 정보처리기사

정보처리기사 필기 대비 암기를 위한 오답노트 (정보처리기사 필기 06회 with 시나공)

view

1과목 - 소프트웨어 설계


디자인 패턴

#디자인 패턴 (Design Pattern)

  • 생성 패턴
    • 추상 팩토리
    • 팩토리 메서드
    • 빌더
    • 프로토타입
    • 싱글턴
  • 구조 패턴
    • 어댑터
    • 브릿지
    • 컴포지트
    • 데코레이터
    • 파사드
    • 플라이웨이트
    • 프록시
  • 행위 패턴
    • 책임 체인
    • 커맨드
    • 인터프리터
    • 반복자
    • 중재자
    • 메멘토
    • 옵저버
    • 상태
    • 전략
    • 템플릿 메소드
    • 방문자

객체지향 분석 방법론

  • Rumbaugh(럼바우) 방법
    • 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법 (객체 모델링 기법이라고도 함)
    • 분석 활동은 객체 모델링 → 동적 모델링 → 기능 모델링 순으로 이루어짐 (객동기)
  • Booch(부치) 방법
    • 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법
    • 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의
  • Jacobson 방법
    • Use-Case를 강조하여 사용하는 분석 방법
  • Coad와 Yourdon 방법
    • E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정을 구성하는 기법
  • Wirfs-Brock 방법
    • 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법

2과목 - 소프트웨어 개발


후위식 표현

- / * A + B C D E

postfix

  • 계산법
    1. (- (/ (* A (+ B C) D) E)) → 인접한 피연산자 두 개와 왼쪽의 연산자를 묶음
    2. 묶인 괄호에서 연산자를 해당 괄호 뒤로 이동시킴
    3. A B C + * D / E -
      1. B C 뒤에 +
      2. A (+ B C) 뒤에 *
      3. (* A (+ B C) D) 뒤에 /
      4. (/ (* A (+ B C) D) E) 뒤에 -
    4. 괄호 삭제

소프트웨어 품질 목표

  • Correctness (정확성)
    • 사용자의 요구기능을 충족시키는 정도
  • Reliability (신뢰성)
    • 요구된 기능을 오류없이 수행하는 정도
  • Efficiency (효율성)
    • 요구된 기능을 수행하기 위한 시스템 능력과 필요한 자원의 소요 정도
  • Portability (이식성)
    • 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정할 수 있는 정도
  • Integrity (무결성)
    • 허용되지 않는 사용이나 자료의 변경을 제어하는 정도
  • Usability (유용성)
    • 쉽게 사용할 수 있는 정도
  • Flexibility (유연성)
    • 새로운 요구사항에 맞게 얼마만큼 쉽게 수정할 수 있는지의 정도
  • Reusability (재사용성)
    • 이미 만들어진 프로그램을 다른 목적으로 사용할 수 있는지의 정도
  • Interoperability (상호운용성)
    • 다른 소프트웨어와 정보를 교환할 수 있는 정도

3과목 - 데이터베이스 구축


4과목 - 프로그래밍 언어 활용


교착 상태 (Dead Lock)

교착 상태 발생의 필수 조건

  • 상호 배제 (Mutual exclusion)
    • 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이어야 함
    • 배타적인 자원은 임계구역으로 보호되기 때문에 다른 프로세스가 동시에 사용할 수 없어 배타적인 자원 사용 시, 교착 상태 발생
  • 비선점 (Non-preemption)
    • 한 프로세스가 사용 중인 자원은 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원이어야 함
    • 자원을 빼앗을 수 없으면 공유할 수 없으므로 교착 상태 발생
  • 점유와 대기 (Hold and wait)
    • 다른 프로세스가 필요로 하는 자원을 점유하고 있으면서 또 다른 자원을 기다리는 상태가 되면 교착 상태 발생
  • 원형 대기 (Circular wait, Linear wait X)
    • 점유와 대기를 하는 프로세스 간의 관계가 원을 이루어지면 프로세스들이 서로 양보하지 않기 때문에 교착 상태 발생

교착 상태 해결을 위한 주요 기법

  • 예방 (Prevention)
    • 상호 배제 예방: 시스템 내 상호 배타적인 모든 자원, 즉 독점적으로 사용할 수 있는 자원을 없애는 방법
    • 비선점 예방: 모든 자원을 빼앗을 수 있도록 만드는 방법으로 우선순위가 낮은 프로세스는 아사 현상 발생 가능
    • 점유와 대기 예방: 프로세스가 자원을 점유한 상태에서 다른 자원을 기다리지 못하게 하는 방법
    • 원형 대기 예방: 점유와 대기를 하는 프로세스들이 원형을 이루지 못하도록 막는 방법
  • 회피 (Avoidance)
    • Banker’s 알고리즘: 자원의 총 수와 현재 할당된 자원의 수를 기준으로 시스템을 안정 상태와 불안정 상태로 나누고, 시스템이 안정 상태를 유지하도록 자원을 할당하는 알고리즘
    • Safety 알고리즘: 안정 순열이 존재하는지 판별하는 알고리즘
  • 탐지 (Detection)
    • 타임아웃: 일정 시간 동안 작업이 진행되지 않은 프로세스를 교착 상태가 발생한 것으로 간주하여 처리하는 방법
    • 자원 할당 그래프: 자원 할당 그래프를 통해 시스템 내 프로세스가 어떤 자원을 사용하고 있는지, 기다리고 있는지를 확인하여 탐지
  • 회복 (Recovery)
    • 프로세스 종료: 한 개 이상의 프로세스를 중지시켜 교착 상태를 회복
    • 자원 선점: 프로세스들로부터 자원을 빼앗아서 교착 상태가 해결될 때까지 다른 프로세스들에게 할당

5과목 - 정보시스템 구축관리


접근통제 정책

  • MAC (Mandatory Access Control): 강제적 접근 통제
    • 주체, 객체 등급 기반 접근 권한 부여
  • DAC (Discretionary Access Control): 임의적 접근 통제
    • 접근 주체 신분 기반 접근 권한 부여
  • RBAC (Role-Based Access Control): 역할 기반 접근 통제
    • 주체, 객체 역할 기반 권한 부여

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.