본문 바로가기
공부/정보처리기사

[3] 요구사항 (요구공학 Requirements Engineering)

by Lagooni 2021. 9. 27.

요구공학: 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동이다.

요구사항의 분류

  • 기능적 요구사항: 시스템이 제공하는 기능, 서비스에 대한 요구사항
    • 특정 입력, 상황에 대해 시스템이 어떻게 반응, 동작해야 하는지에 대한 기술
    • 기능성, 완전성, 일관성
  • 비기능적 요구사항: 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항
    • 품질 속성에 관련하여 시스템이 갖춰야 할 사항에 관한 기술
    • 시스템이 준수해야 할 제한 조건에 관한 기술
    • 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성 및 품질 관련 요구사항, 제약사항

요구사항 개발 프로세스 (도/분/명/확)

  1. 요구사항 도출(Elicitation)
    • 소프트웨어가 해결해야 할 문제를 이해하고, 고객으로 부터 제시되는 추상적 요구에 대해 관련 정보를 식별하고 수집 방법 결정, 수집된 요구사항을 구체적으로 표현하는 단계
    •  고객 분석, 조직환경 분석, 후보 요구사항 분류, 후보 요구사항 정제, 요구사항 소스 관리
    • 주요 기법:
      • 인터뷰, 브레인 스토밍, 델파이 기법, 롤플레잉, 워크숍, 설문조사
  2. 요구사항 분석(Analysis)
    • 도출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성을 확보하는 단계
    • 비용과 일정에 대한 제약설정, 타당성 조사, 요구사항 정의 문서화 수행
  3. 요구사항 명세(Specification)
    • 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 단계
    • 요구사항 명세 기준 정의, 요구사항 명세서 작성, 요구사항 추적 관련 정보 저장
    • 주요 기법:
      • 비정형 명세 기법: 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법
        • 사용자와 개발자의 이해가 용이, 명확성 및 검증에 문제
      • 정형 명세 기법
        • 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술하는 기법
          • Z-스키마, Petri, Nets, 상태 차트 활용
          • 표현이 간결, 명확성 및 검증이 용이, 기법의 이해가 어려움
  4. 요구사항 확인 및 검증(Validation)
    • 분석가가 요구사항을 이해했는지 확인하고 요구사항 문서가 회사의 표준에 적합하고 이해 가능하며, 일관성이 있고 온전한지 검증하는 단계
    • 요구사항 확인 및 검증 단계의 주요 기법
      주요 기법 설명
      요구사항 검토 여러 검토자들이 에러, 잘못된 가정, 불명확성, 표준과의 차이 검토
      정형 기술 검토 활용 동료 검토(Peer Review) 2~3명이 진행하는 리뷰의 형태
      요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행
      워크 스루(Walk Through) 오류를 조기에 검출하는데 목적
      검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서화
      인스펙션(Inspection) 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법
      프로토타이핑 활용 개발할 시스템에 대한 주요 기능이나 일부분을 개발하여 최종 사용자나 고객을 대상으로 시연하면서 시스템이 작동하는 모습을 경험할 수 있게 하여 요구사항을 확인
      사용자 인터페이스의 동적인 행위에 대한 이해가 문서나 그래픽 모델보다 용이
      모델 검증 분석 단계에서 개발된 모델의 품질 검증 필요
      객체 모델의 경우 객체들 사이의 의사소통 경로를 검증하기 위한 정적 분석 수행에 유용
      테스트 케이스 및 테스트를 통한 확인 요구사항의 중요한 속성은 최종 제품이 요구사항을 만족시키는지 확인 가능해야 함
      인수 테스트에는 알파테스트와 베타 테스트가 있음
      CASE도구 활용 검증 구조화된 요구사항 명세서에 대해서는 자동화된 일관성 분석을 제공하는 CASE도구 활용 가능
      베이스 라인을 통한 검증 요구사항 변경을 체계적으로 추적하고 통제하는 시점인 베이스라인을 통한 요구사항에 대한 지속적 검증 수행
      요구사항 추적 표(RTM; Requirement Traceability Matrix)를 통한 검증 요구사항 정의서를 기준으로 개발단계별 최종 산출물이 어떻게 반영되고, 변경되었는지 확인이 가능한 문서

댓글