정보처리기사 실기) 정보처리기사 실기 예상문제 (21~40)
* 이 글은 수제비 카페 Daily 문제를 참고로 작성됐습니다.
https://cafe.naver.com/soojebi
21. 다음은 자바 소스코드이다. 출력되는 결과를 쓰시오.
정답
11
20
해설
* JAVA 전위연산자/후위연산자
- ++a : 전위연산 > ++계산하고 a출력
- b-- : 후위연산 > b출력하고 --계산
22. 다음은 릴리즈 노트 작성 프로세스이다. 올바르게 나열하시오.
① 릴리즈 정보 확인 ② 릴리즈 노트 개요 작성
③ 모듈 식별 ④ 정식 릴리즈 노트 작성
⑤ 영향도 체크 ⑥ 추가 개선 항목 식별
정답 : ③ → ① → ② → ⑤ → ④ → ⑥
해설
* 릴리즈
- 개발이 완성된 소프트웨어를 출시, 배포하는 것
* 릴리즈 노트
- 배포 후 개발자는 사용자에게 해당 릴리즈의 정보를 알리기 위해 작성함
- 테스트를 거친 기능 및 서비스, 개선된 사항 등을 기록
- 조직의 최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서
- 개발팀에서 직접 작성, 현재 시제로 작성
* 릴리즈 노트 고려사항
- 중대한 오류가 발생하여 긴급하게 수정하는 경우 릴리즈 버전을 출시하고 버그 번호를 포함한 모든 수정된 내용을 담아 릴리즈 노트를 작성
- SW 기능 업그레이드를 완료한 경우 릴리즈 버전을 출시하고 릴리즈 노트를 작성
- 사용자로부터 접수된 요구사항에 의해 추가나 수정된 경우 자체 기능 향상과는 다른 별도의 릴리즈 버전으로 출시하고 릴리즈 노트 작성
23. 다음과 같은 특징을 갖는 데이터베이스 종류는 무엇인지 쓰시오.
• 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스이다.
• 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.
정답 : 계층형 데이터베이스 관리시스템(HDBMS; Hierarchical Database Management System)
해설
* 데이터베이스 종류
- 계층형 데이터베이스 관리시스템 (HDBMS; Hierarchical ~)
: 접근 속도는 빠른데 유연성은 떨어짐
- 망형 데이터베이스 관리시스템 (NDBMS; network~)
: 논리적으로 표현. 설계가 복잡함
-관계형 데이터베이스 관리시스템 (RDBMS; Relational~)
: 가장 보편화. 테이블과 상관관계 표현. 유연성 좋다(유지보수 용이)
24. 다음은 요구사항 개발 프로세스이다. 올바르게 나열하시오.
① 요구사항 분석(Analysis) ② 요구사항 확인(Validation) ③ 요구사항 명세(Specification) ④ 요구사항 도출(Elicitation)
정답 : 도출 > 분석 > 명세 > 확인
해설
* 요구사항 개발 프로세스
- 도출(요구사항 수집 단계)
: 이해 관계자 간의 의사소통 중요(인터뷰, 브레인스토밍)
- 분석(요구사항 분석 단계)
: 도출된 요구사항의 타당성 조사, 내용 정리
>> 요구사항 분류 : 특정한 기준으로 분류(기능, 비기능 우선순위)
>> 개념 모델링
: 분류된 요구사항을 단순화하여 개념적으로 표현, 객체간의 관계와 종석성 분석, 다양한 관점으로 표현, UML 사용
>> 요구사항 할당 : 요구사항을 만족시키기 위한 요소들을 할당
>> 요구사항 협상 : 충돌되는 요구사항 해결
>> 정형 분석 : 구문과 의미를 갖는 언어 이용, 수학적 기호
- 명세(요구사항 문서화 단계) : 승인을 위해 문서화 진행, 빠짐없이 명확하고 이해하기 쉽게 기록
- 확인 : 요구사항 검증 단계) : 명세서 검증, 형상관리 수행
>> 요구사항 검토 : 문서화된 요구사항을 훑어보면서 확인, 가장 일반적
>> 프로토타이핑
: 초기 도출된 요구사항을 토대로 프로토타입을 만든 후 대상 시스템의 개발이 진행되는 동안 도출되는 요구사항을 반영하면서 지속적으로 프로토타입을 재작성하는 과정
>> 모델 검증 : 요구사항 분석 단계에서 개발된 모델이 요구사항을 충족시키는지 검증하는 것
>> 인수 테스트 : 사용자가 실제로 사용할 환경에서 요구사항들이 모두 충족되는지 사용자 입장에서 확인하는 과정
25. 다음은 요구사항 확인 기법에 대한 설명이다. 알맞은 용어를 쓰시오.
• 새로운 요구사항을 도출하기 위한 수단 및 소프트웨어 요구사항에 대해 소프트웨어 엔지니어가 해석한 것을 확인하기 위한 수단으로 사용
• 요구사항이 잘못된 경우 유용한 피드백 제공, 사용자 인터페이스의 동적인 행위가 문서나 그래픽 모델보다 이해 용이
• 사용자가 요구한 주요 기능을 간단하게 구현하여, 사용자의 피드백을 통해 개선, 보완하여 완성 소프트웨어를 만들어가는 기법
정답 : 프로토타이핑
참고
* 프로토타입 VS 프로토타이핑
- 프로토타입 : 시제품 ( 시스템을 만들 때 간단한 기능 한 두개만 넣은 것 / 게임의 데모 버전 )
- 프로토타이핑 : 프로토타입을 만드는 방법 ( ~하는 방법, ~하는 과정 )
26. 다음에서 설명하는 EAI 구축 유형을 쓰시오.
• 그룹 내는 허브 앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용하는 통합 방식이다.
• 그룹 내 환경에 맞는 구성 및 작업이 가능하다.
정답 : 하이브리드(Hybrid)
해설
* EAI ( Enterprise Application Integration )
* 시스템 인터페이스를 위한 내부, 외부 모듈 연계 방법
- 특징 : 표준통합기술 / 데이터 병목현상 최소화(그룹 내 환경에 맞는 작업 가능)
- Point – to Point : 가장 기본적, 변경 재사용 어려움
- Hub & Spoke : 허브 시스템, 확장, 유지보수 용이
- Message Bus(ESB) : 미들웨어를 두고 처리, 뛰어난 확장성
- Hybrid : Hub & Spoke + ESB, 병목 현상 최소화
> ESB ( Enterprise Service Bus )
27. 다음은 연계 방식 중 간접 연계 방식의 기술에 대한 설명이다. 알맞은 기술을 쓰시오.
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
- 송수신 시스템에 설치되는 어댑터를 사용
정답 : 연계 솔루션(EAI)
해설
* EAI; Enterprise Application Integration
- 애플리케이션 통합
- 표준 : 벤더별 전송기술 상이
- 유지비용이 높다(시스템별로 개발)
- 단단한 결합
- 집중형으로 구현됨
- 기업 내 필요한 여러 애플리케이션 간에 상호 연동이 가능하도록 통합하는 솔루션
참고
EAI 방식 | ESB 방식 | |
구성도 | APP | ESB(BUS) |
개념 | 미들웨어(Hub)를 이용하여 Biz로직을 중심으로 기업 내 APP 통합 연계 | 미들웨어(BUS)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련 시스템의 유기적 연계 (SOA의 토대가 됨) |
특징 | - 단일 접점인 허브 시스템을 통해 시스템을 통합하는 중앙 집중식 방식 - HUB장애 시 전체 영향 |
- 각 시스템을 BUS를 통해 연결하므로 뛰어난 확장성, 유현성, 신속성 제공 - network에 의존적 |
* SOA(서비스 지향 아키텍처) : 느슨하게 결합된 서비스 기반 애플리케이션을 구현하기 위한 아키텍처 모델
* ESB
- 개발자가 서비스를 개발하고 적절한 API를 통해 서비스 간에 통신을 하는데 도움이 되는 인프라 스트럭처 소프트웨어
- SOA가 실현되는 플랫폼으로 사용될 수 있지만 ESB는 서비스가 흐르는 매체일 뿐이고 SOA의 구현과 서비스 구성 및 배치를 위한 기능을 제공
28. 다음 아래의 상항식 통합 테스트(Bottom Up Integration Test)의 절차를 순서대로 나열하시오.
① 각 통합된 클러스터 단위 테스트
② 각 클러스터들은 프로그램의 위쪽으로 결합되며, 드라이버는 실제 모듈 또는 컴포넌트로 대체
③ 모듈 또는 컴포넌트들이 하위 모듈의 기능을 수행하는 클러스터(Cluster)로 결합
④ 드라이버라는 제어 프로그램의 작성
정답 : ③ > ④ > ① > ②
29. 다음이 설명하는 용어를 쓰시오.
• 제품 소프트웨어 개발단계부터 적용한 기준이나 패키징 이후 설치 및 사용자 측면의 주요 내용 등을 기록한 문서이다.
• 사용자 중심의 기능 및 방법을 나타낸 설명서와 안내서를 의미한다.
• 설치 매뉴얼과 사용자 매뉴얼이 있다.
정답 : 제품 소프트웨어 매뉴얼
30. 다음은 데이터베이스 기본 연산이다. 빈칸에 들어갈 DML로 알맞은 것을 쓰시오.
CRUD 연산 | SQL DML |
읽기(READ) | ( ① ) |
생성(CREATE) | ( ② ) |
정답 : ① SELECT ② INSERT
해설
* 데이터베이스 기본 연산
CRUD 연산 / SQLCREATE / INSERTREAD / SELECTUPDATE / UPDATEDELETE / DELETE
31. 다음이 설명하는 테스트 레벨의 종류는 무엇인가?
- 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트하는 단계
- 인터페이스 테스트, 자료구조 테스트, 실행 경로 테스트, 오류 처리 테스트가 존재
정답 : 단위테스트
해설
* 테스트 레벨 : 한 번에 총체적으로 조직화하고 관리하는 테스트 활동의 묶음
- 단위 테스트, 통합테스트, 시스템 테스트, 인수 테스트
* 단위 테스트(Unit Test)
- 코딩 직후 SW 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 진행
- 사용자 요구사항을 기반으로 한 기능성 테스트 최우선
- 주로 구조기반(화이트박스 테스트) 시행
* 통합 테스트
- 시스템이나 시스템 구성 요소 또는 소프트웨어 프로그램의 데이터 및 기능의 인터페이스(흐름)가 정상적으로 작동하는지에 중점을 둠
- 단위 테스트를 통과한 개발 소프트웨어/하드웨어 컴포넌트 간 인터페이스 및 연동 기능 등을 구조적으로 접근하여 테스트
>> 빅뱅 통합 테스트 : 모든 모듈을 한꺼번에 통합하고 결합 격리가 어려움
>> 상향식 통합 : 가장 하부의 모듈부터 통합해가면서 상부로 올라감, 드라이브가 필요
>> 하향식 통합 : 가장 상부의 모듈부터 통합해가면서 하부로 내려감, 스텁 필요
>> 백본 통합 : 소프트웨어 리스크가 높은 것을 우선적으로 통합하고 접근, 드라이버, 스텁은 필요에 따라 만들어서 사용
* 시스템 테스트
- 실제 환경과 가능한 유사한 환경에서 진행
- 기능적 요구사항(명세기반 기법), 비기능적 요구사항(구조기반 기법)
- 개발 조직과는 독립된 테스트 조직에서 수행되어야 하며 사전 요구사항이 명확해야 한다
- 단위, 통합 테스트가 가능한 완벽히 완료되어 가능상에 문제가 없는 상태여야 한다
32. 다음이 설명하는 용어를 쓰시오.
• 모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도이다.
• 정보은닉 개념의 확장개념으로, 하나의 모듈은 하나의 기능을 수행하는 것을 의미한다.
• 유형으로는 우연적, 논리적, 시간적, ..., 기능적 ( )이/가 있다.
정답 : 응집도
해설
* 모듈화의 목표
- 모듈내 응집도 최대화
- 모듈간 결합도 최소화
* 응집도 순서 (낮음 > 높음)
- 우연 > 논리 > 시간 > 절차 > 통신 > 순차 > 기능적
* 결합도 : 모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계
* 응집도 : 모듈 내부의 처리 요소들 간의 기능적 연관도 독립적인 기능으로 정의
33. 다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.
정답 : A
34. 다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.
정답
1
14
22
35. OSI 7계층의 4계층에 해당하는 전송 계층의 전송단위를 지칭하는 용어는 무엇인가?
정답 : 세그먼트
해설
* OSI 7계층 전송단위
- 1계층 물리계층 : 비트
- 2계층 데이터링크계층 : 프레임
- 3계층 네트워크계층 : 패킷
- 4계층 전송계층 : 세그먼트
- 5계층 이후 : 데이터
36. 다음이 설명하는 시큐어 코딩 가이드의 보안 약점에 대해서 쓰시오.
- 프로그램 입력값에 대한 검증 누락, 부적절한 검증, 잘못된 형식 지정을 통해 발생한다.
- 사용자, 프로그램 입력 데이터에 대한 유효성 검증 체계를 수립하고 실패 시 처리 설계 및 구현을 통해 대응한다.
정답 : 입력 데이터 검증 및 표현
해설
37. 다음이 설명하는 라우팅 프로토콜은 무엇인가?
• 최초의 라우팅 프로토콜
• 거리 벡터 알고리즘 활용
• 30초 주기로 전체 라우팅 정보 갱신
• 변화 업데이트 시 많은 시간 소요
• 라우팅 루프 발생 가능
정답 : RIP
38. 다음이 설명하는 네트워크 장비는 무엇인가?
• 프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치
• LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할
정답 : 게이트웨이
39. 다음이 설명하는 패키징 도구 암호화 기술은 무엇인가?
• 공개키 암호 방식 기반으로 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자, 정책 및 제도 등을 총칭하는 암호기술
• 공개키 알고리즘을 통한 암호화 및 전자서명을 제공하기 위한 복합적인 보안 시스템 환경
• 암호화와 복호화키로 구성된 공개키를 이용해 송수신 데이터를 암호화하고 디지털 인증서를 통해 사용자를 인증하는 시스템
정답 : 공개키 기반 구조(PKI)
해설
* PKI ( Public Key Infrastructure )
40. 다음은 C언어 코드이다. 출력 결과를 쓰시오.
정답
0
1
해설
참 거짓 판단 후 출력
참 - 1 / 거짓 - 0