Study_Note

requirements engineering 본문

QA_study

requirements engineering

12월7일생 2023. 12. 8. 13:45
728x90

 

요구공학
(Requirements Engineering)

 

요구공학은 소프트웨어 개발 프로세스에서 핵심적인 역할을 하는 학문 및 활동입니다. 이는 소프트웨어 시스템이나 제품을 개발하기 위해 사용자, 고객, 시스템의 사용자, 기타 이해관계자와의 상호 작용을 통해 시스템에 대한 요구사항을 수집, 분석, 명세하고 관리하는 프로세스를 포함합니다.

요구공학은 소프트웨어 시스템의 성공적인 개발을 위해 명확하고 완전한 요구사항을 도출하고 문서화하여 프로젝트의 목표를 이해하고 전달할 수 있도록 합니다. 요구사항은 사용자의 기대와 시스템이나 소프트웨어 제품이 만족시켜야 할 조건과 기능을 명시적으로 정의하는 데 사용됩니다.

요구공학의 주요 단계 및 활동은 다음과 같습니다:

 

 

  1. 요구사항 도출(Requirements Elicitation)
    사용자 및 이해관계자와의 소통을 통해 요구사항을 수집하고 도출하는 활동입니다.

  2. 요구사항 분석(Requirements Analysis)
    수집된 요구사항을 분석하여 모호성이나 모순을 해결하고, 요구사항 간의 우선순위를 정하며, 명세를 명확하게 만드는 단계입니다.

  3. 요구사항 명세(Requirements Specification)
    분석된 요구사항을 명세서로 문서화하는 단계로, 이는 개발자, 테스터 및 다른 이해관계자들이 참고할 수 있는 자료가 됩니다.

  4. 요구사항 검증 및 확인(Requirements Validation and Verification)
    명세된 요구사항이 실제로 시스템이나 제품을 설계 및 개발할 때 준수되고 있는지 검증하고 확인하는 단계입니다.

  5. 요구사항 관리(Requirements Management)
    요구사항이 프로젝트의 진행 중에 변경되거나 업데이트되는 경우, 그 관리를 위한 활동을 수행합니다.

요구공학은 소프트웨어 개발 프로세스의 초기 단계에서 중요한 역할을 하는데, 초기에 발견된 요구사항의 문제나 누락은 나중에 문제를 일으킬 가능성이 크기 때문입니다. 따라서 효과적인 요구공학은 프로젝트의 성공과 소프트웨어 시스템의 품질에 매우 중요합니다.

 



요구사항 도출 기법

  • 인터뷰(Interviews)
    • 설명 : 사용자, 고객, 시스템 이해관계자 등과의 대화를 통해 요구사항을 수집합니다.
    • 장점 :  직접적인 소통을 통해 실제 요구사항을 파악할 수 있습니다.
    • 주의사항 : 의사소통 불일치, 주관적인 의견 등이 발생할 수 있습니다.
  •  문서 분석(Document Analysis)
    • 설명 : 기존 문서, 보고서, 계획서 등을 분석하여 요구사항을 도출합니다.
    • 장점 : 기존 자료를 활용하여 빠르게 정보를 얻을 수 있습니다.
    • 주의사항 : 문서가 불완전하거나 오래되었을 경우 정보 부족이 발생할 수 있습니다.
  • 관찰(Observation)
    • 설명 : 사용자나 시스템의 동작을 직접 관찰하여 요구사항을 도출합니다.
    • 장점 : 실제 사용 환경에서의 동작을 확인할 수 있습니다.
    • 주의사항 : 모든 동작을 관찰하기 어려울 수 있습니다.
  • 원형 개발(Prototyping)
    • 설명 : 초기 모델을 만들어 사용자에게 제시하고 피드백을 받아 요구사항을 조정합니다.
    • 장점 : 빠른 피드백 및 수정이 가능하며, 사용자와의 협력을 촉진합니다.
    • 주의사항 : 초기 모델이 완전하지 않을 수 있습니다.

요구사항 선별 기법

  • 우선순위 부여(Prioritization)
    • 설명 : 수집된 요구사항 중에서 중요도에 따라 순위를 매겨 선별합니다.
    • 장점 : 프로젝트의 핵심 기능을 먼저 개발할 수 있습니다.
    • 주의사항 : 모든 요구사항이 중요하다고 생각되어야 합니다.
  • 최소 기능 제품(Minimum Viable Product, MVP)
    • 설명 : 초기에 필수적인 기능만을 포함한 제품을 빠르게 개발하고 선별합니다.
    • 장점 : 빠른 시간 내에 제품을 출시할 수 있습니다.
    • 주의사항 : 필수적인 기능의 정의가 중요합니다.
  • 도전적인 문제 해결(Challenging Problems)
    • 설명 : 프로젝트의 핵심적인 기술적, 비즈니스적 문제에 집중하여 선별합니다.
    • 장점 : 핵심 문제에 집중함으로써 핵심 가치를 높일 수 있습니다.
    • 주의사항 : 다양한 영역에서 발생할 수 있는 문제를 고려해야 합니다.
  • 사용자 피드백(User Feedback)
    • 설명 : 사용자들로부터의 피드백을 수집하여 요구사항을 조정하고 선별합니다.
    • 장점 : 실제 사용자의 의견을 반영하여 제품을 개선할 수 있습니다.
    • 주의사항 : 모든 의견을 수용할 수는 없습니다.

이러한 기법과 절차는 요구사항 과정을 체계적으로 수행하기 위한 도구로 사용되며, 프로젝트의 성공과 품질 향상을 위해 중요합니다.

 

반응형

 

'QA_study' 카테고리의 다른 글

sanity test , smoke test , regression test  (1) 2024.02.26
why perfect testing is impossible  (0) 2023.12.18
software life cycle model  (2) 2023.12.06
decision table testing  (0) 2023.07.31
boundary value analysis test  (0) 2023.07.28