기출문제/정보처리기사

2022년 2회 정보처리기사 기출문제 3번

엉클지니 2025. 2. 7. 08:36

3. 익스트림 프로그래밍에 대한 설명으로 틀린 것은?

    대표적인 구조적 방법론 중 하나이다.

   소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.

   익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.

   구체적인 실천 방법을 정의하고 있으며, 개발 문서 보다는 소스코드에 중점을 둔다.

 

익스트림 프로그래밍(Extreme Programming, XP) 개념과 틀린 선택지 분석

**익스트림 프로그래밍(Extreme Programming, XP)**는 애자일(Agile) 개발 방법론 중 하나로, 지속적인 피드백과 개선을 통해 소프트웨어 개발의 품질과 생산성을 높이는 개발 방법론입니다.
이번 글에서는 XP의 개념과 특징을 설명하고, 문제에서 제시된 선택지 중 틀린 내용을 분석하겠습니다.


1. 익스트림 프로그래밍(XP)이란?

XP는 소규모 개발팀이 불확실하고 자주 변경되는 요구사항을 빠르게 반영할 수 있도록 설계된 개발 방법론입니다.
애자일 개발 방식 중에서도 테스트와 피드백을 강조하며, 협업과 소통을 중심으로 한 개발 방식을 따릅니다.

XP의 주요 특징

  1. 반복적인 개발(Iterative Development)
    • 짧은 개발 주기를 통해 지속적으로 개선하며, 고객의 요구를 빠르게 반영합니다.
  2. 테스트 주도 개발(Test-Driven Development, TDD)
    • 소스코드보다 테스트 코드가 먼저 작성되며, 지속적인 테스트를 통해 품질을 보장합니다.
  3. 단순한 설계(Simple Design)
    • 불필요한 복잡성을 배제하고, 유지보수하기 쉬운 단순한 설계를 지향합니다.
  4. 짝 프로그래밍(Pair Programming)
    • 두 명의 개발자가 한 대의 컴퓨터에서 코드를 함께 작성하여 오류를 줄이고 코드 품질을 높입니다.
  5. 고객과의 지속적인 소통
    • 고객과 긴밀하게 협업하며, 피드백을 즉시 반영할 수 있도록 유연하게 대응합니다.

2. 문제에서 제시된 선택지 분석

틀린 선택지: ① 대표적인 구조적 방법론 중 하나이다.

XP는 구조적 방법론이 아닌 애자일 방법론 중 하나입니다.
구조적 방법론은 미리 정해진 절차와 문서를 중심으로 진행되는 개발 방법론이며, 대표적인 방식으로는 **폭포수 모델(Waterfall Model)**이 있습니다.

💡 XP는 변화에 유연하게 대응하는 애자일 방법론이며, 기존의 구조적 방법론과는 차이가 있습니다.

올바른 선택지

② 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.정답
     → XP는 변화가 잦고 요구사항이 불확실한 경우에 적합한 방법론입니다.

③ 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.정답
     → XP는 개발자가 기존에 알고 있는 원칙과 경험을 최대한 활용하여 소프트웨어 개발을 수행하는 방법론입니다.

④ 구체적인 실천 방법을 정의하고 있으며, 개발 문서보다는 소스코드에 중점을 둔다.정답
     → XP는 개발 문서보다는 소스코드와 테스트 코드에 집중하여 개발의 효율성을 높입니다.


3. XP의 실천 방법

XP에서는 개발을 효율적으로 수행하기 위한 **구체적인 실천 방법(Practices)**이 정의되어 있습니다.

XP의 주요 실천 방법

  1. 짝 프로그래밍(Pair Programming)
    • 두 명의 개발자가 함께 코드를 작성하며, 품질을 개선합니다.
  2. 테스트 주도 개발(TDD, Test-Driven Development)
    • 코드를 작성하기 전에 테스트 코드를 먼저 작성하여 안정성을 확보합니다.
  3. 리팩토링(Refactoring)
    • 코드의 기능을 변경하지 않으면서 지속적으로 코드 품질을 개선합니다.
  4. 끊임없는 고객 피드백
    • 개발 중간에도 고객과 지속적으로 소통하여 요구사항을 조정합니다.
  5. 지속적인 통합(Continuous Integration, CI)
    • 코드 변경 사항을 자주 통합하여 버그를 조기에 발견합니다.

4. XP의 활용 사례

✅ 스타트업 및 소규모 팀에서 XP 적용

  • 스타트업과 소규모 팀에서는 요구사항이 자주 바뀌고, 빠른 개발이 필요합니다.
  • XP를 적용하면 반복적인 개발과 빠른 피드백을 통해 높은 생산성을 유지할 수 있습니다.

✅ 테스트 자동화가 중요한 프로젝트

  • TDD 기반으로 테스트를 먼저 작성하는 XP 방식을 활용하면, 버그를 사전에 방지하고 유지보수를 쉽게 할 수 있습니다.

5. 결론

익스트림 프로그래밍(XP)은 변화가 많은 환경에서도 빠르게 개발할 수 있도록 도와주는 애자일 방법론 중 하나입니다.
💡 문제에서 틀린 선택지는 ①번이며, XP는 대표적인 구조적 방법론이 아니라 애자일 방법론에 속합니다.

반응형