CS

[소프트웨어 공학] 진화적인 요구 사항

Joonfluence 2024. 9. 7.

목차

  • 진화적인 요구사항을 수행하는데 동기를 부여함
  • FURPS+ 모델이란
  • UP의 요구사항 산출물

정의 : 요구사항

  • 요구사항
    • 시스템이(더 넓게는 프로젝트가) 따라야 할 기능(능력, capabilities)조건(condition)을 의미한다. 
  • UP에서는 프로그래밍 전에 모든 요구사항을 정의하려고 하지 않는다. 
    • 대신, 변화하는 요구사항을 발견하고, 문서화하고 조직화하고 추적하는 체계적인 방법을 권장한다. 

진화적인 요구사항 대 폭포수 모델의 요구사항

  • 요구사항
    • UP는 요구사항에서의 변화를 수용한다.
  • 폭포수 모델
    • 설계와 코딩 전에 모든 상세한 요구사항이 정의되길 요구하고, 요구사항에 변화가 생기는 것을 부정한다.
  • 그러나 실제 소프트웨어 프로젝트에서 평균 25%의 요구사항 변화가 일어난다.

  • 요구사항의 타입과 분류
    • UP에서의 요구사항은 FURPS+ 모델에 따라 분류된다. 
      • 기능적(Functional) : 특성, 기능, 보안 
      • 사용성(Usability) : 인적 요소, 도움말, 문서 
      • 신뢰성(Reliability) : 실패율, 복구성, 예측성 
      • 성능(Performance) : 응답 시간, 처리량, 정확성, 가용성, 자원 사용 
      • 지원성(Supportability) : 적응성, 유지보수성, 국제화, 구성력 
  • FURPS+는 다음과 같은 부수적인 요소를 의미한다.
    • 구현(Implementation) : 자원의 제한, 언어와 도구, 하드웨어 등
    • 인터페이스(Interface) : 외부 시스템과 연계하기 위해 필요한 제약 사항
    • 오퍼레이션(Operations) : 운영 환경에서의 시스템 관리
    • 패키징(Packaging) : 예를 들어, 포장 박스
    • 법적 요건(Legal) : 라이선스 등

요구사항의 타입과 분류

  • 기능적 요구사항
    • behaviours, functions, capabilities
  • 비기능적 요구 사항(non-functional)
    • 품질 속성(quality attributes) 또는 품질 요구사항(quality requirements)이라고 함.
    • 사용성(usability), 신뢰성(reliability), 성능(performance), 지원성(supportability) 등.

요구사항 산출물

  • 유즈케이스 모델
    • 시스템을 사용하는 전형적인 시나리오들의 집합 (주로 기능적 요구 사항을 포함)
  • 보충 명세서
    • 유스케이스에 포함되지 않은 요구 사항을 포함 (주로 비기능적 요구사항을 포함)
  • 용어집
    • 중요한 용어들을 정의함
  • 비즈니스 규칙
    • 프로젝트가 준수해야 하는 외부 제한 조건
      • 예를 들면, 은행 업무 절차, 네트워크 통신 프로토콜, 보안 규약 등
반응형

댓글