[정보처리기사] 기출오답(210515)

Hyo Kyun Lee·2023년 2월 7일
0

정보처리기사

목록 보기
15/26

1. 시스템 구성항목

  • 입력, 출력, 처리(프로세스), 제어, 피드백

2. GoF

  • factory pattern : 상위클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 객체를 생성하도록 하는 패턴
  • prototype pattern : 프로토타입을 생성하고, 이에 따른 인스턴스를 복제하는 패턴
  • bridge pattern : 기능 클래스 계층과 구현 클래스 계층을 "연결", 구현 클래스 내 추상계층을 분리하여 추상화/실제 구현 부분을 독립적으로 확장
  • Adapter pattern : 기존 생성된 클래스를 재사용할 수 있도록, 중간에서 맞춰주는 역할(인터페이스가 호환되지 않는 클래스들을 함께 이용, 타 클래스 인터페이스를 덧씌움)
  • Mediator : 객체의 수가 너무 많아지면 서로 간의 통신이 복잡해지고 결합이 강해짐, 중간에서 이를 통제하고 지시하는 역할 중재자 배치

3. 소프트웨어 아키텍쳐 품질 속성

  • 가용성, 변경용이성, 성능, 보안성, 사용편의성, 시험용이성

4. 럼바우

  • 객(체 모델링), 동(적 모델링), 기(능 모델링)

5. UML 다이어그램의 종류

  • 구조적 다이어그램 : 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지
  • 행위 다이어그램
    ※ 유스케이스 : 사용자 관점에서 시스템 활동 표현
    ※ 시퀀스 : 객체간 상호작용(=교류 다이어그램)/메시지
    ※ 커뮤니케이션 : 객체간 상호작용, 연관관계
    ※ 상태(State) : 객체가 가지는 상태변화, 진입 및 탈출조건 등 기술
    ※ 활동(Activity) : 시스템이 어떤 기능을 수행하는가, 조건에 따른 처리의 흐름
    ※ 타이밍(Timing) : 객체상태변화와 시간제약

6. CASE

  • 상위CASE(요구사항분석 및 설계) : 계획수립/요구분석/기본설계를 다이어그램으로 표현, 모델들 사이의 모순 검사 및 모델 오류 검증, 일관성 검증, 자료흐름도 프로토타이핑 작성 및 UI 설계지원
  • 하위CASE(문서화, 테스트, 소스코드 생성) : 구문중심편집, 정적/동적 테스트 지원, 시스템 명세서 표현 및 소스코드 생성

7. 요구사항 관리 도구

  • 요구사항 변경으로 인한 손익 분석
  • 요구사항 변경의 추적
  • 요구사항 변경에 따른 영향 평가

※ 기존 시스템, 신규 시스템의 성능 비교 및 평가 > 설계/개발 단계(구현)

8. 힙정렬

  • 완전이진트리로 구성
  • 정렬한 입력 레코드들 중 힙을 구성하는 가장 큰 키 값을 갖는 루트 노드를 제거

※ 퀵정렬(피벗, 퀵, 많은 자료의 이동을 없애고 하나의 파일을 부분적으로 나누어가며)은 평균 시간복잡도가 O(nlogn)이고, 나머지 정렬은 O(nlogn)이다(힙/병합(합병)/퀵 정렬에 대해).

9. DRM 구성요소

  • 패키저
  • DRM 콘텐츠(Contents)
  • DRM 컨트롤러(Controller)
  • 보안컨테이너
  • 클리어링 하우스
  • 컨텐츠 제공자(Provider)
  • 컨텐츠 소비자(Consumer)
  • 컨텐츠 분배자(Distributer)

10. 블랙박스/화이트박스

  • 블랙박스 -> 기능 : 동등분할, 경계값, 자료입출력, 오류처리
  • 화이트박스 -> 조건, 루프, 기본경로, 커버리지, ..

