ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [소프트웨어 개발] 기출문제-2021-05-15
    정보처리기사_필기/[2과목] 소프트웨어 개발 2021. 8. 11. 13:00
    반응형

    [정보처리기사 - 소프트웨어 개발]

    기출문제 2021-05-15

    ✔정답은 문제 오른쪽 영역 드래그


    21. 힙 정렬(Heap Sort)에 대한 설명으로 틀린 것은? 4

    1️⃣정렬할 입력 레코드들로 힙을 구성하고

        가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다

    2️⃣평균 수행 시간은 O(nlog2n)이다

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

    4️⃣최악의 수행 시간은 O(2n4)이다

    힙 정렬(Heap Sort) : 평균과 최악 모두 시간 복잡도는 O(nlog2n)

    22. 다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은? 3

    1️⃣알고리즘 오류에 따른 원치 않는 결과

    2️⃣탈출구가 없는 반복문의 사용

    3️⃣모듈 간의 비정상적 상호작용으로 인한 원치 않는 결과

    4️⃣틀린 계산 수식에 의한 잘못된 결과

    단위 테스트는 테스트 코드가 독립적이어야 함으로 각 모듈간의 상호작용은 해당되지 않는다
    ✅3️⃣번 내용은 통합 테스트(Integration Test)에서 발견할 수 있는 오류이다

     

    23. 다음 설명의 소프트웨어 테스트의 기본원칙은? 2

    ◼파레토 법칙이 좌우한다

    ◼애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다

    ◼결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다

     

    1️⃣살충제 패러독스

    2️⃣결함 집중

    3️⃣오류 부재의 궤변

    4️⃣완벽한 테스팅은 불가능

    살충제 패러독스 : 동일한 테스트 케이스로 반복 실행하면
                               더이상 새로운 결함을 발견할 수 없으므로
                               주기적으로 테스트 케이스를 점검하고 개선해야 한다

    오류 부재의 궤변 : 사용자의 요구사항을 만족하지 못한다면
                                 오류를 발견하고 제거해도 품질이 높다고 말할 수 없다


     

    24. 버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는? 4

    1️⃣형상 감사(Configuration Audit)

    2️⃣롤백 (Rollback)

    3️⃣단위 테스트(Unit Test)

    4️⃣체크인(Check-In)

    형상 감사 : 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
    저장소 : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
    가져오기(import) : 버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사
    체크아웃 : 프로그램을 수정하기 위해 저장소에서 파일을 받아 옴
                     ,소스 파일과 함께 버전 관리를 위한 파일들을 받아 옴

    체크인 : 체크아웃한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신
    커밋 : 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에는 충돌을 알리고
               diff 도구를 이용해 수정한 후 갱신 완료

    동기화 : 저장소에 있는 최신 버전으로 자신의 작업공간을 동기화
    롤백(rollback) : 데이터베이스에서 업데이트에 오류가 발생할 때, 이전 상태로 되돌리는 것을 말한다.
                            후진 복귀라고도 한다.


    25. 소프트웨어 테스트와 관련한 설명으로 틀린 것은?

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

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

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

    4️⃣화이트박스 테스트에서 기본 경로(BasisPath)란

        흐름 그래프의 시작 노드에서 종료노드까지의 서로 독립된 경로로 싸이클을 허용하지 않는 경로를 말한다.

    화이트 박스 테스트 : 내부 구조와 동작을 검사하는 테스트 방식, 소프트웨어의 내부 소스를 테스트
    블랙 박스 테스트 : 내부 구조나 작동 원리를 모르는 상태에서 입력에 따른 출력 결과를 테스트
    화이트 박스 테스트에서 기본 경로는 싸이클을 최대 한번만 지나야한다
    화이트박스테스트는 내부의 논리적인 모든 경로를 테스트해 테스트 케이스를 설계

     

    26. 애플리케이션의 처리량, 응답시간, 경과시간, 자원사용률에 대해

         가상의 사용자를 생성하고 테스트를 수행함으로써

        성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구는? 4

    1️⃣명세 기반 테스트 설계 도구

    2️⃣코드 기반 테스트 설계 도구

    3️⃣기능 테스트 수행 도구

    4️⃣성능 테스트 도구

    [ 단위 테스트 종류 ]
    명세 기반 테스트 : 주어진 명세를 빠짐없이 테스트 케이스로 구현하고 있는지 확인하는 테스트
    구조 기반 테스트 : 프로그램 내부 구조 및 복잡도를 검증하는 화이트박스 테스트 시행
                                ,제어 흐름과 조건 결정 등이 목적

    성능 테스트 도구(Performance Test Tools) : 애플리케이션의 처리량, 응답시간, 경과시간, 자원 사용률 등
                                                                 성능 목표 달성 여부 확인
                                                                 ,인위적으로 적용한 가상 사용자를 만들어 테스트 수행

    27. 소프트웨어 형상 관리에 대한 설명으로 거리가 것은? 3

    1️⃣소프트웨어에 가해지는 변경을 제어하고 관리한다

    2️⃣프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이다

    3️⃣대표적인 형상관리 도구로 Ant, Maven, Gradle 등이 있다

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

    빌드자동화 도구 : Ant, Maven, Gradle
    형상 관리 도구 : Git, SVN

    28. 디지털 저작권 관리(DRM) 구성 요소가 아닌 것은? 1

    1️⃣Dataware house

    2️⃣DRM Controller

    3️⃣Packager

    4️⃣Contents Distributor

    [ 저작관리 구성요소 ]
    Contents Distributor : 암호화된 콘텐츠를 유통하는곳/사람
    ✅Packager : 콘텐츠를 메타데이터와 함께 배포가능한 형태로 묶어 암호화
    ✅클리어링 하우스 : 키 관리 및 라이센스 발급 관리
    ✅DRM Controller : 배포된 콘텐츠의 이용권한을 통제

    29. 다음 설명의 소프트웨어 버전 관리도구 방식은? 2

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

    ◼로컬 저장소에서 버전관리가 가능하므로 원격저장소에 문제가 생겨도

      로컬저장소의 자료를 이용하여 작업할 수 있다

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

     

    1️⃣단일 저장소 방식

    2️⃣분산 저장소 방식

    3️⃣공유폴더 방식

    4️⃣클라이언트·서버 방식

    [ 소프트웨어 버전 관리도구 방식 ]
    분산 저장소 방식 : 하나의 원격 저장소와 개발자 PC의 로컬 저장소에 저장
                                 ,자신의 로컬 저장소로 복사해 작업
                                 ,로컬 저장소에서 우선 반영(commit) 그 후 원격 저장소에 반영(push)
                                 ,문제가 생겨도 로컬 저장소의 자료를 이용해 작업 가능
                                 ,
    로컬 저장소에서 작업 및 처리 속도 빠름

    공유 폴더 방식 : 로컬 컴퓨터의 공유 폴더에 저장되어 관리
                             ,공유폴더의 파일을 자기 pc로 복사 후 이상 유무 확인

    클라이언트/서버 방식 : 중앙 시스템(서버)에 저장되어 관리 방식
                                      ,개발자별로 자신의 pc(클라이언트)로 복
                                      ,모든 버전 관리는 서버에서 수행
                                      ,서버에 문제 생기면 다른 개발자 협업 및 버전 관리 작업 중단


    30. 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은? 3

    1️⃣비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우

    2️⃣정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우

    3️⃣반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우

    4️⃣경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경

    [ 블랙박스 테스트 ]
    경계값 분석 : 경계값에서 오류가 발생될 확률이 높다는 점을 이용
    기능 테스트
    프로그램 구조 고려 X

    31. 다음 자료를 버블 정렬을 이용하여 오름차순으로 정렬할 경우 Pass 2의 결과는? 4

     

     [ 9, 6, 7, 3, 5 ]

     

    1️⃣3, 5, 6, 7, 9

    2️⃣6, 7, 3, 5, 9

    3️⃣3, 5, 9, 6, 7

    4️⃣6, 3, 5, 7, 9

    버블정렬(Bubble Sort) : 버블 정렬은 첫 번째 자료와 두 번째 자료를
                                      ,두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, …
                                      이런 식으로 (마지막-1)번째 자료와 마지막 자료를 비교하여 교환하면서
                                      자료를 정렬한다.

    32. 정렬된 N개의 데이터를 처리하는 데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은? 1

    1️⃣합병정렬

    2️⃣버블정렬

    3️⃣선택정렬

    4️⃣삽입정렬

    O(N*logN) : 선형 로그형 복잡도 : 로그,변수에 비례 ⇒ 퀵정렬, 병합정렬
    O(N) : 제곱형 : 제곱에 비례 ⇒ 버블정렬, 삽입정렬, 선택정렬
    정렬된 데이터의 경우, 버블정렬과 삽입정렬은 O(N) 이 될 수 있음


     

    33. 다음 postfix로 표현된 연산식의 연산 결과로 옳은 것은? 2

     

    3 4 * 5 6 * +

     

    1️⃣35

    2️⃣42

    3️⃣81

    4️⃣360

    (3*4)+(5*6) = 12+30 = 42
    ✅prefix : 전의 표기법
    infix: 중위 표기법
    ✅postfix : 후위 표기법


    34. EAI(Enterprise Application Integration) 구축 유형에서

         애플리케이션 사이에 미들웨어를 두어 처리하는 것은? 1

    1️⃣Message Bus

    2️⃣Point-to-point

    3️⃣Hub & Spoke

    4️⃣Hybrid

    문제 오류로 가답안 발표시 1번으로 발표되었지만 확정 답안 발표시 1, 3, 4번이 정답처리 되었습니다

    [
    EAI (Enterprise Application Integration) : 기업 내 상호 연동이 가능하게 해주는 솔루션 ]
    ◼비즈니스 간 통합 및 연계성을 증대시켜 각 시스템 간의 확정성을 높여줌

    [ EAI (Enterprise Application Integration) 구축유형 ]
    Point-to-Point : 가장 기본적인 애플리케이션 통합 방식으로
                            ,애플리케이션을 1:1 로 연결
    변경 및 재사용이 어려움

    Hub & Spoke : 단일 접점인 허브를 통해 데이터를 전송하는 중앙 집중형 방식
                            ,확장 및 유지 보수가 용이하지만 허브 장애 발생 시 시스템 전체에 영향

    Message Bus (ESB 방식) : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
                                         ,확장성이 뛰어나며 대용량 처리가 가능

    Hybrid : 그룹 내에서는 Hub & Spoke 방식
                   ,그룹 간에는 Message 방식 사용
    데이터 병목 현상 최소화


    35. 인터페이스 구현 검증 도구가 아닌 것은? 1

    1️⃣Foxbase

    2️⃣STAF

    3️⃣watir

    4️⃣xUnit

    [ 인터페이스 구현 검증 도구 ]
    xUnit
    STAF
    Fitnesse
    NTAF
    Selenium
    watir


    36. 클린코드 작성원칙에 대한 설명으로 틀린 것은? 2

    1️⃣코드의 중복을 최소화 한다

    2️⃣코드가 다른 모듈에 미치는 영향을 최대화하도록 작성한다

    3️⃣누구든지 코드를 쉽게 읽을 수 있도록 작성한다

    4️⃣간단하게 코드를 작성한다

    [ 클린코드 작성원칙 ]
    중복성 최소화 : 중복된 코드는 삭제, 공통된 코드 사용
    가독성 : 누구나 코드를 쉽게 읽을 수 있도록 작성
    단순성 : 한번에 한 가지를 처리하도록 코드를 간단하게 작성
    의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화 할것
                         ,코드 변경시 다른 부분에 영향이 없도록 작성


    37. 소프트웨어 패키징에 대한 설명으로 틀린 것은? 1

    1️⃣패키징은 개발자 중심으로 진행한다

    2️⃣신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징 한다

    3️⃣고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다

    4️⃣범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다

    소프트웨어 패키징 : 모듈별로 생성한 실행 파일들을 하나로 합쳐서 설치 파일을 만드는 것
                                  ,사용자 중심으로 패키징

    38. 공학적으로 잘된 소프트웨어(Well Engineered Software)의 설명 중 틀린 것은? 3

    1️⃣소프트웨어는 유지보수가 용이해야 한다

    2️⃣소프트웨어는 신뢰성이 높아야 한다

    3️⃣소프트웨어는 사용자 수준에 무관하게 일관된 인터페이스를 제공해야 한다

    4️⃣소프트웨어는 충분한 테스팅을 거쳐야 한다

    소프트웨어의 최종 소비자는 End User이기 때문에
        End User의 요구사항을 최대한으로 반영해서 소프트웨어를 개발해야한다

    소프트웨어의 인터페이스는 End User의 수준에 맞게
        직관적이고 사용하기 쉽게 설계, 개발되어야 한다


    39. 테스트와 디버그의 목적으로 옳은 것은? 1

    1️⃣테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다

    2️⃣테스트는 오류를 수정하는 작업이고 디버깅은 오류를 찾는 작업이다

    3️⃣둘 다 소프트웨어의 오류를 찾는 작업으로 오류 수정은 하지 않는다

    4️⃣둘 다 소프트웨어 오류의 발견, 수정과 무관하다


    40. 다음 중 스택을 이용한 연산과 거리가 것은? 1

    1️⃣선택정렬

    2️⃣재귀호출

    3️⃣후위표현(Post-fix expression)의 연산

    4️⃣깊이우선탐색

    선택정렬은 큐를 이용해서 정렬

     

    반응형

    댓글

Designed by Tistory.