본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Non-Functional Requirement; NFR; 비기능적 요구사항
시스템이 무엇을 하느냐가 아니라 그 일을 얼마나 잘, 어떤 제약 아래에서 해야 하는지를 정한 요구사항

요구사항은 크게 기능 요구사항과 비기능 요구사항으로 나뉜다. 기능 요구사항이 "예약한 고객 목록을 출력한다" 처럼 시스템이 입력을 받아 내놓아야 할 동작을 말한다면, 비기능 요구사항은 "응답은 2초 안에", "메모리는 400MB 이내로", "개인정보는 암호화해 저장" 처럼 그 동작에 붙는 품질 기준과 제약을 말한다. 비기능 요구사항은 특정 기능 하나가 아니라 시스템 전체에 걸쳐 적용되는 경우가 많고, 놓치면 기능이 다 돌아가도 시스템을 쓸 수 없게 된다. 그래서 측정할 수 있는 수치로 적어야 검증할 수 있다.

기능 요구사항과 비교

편집 원본 편집
구분 기능 요구사항 비기능 요구사항
묻는 것 시스템이 무엇을 하는가 그것을 얼마나 잘·어떤 조건에서 하는가
예 남은 조리 시간을 계산해 표시한다, 문서의 단어 수를 분석해 표로 보여 준다, 특정일 예약 고객 목록을 출력한다 프로그램은 400MB 이내의 메모리를 사용해야 한다, 동시 사용자 1,000명에서 응답 3초 이내, 연간 가동률 99.9%
검증 기능 테스트(입력에 맞는 출력이 나오는가) 성능·부하·보안·사용성 테스트(수치를 만족하는가)
종류 내용 예
성능 응답 시간, 처리량, 자원 사용량 검색 결과 2초 이내, 메모리 400MB 이내
신뢰성·가용성 고장 없이 동작하는 정도, 가동률, 복구 시간 가동률 99.9%, 장애 시 30분 안에 복구
보안 접근 통제, 암호화, 감사 기록 비밀번호는 솔트를 붙여 해시로 저장
사용성 배우고 쓰기 쉬운 정도 신규 사용자가 교육 없이 10분 안에 주문 완료
유지보수성·이식성 고치기 쉬운 정도, 다른 환경으로 옮기는 정도 윈도우·리눅스 서버 모두에서 동작
제약 사항 사용해야 할 기술·표준·법규 특정 DBMS 사용, 웹 접근성 지침 준수
  • ISO/IEC 25010 의 품질 특성(성능 효율성, 신뢰성, 보안성, 사용성, 유지보수성, 이식성 등)이 비기능 요구사항을 분류하는 기준으로 쓰인다 → 소프트웨어 품질
  • 소프트웨어 요구사항 명세서는 보통 기능 요구사항과 비기능 요구사항을 따로 장을 나눠 적는다