요구 사항 정의

Daeun·2023년 9월 24일

개발이론

목록 보기
1/2

요구 사항

요구사항 이란?

  • 한 시스템이 제공해야 하는 서비스들과 그 서비들의 동작에 관한 제약을 기술한 것
  • 특정 목적을 제공하는 시스템에 대한 고객의 요구 반영

요구사항의 유형

기술 관점과 대상의 범위에 따른 분류

  1. 사용자 요구사항

    • 시스템이 사용자에게 제공해야 할 서비스와 동작하면서 준수해야 할 제약사항 등에 대해 기록
    • 시스템 기능에 관한 개괄적인 내용부터 시스템 기능에 대한 상세한 설명에 이르기까지 다양함.

    ex) 판매자에게 주문 관리를 할 수 있어야 한다

  2. 시스템 요구사항

    • 소프트웨어 시스템의 기능, 서비스와 동작 중 제약사항에 대한 보다 상세한 설명
    • 무엇을 구현해야 할지에 대해 정확하게 정의해야 함
    • 구매자와 개발자 사이의 계약의 일부로 활용

    ex) 시스템은 판매자에게 주문 목록을 제공해야 한다

    주문 목록은 주문번호, 주문일자, 고객정보, 주문 상태 등의 정보를 포함 해야 한다

    판매자는 주문을 확인하고 배송 상태를 업데이트 할 수 있어야 한다

기술하는 내용에 따른 분류

  1. 기능요구사항

    시스템에 주어지는 특정 입력에 대한 시스템이 산출하는 출력을 통해 정의된다.

    • 시스템은 어떤 서비스를 제공하는가
    • 어떤 입력이 주어졌을 때 어떻게 반응하는가
    • 어떤 상황에서 어떻게 행동하는가
    • 시스템이 무엇을 해야 하는지 설명 (기능 or 시스템 서비스)

    *때에 따라 해서는 안될 것 들을 명시하기도 한다

    a. 기능적 사용자 요구사항

    사용자에 의해 이해 될 수 있는 추상적 방법으로 설명

    ex)사용자는 시스템에 로그인을 할 수 있어야 한다.

    b. 기능적 시스템 요구사항 : 시스템 개발자를 위해 사용자 요구사항을 확장해서 작성한 것

    • 시스템 기능, 입/출력과 예외 상황 명시

    ex) 시스템은 사용자가 아이디와 비밀번호를 입력하여 로그인하는 기능을 제공해야 한다.

    시스템은 올바른 아이디와 비밀번호를 입력한 경우에는 사용자를 인증하고 유저 정보 페이지로 리다이렉션 해야 한다.

    시스템은 잘못된 아이디나 비밀번호를 입력한 경우에는 사용자에게 오류 메시지를 표시해야 한다.

  2. 비기능 요구사항

    시스템이 제공하는 서비스나 기능에 대한 제약 사항 (시간적 제약, 개발 프로세스에 대한 제약, 표준 제약)

    • 기능적 요구사항보다 더 결정적인 부분이 될 수 있다 -> why? 이부분이 충족되지 않으면 시스템 이용가치 X
    • 각각의 특징과 서비스보다는 전체적인 시스템에 적용

    a. 제품 요구사항 (Product Requirement)

    • 사용성(Usability)
      사용자가 어떻게 쉽게 사용할 수 있는가
    • 효율성(Efficiency)
      성능(Performance)  :  특정 기능이 특정시간 내에 실행
      공간 (Space)  :  특정 기능 수행시 메모리를 최대 얼마까지 사용할 수 있는가
    • 신뢰성(Reliableility)  :  특정 기능 실행시 실패할 가능성이 몇 %보다 낮아야 하는가
    • 이식성 (Portability)  :  다양한 플랫폼 위에서 작동하는가

    b. 조직 요구사항 (Organizational Requirement)

    • 배포(Delivery)  :  소프트 웨어를 어떻게 배포할 것인가
    • 구현(Implement)  :  소프트웨어 구현 ; 어떤 방법론? 어떤 프로그래밍 언어?
    • 표준(Standard)  :  소프트웨어 개발 시 어떤 표준을 따를 것인가

    c. 외부 요구사항 (External Requirement)

    • 상호 운용성 (Interoperability)  :  구현할 소프트웨어가 다른 소프트웨어와 어떻게 연동할지 정의

    • 윤리적 (Ethical)  :  소프트 웨어의 내용의 윤리적 범위을 정의
      ex) 성인용 게임 19세 이상

    • 법적 (Legislative)

      사생활(privacy)   ex) 공개범위 선택

      안전성(safety)     ex) 자료 저장방식, DBMS 어떤것? 자료의 암호화 여부

    요구사항의 작성

    • 다양한 유형의 독자들이 서로 다른 방식으로 요구사항을 읽을 수 있음

      → 상세 수준을 여러 단계로 나누어서 요구사항을 작성할 필요가 있다

    • 명확성 (Unambiguous) : 요구사항은 항상 동일한 의미로 해석되어야 한다.
      ⇒ 모호하지 않아야 한다.

    • 정확성 (Correct) : 요구사항은 이해관계자들이 실제로 원하는 것이야한다.

    • 완전성 (Complete) : 사용자가 기대하는 '모든' 기능/비기능적 요구사항이 기술되어야 한다.
      ⇒ 누락되어서는 안 된다.

    • 일관성 (Consistent) : 서로 상충되는 요구사항이 있어서는 안 된다.

    • 구현가능성(Feasible): 가용한 기술과 한정된 일정/비용으로 구현이 가능해야한다.

    • 객관적으로 검증할 수 있도록 구체적이어야 한다.

profile
어제보다 나은 내가 되자!!

0개의 댓글