
2과목 : 소프트웨어 개발
21. 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?
① 선택정렬
② 삽입정렬
③ 버블정렬
④ 합병정렬
🍎
1. 선택정렬 : O(n^2)
2. 삽입정렬 : O(n^2)
3. 버블정렬 : O(n^2)
4. 합병정렬 : O(Nlog2N)
22. White Box Testing에 대한 설명으로 옳지 않은 것은?
① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.
② Source Code의 모든 문장을 한 번 이상 수행함으로써 진행된다.
③ 모듈 안의 작동을 직접 관찰할 수 있다.
④ 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
🍎
White Box Testing
- 종류 : Condition Testing, Loop Testing, Data Flow Testing(데이터 흐름 테스트)
- 응용 프로그램의 내부 구조와 동작을 검사하는 테스트 방식, 소프트웨어 내부 소스 코드를 테스트하는 기법
- 개발자 관점의 단위 테스트 방법이며, 구현 기반 테스트
- 개발자가 내부 소스코드 동작을 추적 할 수 있기 때문에 동작의 유효성뿐만 아니라, 코드를 꼼꼼하게 테스트 가능.
Black Box Testing
- 종류 : Equivalence Partitioning Testing(동등 분할 기법), Boundary Value Testing(경계값 분석 기법), Cause-Effect Graphing Testing(원인 결과 그래프 기법), Error Guessing(오류 예측 기법), Comparison Testing
- 소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식
- 올바른 입력과 올바르지 않은 입력을 입력하여 올바른 출력이 나오는지 검사
- 사용자 관점의 테스트 방법이며, 명세 기반 테스트 방법
- 필요한 것은 특징, 요구사항, 설계도 등
23. 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?
① 정확성
② 무결성
③ 사용성
④ 간결성
🍎
소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목
- 정확성, 신뢰성, 효율성, 무결성, 유연성, 이식성, 재사용성, 상호운용성
24. 인터페이스 구현 검증도구 중 아래에서 설명하는 것은?
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 |
- 각 테스트 대상 분산 환경에 데몬을 사용하며 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구 |
① xUnit
② STAF
③ FitNesse
④ RubyNode
🍎
인터페이스 구현 검증 도구
1. xUnit : Java, C++ 등 다양한 언어 지원하는 단위 테스트 프레임워크
2. STAF : 서비스 호출 및 컴포넌트 재사용 등 환경 지원하는 테스트 프레임워크
3. FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
4. NTAF : FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 네이버의 테스트 자동화 프레임워크이다.
5. Selenium : 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크
6. Watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크
7. Ruby : 인터프리터 방식의 객체지향 스크립트언어
25. EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은?
① Point-to-Point
② Hub&Spoke
③ Message Bus
④ Tree
🍎
EAI 구축 유형 : 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달 연계 통합 등 상호연동이 가능하게 해주는 솔루션
1. Point - to - Point : 가장 기본적인 애플리케이션 통합 방식 1:1로 연결
2. Hub&Spoke : 단일 접점인 허브 시스템을 통해 데이터 전송 하는 중앙 집중형 방식
3. Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
4. Hybrid : Hub &Spoke와 Message Bus 혼합 방식
26. 다음 트리를 전위 순회(preorder traversal)한 결과는?

① +*AB/*CDE
② AB/C*D*E+
③ A/B*C*D+E
④ +**/ABCDE
🍎
1. 전위순회 : 루트를 먼저 방문 = root -> left -> right [ ex) +**/ABCDE ]
2. 중위순회 : 왼쪽 하위트리를 방문한 뒤 루트를 방문 = left -> root -> right [ ex) A/B*C*D+E ]
3. 후위순회 : 하위트리를 방문한 뒤 루트를 방문 = left -> right -> root [ ex) AB/C*D*E+ ]
27. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?
① IPSec
② SMTP
③ SSL
④ S-HTTP
🍎
1. IPSec(Internet Protocol Security) : 네트워크에서의 안전한 연결을 설정하기 위한 통신 규칙 또는 프로토콜 세트, 암호화와 인증이 추가됨
2. SMTP(Simple Mail Transfer Protocol) : 이메일 송/수신에 사용되는 프로토콜
3. SSL(Secure Sockets Layer) : 웹사이트와 브라우저 사이에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 기술
4. S-HTTP(Secure-HTTP) : 웹 상에서 네트워크 트래픽을 암호화하는 방법
28. 평가 점수에 따른 성적부여는 다음 표와 같다. 이를 구현한 소프트웨어를 경계값 분석 기법으로 테스트하고자 할 때 다음 중 테스트 케이스의 입력 값으로 옳지 않은 것은?

① 59
② 80
③ 90
④ 101
🍎
경계값 분석 기법이라는 것은 경계가 되는 곳을 확인하는 것!
= 0, 59, 60, 79, 80, 100, 101 이상
29. 반정규화(Denormalization) 유형중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
① 빌드 테이블의 추가
② 집계 테이블의 추가
③ 진행 테이블의 추가
④ 특정 부분만을 포함하는 테이블의 추가
🍎
반 정규화 유형 중 중복 테이블 추가 방법
진행 테이블 추가 / 집계 테이블 추가 / 특정 부분만을 포함하는 테이블 추가
30. ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성(Functionlity)의 하위 특성으로 옳지 않은 것은?
① 학습성
② 적합성
③ 정확성
④ 보안성
🍎
ISO/IEC 9126의 기능성 하위 특성에는
적합성, 정확성, 보안성, 상호운용성, 준수성 등이 있다!!
31. 다음 트리의 차수(degree)와 단말 노드(terminal node)의 수는?

