본문 바로가기
정보처리기사

[21년 2회] 정보처리기사 필기 - 소프트웨어 개발

by 시냥이좋아 2022. 2. 9.

힙정렬

 

정렬할 입력 레코드들로 힙을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다.

트리의 노드에 인덱스를 차례차례 붙인 후 트리를 반으로 나누고 하나하나 비교한다. 

평균 수행 시간은 O(nlogn)이다. (합병정렬과 동일)

완전 이진트리(complete binary tree)로 입력자료의 레코드를 구성한다.

최악의 수행시간은 O(nlogn)이다. (합병정렬과 동일)

*이진트리 - 하위노드가 2개이하인 트리

 

 

단위테스트를 통해 알 수 있는 오류

 
  • 알고리즘 오류에 따른 원치 않는 결과
  • 탈출구가 없는 반복문의 사용
  • 틀린 계산 수식에 의한 잘못된 결과
 
단위테스트 : 개발 단계에서 각 모듈이 개발 완료되는 시점에서 시행하는 테스트
하나의 기능이 제대로 작동하는지를 테스트
 
 

소프트웨어 테스트

 

화이트 박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.

블랙박스 테스트는 프로그램의 구조를고려하지 않는다.

테스트 케이스에는 일반적으로 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 한다.

 
 

성능테스트 도구

 
 

- 애플리케이션의 처리량, 응답시간, 경과시간, 자원사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구

 

 

소프트웨어 형상관리

 

유지 보수 단계뿐만 아니라 개발 단계에도 적용할 수 있다.

대표적인 형상관리도구 -> Github

빌드자동화도구 -> Ant, Maven, Gradle

 

 

분산저장소 방식

 
 

버전관리 자료가 원격저장소와 로컬저장소에 함께 저장되어 관리된다.

로컬 저장소에서 버전관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.

대표적인 버전 관리 도구로 Git이 있다.

 
 

화이트박스 테스트

 
 

반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우를 알 수 있다.

 

 

후위표기법

 

연산순서가 빠른 순으로 연산자를 그 연산을 수행하는 변수 뒤로 옮긴다

 

 

 

EAI 구축유형

Message Bus

 

애플리케이션 사이에 미들웨어를 두어 처리한다.

 

 

 

인터페이스 구현 검증 도구

 

  • watir
  • STAF
  • xUnit

 

스택을 이용한 연산

 

  • 재귀호출
  • 후위표현(Post-fix expression)의 연산
  • 깊이우선탐색