정보처리기사

정보처리기사 2022년 2회 필기 기출 정리

MoveForward 2023. 4. 15. 16:13

소프트웨어 설계

1. UML 다이어그램 - 순차 다이어그램

UML 다이어그램 종류

* 구조적(Structural) 다이어그램 종류 ; 정적 모델링에서 주요 사용

- 클래스 다이어그램

- 객체 다이어그램

- 컴포넌트 다이어그램

- 배치 다이어그램

- 복합체 구조 다이어그램

- 패키지 다이어그램

 

* 행위(Behavioral) 다이어그램 종류 ; 동적 모델링에서 주로 사용

- 유스케이스 다이어그램

- 시퀀스 다이어그램 ; 상호작용 하는 시스템이나 객체들이 주고받는 메시지를 표현한다.

- 커뮤니케이션 다이어그램

- 상태 다이어그램

- 활동 다이어그램

- 상호작용 개요 다이어그램

- 타이밍 다이어그램


12. 객체지향 기법

 

속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념

A) 캡슐화(Encapsulation)

 

* 캡슐화(Encapsulation) ; 자료 부분과 연산(또는 함수) 부분 등 정보처리에 필요한 기능을 한 테두리로 묶는 것

 

* 정보 은닉(Information Hiding) ; 객체가 다른 객체로부터 자신의 자료를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것

 

* 추상화(Abstraction) ; 주어진 문제나 시스템 중에서 중요하고 관계있는 부분만을 분리하여 간결하고 이해하기 쉽게 만드는 것

 

* 상속(Inheritance) ; 상위 클래스의 속성과 메서드를 하위 클래스가 물려받는 것

 

* 다형성(Polymorphism) ; 많은 상이한 클래스들이 동일한 메서드명을 이용하는 능력


15. GoF 디자인 패턴

Gang of Four Design Pattern

; 4명의 컴퓨터 공학자[1]에 의해 3개 분류 23가지로 정리된 소프트웨어 디자인 패턴

 

생성 패턴 (Creation)

- Abstract Factory (추상 팩토리)

- Builber (빌더)

- Factory Method (팩토리 메소드)

- Prototype (프로토타입)

- Singleton (싱글톤)

 

구조 패턴 (Structural)

- Adapter (어댑터)

- Bridge (브릿지)

- Proxy (프록시)

...

 

행동 패턴 (Behavioral)

- Command (커맨드)

- Observer (옵서버)

- State (상태)

- Strategy (전략)

...


17. UI의 종류

 

* CLI(Command Line Interface) : 명령과 출력이 텍스트 형태로 이루어지는 인터페이스
* GUI(Graphic User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 인터페이스
* NUI(Natural User Interface) : 말이나 행동으로 조작하는 인터페이스

 


소프트웨어 개발

 

22. 이진 검색 방법 (Binary Search)

 

Key : 14

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ,13, 14, 15]

 

page 1 : [9, 10, 11, 12 ,13, 14, 15]

중앙값 = 8 , 8<14 이므로, 오른쪽 탐색

 

page 2 : [13, 14, 15]

중앙값 = 12 , 12<14 이므로, 오른쪽 탐색

 

page 3 : [14]

중앙값 = 14 , 14==14 이므로, 키 값 발견!


23. 소프트웨어 공학 워크스루(Walk Through)

소프트웨어 검증 & 확인 중 검증 과정 : 워크스루

; 개발 멤버가 집단 토의에 따라 논리적인 오류 발견

 

소프트웨어 검증 방법

1. 워크스루(Walk Through)

2. 인스펙션(Inspection) ; 개발 과정상의 결과물을 검토하여 결함을 발견

3. 동료 검토(Buddy Checks) ; 개발 당사자 주변의 동료가 상호적으로 문서 및 코드를 점검


25. 테스트 케이스 와 관련한 설명

 

테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.

=> 테스트 목적 및 테스트 방법을 포함하는 테스트 계획서 작성 후, 테스트 케이스를 작성한다.

② 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
③ 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
④ 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.

 

테스트 케이스 : 사용자의 요구사항을 얼마나 준수하는지 확인하기 위한 입력값, 실행 조건, 기대 결과 등으로 만들어진 테스트 항목의 명세서

테스트 시나리오 : 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스 들을 묶은 집합으로, 테스트 케이스 들을 적용하는 구체적인 절차를 명세한 문서

