정보처리기사 필기 기출문제 정리(소프트웨어 설계, 소프트웨어 개발)
정보처리기사 2020년 06월 06일 기출문제를 정답 및 해설
1과목 : 소프트웨어 설계
- 검토회의 전에 요구사항 명세서를 미리 배포하여 사전 검토 한 후 짧은 검토 회의를 통해 오류를 조기에 검출하는데 목 적을 두는 요구 사항 검토 방법은?
① 빌드 검증 ② 동료 검토
❸ 워크 스루 ④ 개발자 검토
요구사항 검증
- 실제로 고객이 원하는 시스템을 제대로 정의했는지 점검하는 과정이다.
- 시스템 개발 완료 후 문제 발생 시 막대한 재작업 비용이 발생하기에 검증이 중요하다.
동료 검토란? 작성자가 내용 설명 후 동료들이 결함을 검토하는것이다.
인스펙션이란? 작성자를 제외한 다른 전문가들이 결함을 검토하는 것이다.
- 코드 설계에서 일정한 일련번호를 부여하는 방식의 코드는?
① 연상 코드 ② 블록 코드 ❸ 순차 코드 ④ 표의 숫자 코드
순차 코드란? 최초의 자료부터 차례로 일련번호를 부여하는 방식을 말한다. Ex) 1,2,3,4 …
연상 코드란? 관계가 있는 숫자, 문자, 기호를 사용하여 코드를 부여하는것을 말한다. Ex) A-05-15: 애플 5월 15일 제조
블록 코드란? 공통적인 블록으로 먼저 구분 후 각 블록 내 일련변호를 부여하는 것이다. Ex) 101~ 150 대학생 / 151 ~ 200 대학원생
표의 숫자 코드란? 물리적 수치를 그대로 코드에 적용한것을 말한다. 길이, 넓이, 부피 등. Ex) 160-85-120 : 길이/폭/높이 서랍장
- 객체지향 프로그램에서 데이터를 추상화하는 단위는?
① 메소드 ❷ 클래스 ③ 상속성 ④ 메시지
객체? 고유 식별자 이며 하나의 독립된 존재이다.
클래스? 공통 속성과 연산(행위)를 갖는 객체들의 집합이며 데이터 추상화 단위이다.
상속? 상위 클래스에서 속성과 연산을 하위 클래스가 물려받는것이다.
캡슐화? 데이터와 데이터 처리 함수를 하나로 몪는다.
다형성? 하나의 메시지에 각 객체 별 고유 특성에 따라 여러 형태의 응답을 말한다.
- 데이터 흐름도(DFD)의 구성요소에 포함되지 않는 것은?
① process② data flow
③ data store ❹ data dictionary
데이터 흐름도의 구성요소는 프로세스(process), 자료 흐름(flow), 자료 저장소(store), 단말(Terminator) 이다. 구조적 분석 기법에 이용하고 시간 흐름을 명확하게 표현할수 없다.
- 소프트웨어 설계시 구축된 플랫폼의 성능특성 분석에 사용되 는 측정 항목이 아닌 것은?
① 응답시간(Response Time) ② 가용성(Availability) ③ 사용률(Utilization) ❹ 서버 튜닝(Server Tuning)
성능특성 분석에 사용되는 측정 항목으로는 응답시간, 가용성, 사용률 등이 있다.
- UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하 는 기호로 맞는 것은?
❶ 《 》 ② (( )) ③ {{ }}④ [[ ]]
스테레오 타입 객체를 표현할 때 모델 요소에 "《 》" 를 사용한다. 모델 요소에 추가적인 의미를 부여할 때 사용한다.
- GoF(Gang of Four)의 디자인 패턴에서 행위 패턴에 속하는 것은?
① Builder ❷ Visitor
③ Prototype④ Bridge
디자인 패턴중 행위 패턴
- Chain of Responsibility : 한 객체 내 처리 불가 시 다음 객체로 이관
- Command : 요청 명령어들을 추상/구체 클래스로 분리 후 단순화
- Interpreter : 언어에 문법 표현 정의
- Iterator : 동일 인터페이스 사용
- Mediator : 객체들간 복잡한 상호작용을 캡슐화하여 객체로 정의
- Memento : 객체를 특정 시점의 상태로 돌릴 수 있는 기능 제공
- Observer : 한 객체 상태 변화 시 상속되어 있는 객체들에 변화 전달
- State : 객체의 상태에 따라 동일 동작 다르게 처리
- Strategy : 동일 계열 알고리즘을 개별적으로 캡슐화하여 상호 교환
- Template Method : 서브클래스 내 공통 내용을 상위 클래스에 정의
- Visitor : 처리 기능을 분리하여 별도의 클래스로 구성
분리된 처리 기능은 각 클래스를 방문하여 수행
- 자료 사전에서 자료의 생략을 의미하는 기호는?
① { } ③ = ② ** ❹ ( )
= 정의, [] 택일 / 선택, + 구성, () 생략, ** 설명 / 주석, {} 반복
- 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제 어하는 미들웨어는?
① RPC ② ORB ❸ TP monitor ④ HUB
RPC란 ? Remote Procedure Call 원격 프로시저를 로컬 프로시저처럼 호출하는것이다.
ORB 란? Object Request Broker 객체 지향 ,코바 표준 스펙 구현, 네트워크 호출
TP Monitor 란? 온라인 업무 처리에 주로 사용한다. 항공기,철도 예약등. 빠른 응답 속도가 필요할시 트랜잭션 처리를 감시/ 제어 한다.
- UI 설계 원칙에서 누구나 쉽게 이해하고 사용할 수 있어야 한다는 것은?
① 유효성 ❷ 직관성
③ 무결성 ④ 유연성
유효성? 사용자 요구를 정확히 충족시키는지, 즉 올바른 기능을 제공하고 이를 효과적으로 수행하는지를 의미한다.
무결성? 시승템의 안정성과 신뢰성을 보장하며, 오루가 없고 일관성이 유지되는 상태를 의미한다.
유연성? 다양한 사용자 요구와 사용 환경에 유연하게 대응할 수 있는 능력을 의미한다.
- XP(eXtreme Programming)의 5가지 가치로 거리가 먼 것 은?
① 용기 ② 의사소통
❸ 정형분석 ④ 피드백
익스트림 프로그래밍? 고객의 요구사항을 유연하게 대응하기 위해 고객 참여와 신속한 개발 과정을 반복하는것을 말한다. 핵심 가치 5가지는 용기, 단순성, 의사소통, 피드백, 존중이다.
- UML 모델에서 사용하는 Structural Diagram 에 속하지 않 은 것은?
① Class Diagram ② Object Diagram
③ Component Diagram ❹ Activity Diagram
구조,정적 다이어그램에는 클래스, 객체, 컴포넌트, 배치, 복합체, 패키지 가 있다. 클객컴배복패
- 소프트웨어 개발 방법 중 요구사항 분석(requirements annalysis)과 거리가 먼 것은?
① 비용과 일정에 대한 제약설정 ② 타당성 조사
③ 요구사항 정의 문서화 ❹ 설계 명세서 작성
요구사항 개발 프로세스 순서
- 도출/ 추출 : 이해관계자들이 모여 요구사항 정의 Ex) 인터뷰, 설문, 브레인스토밍, 청취, 프로토타이핑, 유스케이스.
- 분석 : 사용자 요구사항에 타당성 조사/ 비용 및 일정에 대한 제약 설정 Ex) 관찰, 개념 모델링, 정형 분석, 요구사항 정의 문서화
- 명세 : 요구사항 체계적 분석 후 승인가능하도록 문서화
- 확인/검증 : 요구사항 명세서가 정확하고 완전하게 작성되었는지 검토
- 럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나 열한 것은?
❶ 객체 모형→동적 모형→기능 모형
② 객체 모형→기능 모형→동적 모형
③ 기능 모형→동적 모형→객체 모형
④ 기능 모형→객체 모형→동적 모형
- 공통 모듈에 대한 명세 기법 중 해당 기능에 대해 일관되게 이해하고 한 가지로 해석될 수 있도록 작성하는 원칙은?
① 상호작용성 ❷ 명확성
③ 독립성 ④ 내용성
- 객체지향 기법에서 클래스들 사이의 ‘부분-전체
(part-whole)' 관계 또는 ’부분(is-a-part-of)'의 관계로 설 명되는 연관성을 나타내는 용어는?
① 일반화 ② 추상화
③ 캡슐화 ❹ 집단화
일반화 ? 상위 클래스와 하위 클래스 간의 is-a 관계를 나타낸다.
추상화? 객체의 중요한 특성만들 모델링하곡 불필요한 세부 사항을 생략하는 기법.
캡슐화? 데이터와 메서드를 하나로 묶고, 외부로부터 데이터를 보호하는 기법.
- CASE가 갖고 있는 주요 기능이 아닌 것은?
① 그래픽 지원 ② 소프트웨어 생명주기 전 단계의 연결 ❸ 언어번역 ④ 다양한 소프트웨어 개발 모형 지원
CASE(Computer-Aided Software Engineering) 소프트웨어 개발 시 요구분석/설계/구현/검사 과정을 자동화 해주는 작업을 말한다.
지원기능 : SW 생명 주기 전체 단계를 연결 / 자동화 통합 도구 제공 /
그래픽 기능 제공 (문서화, 명세화 도움) / 자료 흐름도 작성
모델의 오류 검증 / 모델 간 모순검사 / 원시코드 생성
- DBMS 분석시 고려사항으로 거리가 먼 것은?
① 가용성 ② 성능
❸ 네트워크 구성도 ④ 상호 호환성
분석 시 고려사항 : 가용성 (무결성) / 성능 (효율성) / 상호 호환성 (일관성)/
기술지원 / 회복 / 보안 / 데이터베이스 확장 / 구축 비용
- HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
❶ 상향식 소프트웨어 개발을 위한 문서화 도구이다.
② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
④ 보기 쉽고 이해하기 쉽다.
하향식 설계 방식 이며 가시적, 총체적, 세부적 다이어그램으로 구성 기능과 자료의 의존 관계를 동시에 표현한다. 이해가 쉽고 유지보수가 간단하다.
2과목 : 소프트웨어 개발
- 객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체 의 행위를 모델링하며, 객체식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 것 은?
❶ Coad와 Yourdon 방법 ② Booch 방법
③ Jacobson 방법 ④ Wirfs-Brocks 방법
Booch (부치) : 미시적, 거시적 개발 프로세스를 모두 사용 (클래스/객체 분석 및 식별)
Jacobson (제이콥슨) : Use case를 사용 (사용자, 외부 시스템이 시스템과 상호작용)
Coad-Yourdon : E-R 다이어그램 사용 / 객체의 행위 모델링
Wirfs-Brock : 분석과 설계 구분 없으며 고객 명세서 평가 후 설계 작업까지 연속 수행
- 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?
① 선택정렬 ② 삽입정렬 ③ 버블정렬 ❹ 합병정렬
O(1) /해시 함수 / 자료 크기 무관 일정한 속도
O(log₂N) /이진 탐색 / 로그형 복잡도
O(n) / 순차 탐색 / 선형 복잡도 : 입력 자료를 하나씩 처리 (정비례)
O(N log₂N) /퀵 / 힙 / 합병(병합)정렬 / 선형 로그형 복잡도
O(N²) / 선택 / 버블 / 삽입정렬 / 대부분의 경우 퀵/합병 보다 복잡도가 큼 N² > N log₂N (N > 2)
- White Box Testing 에 대한 설명으로 옳지 않은 것은?
❶ Base Path Testing, Boundary Value Analysis가 대표적
인 기법이다.
② Source Code 의 모든 문장을 한번 이상 수행함으로서
진행된다.
③ 모듈 안의 작동을 직접 관찰 할 수 있다.
④ 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따 라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로 를 점검한다.
화이트박스 테스트란? 모듈 안의 내용과 작동을 직접 볼 수 있으며, 내부의 논리적인 모든 경로를 테스트한다. 소스 코드의 모든 문장을 한 번 이상 수행하고, 논리적 경로를 점검한다.
- 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?
① 정확성 ② 무결성
③ 사용성 ❹ 간결성
개발자 관점에서 품질 측정을 위해 고려해야하는것은 정확성, 무결성, 사용성이다.
- 인터페이스 구현 검증도구 중 아래에서 설명하는 것은?
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고 통합하여 자동화하는 검증 도구
① xUnit ❷ STAF ③ FitNesse ④ RubyNode
xUnit 란 ? Java, C++, Net 등 다양한 언어 지원하는 단위 테스트 프레임워크
STAF 란? 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원
Fitness 란? 웹 기반 테스트케이스 설계/실행/결과 확인 지원
NTAF란? STAF의 재사용 및 확성정 + Fitness의 협업 기능 통합
Selenium란? 다양한 브라우저 및 개발 언어를 지원하는 웹 어플리케이션 테스트
- EAI(Enterprise Application Integration)의 구축 유형으로 옳
지 않은 것은?
① Point-to-Point ② Hub&Spoke
③ Message Bus ❹ Tree
EAI 란 기업 내 각종 앱/ 플랫폼 간 정보 전달/연계/통합 등 상호작용 연동하는 모듈 연계 방식을 말한다.
구축 유형
- Point to Point : 데이터 간 포인트-포인트 개별 연결 / 변경 및 재사용 어려움
- Hub & Spoke : 중앙(Hub) 시스템을 통한 데이터 전송 → 중앙 집중형 방식 확장/유지보수 유리하나, 중앙 허브 장애 발생 시 전체 시스템 영향
- Message Bus : 앱 사이에 미들웨어를 두고 처리 / 확장성 및 대용량 처리 가능
- Hybrid : Hub & Spoke와 Message bus의 혼합형 → 데이터 병목 현상 최소
- 다음 트리를 전위 순회(preorder traversal)한 결과는?

