정보처리기사

정보처리기사 필기 #2 220305 기출 풀이(SW 개발)

리동구 2023. 2. 27. 23:15

2023/02/27

  • 학습내용

 

2과목.  소프트웨어 개발

 

(22번 문제) 단위 테스트 용어

 

1. 테스트 스텁(Test Stub) -> 하향식에 필요

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

2. 테스트 슈트(Test Suites)

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

3. 테스트 케이스(Test Case)

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

 

4. 테스트 드라이버(Test Driver)

단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고,

파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요하다.

 

 

5. 테스트 수행 도구

자료 흐름도

기능 테스트

랜덤 테스트

입력 도메인 분석

 

 

 

 

(23번 문제) 스택(Stack)

 

FIFO은 큐 방식, 스택은 LIFO

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

 

(25번 문제) SW 프로젝트 관리

 

4. 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발

 

프로젝트 관리는 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동이다.
프로젝트 관리는 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로

소프트웨어 생명 주기의 전 과정에 걸쳐 진행된다.
소프트웨어 프로젝트를 성공적으로 수행하기 위해서는

수행할 작업의 범위, 필요한 자원, 수행 업무, 이정표, 비용 추진 일정들을 알아야 한다.
소요인력은 최소화 하는 것이 좋다.
※ 프로젝트 관리는 제한된 시간과 비용으로 좋은 품질의 시스템을 개발하여 고객에게 제공한다.

 

(30번 문제) 자료 구조 분류

 

비선형 구조 : 트리, 그래프
선형 구조 : 스택, 큐, 데크, 리스트
파일 구조 : 순차파일, 색인파일, 직접파일

 

(35번 문제) 스택 연산 

 

스택연산은 입구 및 출구가 하나여서 A B C D 순으로 입력되었을 때 출력순서는 D C B A 순이다.

 

push 입력 pop 출력

 

문제 : push, push, pop, push, push, pop, pop, poppush : A

push : A B

pop  :  A  / B

push :  A C  / B

push :  A C D / B

pop  :  A C /  B D

pop  :  A /  B D C

pop  :  /  B D C A

 

출력은 바로 전에 입력했던 값을 출력해준다.제일 마지막에 들어온 값 순서대로 출력해준다.

 

(36번 문제) 정렬 종류 -> 패스

 

(37번 문제) 화이트 박스 테스트 / 블랙 박스 테스트

 

화이트박스 테스트 종류
1.기초 경로 검사(Basic Path Testing)
2.조건 검사(Condition Testing)
3.루프 검사(Loop Testing)
4.데이터 흐름 검사(Data Flow Testing)

블랙박스 테스트의 종류
1. 동치(동등)분할 검사
2. 경계값 분석
3. 원인-효과 검사
4. 오류 예측 검사
5. 비교검사

 

※추가 정리

(33번 문제) 인터페이스 간의 통신을 위해 이용되는 데이터 포멧

 

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

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

▶ AJAX(Asynchronous Javascript And XML)
자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술, XMLHttpRequest 객체를 이용해 전체 페이지를 새로 로드하지 않고 필요한 부분만 로드한다.

 

▶ YAML

JSON과 비슷하게 사람이 읽기 쉬운 형태의 데이터 표현 형식.
- YAML은 XML과 문법적으로 유사한 점이 많음.
- YAML에서도 주석을 사용 가능하며 개행, 공백으로 블록을 인식.
- 태그를 사용하지 않고 공백 위주로 데이터를 구분하므로 한 줄로 작성할 수 없다는 특징.

 

 

(39번 문제) 코드 인스펙션

 

프로그램을 수행시켜보는 것 대신에 읽어보고 눈으로 확인하는 방법으로 볼 수 있다

코드 품질 향상 기법 중 하나이다.

결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품질 이슈를 검사하기도 한다.

정적 테스트에 가깝다.

 

 

 

(추가)

NS-Chart(Nassi-Schneiderman Chart) -> 상자 도표
- 3가지 기본구조만으로 논리를 표현(표준화 가능) -> 연속, 선택, 반복
- Flow Chart의 최대 단점인 화살표가 표시되지 않음
- 기본구조의 입구와 출구는 각 하나씩
- 전체적인 알고리즘을 일목요연하게 볼 수 있음

- 이해하기 쉽고 코드 변환이 용이하다.

-논리의 기술에 중점을 두고 도형을 이용한 표현 방법