일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- userprog
- 티스토리챌린지
- 자바
- 알고리즘
- JavaScript
- 시스템콜
- 크래프톤정글
- 리액트
- 오블완
- 4기
- 소켓
- 핀토스
- pintos
- Flutter
- Java
- 큐
- Vue.js
- 코드트리
- 백준
- 스택
- 크래프톤 정글
- 모션비트
- defee
- 나만무
- corou
- 자바스크립트
- 사이드프로젝트
- CSS
- HTML
- TiL
- Today
- Total
미새문지
정처기 오답 풀이 - 1 본문
1과목 : 소프트웨어 설계
1. 정형 기술 검토(FTR)의 지침으로 틀린 것은?
- 의제를 제한한다.
- 논쟁과 반박을 제한한다.
- 문제 영역을 명확히 표현한다.
- 참가자의 수를 제한하지 않는다.
답: 4
해설:
FTR은 다수의 검토자가 참여하는 공식적인 검토 방법으로, 참가자의 수를 제한해 검토의 효율성과 효과를 높이는 게 중요하다.
FTR(Formal Technical Review)
소프트웨어 개발 산출물 대상 요구사항 확인 및 검증을 수행하는 방법이며, 동료검토, 워크스루, 인스펙션 등이 있다.
FTR 지침 사항
- 제품 검토에만 집중하라
- 의제를 제한하여 진행하라
- 논쟁과 반박을 제한하라
- 문제영역을 정확히 표현하라
- 해결책이나 개선책에 대해서는 논하지 말라
- 참가자수를 제한하고 사전준비를 강요하라
- 자원과 시간 일정을 할당하라
- 모든 검토자들을 위해 의미있는 훈련을 시행하라
- 검토자들은 사전에 작성한 메모들을 공유하라
- 검토의 과정과 결과를 재검토하라
2. 다음에서 설명하는 요구사항 도출 기법으로 가장 적절한 것은?
- 사용자들의 동작 프로세스를 이해하고 이를 지원하는 소프트웨어의 요구사항을 얻기 위해 사용하는 관찰기법이다.
- 분석가는 사용자의 일상 업무를 관찰하고 사용자들의 실제 작업을 기록한다.
- 사람들이 실제 일하는 방식을 반영하는 기법으로 잘 드러나지 않는 요구사항을 발견하는 데 도움을 준다.
1. 인터뷰(Interview)
2. 사용자 스토리(User Story)
3. 문화기술적 연구(Ethnography)
4. 스프린트 백로그(Sprint Backlog)
답: 3
해설:
문화기술적 연구는 사용자의 문화적, 사회적, 개인적 환경을 이해하는 데 사용되는 연구 방법이다. 이 방법은 사용자의 일상적인 활동과 경험을 탐구하는 데 초점을 두며, 사용자에게 일상생활에서 사용 가능한 아이템(카메라, 일기, 지도 등)들을 제공하고, 이를 통해 사용자의 생활 패턴, 선호도, 문화적 측면 등을 조사한다.
3. 소프트웨어의 상위 설계에 속하지 않는 것은?
1. 아키텍처 설계
2. 모듈 설계
3. 인터페이스 정의
4. 사용자 인터페이스 설계
답: 2
해설: 모듈 설계는 하위 설계의 일부로, 특정 모듈이나 구성요소의 내부 동작을 자세히 정의하는 단계이다.
상위 설계 | 하위 설계 | |
별칭 | 아키텍처 설계, 예비 설계 | 모듈 설계, 상세 설계 |
설계 대상 | 시스템의 전체적인 구조 | 시스템의 내부 구조 및 행위 |
세부 목록 | 구조, DB, 인터페이스 | 컴포넌트, 자료 구조, 알고리즘 |
4. 소프트웨어 품질에 대한 설명으로 옳지 않은 것은?
1. ISO/IEC 12119 - 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준 규격이다.
2. 메트릭(Metric) - 품질 기준별로 측정 방법과 스케일 등을 정의하여 정확히 품질 기준을 측정할 수 있게 한다.
3. 인스펙션(Inspection) - 체크리스트를 가지고 본인이 개발한 코드와 산출물 등을 검토하는 것이다.
4. 품질 기준(Criteria) - 개발자 측면의 내부 관점을 나타내는 것이다.
답: 3
해설:
인스펙션은 계획, 개관, 준비, 검토, 재작업, 추적의 6단계로 진행되며, 각 단계에서 검토자들이 오류를 발견하고, 이를 해결하기 위한 조치를 취한다.
2과목 : 소프트웨어 개발
1. 자료가 아래와 같을 때, 삽입(Insertion) 정렬 방법을 적용하여 오름차순으로 정렬할 경우 pass 1을 수행한 결과는?
초기 자료: 20, 19, 14, 16, 18
1. 19, 20, 14, 16, 18
2. 14, 20, 19, 16, 18
3. 14, 19, 20, 16, 18
4. 20, 14, 19, 16, 18
답: 1
해설:
삽입정렬은 앞에서부터 탐색하며 다음 값이 더 작을 경우 해당 인덱스에 작은 값을 삽입하는 방식
- 1회전: 19, 20, 14, 16, 18
- 2회전: 14, 19, 20, 16, 18
- 3회전: 14, 16, 19, 20, 18
2. 해싱 함수가 아닌 것은?
1. Division Method
2. Folding Method
3. Digit Analysis
4. Least Square
답: 4
해설:
해싱 함수의 종류
- 제산법(Division, Method)
- 중간 제곱법(Mid Square)
- 중첩법(Folding Method)
- 숫자 분석법(Digit Analysis)
- 기수 변환법(Radix Exchange)
- 무작위 방법(Pseudo Random)
3. SPICE 모델의 프로세스 수행능력 수준의 단계별 설명이 틀린 것은?
1. 수준 7 - 미완성 단계
2. 수준 5 - 최적화 단계
3. 수준 4 - 예측 단계
4. 수준 3 - 확립 단계
답: 1
해설:
SPICE 프로세스 능력 수준
- 0: 불안정 단계(Incomplete) - 미구현 또는 목표 미달성
- 1: 수행 단계(Performed) - 프로세스 수행 및 목적 달성
- 2: 관리 단계(Managed) - 프로세스 수행 계획 및 관리
- 3: 확립 단계(Established) - 표준 프로세스의 사용
- 4: 예측 단계(Predictable) - 프로세스의 정량적 이해 및 통제
- 5: 최적화 단계(Optimizing) - 프로세스의 지속적인 개선
4. 다음 중 데이터 값의 대소를 비교하여 정렬하는 문제에 대한 가장 빠른 알고리즘의 시간 복잡도는? (단, n은 정렬 대상의 입력 데이터 수이다.)
1. O(n)
2. O(log2n)
3. O(nlog2n)
4. O(n^2)
답: 3
해설:
데이터 값의 대소를 비교하여 정렬하는 알고리즘 중 가장 빠른 시간복잡도는 O(n log n)이며, 이는 분할 정복 알고리즘인 병합 정렬(Merge Sort), 퀵 정렬(Quick Sort) 등이 가지는 시간 복잡도이다.
- O(n)은 데이터가 이미 정렬되어 있거나, 특정 조건에서만 유효
- O(n²)는 버블 정렬과 같은 알고리즘에서 발생
- O(log₂n)은 반복적으로 데이터를 절반씩 나누는 방식의 알고리즘에서 사용
5. 해싱함수 중 주어진 키를 여러 부분으로 나누고, 각 부분의 값을 더하거나 배타적 논리합(XOR: Exclusive OR) 연산을 통하여 나온 결과로 주소를 취하는 방법은?
1. 중간 제곱 방법(Mid-square Method)
2. 제산 방법(Division Method)
3. 폴딩 방법(Folding Method)
4. 기수 변환법(Radix Conversion Method)
답: 3
해설:
폴딩 방법에서는 주어진 키를 여러 개의 부분으로 나눈 다음, 이 부분들을 서로 더하거나 XOR 연산을 적용한다.
6. 블랙박스 테스트 기법 중 다음 설명에 해당하는 것은?
검사 사례 설계를 프로그램의 입력 명세 조건에 따라 설정한다. 즉, 검사 사례는 일반적으로 입력 데이터에 해당하므로 프로그램의 입력 조건에 중점을 두고, 어느 하나의 입력 조건에 대하여 타당한 값과 그렇지 못한 값을 설정한다.
1. Boundary Value Analysis
2. Cause Effect Graphing Testing
3. Equivalence Partitioning Testing
4. Comparison Testing
답: 3
해설:
- 경계값 분석 (Boundary Value Analysis): 입력값의 경계에서 오류를 찾기 위해 최소값, 최대값, 그 근처 값을 테스트한다.
- 원인-결과 그래프 테스트 (Cause Effect Graphing Testing): 입력 조건과 출력 간의 관계를 그래프로 표현해 가능한 조합을 테스트한다.
- 동등 분할 테스트(Equivalence Partitioning Testing): 입력 데이터를 비슷한 동작을 하는 클래스별로 나누어 각 클래스에서 대표값만 테스트한다.
- 비교 테스트(Comparison Testing): 시스템을 다른 시스템이나 버전과 비교해 차이점을 찾는다.