정보처리기사

2020년도 9월 정보처리기사 기출 분석 2과목 : 소프트웨어설계

배채 2025. 1. 22. 17:29

2과목 소프트웨어 개발


21. 소프트웨어패키징 도구 활용 시 고려 사항으로 틀린 것은?

->보안을 위하여 이기종 연동을 고려하지 않아도 된다.

 

이기종 연동은 다양한 플랫폼 및 시스템 간의 상호작용을 위한 필수 조건이다. 보안을 우선시 하여 이기종 연동을 고려하지 않는 것은 오히려 보안을 약화시킬 수 있다. 이기종 연동을 무시한다면 특정 플랫폼에서의 보안 취약점이 다른 시스템으로 확산될 위험이 있다.


22. EAI구축유형 중 Hybrid에 대한 설명으로 틀린 것은?

->중간에 미들웨어를 두지 않고 각 애플리케이션을 point to point루 연결한다.

 

EAI(Enterprise Application Integration) 구축유형은 기업의 다양한 응용 프로그램을 연결하여 정보의 흐름을 개선하는 데 중점을 둔다.

 

 Hybrid 방식에서는 미들웨어를 활용해 여러 애플리케이션을 연결하는 것이 일반적이다. 따라서 각 애플리케이션을 포인트 투 포인트 방식으로 연결하는 것은 Hybrid의 특징과 대치되는 설명이다. 포인트 투 포인트 연결은 단순하지만 확장성과 유연성이 떨어지기 때문에 대부분의 통합 솔루션에서는 미들웨어를 사용한다.

 

 

Hub & Spoke와 Message Bus의 혼합방식이다.
Hub-Spoke 아키텍처와 Message Bus 아키텍처의 조합으로, 중앙 집합 구조와 분산 구조의 장점을 결합하여 시스템간의 연결성을 높인다.


필요한 경우 한 가지 방식으로 EAI 구현이 가능하다.
Hybrid는 다양한 접근 방식을 혼합할 수 있기 때문에 상황에 따라 필요에 맞는 방법을 선택하여 유연하게 구현 가능하다.


데이터 병목현상을 최소화할 수 있다.
적절한 미들웨어를 활용하면 데이터 처리의 경로를 최적화 할 수 있어 병목현상을 줄이는 데 도움이 된다.

 


23. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?

-> valance

 

pmd 는 코드에서 유지보수 불량과 오류를 찾아내는 정적 분석 도구이다.
checkstyle 은 Java 소스 코드의 스타일을 검증하는 정적 분석 도구로, 코드 품질을 향상시키기 위한 규칙을 적용한다.

cppcheck 는 C/C++ 코드의 오류를 찾아내기 위해 사용되는 정적 분석 도구로, 메모리 누수와 같은 문제를 탐지한다.


24. 다음 Postfix연산식에 대한 연산결과로 옳은 것은?

->42

Postfix 연산식은 후위 표기법으로 작성된 수식을 의미하며, 여기서 순서를 반대로 처리하여 계산한다.

 

단계별 계산
스택 초기화: 빈 스택
첫 번째 숫자(3) 푸시: 스택 상태: [3]
두 번째 숫자(4) 푸시: 스택 상태: [3, 4]
연산자(*):
4와 3을 팝하여 곱하기:3×4=12
3×4=12결과 12를 스택에 푸시: 스택 상태: [12]
세 번째 숫자(5) 푸시: 스택 상태: [12, 5]
네 번째 숫자(6) 푸시: 스택 상태: [12, 5, 6]
연산자(*):
6과 5를 팝하여 곱하기: 5×6=30
5×6=30
결과 30을 스택에 푸시: 스택 상태: [12, 30]
연산자(+):
30과 12를 팝하여 더하기:12+30=42
12+30=42
결과 42를 스택에 푸시: 스택 상태: [42]


25. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 것으로 거리가 먼 것은?

->SMTP

 

IPSec: 네트워크 계층에서 IP 패킷을 보호하는 프로토콜로, 데이터 암호화와 인증을 제공한다.
SSL: 웹사이트와 사용자의 브라우저 간의 통신을 암호화하여 데이터의 안전성을 보장하는 프로토콜이다.

