목차
1. 요구사항 명세서란?
2. 고려사항
3. 예시
1. 요구사항 명세서란?
소프트웨어나 시스템을 개발하기 위해 필요한 기능이나 요구사항을 상세하게 작성한 문서로 프로젝트 목표와 범위를 정의하고 개발자들에게 작업을 방향을 제시한다. 프로젝트 초기에 작성되며 필요에 따라 프로젝트가 진행되는 중에 변경이 될 수 있다.
2. 고려사항
1) 의도 파악
- 이해관계자와 소통을 통해 소프트웨어의 목표와 의도를 명확히 파악해야한다. 어떤 기능이 필요한지, 어떤 경험을 원하는지 파악할 수 있다.
2) 기능명세
- 개발할 소프트웨어가 수행해야하는 기능을 명세화해야한다. 소프트웨어가 수행해야할 작업을 세부적으로 기술한다.
3) 비기능적 요구사항
- 기능적 부분도 중요하지만 보안이나,사용성 등 소프트웨어가 충족해야할 비기능적 요구를 명시해야 한다.
4) 시나리오
- 실제 사용자가 소프트웨어를 어떻게 사용할 것인지 이해하기 위한 시나리오를 작성해야 한다.
5) 요구사항 문서 작성자
- 요구사항 명세서를 작성한 책임자를 명확히 해야한다.
6) 검토 및 수정
- 작성된 요구사항 명세서를 이해관계자나 개발팀이 함께 검토하고 수정하면서 개발에 관련된 관계자들이 요구사항에 동의하고 이해하는지 확인할 수 있다.
7) 유지보수
- 개발 도중 필요에 따라 요구사항이 변경될 수 있기 때문에 변경된 요구사항을 반영해야 한다.
3. 예시
소개
해당 어떤 소프트웨어를 개발하는지와 어떤 목적으로 개발되는지 작성한다.
ex)
이 문서는 쇼핑 웹 애플리케이션의 요구사항을 기술한 것입니다. 해당 어플리케이션은 사용자가 제품을 검색하고 구매할 수 있는 온라인 쇼핑몰입니다.
기능 명세
- 사용자는 제품을 검색할 수 있어야 합니다.
- 사용자는 검색결과를 카테고리별로 필터링할 수 있어야 합니다.
- 사용자는 제품을 장바구니에 추가하고 제거할 수 있어야 합니다.
- 사용자는 결제를 위해 주문을 생성할 수 있어야 합니다.
- 관리자는 제품을 추가, 수정, 삭제할 수 있어야 합니다.
- 관리자는 주문 및 재고를 관리할 수 있어야 합니다.
비기능적 요구사항
- 보안 : 사용자 데이터와 결제 정보는 안전하게 보호되어야 합니다.
- 성능 : 웹 애플리케이션은 빠르게 응답해야합니다.
- 사용성 : 사용자는 쉽게 제품을 찾고 구매할 수 있어야 합니다.
사용자 시나리오
시나리오 1 : 제품검색
- 사용자가 검색창에 노트북이라는 제품을 검색하면 관련된 제품이 표시되고, 사용자는 표시된 제품 리스트를 최신 등록순, 주문많은 순, 가격순 등 필터링을하여 원하는 제품을 고르고 선택할 수 있다.
시나리오2 : 제품구매
- 사용자가 노트북제품을 상세페이지에서 확인하고 장바구니 페이지를 클릭하여 장바구니에 추가하고, 장바구니 페이지로 이동하여 주문하기 버튼을 클릭하여 주문을 생성할 있다.
- 주문하기를 클릭하면 결제 페이지로 이동하고 이름, 주소,연락처 등 필요한 정보를 입력하여 결제를 진행할 수 있다.
요구사항 문서 작성자
- 작성자 : 작성자 이름
- 작성일 : 날짜