Home 정보처리기사 실기 2020년 4회
Post
Cancel

정보처리기사 실기 2020년 4회

개인적인 공부를 위해 작성되었습니다. 다른 사람이 보았을 때 도움이 되지않을 수 있습니다.
IT위키를 참고하여 작성하였습니다.
문제 출처 : https://newbt.kr

3. 다음은 어떤 UML 다이어그램에 관한 예시이다. 어떤 종류의 다이어그램인가?

정답 : 패키지 다이어그램

오답원인 : 암기부족

  • class diagram
    클래스 명, 멤버, 메소드를 작성한다는 특징이 있음.
  • package diagram
    폴더 형태로 작성한다는 특징이 있음.
  • activity diagram
    시작노드, 종료노드, flow, 액티비티(사각형), 분기문으로 구성되어 있음.
  • usecase diagram
    액터, (시스템), 유스케이스로 구성되어 있음.
  • sequence diagram
    액터, 클래스, life line 으로 구성되어 있음. 액터와 클래스, 클래스와 클래스의 상호작용을 시간의 흐름에 따라서 볼 수 있다는 특징이 있음.
  • communication diagram
    클래스 간의 상호작용을 볼 수 있다는 특징이 있음. 쉽게 생각해서 시퀀스 다이어그램을 축약해놓은 형태라고 생각하자. 시퀀스 다이어그램에서는 메세지의 전달순서를 시간에 흐름을 따라 볼 수 있지만 커뮤니케이션 다이어그램은 시간축이 없다. 메세지 앞에 순서를 기입하여 파악한다.

4. 데이터베이스의 회복(Recovery)기법 중 하나로 Rollback 시 redo 와 undo를 모두 실행되는 트랜잭션 처리방법이다. 트랜잭션 수행중 갱신 결과를 DB에 바로 반영하는 기법은 무엇인가?

정답 immediate update


오답원인 : DB 장애 회복기법에 대해 공부를 안했다.

  1. 로그 기반 회복기법
    • 로그 파일 : 트랜잭션을 반영한 데이터를 저장한 파일. 하드디스크에 저장되므로 전원이 내려가도 사라지지않고 존재함.
    • Redo : 장애 발생시 트랜잭션 재실행. 시작지점이 존재하고 commit이 존재할 때 사용됨. 종료지점이 명확하기 때문에, 변경사항을 로그 파일에 기록하였다가 commit 시점에 로그파일을 db에 반영하기 되기 때문.
    • Undo : 장애 발생시 변경사항을 취소하여 복구함. 시작지점이 존재하고 commit이 없을 때 사용됨. 트랜잭션의 종료지점을 알 수 없기 때문에 변경사항을 그때 그때 반영함. 대신 장애 발생 시 로그파일을 보고 db를 트랜잭션 반영 이전으로 되돌린다.
    • diferred update 회복기법
      commit 시점에 로그파일을 DB에 반영하는 방법을 말한다. 장애 발생시 반영된 것이 없으므로 회복할 사항이 없다는 장점이 있음.
    • immediate update 회복기법
      트랜잭션의 부분 완료 결과를 DB에 반영할 때 사용되는 회복기법. 장애 발생시 원자성을 보장하지 않으므로(트랜잭션 실행 중간 상태이므로) Undo 함.
  2. check point 기반 회복기법
    장애 발생시
    check point 시점 이전에 commit된 트랜잭션은 회복대상에서 제외.(DB에 그대로 반영한다는 의미)
    check point 시점 이후에 commit 된 트랜잭션은 Redo 대상.
    check point 시험 이후에 commit 되지 않은 트랜잭션은 Undo 대상.
    회복의 기준은 check point 이므로 commit 까지 정상적으로 수행되더라도 check point 이후라면 회복을 진행한다. 이유는 모르겠음.
  3. shadow paging recovery
    트랜잭션 시작 지점에 하드디스크에 shadow page table 생성. shadow page table은 current page table 의 백업본이다.
    트랜잭션이 정상적으로 수행되면 shadow page table 삭제한다.
    장애 발생시 current page table 에 shadow page table을 덮어 씌운다.
  4. media recovery
    DB 가 저장되는 비휘발성 저장장치(HDD 등)이 손상될 경우를 대비하여 복구하는 방법을 말한다.
    미러링, RAID와 같이 별도의 저장장치에 저장한다.

14. 테스트 오라클 중 특정한 몇 개의 입력값에 대해서만 기대한 결과를 제공해주는 오라클은 무엇인가?

정답 sampling oracle


오답원인 : 테스트 오라클 개념을 모름

oracle : 신탁, 예언
Test oracle : 테스트를 수행한 결과가 참인지 거짓인지를 판단하기 위해서 미리 정의된 참 값을 대입하여 비교하는 소프트웨어 테스트 기법·활동
쉽게 말해서 테스트의 수행결과를 미리 정해놓고(예언해 놓고) 테스팅을 한다.

True oracle : 전수 테스트가 가능할 경우, 모든 테스트케이스에 대하여 기대한 결과가 나오는지 확인한다.
Sampling oracle : 전수 테스트가 불가능할 경우, 몇몇 특정 테스트케이스에 대하여 원하는 결과가 나오는지 확인한다. (ex 경계값, 구간별 값)
Heuristic oracle: 샘플링 오라클에 휴리스틱 입력값 처리한 방법. 휴리스틱 케이스는 확률, 직관에 의한 결정 등이 있다고 한다.
Consistent oracle : (회귀테스트 등)프로그램이 수정된 후에도 결과가 변하지 않는지 검증한다.

This post is licensed under CC BY 4.0 by the author.

정보처리기사 실기 2020년 3회

데이터 모델의 유형