① +AB/CDE ② AB/CDE+ ③ A/BCD+E ❹ +**/ABCDE
전위 순회 방식
- 루트 노드 방문
- 왼쪽 서브트리 전위 순회
- 오른쪽 서브트리 전위 순회
- 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는
솔루션과 거리가 먼 것은?
① IPSec ❷ SMTP ③ SSL ④ S-HTTP
인터페이스 보안을 위한 네트워크 영역에 적용될 수있는 솔루션
- IPSec : 네트워크 계층에서 데이터를 보호하기 위한 프로토콜 모음.
- SSL : Secure Socket Layer 공개키 암호화와 대칭 키 암호화를 조합해 보안 연결을 설정.
- S-HTTP : HTTP 에 보안 기능을 추가하여 데이터를 안전하게 전송하기 위해 설계된 프로토콜이다.
- 평가 점수에 따른 성적부여는 다음 표와 같다. 이를 구현한
소프트웨어를 경계값 분석 기법으로 테스트 하고자 할 때
다음 중 테스트 케이스의 입력 값으로 옳지 않은 것은?

① 59 ② 80 ❸ 90 ④ 101
A,B,C 로 나뉘는 경계와 벗어난 범위를 테스트 해야한다.
- 반정규화(Denormalization) 유형중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
❶ 빌드 테이블의 추가
② 집계 테이블의 추가
③ 진행 테이블의 추가
④ 특정 부분만을 포함하는 테이블의 추가
- ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성 (Functionlity)의 하위 특성으로 옳지 않은 것은?
❶ 학습성 ② 적합성
③ 정확성 ④ 보안성
- 다음 트리의 차수(degree)와 단말 노드(terminal node)의 수 는?

