본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Functional Requirement; 기능적 요구사항
시스템이 사용자에게 제공해야 하는 기능, 곧 어떤 입력에 대해 무엇을 처리하고 어떤 결과를 내놓아야 하는지를 정한 요구사항

기능 요구사항은 "시스템이 무엇을 하는가"에 답한다. 데이터를 입력받아 계산하고, 저장하고, 조회해 보여 주는 동작 하나하나가 기능 요구사항이다. 유스케이스나 기능 목록으로 정리하며, 기능 테스트로 입력에 맞는 출력이 나오는지 확인한다. 이 기능을 얼마나 빠르게, 얼마나 안정적으로, 어떤 자원 제약 안에서 해야 하는지는 비기능 요구사항이 정한다.

  • 전자레인지 시스템은 조리 중일 때 남은 조리 시간을 계산하여 표시한다
  • 입력한 문서의 음절·단어·문장·줄·문단 수를 분석해 표로 보여 준다
  • 예약 시스템은 특정일에 예약한 고객 목록을 출력한다
  • 회원은 아이디와 비밀번호로 로그인한다

반대로 "프로그램은 400MB 이내의 메모리를 사용해야 한다", "응답은 2초 이내" 같은 문장은 동작이 아니라 품질·제약을 정하므로 비기능 요구사항이다.

  • 빠짐없이 적는다. 기능 요구사항이 빠지면 그 기능은 만들어지지 않는다 → 요구사항 명세
  • 하나의 문장에 하나의 기능을 적고, 입력·처리·출력이 드러나게 쓴다
  • 테스트로 확인할 수 있게 쓴다