① 차수: 4, 단말 노드: 4
② 차수: 2, 단말 노드: 4
③ 차수: 4, 단말 노드: 8
④ 차수: 2, 단말 노드: 8
🍎
트리의 차수는 트리 노드들의 차수중 최대 차수를 의미한다! => 2
단말 노드는 자식이 없는 노드를 의미한다! => D, F, G, H
32. 디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은?
① 크랙 방지 기술
② 정책 관리 기술
③ 암호화 기술
④ 방화벽 기술
🍎
디지털 저작권 관리(DRM)의 기술 요소
암호화 / 키 관리 / 암호화 파일 생성 / 식별 기술 / 저작권 표현 / 정책 관리 / 크랙 방지 / 인증
33. 소프트 웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?
① Brooks의 법칙
② Boehm의 법칙
③ Pareto의 법칙
④ Jackson의 법칙
🍎
1. 오류의 80%는 전체의 20% 내에서 발견된다는 법칙 -> 파레토(Pareto) 법칙
2. 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다는 법칙 - Brooks의 법칙
3. 동일 테스트 케이스로 동일 테스트 반복 시 더 이상 결함이 발견되지 않은 현상 - 살충제 패러독스 (Pesticide Paradox)
4. 결함을 모두 제거해도 사용자 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없다 : 부재의 궤변 (Absence of Errors Fallacy)
34. 소프트웨어 형상 관리의 의미로 적절한 것은?
① 비용에 관한 사항을 효율적으로 관리하는 것
② 개발 과정의 변경 사항을 관리하는 것
③ 테스트 과정에서 소프트웨어를 통합하는 것
④ 개발 인력을 관리하는 것
🍎
소프트웨어 형상 관리 : 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동.
35. 알고리즘 시간복잡도 O(1)이 의미하는 것은?
① 컴퓨터 처리가 불가
② 알고리즘 입력 데이터 수가 한 개
③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정
④ 알고리즘 길이가 입력 데이터보다 작음
🍎
알고리즘 시간 복잡도 | |
비례하지 않는(항상 일정한) | O(1) |
로그에 비례하는 | O(log2^n) |
정비례하는(선형) | O(n) |
로그*변수에 비례하는(선형 로그) | O(nlog2^n) |
제곱에 비례하는 | O(n^2) |
세제곱에 비례하는 | O(n^3) |
지수 비례하는 | O(2^n) |
팩토리얼에 비례하는 | O(n!) |
36. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?
① pmd
② cppcheck
③ valMeter
④ checkstyle
🍎
1. pmd :소스 코드에 대한 미사용 변수 최적화가 안 된 코드 등 결함을 유발할 수 있는 코드 검사
2. cppcheck : C/C++ 코드에 대한 메모리 누수 오버플로우 등 분석
3. SonarQube : 중복 코드, 복잡도 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼
4. checkstyle : 자바 코드에 대해 소스코드 표준을 따르고 있는지 검사
5. ccm : 다양한 언어의 코드 복잡도를 분석
6. cobertura : 자바 언어의 소스코드 복잡도 분석 및 테스트 커버리지 측정
37. 검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는?
① 동치 분할 검사
② 형상 검사
③ 알파 검사
④ 베타 검사
🍎
1. 동치 분할 검사 : 입력 자료에 초점을 맞춰 케이스를 만들고 검사하는 방법 - 블랙박스 테스트 종류
2. 형상 검사(구성 검토, 검사) : 구성 요소, 목록, 유지보수를 위한 모든 사항이 표현되었는가를 검사
3. 알파 테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법 - 인수 테스트 종류
4. 베타 테스트 : 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법 - 인수 테스트 종류
38. 하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?
① Stub
② Driver
③ Procedure
④ Function
🍎
상향식 : Driver / 하향식 : Stub
39. SW 패키징 도구 활용 시 고려 사항과 거리가 먼 것은?
① 패키징 시 사용자에게 배포되는 SW이므로 보안을 고려한다.
② 사용자 편의성을 위한 복합성 및 비효율성 문제를 고려한다.
③ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다.
④ 제품 SW 종류에 적합한 암호화 알고리즘을 적용한다.
🍎
- 사용자의 운영체제, CPU, 메모리 등에 필요한 최소 환경 정의
- UI는 편의성, 직관성을 고려해야 하고 매뉴얼과 일치시켜 패키징
- 소프트웨어와 하드웨어가 함께 관리될 수 있도록 Managed Service 형태로 제공
- 암호화, 모듈화 하여 배포(다양한 기종에서 사용이 가능해야 함)
40. 외계인코드(Alien Code)에 대한 설명으로 옳은 것은?
① 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의미한다.
② 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 의미한다.
③ 오류가 없어 디버깅 과정이 필요 없는 프로그램을 의미한다.
④ 사용자가 직접 작성한 프로그램을 의미한다.
🍎
말 그대로 외계인 코드는 코드에 대해 아는 사람이 없다는 것을 뜻하고,
아주 오래되거나 참고 문서나 개발자가 없어 유지보수가 어려운 코드를 의미!
'CS_정리 & 정보처리기사 💾' 카테고리의 다른 글
[정보처리기사] 2020_06_06 (1회,2회 통합)_4과목 (30) | 2023.03.23 |
---|---|
[정보처리기사] 2020_06_06 (1회,2회 통합)_3과목 (1) | 2023.03.22 |
[정보처리기사] 2020_06_06 (1회,2회 통합)_1과목 (30) | 2023.03.20 |
[CS_정리] TCP/UDP 전송 계층 _ 5 (0) | 2023.01.20 |
[CS_정리] HTTP/HTTPS (비연결 지향 통신) _ 4 (30) | 2023.01.19 |