S-HTTP: SSL의 변형으로, 웹 통신을 위해 설계된 프로토콜로 보안 웹 통신을 지원한다.


26. 검증검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함꼐 확인하면서 검사하는 기법은?

->알파검사

 

디버깅 검사:
프로그램에서 발생하는 버그를 찾아내고 수정하는 과정이다.
주로 개발자가 스스로 또는 팀 내에서 진행하며, 사용자가 직접 참여하지 않는다.


형상 검사:
소프트웨어의 변화를 관리하고 기록하는 기법이다.
주로 문서 검토나 개발 절차에 따라 이루어지며, 사용자가 직접 참여하는 경향은 없다.


자료구조 검사:
데이터의 구조와 그 관계를 분석하는 기법으로, 주로 데이터베이스나 프로그램의 내부 구조를 다룬다.
사용자 관점에서의 오류 확인보다는 기술적 검토가 중심이다.


27. 다음 초기 자료에 대하여 삽입정렬을 이용하여 오름차순 정렬할 경우 1회전 후의 결과는?

->3,8,4,9,7

 

첫 번째 요소(8)는 정렬된 부분 리스트로 간주되므로 변하지 않는다.
두 번째 요소인 3은 정렬된 부분 리스트 [8]와 비교한다.
3은 8보다 작으므로 자리 변경이 필요하다.
3을 앞에 삽입하여 결과는 [3, 8, 4, 9, 7]가 된다.


28. 소프트웨어 설치 메뉴얼에 대한 설명으로 틀린 것은?

->설치 메뉴얼은 개발자 기준으로 작성한다.

 

소프트웨어 설치 매뉴얼은 일반적으로 최종 사용자에게 이해하기 쉽도록 작성되어야 하며, 반드시 개발자 기준이 아니라 사용자 기준으로 작성되어야 한다.


29. 인터페이스 구현 검증 도구가 아닌 것은?

->ESB

 

ESB(Enterprise Service Bus)는 여러 애플리케이션 간의 통신을 중재하는 아키텍처 스타일로, 실제 검증 도구가 아니다.

 

xUnit: 유닛 테스트 프레임워크로, 테스트 코드 작성을 통해 인터페이스 구현 검증에 사용된다.
STAF: 소프트웨어 테스트 자동화 프레임워크로, 다양한 테스트를 수행할 수 있어 검증 도구로 활용된다.
NTAF: 네트워크 테스트 자동화 프레임워크로, 네트워크 인터페이스의 기능과 성능 검증에 쓰인다.


30. 소프트웨어 형상 관리에서 관리 항목에 포함되지 않는 것 은?

->프로젝트 개발 비용

 

소프트웨어 형상관리 항목

프로젝트 요구 분석서

소스코드

운영 및 설치 지침서


31. 다음 설명에 해당하는 것은?

물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.

->내부 스키마

 

외부 스키마: 사용자와 관련된 뷰를 정의하는 것으로, 사용자가 데이터베이스를 어떻게 볼 것인지를 나타낸다.
개념 스키마: 전체 데이터베이스의 구조를 정의하여 개체, 속성, 관계 등을 보여주는 더 높은 수준의 스키마이다.
물리적 스키마: 데이터 저장 장치의 특정 세부 구현을 정의하지만, 일반적으로 용어로는 내부 스키마와 동의어로 사용된다.


32. 다음 트리에 대한 INORDER 운행 결과는?

->D B A E C F

 

INORDER 트리 순회는 이진 트리를 방문하는 방법 중 하나로, 트리를 왼쪽 서브트리 → 루트 → 오른쪽 서브트리의 순서로 방문한다. 이 방법을 사용하면 이진 탐색 트리에서 노드가 오름차순으로 정렬된 결과를 낼 수 있다.

 

D->B->A->E->C->F


33. n개의 노드로 구성된 무방향 그래프의 최대 간선수는?

-> n(n-1)/2

 

참고 n-1: 최소한의 연결(트리 구조)


34. 다음이 설명하는 테스트 용어는?

-테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말한다.
-종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.

-> 테스트 오라클

 

