기타/정보처리기사실기

[정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (2 영역)

rinix_x 2022. 5. 5. 17:45
반응형

1영역

2022.05.01 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (1영역)

3영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (3 영역)

4영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (4 영역)

5영역

2022.05.05 - [기타/정보처리기사실기] - [정보처리기사 실기 / 공부] 2022 정보처리기사 필기 정리하기 (5영역)

 

 


반응형

 

2022 정보처리기사 필기 1차 정리하기 (2 영역)

21. 클린 코드를 작성하기 위한 원칙

 - 추상화 상위 클래스 프로그램 특성만 간략하게 하위 클래스 세부적 ; 내용 구현

 - 의존성( 배제 ) : 다른 모듈에 미치는 영향을 최소화하여 코드 변경 시 영향이 가지 않도록

 - 중복성( 최소화 ) :  코드의 중복을 최소화

 - 가독성 : 누구든지 읽기 쉽게 작성

 - 단순성 코드를 단순하게 작성 (프로그램을 최소 단위로 분리해 작업을 한 번에 하나씩 처리하도록)

 

22. 단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요한 것은 

 - 테스트 드라이버 

 

----

 - 테스트 스텁 : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 일시적으로 필요한 , 조건만을 가지고 있는 테스트용 모듈

 - 테스트 슈트 : 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합

 - 테스트 케이스 : 사용자의 요구사항을 정확히 준수했는지 확인하기 위한 입력 값 실행 조건 기대 결과 등으로 만들어진 테스트 항목의 명세서

 

23. 스택에 대한 옳은 내용으로만 나열된 것은?

 ㄹ. 인터럽트 처리, 서브루틴 호출 작업 등에 응용된다.

 ㄱ. FIFO 방식 - 큐

 ㄴ. 순서 리스트의 뒤(Rear)에서 노드가 삽입되며, 앞(Front)에서 노드가 제거된다 - 큐

 ㄷ. 선형 리스트의 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조 - 데크(Deque)

 

24. 소프트웨어의 모듈화의 장점

- 프로그램의 효율적인 관리

- 이해하기 쉬운 소프트웨어

- 소프트웨어 시험 통합 수정 시 용이

- 모듈 재사용 가능

- 오류의 파급력 최소화

 

25. 소프트웨어 프로젝트 관리에 대한 설명

 - 프로젝트 관리는 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동

 - 프로젝트 관리는 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로 소프트웨어 생명 주기의 전 과정에 걸쳐 진행됨

 - 소프트웨어 프로젝트를 성공적으로 수행하기 위해서는 수행할 작업의 범위, 필요한 자원, 수행, 업무, 이정표, 비용 추진 일정들을 알아야 함

 - 소요인력은 최소화하는 것이 좋음

※ 프로젝트 관리는 제한된 시간과 비용으로 좋은 품질의 시 스템을 개발하여 고객에게 제공함

 

26. 정형 기술검토(FTR)의 지침

 - 오류 검출에 초점을 두고 해결책을 나중으로 미룸 (제품 검토의 집중성)

 - 검토를 위한 자료를 사전에 배포하여 검토하도록 한다 (사전 준비성)

 - 의견을 제한하되 충분히 받아들인다 (의제의 제한성)

 - 안건을 세우면 고수한다 (안건 고수성)

 - 논쟁과 반박을 제한한다 (논쟁 반박의 제한성)

 - 문제 영역을 공개한다 (문제 공개성)

 - 참가자의 수를 제한한다 (참가 인원의 제한성) 

 - 발견된 오류는 문서화한다. (문서성)

 

27. 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업

 - Restructuring : 기존 소프트웨어를 향상하기 위하여 코드를 재구성하는 작업 (기능과 외적 동작은 변하지 않음)

 

---

Analysis: 기존 소프트웨어를 분석하여 재공학 대상을 선정하는 것

Migration: 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 작업

Reverse Engineering: 기존 소프트웨어를 분석하여 소스코드를 얻어내는 작업 (소스코드로 소프트웨어를 만드는 작업의 역 작업)

 

28. 정보시스템 개발 단계에서 프로그래밍 언어 선택 시 고려할 사항

- 친밀감 - 언어의 능력 - 처리의 효율성 - 프로그램 구조 - 프로그램의 길이 - 이식성 - 과거의 개발 실적 - 알고리즘과 계산상의 난이도  - 자료 구조의 난이도  - 성능 고려 사항들 - 대상 업무의 성격  - 소프트웨어의 수행 환경  - 개발 담당자의 경험과 지식 - 사용자의 요구사항 - 컴파일러의 이용 가능성

 

29. 소프트웨어 패키징에 대한 설명

- 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것.

- 개발자가 아니라 사용자 중심으로 진행함

- 소스 코드는 향후 관리를 고려하여 모듈화 하여 패키징함

- 사용자가 소프트웨어를 사용하게 될 환경을 이해하여 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징함.

- 사용자를 중심으로 진행되는 작업이므로 사용자의 편의성 및 실행 환경을 우선적으로 고려해야 함.

 

30. 자료 구조의 분류

- 비선형 구조 : 트리 그래프

- 선형 구조 : 스택 큐 데크 리스트

- 파일 구조 : 순차 파일 색인 파일 직접파일

 

31. Alien code : 개발자가 퇴사를 했거나 현재 사용하지 않는 환경 및 언어로 작성되었거나 프로그램의 관련 문서나 주석이 없는 상태에서 시간이 흐른 뒤 유지보수가 불가능하거나 힘든 프로그램 소스 코드

 

32. 소프트웨어를 재사용함으로써 얻을 수 있는 이점

1. 개발 시간과 비용 단축

2. 소프트웨어 품질 및 생산성 향상

3.  프로젝트 실패 위험 감소

4. 시스템 구축 방법에 대한 지식 공유

 

**소프트웨어 재사용함으로써 얻을 수 있는 문제점들**

1. 재사용할 소프트 웨어 선정 필요

2. 시스템에 공통적으로 사용되는 요소 발견 필요

3. 프로그램의 표준화 부족

4. 새로운 개발 방법론 도입이 어려움

5. 재사용을 위한 관리 및 지원 부족

6. 기존 소프트웨어에 재사용 소프트웨어를 추가하기 어려움

 

33. 인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것.

▶ JSON(Javascript Object Notation)

속성-값 쌍 또는 “키 값- 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷

▶ XML(Extensible Markup Language)

HTML의 단점을 보완한 인터넷 언어, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어

▶ AJAX(Asynchronous Javascript And XML)

자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술,

XMLHttpRequest 객체를 이용해 전체 페이지를 새로 로드하지 않고 필요한 부분만 로드한다.

▶ REST(Representational State Transfer)

 - 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재 상태 정보를 표준화된 HTTP메서드로 주고받는 웹 아키텍처

(리소스, 메서드, 메시지)

 - HTTP URI를 통해 자원을 명시하고, HTTP 메서드 (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용할 수 있는 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처이다.

 

34. 프로그램 설계도의 하나인 NS Chart란?

NS-Chart(Nassi-Schneiderman Chart)

- 3가지 기본구조만으로 논리를 표현 (표준화 가능)

- Flow Chart의 최대 단점인 화살표가 표시되지 않음

- 기본구조의 입구와 출구는 각 하나씩

- 전체적인 알고리즘을 일목요연하게 볼 수 있음

 

35. 순서가 A, B, C, D로로 정해진 입력자료를 push, push, pop, push, push, pop, pop, pop 순서로 스택 연산을 수행하는 경우 출력 결과

 - BDCA

 

36. 분할 정복(Divide and Conquer)에 기반한 알고리즘으로 피벗(pivot)을 사용하며 최악의 경우 n(n-1)/2회의 비교를 수행해야 하는 정렬은?

 - Quick Sort

 

37. 화이트박스 테스트의 종류

 1. 기초 경로 검사(Basic Path Testing)

 2. 조건 검사(Condition Testing)

 3. 루프 검사(Loop Testing)

 4. 데이터 흐름 검사(Data Flow Testing)

 

화이트박스 테스트의 검증 기준

 1. 문장 검증 기준

 2. 분기 검증 기준

 3. 조건 검증 기준

 4. 분기/조건 기준

블랙박스 테스트의 종류

 1. 동치 (동등) 분할 검사

 2. 경곗값 분석

 3. 원인-효과 검사

 4. 오류 예측 검사

 5. 비교 검가

 

38. 소프트웨어 품질 관련 국제 표준이 ISO/IEC 25000에 관한 설명은?

ISO### ISO/IEC 25000

- ISO 9126, ISO 14598. ISO 12119의 여러 표준 문서를 통합하고 재구성하여 만든 표준 문서

- SQuaRE(Software Quality and Requirement Evaluation)라고도 함

- 2500n, 2501n, 2502n, 2503n, 2504n의 다섯 가지 분야로 나눌 수 있고, 확장 분야인 2505n이 있다

- 2500n (9126-1, 품질 관리 지침)

  + SQuaRE에 대한 개요, 전체에 대한 계획과 관리

- 2501n (9126-2, 품질 모형)

  + 품질 모델 및 품질 사용 안내

- 2503n (9126-3, 품질 측정)     

   + 매트릭을 통한 측정 방법 제시

- 2504n (9126-4, 품질 정의 ( 요구사항))

   + 품질 요구사항

- 2505n (9126-5, 품질 평가 )

   + 품질 프로세스에 관한 개요, 관점들의 평가 프로세스

 

39. 코드 인스펙션

- 결함뿐만 아니라 모든 것이 표준대로 되어 있는지 확인하기 위한 검토

- 표준이나 명세서에 서술항 내용과 비교하여 편차와 에러를 식별하기 위해 산출물을 근거로 수행하는 검사

- 정적 테스트에 가까움

 

40. 프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?

 - Risk Analysis

 

----

1. Critical Path Method(CPM, 임계 경로 법) :

네트워크를 중심의 논리적 구성 시간과 비용 문제를 취급 프로젝트를 일정 기일 내에 완성시키고 해당 계획이 원가의 최솟값에 의해 보증되는 등의 최적 스케줄을 구하는 관리 방법.

(주로 건설과 설계를 포함하는 복잡한 일에 이용되어 효과를 발휘함.)

3. Work Breakdown Structure( 업무 분업 구조 ) : 

성과 목표 완전 달성을 위한 프로그램.

산업 관리 간접 부문의 기술 혁신형 업무 목표를 설정하여 소정 기간, 자원 내에서 달성하는 형태의 업무를 효과적으로 수행하기 위한 수법.

4. Waterfall Model( 폭포수 모델 ) :

S/W 개발 생명주기에 기반하고 있는 소프트웨어 개발 기법 중 하나.

한 번 떨어지면 다시 거슬러 올라갈 수 없는 폭포수처럼, 각 개발 단계를 확실히 매듭짓고 다음 단계로 넘어간다는 의미.

 

 

 

 

 

 

 


CBT에서 참고. 여기서 직접 풀어볼 수도 있고, 해설지도 있으니 직접 풀어보시고 채점 매겨보세요.
https://www.comcbt.com/xe/iz/5691901

반응형