비기능 요구사항(NFR)
2022. 12. 29. 16:49ㆍ컴퓨터 사이언스/소프트웨어공학
PR 양식중에 NFR이라는 모르는 단어가 튀어나와서 정리해보았다. 🤔
비기능 요구사항 (NFR: Non-Functional Requirements)
시스템에 부과되는 제약조건 또는 요구사항.
소프트웨어의 품질 속성을 지정.
확장성, 유지 관리 가능성, 성능, 이식성, 보안, 안정성 등을 다룸.
비기능 요구사항
- 품질 속성
- 전체 품질을 결정하는 시스템의 속성
- 보안, 성능 및 사용성
- 제약
- 시스템에 부과된 제한 사항
- 시간, 리소스 및 환경
비기능 요구사항의 장점
- 시스템이 사용자의 요구사항을 충족하는지 확인하는 데 도움이 됨
- 시스템이 목적에 맞는지 확인하는 데 도움이 됨
- 시스템의 확장 가능성, 안전성, 신뢰성을 확인하는데 도움이 됨
- 시스템의 사용, 유지 관리 가능성에 도움이 됨
비기능 요구사항의 단점
- 이해하고 구현하기 어려움
- 테스트 시간 및 비용이 많이 듦
- 제대로 구현되지 않을 경우 시스템 기능에 영향을 줌
기능 요구사항 vs 비기능 요구사항
기능 요구사항 | 비기능 요구사항 |
- 설계할 시스템의 기능을 설명 - 시스템이 무엇이고 사용자 요구를 충족시키기 위해 어떻게 기능할 지에 대한 설명 - 시스템이 특정 명령, 기능 및 사용자가 기대하는 것에 어떻게 응답해야하는지 명확한 설명을 제공 - 시스템이 수행해야하는 작업을 지정 ex) 연결된 모든 사용자의 목록을 제공한다. |
- 설계할 시스템의 제한 사항과 제약 조건을 설명 - 응용 프로그램의 기능에 영향을 주지 않음 - 시스템이 수행하는 방법을 설명 ex) Windows 및 Linux 시스템에서만 작동한다. |
시스템은 모든 기능 요구사항을 충족하지 않고는 작동할 수 없다.
시스템은 비기능 요구사항을 충족하지 않는 경우에도 작동할 수 있다. (원하는 결과를 제공할 수 있다.)
비기능 요구사항의 예
- 보안 : 시스템은 무단 액세스로부터 안전해야 한다.
- 성능 : 시스템은 성능 저하 없이 필요한 수의 사용자를 처리할 수 있어야 한다.
- 확장성 : 시스템은 필요에 따라 확장 또는 축소할 수 있어야 한다.
- 유효성 : 시스템은 필요할 때 사용할 수 있어야 한다.
- 유지보수 : 시스템은 유지 관리 및 업데이트가 쉬워야 한다.
- 이식성 : 시스템은 최소한의 변경으로 다른 플랫폼에서 실행할 수 있어야 한다.
- 신뢰성 : 시스템은 신뢰할 수 있어야 하고 사용자의 요구사항을 충족해야 한다.
- 유용성 : 시스템은 사용하기 쉽고 이해하기 쉬워야 한다.
- 호환성 : 시스템은 다른 시스템과 호환이 되어야 한다.
- 응낙 : 시스템은 모든 관련 법률 및 규정을 준수해야 한다.
Reference