테스트 케이스: 특정 기능이나 요구 사항을 검증하기 위해 정해진 입력과 출력, 테스트 절차가 명세된 요소이다.
테스트 시나리오: 전체 테스트의 진행 방향이나 개요를 정의하는 시나리오로, 여러 테스트 케이스를 포함할 수 있다.
하며, 여기서 언급한 참값, 샘플링, 휴리스틱, 일관성 검사가 이에 해당한다.
테스트 데이터: 테스트를 수행하기 위해 준비된 입력 데이터로, 실제 환경을 모사한 값들이 담겨 있다.


35. 빌드 자동화 도구에 대한 설명으로 틀린 것은?

->JenKins는 Groovy 기반으로 한 오픈소스로 안드로이드 앱 개발 환경세서 사용된다.

 

Jenkins는 Java 기반으로 개발되었으며, 다양한 언어로 된 프로젝트를 지원하여 클라우드, 서버 등 다양한 환경에서 사용되지만, 특정 언어인 안드로이드 앱 개발에 국한되지 않는다


36. 저작권 관리 구성 요소에 대한 설명이 틀린 것은?

->콘텐츠 분배자: 콘텐츠를 메타 데이터와 함계 배포 가능한 단위로 묶는 기능

 

콘텐츠 분배자(Contents Distributor): 정보 및 자료를 사용자에게 배포하고 서비스를 제공하는 주체입니다. 그러나, 콘텐츠를 단순히 메타 데이터와 함께 묶는 것은 그 역할의 일부분일 뿐이며, 실제 콘텐츠의 배포와 전달에 따른 더 복잡한 작업을 포함합니다


37. 블랙박스 테스트 기법으로 거리가 먼 것은?

-> 기초 경로 검사

 

블랙박스테스트

동치 클래스 분해
경계값 분석
원인 결과 그래프


38. 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방식은?

->폴딩법

 

제산법 (Division Method):
주어진 키 값을 특정한 숫자로 나눈 나머지를 해시 주소로 사용하는 방식이다.
주로 정수형 데이터에 적용되며, 나머지 연산을 통해 해시 충돌이 발생할 가능성을 줄이는 데 도움을 준다.

 

기수변환법 (Radix Conversion Method):
숫자 시스템의 변환을 통해 해시 값을 계산하는 방식이다.
여기서는 데이터를 다른 기수로 변환한 후 해시 주소를 생성하게 된다.


숫자분석법 (Digit Analysis Method):
각 키 숫자의 특정 속성을 분석하여 해시 주소를 결정하는 방법이다.
특정 성질을 갖는 숫자들을 조합하여 인덱스를 생성한다.


 

39. 다음에서 설명하는 클린 코드 작성 원칙은?

-한 번에 한 가지 처리만 수행한다.
-클래스/메소드/함수를 취소 단위로 분리한다.

->단순성

 

다형성 (Polymorphism):동일한 인터페이스를 이용하여 다양한 구현체를 사용할 수 있게 하는 원칙이다. 이는 코드의 유연성을 증가시킨다.
추상화 (Abstraction):복잡한 시스템의 세부 사항을 숨기고, 중요한 기능만을 노출함으로써 소프트웨어 설계를 단순화하는 원칙이다.
의존성 (Dependency):모듈 간의 의존성을 최소화하여 각 모듈이 독립적이고 변경이 용이하게 하는 원칙이다. 이는 유지보수 및 테스트에 도움을 준다.


40. 디지털 저작권 권리기술과 거리가 먼 것은?

->콘텐츠 오류 감지 및 복구

 

 

콘텐츠 오류 감지 및 복구: DRM의 일반적인 기능은 아니지만, 오류 검출과 복구는 다른 비즈니스 시스템에서 활용될 수 있다. 하지만 DRM에서는 직접적인 역할이 아니므로 거리가 있다.

 

콘텐츠 암호화 및 키 관리: DRM의 핵심 기능으로, 콘텐츠를 암호화하여 무단 사용을 방지하며 키 관리도 포함되므로 정확하다.
콘텐츠 식별체계 표현: DRM 시스템에서 콘텐츠를 식별하고 추적하기 위한 방법이므로 알맞다.
라이센스 발급 및 관리: DRM의 필수 기능으로, 사용자가 콘텐츠를 어떻게 사용할 수 있는지에 대한 권한을 부여하는 기능이다.

반응형