11. 분할(파티셔닝)

  • 대용량의 테이블을 분할하여 작은 논리적인 단위로 분할..성능 저하를 방지
  • 범위분할(Range) : 분할 키 값의 범위(1월/2월/..)
  • 해시분할(Hash) : 해시 함수의 값에 따라 분할
  • 목록분할(list) : 값 목록에 따른 분할(수원시, 서울시,..)
  • 조합분할(Composite) : 범위, 해시, 목록분할을 조합
  • 라운드 로빈 : 행의 고른 분포, 회전하면서 고른 분포(테이블 기본키가 반드시 필요하지는 않다)

※ 관련 개념 -> 클러스터링(행값을 순서대로 저장, 같은 클러스터내 저장, 검색효율 증가, 분포도 넓을 경우 유리)

12. DB 무결성

  • 개체무결성 : PK(기본키)는 NUll값을 가지지 못하고, 중복되어서도 안된다.
  • 참조무결성 : 외래키가 참조하는 다른 개체의 기본 키에 해당하는 값은 기본키값이거나 NULL
  • 속성무결성 : 속성의 값은 NULL 여부, 도메인 여부 등에 부합
  • 사용자무결성 : 사용자의 의미적 요구사항 준수
  • 키 무결성 : 한 릴레이션에 같은 키값을 가진 튜플을 허용하지 않는다.

13. 병행제어

  • 트랜잭션을 다수의 사용자가 실행할때, 결과의 일관성 및 무결성을 유지하기위해 사용하는 제어 기법
    -> 데이터베이스 공유 최대화, 시스템 활용 최대화, 데이터베이스 일관성 유지, 사용자 응답시간 최소화

  • 로킹 : 한 트랜잭션이 실행되는 동안, 말 그대로 라킹(잠궈서)하여, 특정 데이터 항목에 대해 접근하지 못하도록 하는 것

  • 낙관적 검증 : 일단 트랜잭션을 수행하고, 트랜잭션 종료시 검증 수행

  • 타임스태프 순서 : 트랜잭션을 수행하기전에 타임 스탬프를 부여하여, 부여된 타임스태프에 따라 트랜잭션을 수행하는 것

  • 다중버전 동시성 제어 : 타임스태프를 비교하여, 직렬성을 보장할 수 있는 적절한 버전을 선택

※ 갱신손실(Lost Update) : 먼저 실행된 트랜잭션의 결과를, 나중 트랜잭션의 결과가 덮어 씌울때
※ 현황파악오류(Dirty Read) : 트랜잭션 중간의 결과를 참조할 경우
※ 모순성(Inconsistency) : 두 트랜잭션이 동시에 실행하여 일관성 결여
※ 연쇄복귀(Cascading Rollback) : 다수의 트랜잭션을 실행하고, 이중 일부를 롤백하였을때 부분적으로만 롤백하여 일부는 취소하지 못할 경우

14. 관계 데이터 언어

  • 일반집합연산자 : 합집합, 교집합, 차집합, 카르테시안
  • 순수관계연산자 : 셀렉트, 프로젝트, 조인, 디비전

15. 속성

  • 개체의 특성
  • 데이터베이스를 구성하는 가장 작은 논리적 단위
  • 파일 구조상 데이터 필드에 해당

※ degree, 카디널리티는 튜플의 개수

16. 서브넷마스크 클래스

  • A클래스 : 0 ~ 127
  • B클래스 : 128 ~ 191
  • C클래스 : 192 ~ 223
  • D클래스 : 224 ~ 239
  • E클래스 : 240 ~ 255

※ CIDR(Classless Inter Domain Routing) 표기법에서는 저기에 비트수만큼 서브넷ID(1)을 더해줘야 한다.

17. 프로세스 적재

  • 시간지역성 : 반복, 스택, 부프로그램, 특정 메모리 사용시 가까운 시일내에 해당 메모리를 사용한다는 것
  • 공간지역성 : 프로세스가 어떤 페이지를 참조하였다면, 해당 페이지의 주변에 있는 페이지를 곧 참조한다는 것
  • 스레싱 : 프로세스를 수행하는 시간보다 페이지 부재가 더 많아 시스템 저하가 발생, 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.

