기능적 요구사항
- 제품의 동작에 대한 요구사항(제품이 동작하는 내용에 대해 정의 한 것)
- Ex1. 관리자는 회원의 권한을 추가할 수 있다.
- Ex2. 관리자는 상품을 등록 할 수 있다.
비기능적 요구사항
- 제품의 속성 및 시스템의 제약사항들을 정의하는 요구사항
- 품질 요구사항과 제약사항으로 나눠서 볼 수 있다.
품질 요구사항
성능
, 신뢰성
, 보안성
, 안정성
, 가용성
이 있다.
- 성능: 시스템의 자원을 얼마나 효율적으로 사용하는가
- 예) 사용자가 통화버튼을 누르면 2초 이내에 통화 연결이 성립되어야 한다.
- 신뢰성: 시스템이 주어진 요구사항을 준수하여 동작하는 정도를 뜻한다.
- 예) 지대공미사일은 100개를 발사하면 90개는 목표에 명중해야한다.
- 보안성: 허가되지 않은 사용자가 시스템에 접근하거나, 사용자가 접근권한이 없는 시스템의 정보를 접근하거 해서는 안된다.
- 예) 등록된 사용자만이 시스템이 접근할 수 있어야 한다.
- 안전성: 시스템이 주변 환경, 인명, 재산에 피해를 주지 않아야 한다는 요구사항
- 예) 엘리베이터 문이 열린 상태에서는 엘리베이터는 이동해서는 안된다.
- 가용성: 사용자가 원하는 순간에 시스템은 서비스를 제공해야 한다는 요구사항
- 예) 인터넷 뱅킹 시스템은 1년 365, 하루 24시간 동안 서비스를 제공해야 한다.
제약 사항
개발 방법론
, 모델링 언어
, 개발 언어
, 운영체제
, 미들웨어
등이 있다. 일반적인 개발하는데 있어서 관련된 제약사항이라 보면 된다.
예) 모델링 언어는 UML 2.x를 사용해하며, 개발 언어는 java언어, 운영체제는 Linux에서 동작해야 한다. DB는 Oracle DB를 사용해야 한다.