2과목 : 소프트웨어 개발
21. 소프트웨어 패키징 도구 활용 시 고려 사항으로 틀린 것은?
① 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.
② 보안을 위하여 이기종 연동을 고려하지 않아도 된다.
③ 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
④ 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.
🍎
- 패키징 시 사용자에게 배포되는 소프트웨어임을 감안하여 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려
- 패키징 도구를 활용하여 여러 가지 이기종 콘텐츠 및 단말기 간 DRM 연동을 고려
- 패키징 도구를 고려하면 사용자의 입장에서 불편해질 수 있는 문제를 고려하여, 최대한 효율적으로 적용될 수 있도록 고려
- 제품 소프트웨어의 종류에 맞는 알고리즘을 선택하여 배포 시 범용성에 지장이 없도록 고려
22. EAI(Enterprise Application Integration) 구축유형 중 Hybrid에 대한 설명으로 틀린 것은?
① Hub &Spoke와 Message Bus의 혼합방식이다.
② 필요한 경우 한 가지 방식으로 EAI구현이 가능하다.
③ 데이터 병목현상을 최소화할 수 있다.
④ 중간에 미들웨어를 두지 않고 각 애플리케이션을 point to point로 연결한다.
🍎
EAI(Enterprise Application Integration) : 모듈연계의 한 방식
EAI Hybrid = Hub&Spoke, Message Bus Hub&Spoke = 그룹 내의 담당 허브가 고장 나면 전체에 영향
messageBus = 그룹 담당
Hybrid는 중간에 미들웨어를 둔다!!
23. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?
① pmd
② checkstyle
③ valance
④ cppcheck
🍎
정적 분석 도구 - pmd, cppcheck, SonarQube, ccm
valance는 동적 분석 도구중 하나!
24. 다음 Postfix 연산식에 대한 연산결과로 옳은 것은?
① 35
② 42
③ 77
④ 360
🍎
후위표기식(PosfFix)은 연산 바로 앞의 두 자리를 계산하고, 연산자를 빼줍니다.
Postfix 후위 표기식에 따라 정리하면 위의 식은 다음과 같습니다.
(3*4)+(5*6) 따라서 이 결과를 계산하면 12 + 30 = 42
25. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 것으로 거리가 먼 것은?
① IPSec
② SSL
③ SMTP
④ S-HTTP
🍎 네트워크 영역 - 인터페이스 송/수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화를 설정한다.
암호화는 인터페이스 아키텍처에 따라 IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용한다.
SMTP(Simple Mail Transfer Protocol): 메일 전송에 사용되는 프로토콜이다.
26. 검증(Validation) 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법은?
① 디버깅 검사
② 형상 검사
③ 자료구조 검사
④ 알파 검사
🍎
- 형상검사: 구성요소 목록 유지보수 모든 사항이 표현 되었나 검사
- 알파검사: 사용자가 개발자 앞에서 행하는 검사
- 디버깅: 프로그램 개발 단계 중에 발생하는 시스템의 논리적인 오류나 비정상적 연산(버그)을 찾아내고 그 원인을 밝히고 수정하는 작업 과정
- 자료구조 검사: 자료형태, 변수 초기화, 자료 형태의 일관성을 테스트
27. 다음 초기 자료에 대하여 삽입 정렬(Insertion Sort)을 이용하여 오름차순 정렬할 경우 1회전 후의 결과는?
① 3, 4, 8, 7, 9
② 3, 4, 9, 7, 8
③ 7, 8, 3, 4, 9
④ 3, 8, 4, 9, 7
🍎
삽입 정렬은 '두 번째 자료'부터 시작합니다.
즉, 두 번째 자료는 첫 번째 자료, 세 번째 자료는 두 번째와 첫 번째 자료 순으로 비교하며 자료가 삽입될 위치를 찾습니다.
따라서 1회전은 첫 번째 3이 8과 값을 비교하여 옮겨지는 것!
🔥 초기자료 첫번째 번호가 다음 번째 숫자보다 클 경우 그 자리 사이에 위치하는 게 1회전
28. 소프트웨어 설치 매뉴얼에 대한 설명으로 틀린 것은?
① 설치과정에서 표시될 수 있는 예외상황에 관련 내용을 별도로 구분하여 설명한다.
② 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.
③ 설치 매뉴얼은 개발자 기준으로 작성한다.
④ 설치 매뉴얼에는 목차, 개요, 기본사항 등이 기본적으로 포함되어야 한다.
🍎 메뉴얼을 사용자(개인)가 이해할 수 있도록 작성해야 함. 개발자 기준으로 작성하면 사용자가 이해하기 힘듦.
29. 인터페이스 구현 검증 도구가 아닌 것은?
① ESB
② xUnit
③ STAF
④ NTAF
🍎 인터페이스 구현 검증 도구에는 xUnit, STAF, FitNesse, NTAF, Selerium, Watir이 있다.
30. 소프트웨어 형상 관리에서 관리 항목에 포함되지 않는 것은?
① 프로젝트 요구 분석서
② 소스 코드
③ 운영 및 설치 지침서
④ 프로젝트 개발 비용
🍎 형상관리에 개발비용은 포함되지 않음
형상 관리 항목 (프로젝트 요구 분석서, 소스코드, 운영및설치지침서)
31. 다음 설명에 해당하는 것은?
① 외부 스키마
② 내부 스키마
③ 개념 스키마
④ 슈퍼 스키마
🍎
외부 스키마 : 개인 또는 응용 개발자 입장에서 보는 데이터 베이스
개념 스키마 : 모든 응용 프로그램 또는 사용자들이 필요로 하는 조직 전체 데이터베이스로 단 하나만 존재한다.
32. 다음 트리에 대한 INORDER 운행 결과는?
① D B A E C F
② A B D C E F
③ D B E C F A
④ A B C D E F
🍎
중위(Inorder) 방식 : D - B - A - E - C - F
전위(Preorder) 방식 : A - B - D - C - E - F
후위(Postorder) 방식 : D - B - E - F - C - A
33. n 개의 노드로 구성된 무방향 그래프의 최대 간선수는?
① n-1
② n/2
③ n(n-1)/2
④ n(n+1)
🍎
n개의 노드를 각각 1 .. n이라 이름 붙이면
1번 노드에서 모든 노드에 간선을 내면 n-1개
2번 노드는 1번 노드에서 낸 것을 제외하고 n-2개
3번 노드는 1, 2번 노드에서 낸 것을 제외하고 n-3개...
따라서 구하는 답은 1 + 2 +... + (n-2) + (n-1) = (n-1) * n / 2
34. 다음이 설명하는 테스트 용어는?
① 테스트 케이스
② 테스트 시나리오
③ 테스트 오라클
④ 테스트 데이터
🍎
- 테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
- 테스트 시나리오 : 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합
35. 빌드 자동화 도구에 대한 설명으로 틀린 것은?
① Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.
② 빌드 자동화 도구는 지속적인 통합개발환경에서 유용하게 활용된다.
③ 빌드 자동화 도구에는 Ant, Gradle, Jenkins 등이 있다.
④ Jenkins는 Groovy 기반으로 한 오픈소스로 안드로이드 앱 개발 환경에서 사용된다.
🍎 빌드 자동화 도구 - 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
- Ant, Make, Maven, Gradle, Jenkins 등이 있음
[Jenkins]
- JAVA 기반의 오픈소스 형태
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- 친숙한 Web GUI 제공
- 분산 빌드나 테스트 가능
[Gradle]
- Groovy를 기반으로 한 오픈 소스 형태
- 안드로이드 앱 개발 환경에서 사용
- 행할 처리 명령들을 모아 태스크(Task)로 만든 후 태스크 단위로 실행
36. 저작권 관리 구성 요소에 대한 설명이 틀린 것은?
① 콘텐츠 제공자(Contents Provider) : 콘텐츠를 제공하는 저작권자
② 콘텐츠 분배자(Contents Distributor) : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
③ 클리어링 하우스(Clearing House) : 키 관리 및 라이선스 발급 관리
④ DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
🍎
콘텐츠 분배자 - 암호화된 콘텐츠를 유통하는 곳 또는 사람
패키저 - 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화
37. 블랙박스 테스트 기법으로 거리가 먼 것은?
① 기초 경로 검사
② 동치 클래스 분해
③ 경곗값 분석
④ 원인 결과 그래프
🍎 기초 경로 검사는 화이트박스 테스트 기법!!
38. 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR 한 값을 홈 주소로 사용하는 방식은?
① 제산법
② 폴딩법
③ 기수변환법
④ 숫자분석법
🍎
1. 제산법 - 레코드키를 해시표로 나눈 나머지를 홈 주소로 사용
2. 폴딩법 - 해싱함수 중 레코드 키를 여러 부분으로 나누고 나눈 부분의 각 숫자를 더하거나 XOR 한 값을 홈 주소로 사용
3. 기수변환법 - 키 숫자의 진수를 다른 진수로 변환시켜 주소 크기를 초과한 높은 자릿수 절단, 다시 주소 범위에 맞게 조정
4. 숫자분석법 - 키 값을 이루는 숫자의 분포를 분석하여 비교적 고른 자리를 필요한 만큼 선택
39. 다음에서 설명하는 클린 코드 작성 원칙은?
① 다형성
② 단순성
③ 추상화
④ 의존성
🍎
- 가독성 : 누구든지 코드를 쉽게 읽을 수 있도록 작성, 코드 작성 시 이해하기 쉬운 용어를 사용하거나 들여 쓰기 기능 등을 사용
- 단순성 : 코드를 간단하게 작성, 한 번에 한 가지를 처리하도록 코드를 작성하고 클래스/메서드/함수 등을 최소 단위로 분리
- 의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화, 코드 변경 시 다른 부분에 영향이 없도록 작성
- 중복성 최소화 : 코드의 중복을 최소화, 중복된 코드는 삭제하고 공통된 코드를 사용
- 추상화 : 상위(부모, 슈퍼) 클래스/메서드/함수에서는 간략하게 애플리케이션의 특성을 나타내고, 상세 내용은 하위(자식, 서브) 클래스/메소드/함수에서 구현
40. 디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?
① 콘텐츠 암호화 및 키 관리
② 콘텐츠 식별체계 표현
③ 콘텐츠 오류 감지 및 복구
④ 라이선스 발급 및 관리
🍎 디지털 저작권 관리는 오류를 복구해주지 않는다.
'CS_정리 & 정보처리기사 💾' 카테고리의 다른 글
[정보처리기사] 2020_09_26 (4회)_4과목 (1) | 2023.04.16 |
---|---|
[정보처리기사] 2020_09_26 (4회)_3과목 (0) | 2023.04.11 |
[정보처리기사] 2020_09_26 (4회)_1과목 (0) | 2023.04.09 |
[정보처리기사] 2020_08_22 (3회)_5과목 (1) | 2023.04.02 |
[정보처리기사] 2020_08_22 (3회)_4과목 (30) | 2023.04.02 |