18. 리눅스 Export

  • 변수 출력시 echo 사용
  • export가 매개변수 없이 사용될때는 현재 설정된 환경변수들이 출력됨
  • 사용자가 생성하는 변수들은 export하지않는한, 현재 쉘에 국한
  • 변수를 export하면 전역변수처럼 끝까지 기억

19. 포인터

a[2][2] = {{1,2}, {2,3}};

  • 이때 int *p = a[0]이라 하면, 포인터 변수에는 a의 0,0 데이터가 저장됨
  • (p) -> a[0][0]인데, (p + 1)하면, 여기서 자료형 만큼 이동한다(자료형 크기만큼 다음 인덱스로 이동).
    ※ 중요한 것은 별도로 *p = a[1][0] 이런식으로 특정 포인터 변수를 할당해주지 않는 이상, 최초 선언한 포인트에서 자료형 크기만큼 이동.
  • 따라서, p+1, p+2, p+3 -> 22, 44, 55가 되겠다.

20. 연산자 우선순위

단항/이항/삼항
증/(논!/비~)산/시/관(대소비교, ==, !=)/비/논/대

0순위 : ( )
1순위 : x++, x-- (단항, 증감)
2순위 : ++x, --x (단항, 증감), !(단항, 논리), ~(단항, 비트)
3순위 : , /, % (이항, 산술)
4순위 : +, - (이항, 산술)
5순위 : <<, >> (이항, 시프트)
6순위 : <, >, <=, >= (이항, 관계)
7순위 : ==, != (이항, 관계)
8순위 : & (이항, 비트)
9순위 : ^ (이항, 비트)
10순위 : | (이항, 비트)
11순위 : && (이항, 논리)
12순위 : || (이항, 논리)
13순위 : ? : (삼항, 삼항)
14순위 : =, +=, -=, =, ..(대입, 대입)

21. SSH

  • Secure Shell
  • 22번
  • 전송데이터 암호화, 키를 통한 인증은 공개키를 서버에 등록
  • 서로 연결한 컴퓨터간 원격접속 및 쉘 서비스 등 수행

22. 라우팅 프로토콜

  • RIP(Rotuing information protocol) : 거리벡터, 라우팅테이블, 벨만포드, 최대홉수 15개, UDP 520번 포트
  • OSPF(Open shortest path first) : 규모가 크고 복잡한 TCP/IP 네트워크에서, RIP단점 개선, 링크상태알고리즘, 최대홉수 제한없음, 다익스트라 알고리즘, 멀티캐스팅, 네트워크 변화에 신속하게 대처 가능
  • BGP(Broadcast Group Protocol) : AS에 경로정보 교환(순환피함), 변결 발생시 대상까지 짧은 경로의 경로벡터를 알고리즘을 통해 선정(TCP연결)

23. 소프트웨어 비용 추정 모델

  • 전문가 감정 기법 : 조직 내 경험이 많은 전문가에게 비용 산정 의뢰
  • 델파이 기법 : 전문가 감정의 주관적 감정을 배제하기 위해 많은 전문가 의견을 종합
  • LoC : 원시코드라인수를 기반으로, 원시코드라인의 비관치/낙관치/기대치를 측정하여 산정
  • COCOMO : Bohem이 제안, LoC에 의해 산정하는 기법(Organic, Semi-Detached, Embeded)

이 COCOMO에 Basic, Intermediate, Detailed, Putnam(Rayleigh-Norden 곡선 노력분포도), FP기법(기능점수, 가중치를 다르게 적용)

----일정 추정 모델

※ PERT : CPM(제약사항 고려없이 작업 나열)/CCPM(제약사항 고려)과 비교, Project Evaluation and Review Technique..일의 순서를 계획적으로 정리하기 위한 수렴기법(낙관치/중간치 등), 경험없는 프로젝트에 사용
※ 간트차트

24. 생명주기 모델

  • 기본, 지원, 공정
  • 기본 생명주기 : 획득, 개발, 유지보수, 운영, 공급
  • 지원 생명주기 : 품질보증, 검증, 확인, 활동검토, 문제해결
  • 공정 생명주기 : 관리, 기반 구조, 훈련, 개선 프로세스

0개의 댓글