요구사항 분석

기술노트

🗣️ 요구사항 분석 (Requirements Analysis)

요구사항 분석은 소프트웨어 개발의 첫 단계로, 개발하고자 하는 시스템에 대한 사용자와 이해관계자들의 요구사항을 수집하고, 분석하여 명확하게 정의하는 과정입니다. "무엇을 개발할 것인가?"를 명확히 하는 것이 프로젝트 성공의 가장 중요한 출발점입니다.


⚙️ 요구사항 분석의 주요 활동

1. 요구사항 도출 (Elicitation) : 인터뷰, 설문조사, 워크숍, 프로토타이핑 등 다양한 방법을 통해 고객과 이해관계자로부터 요구사항을 이끌어냅니다. 2. 요구사항 분석 (Analysis) : 수집된 요구사항들의 타당성을 검토하고, 서로 충돌하거나 모호한 부분을 해결하며, 우선순위를 정합니다. 이 과정에서 요구사항을 모델링(UML 등)하기도 합니다. 3. 요구사항 명세 (Specification) : 분석된 요구사항을 체계적이고 명확한 형식의 문서(요구사항 명세서, SRS)로 작성합니다. 개발자와 고객 모두가 동의할 수 있는 공식적인 문서가 됩니다. 4. 요구사항 검증 (Validation) : 작성된 요구사항 명세서가 사용자의 실제 요구를 정확하게 반영하고 있는지, 완전하고 일관성이 있는지를 검토하고 확인합니다.


📚 요구사항의 종류

  • 기능적 요구사항 (Functional Requirements) : 시스템이 '무엇을' 해야 하는가, 즉 시스템이 제공해야 할 구체적인 기능이나 동작에 대한 요구사항입니다. (예: "사용자는 로그인할 수 있어야 한다.", "상품을 장바구니에 담을 수 있어야 한다.")
  • 비기능적 요구사항 (Non-functional Requirements) : 시스템이 '어떻게' 동작해야 하는가, 즉 성능, 보안, 사용성, 신뢰성 등 시스템의 품질과 제약 조건에 대한 요구사항입니다. (예: "로그인 처리는 3초 이내에 완료되어야 한다.", "개인정보는 암호화되어 저장되어야 한다.")

💡 정보처리기사 핵심 Point

  • 요구사항 분석은 소프트웨어 개발의 가장 중요한 첫 단계입니다. 이 단계의 실패는 프로젝트 전체의 실패로 이어질 수 있습니다.
  • 요구사항은 크게 기능적 요구사항과 비기능적 요구사항으로 나뉘며, 특히 비기능적 요구사항은 시스템의 품질을 결정하고 아키텍처 설계에 큰 영향을 미치므로 누락되지 않도록 주의해야 합니다.
  • 정보처리기사 시험에서는 요구사항 분석의 각 활동과 요구사항의 종류를 묻는 문제가 자주 출제됩니다.