테스트 오라클 : 테스트 결과가 올바른지 판단하기 위해 사전에 정의도니 참 값을 대입하여 비교하는 기법 및 활동

 


27. DMR (디지털 저작권 관리)


① 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
② 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 있다.
③ 클리어링 하우스(Clearing House)는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스템을 말한다.
④ 원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다.

=> 보안 컨테이너(Security Container) : 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치


28. 위험 모니터링의 의미로 옳은 것은?


① 위험을 이해하는 것
② 첫 번째 조치로 위험을 피할 수 있도록 하는 것
③ 위험 발생 후 즉시 조치하는 것
④ 위험 요소 징후들에 대하여 계속적으로 인지하는 것


29. 동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?


① RCS(Revision Control System) ; 형상이 로컬에서 관리되는 초기 형태의 버전 관리 시스템
② RTS(Reliable Transfer Service)
③ RPC(Remote Procedure Call)
④ RVS(Relative Version System)

 


40. 다음 중 단위 테스트 도구로 사용될 수 없는 것은?


① CppUnit -> C++ 단위 테스트
② JUnit -> JAVA 단위 테스트
③ HttpUnit -> 웹 브라우저 없이 웹 사이트 테스트를 수행하는 데 사용되는 오픈 소스 소프트웨어 테스트 프레임워크
④ IgpUnit -> 존재 X


데이터베이스 구축

 

51. 트랜잭션의 상태 중 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태는?


① Active

② Partially Committed
③ Committed
④ Aborted


58. 무결성 제약조건

 

개체 무결성 : 기본키는 널, 중복값 X

참조 무결성 : 외래키는 널 또는 참조키와 동일

도메인 무결성 : 애트리뷰트는 도메인에 속한 값

고유 무결성 : 각 튜플의 애트리뷰트는 서로 다름

널 무결성 : 특정 애트리뷰트의 값은 널이 될 수 없음

키 무결성 : 각 릴레이션은 최초 하나의 키가 존재


59. 릴레이션 표현

 

* 튜플 ; Tuple ; 릴레이션을 구성하는 각 행을 의미 ; 파일 구조에서 레코드

튜플의 수 == 카디널리티

* 속성 ; Attribute ; 릴레이션을 구성하는 각 열 ; 파일 구조의 데이터 필드

속성의 수 == 디그리


프로그래밍 언어 활용

64. IP 프로토콜에서 사용하는 필드와 해당 필드에 대한 설명으로 틀린 것은?
① Header Length는 IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시한다.
② Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 23^2-1비트이다.

=> 패킷 길이는 헤더 포함
③ Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
④ Version Number는 IP 프로토콜의 버전번호를 나타낸다.

 

 

* 최소 작업 우선(SJF) 기법의 약점을 보완한 비선점 스케줄링 기법으로 다음과 같은 식을 이용해 우선순위를 판별한다.

=> HRN 스케쥴링

 

 

* Page Replacement Algorithm
FIFO(First In First Out)
가장 먼저 들어와서 가장 오래 있었던 페이지를 교체
LRU(Least Recently Used)
최근에 적게 사용된 페이지를 교체
NUR(Not Used Recently)
SCR(Second Chance Replacement)라고도 한다.
LRU의 개선 기법
참조 비트와 변형 비트를 이용하여 두번 연속 사용되지 않을 경우 삭제
OPT(OPTimal Replacement, Belady's Algorithm)
가장 오랫동안 사용하지 않을 페이지를 교체하는 기법('최적'을 상정하는 가상의 이론적 기법)
LFU(Least Frequency Used)
가장 빈번하지 않게 사용된 페이지를 교체한다.
MFU(Most Frequency Used)
가장 빈번하게 사용된 페이지를 교체
구역성(Locality)에 반하는 것으로, 거의 사용되지 않는다.


정보시스템 구축관리

83. 기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10㎝ 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접무선통신(NFC : Near Field Communication) 기술은?

=> 애플페이를 가져다 대니까 Zing(징)하는 진동소리와 함께 결제가 됐다.


98. 시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?
- 자신의 신원(Identity)을 시스템에 증명하는 과정이다.
- 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.


① Aging
② Accounting
③ Authorization
④ Authentication

 

Authentication(인증) - 증명(입력) 하는 과정.
Authorization(허가) - 입력된 데이터를 토대로 권한부여. Authentication 과정 이후 일어남