요구공학

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

요구공학(Requirements engineering)은 시스템 요구사항 문서를 생성, 검증, 관리하기 위하여 수행되는 구조화된 활동의 집합이다.

정의[편집]

  • 요구사항의 획득, 분석, 명세, 검증 및 변경관리등에 대한 제반 활동과 원칙. 요구사항 생성 및 관리를 체계적, 반복적으로 수행한다.
  • 요구사항 관리에 포함되는 모든 생명주기(SDLC)활동과 이를 지원하는 프로세스를 포함한다.
  • 시스템 요구사항 문서를 생성,검증,관리하기 위하여 수행되는 구조화된 활동의 집합이다.
  • 요구사항 명세를 최종 산출물로 생성한다.

목적[편집]

  • 이해관계자 사이에 효과적인 통신수단을 제공 및 요구사항에 대한 공통 이해 설정
  • 요구사항 손실 방지 및 에러 감지로 불필요한 비용 절감
  • 구조화된 요구사항으로 요구사항 변경 추적을 가능하게 함
  • CMM level 2 달성 또는 business 수행 방법 개선
  • PM에 필수적 : 프로젝트 비용 초과와 기간 지연 방지

프로세스 구성[편집]

요구공학의 프로세스는 요구사항 개발요구사항 관리로 구성된다.

요구사항 관리 : CMMI Level 2 프로세스 영역(PA)[편집]

  • 요구사항 협상, 요구사항 기준선(BaseLine), 요구사항 변경관리, 요구사항 확인을 수행한다.
  요구사항 협상 : 가용한 자원과 수용가능한 위험수준에서 구현 가능한 기능 협상
  요구사항 기준선 : 공식적으로 합의되고 검토된 요구사항 명세서
  요구사항 변경관리 : 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제
  요구사항 확인 : 구축된 시스템이 이해관계자가 기대한 요구사항에 부합되는지 확인

요구사항 개발: CMM Level 3 프로세스 영역(PA)[편집]

  1. 요구사항 추출 : 이해관계자와 개발자가 함께 이해관계자의 Needs와 시스템 개발시 제약사항을 발견하여 검토하고 명확화하는 이해과정이다.
  2. 요구사항 분석 : 추출된 요구사항을 분석하고 요구사항을 구조화고 각종 대안들을 결정하는 피드백역할 수행을 포함한다.
  3. 요구사항 명세화 : 분석 과정에서 선별된 기능을 기반으로 구축할 시스템의 세부 내역을 기술한다.
  4. 요구사항 확인(검증) : 요구사항의 승인기준 = 문서화, 명확성, 간결성, 이해성, 시험성, 사용성, 추적성, 검증성

요구공학 관리 기법[편집]

  1. 시나리오/Goal 기반 요구사항 획득
    • 기능적 요구사항과 비기능적 요구사항을 명확하게 추출
    • 요구사항의 품질속성(Quality Attribute)을 명확화
  2. Use Case를 이용한 요구사항 모델링
    • 시스템 기능적 측면과 관련된 요구사항들의 유스케이스를 이용하여 구조화
    • 유스케이스 다이어그램, 유스케이스 명세서로 구성됨
  3. 품질 요구사항을 위한 자동 분류
    • 분류언어와 유사도를 이용한 2단계 분류 기법 사용
  4. 유사도 측정을 이용한 요구사항 변경관리
    • 공기 정보(co-occurrence information)를 이용하여 문서간 유사도를 측정(슬라이딩 윈도 기법, Salton의 코사인 계수 이용)
    • 문서내 일관성 결여 문장과 불명확성을 가진 문장을 찾아 주는 통합 기법

참고 자료[편집]

  • Karl E. Wiegers. 《Software Requirements, 2nd Ed.》
  • Karl E. Wiegers. 《More About Software Requirements: Thorny Issues and Practical Advice》
  • 박수용, 황만수, 박수진, 서성숙, 나호영 〈실무적 요구공학 공정〉.