① 차수: 4, 단말 노드: 4 ❷ 차수: 2, 단말 노드: 4
③ 차수: 4, 단말 노드: 8 ④ 차수: 2, 단말 노드: 8
- 차수(Degree):노드의 차수: 특정 노드가 가진 자식 노드의 수.트리의 차수: 트리에서 가장 큰 차수를 가진 노드의 차수.
- 단말 노드(Leaf Node):자식 노드가 없는 노드를 의미합니다.
- 디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은?
① 크랙 방지 기술 ② 정책 관리 기술
③ 암호화 기술 ❹ 방화벽 기술
기술 요소 : 암호화 / 키 관리 / 식별 기술 / 저작권 표현 / 암호화 파일 생성
정책 관리 / 크랙 방지 / 인증
- 소프트 웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?
① Brooks의 법칙 ② Boehm의 법칙
❸ Pareto의 법칙 ④ Jackson의 법칙
결함 집중 : 파레토(Pareto) 법칙 - 20%의 모듈에서 전체 결함 80% 발생
Brooks의 법칙 : 지연되는 프로젝트에 인력 추가 투입 시 더 지연
- 소프트웨어 형상 관리의 의미로 적절한 것은? ① 비용에 관한 사항을 효율적으로 관리하는 것 ❷ 개발 과정의 변경 사항을 관리하는 것
③ 테스트 과정에서 소프트웨어를 통합하는 것 ④ 개발 인력을 관리하는 것
개발 과정에서 SW 변경사항을 관리하기 위한 일련의 활동 / 개발 전체 단계 적용
중요성: 변경사항 추적/통제, 무절제한 변경 방지, 개발 진행 이력 확인
형상 관리 역할: 배포본 관리 용이 / 불필요한 소스 수정 제한 / 여러 개발자 동시 개발
- 알고리즘 시간복잡도 O(1)이 의미하는 것은?
① 컴퓨터 처리가 불가 ② 알고리즘 입력 데이터 수가 한 개
❸ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정 ④ 알고리즘 길이가 입력 데이터보다 작음
O(1) /해시 함수 / 자료 크기 무관 일정한 속도
O(log₂N) /이진 탐색 / 로그형 복잡도
O(n) / 순차 탐색 / 선형 복잡도 : 입력 자료를 하나씩 처리 (정비례)
O(N log₂N) /퀵 / 힙 / 합병(병합)정렬 / 선형 로그형 복잡도
O(N²) / 선택 / 버블 / 삽입정렬 / 대부분의 경우 퀵/합병 보다 복잡도가 큼 N² > N log₂N (N > 2)
- 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?
① pmd ② cppcheck ❸ valMeter ④ checkstyle
pmd 코드 결함 확인.
cppcheck C++ 정적분석 도구
ceckstyle Java 정적 분석 도구
동적 분석 도구 : Valance, Valgrind, Avalanche
- 검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞 에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자 와 개발자가 함께 확인하면서 수행되는 검사는?
① 동치 분할 검사 ② 형상 검사
❸ 알파 검사 ④ 베타 검사
- 알파 테스트 : 통제된 환경에서 사용자가 개발자와 함께 확인
- 베타 테스트 : 통제되지 않은 환경에서 개발자 없이 여러 명의 사용자가 검증
- 하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적 으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈 을 무엇이라고 하는가?
❶ Stub ② Driver ③ Procedure ④ Function
하향식: 상위 모듈에서 하위 모듈 방향으로 통합. 깊이 우선 통합법, 넓이 우선 통합법 사용. 초기부터 사용자에게 시스템 구조를 보여준다.
Stub : 모듈의 기능을 단순히 수행하는 도구. 시험용 모듈이다.
상향식 : 하위 모듈에서 상위 모듈 방향으로 통합한다. 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터와 드라이버를 사용한다.
- SW 패키징 도구 활용 시 고려 사항과 거리가 먼 것은?
① 패키징 시 사용자에게 배포되는 SW이므로 보안을 고려 한다.
② 사용자 편의성을 위한 복합성 및 비효율성 문제를 고려 한다.
❸ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다. ④ 제품 SW 종류에 적합한 암호화 알고리즘을 적용한다.
보안을 고려해야하고, 사용자의 편의성, 암호화 알고리즘 적용, 다양한 이기종 연동을 고려해야한다.
- 외계인코드(Alien Code)에 대한 설명으로 옳은 것은?
① 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램 을 의미한다.
❷ 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 의미한다.
③ 오류가 없어 디버깅 과정이 필요 없는 프로그램을 의미 한다.
④ 사용자가 직접 작성한 프로그램을 의미한다.
외계인 코드란? 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 말한다.