기출문제/정보처리기사

2021년 3회 정보처리기사 기출문제 34번

엉클지니 2025. 3. 14. 13:45

34. 소프트웨어 개발 활동을 수행함에 있어서 시스템이 고장(Failure)을 일으키게 하며, 오류(Error)가 있는 경우 발생하는 것은?

 Fault        Testcase

Mistake    Inspection

 

이 문제는 소프트웨어 개발 활동에서 발생할 수 있는 고장(Failure), 오류(Error), 그리고 그와 관련된 용어에 대해 묻고 있습니다. 각 용어가 무엇을 의미하는지에 대해 잘 이해하고, 그것들이 어떤 상황에서 발생하는지 구체적으로 알아보겠습니다.

주요 용어들에 대한 설명

  1. 고장 (Failure):
    • 고장은 시스템이 정상적으로 동작하지 않는 상태를 의미합니다. 즉, 예상한 대로 작동하지 않거나, 시스템이 정해진 기능을 수행할 수 없는 상태입니다.
    • 예를 들어, 웹사이트가 로그인 버튼을 클릭했을 때 로그인하지 못하거나, 서버가 다운되는 경우가 고장에 해당합니다.
  2. 오류 (Error):
    • 오류는 프로그램 내부에서 발생하는 비정상적인 상태문제로, 이는 프로그램의 동작에 직접적으로 영향을 미칩니다. 오류는 보통 코드 내에서 잘못된 계산, 잘못된 조건문, 또는 다른 논리적인 문제가 있을 때 발생합니다.
    • 예를 들어, 잘못된 수학 계산을 하거나, 배열의 인덱스를 잘못 접근하는 것이 오류입니다.
  3. 결함 (Fault):
    • 결함오류를 일으킬 수 있는 원인이 되는 코드나 구성 요소를 의미합니다. 즉, 결함은 소프트웨어 코드 자체에서 발생하는 문제로, 이는 나중에 실행 시 오류를 초래할 수 있습니다.
    • 예를 들어, 프로그램 코드에 배열 인덱스가 범위를 벗어나는 코드가 있다면 이는 결함입니다. 이 결함이 실행되면 오류를 발생시키고, 그로 인해 고장이 일어날 수 있습니다.
  4. 실수 (Mistake):
    • 실수개발자가 프로그램을 작성하는 과정에서 잘못된 판단이나 실수를 저지른 경우를 의미합니다. 예를 들어, 코드를 작성할 때 잘못된 변수명을 사용하거나, 잘못된 논리적 결정을 내리는 것이 실수에 해당합니다.
    • 실수는 코드에 결함을 만들고, 이 결함이 나중에 오류와 고장을 초래할 수 있습니다.

문제 분석

이 문제에서는 **고장(Failure)**을 일으키고, **오류(Error)**가 있는 경우 발생하는 것이 무엇인지 묻고 있습니다. 이를 바탕으로 각 선택지를 분석해보겠습니다.

① Fault (결함)

  • Fault는 시스템 내에서 오류를 유발할 수 있는 원인이 되는 결함입니다. 이 결함이 시스템을 실행할 때 오류를 발생시키고, 결국 고장을 일으킬 수 있습니다.
  • 예를 들어, 코드에서 잘못된 배열 접근이 있을 때, 이는 Fault이고, 이 Fault는 Error를 일으키며, 그로 인해 시스템이 Failure를 경험할 수 있습니다.
  • 결론: 맞는 설명입니다.

② Testcase (테스트 케이스)

  • Testcase는 소프트웨어 테스트에서 특정 기능이나 동작을 확인하기 위한 테스트 항목입니다. 테스트 케이스 자체는 고장이나 오류를 일으키지 않습니다. 오히려 테스트 케이스는 소프트웨어가 제대로 작동하는지 확인하는 도구입니다.
  • 결론: 틀린 설명입니다.

③ Mistake (실수)

  • Mistake는 개발자가 잘못된 판단이나 실수를 했을 때 발생하는 것으로, 이 실수가 나중에 코드에 결함을 만들 수 있습니다. 이 결함이 나중에 실행 시 오류를 일으키고, 고장을 발생시킬 수 있습니다.
  • 결론: 맞는 설명입니다. (실수가 결국 Fault를 만들고, 이는 오류와 고장을 초래할 수 있음)

④ Inspection (검사)

  • Inspection은 소프트웨어를 검토하여 결함을 찾아내는 활동입니다. 검사는 오류를 발견하는 과정이지만, 검사 자체가 고장이나 오류를 일으키지 않습니다. 검사 후에 발견된 문제는 고장을 일으킬 수 있는 결함이 될 수 있습니다.
  • 결론: 틀린 설명입니다.

결론

**고장(Failure)**과 **오류(Error)**를 일으킬 수 있는 원인이 되는 것은 **결함(Fault)**입니다. 따라서 정답은 ① Fault입니다.

예시

  • Mistake: 개발자가 변수 이름을 잘못 작성함.
  • Fault: 잘못된 변수 이름을 사용하여 코드에서 결함 발생.
  • Error: 잘못된 변수 이름으로 인한 컴파일 에러나 실행 중 예외 발생.
  • Failure: 프로그램이 오류로 인해 동작을 멈추거나, 잘못된 결과를 출력하는 경우.
반응형