6회차(5/9): 요구사항 정의와 문서화


📘 요구사항 정의서(SRS, Software Requirements Specification)란?

👉 사용자가 원하는 기능과 시스템의 동작을 명확하게 문서로 정리한 것입니다.

개발자, 기획자, 디자이너, 클라이언트 모두가 시스템에 대한 공통된 이해를 갖기 위해 필요하며, 개발의 기준이 되는 가장 중요한 문서 중 하나입니다.


❓ 왜 쓰는가? (목적)

이유 설명
✅ 정확한 기능 전달 개발자에게 '무엇을 개발해야 하는지'를 명확히 전달
✅ 범위 관리 요구한 것 외의 기능 추가 요청을 줄여서 일정 관리에 도움
✅ 커뮤니케이션 도구 기획자–개발자–디자이너–이해관계자 간 소통 기준
✅ 테스트 기준 구현 완료 후 '요구사항이 충족되었는가'를 테스트할 기준 제공
✅ 문서화 기록 프로젝트 유지보수 및 인수인계 시 참고할 수 있는 기록 자료

⏰ 언제 작성하나요?

📌 서비스 개발 초기 기획 단계에서 작성합니다.

정확하게는 기획 → 요구사항 정의서 → 설계 → 개발 → 테스트 순으로 진행되는 SDLC (소프트웨어 개발 생명주기) 상에서, 기획과 개발 사이 단계에서 사용됩니다.


🧩 구성 요소

요구사항 정의서는 프로젝트 규모에 따라 다소 달라지지만, 일반적으로 아래의 구성요소를 포함합니다.

번호 구성 요소 설명
1 문서 개요 요구사항 정의서의 목적, 범위, 용어 정의 등
2 시스템 개요 시스템이 무엇을 하는지, 전체적인 개요와 배경 설명
3 기능 요구사항 사용자 또는 시스템이 제공해야 할 기능 리스트 (예: 회원가입, 검색, 결제 등)
4 비기능 요구사항 보안, 성능, 안정성, 호환성 등 시스템 품질 관련 요구
5 데이터 요구사항 입력/출력 데이터, DB 테이블, 필드명, 형식 등
6 UI/UX 요구사항 사용자 인터페이스 구성, 주요 화면에 대한 설명
7 시스템 인터페이스 외부 시스템/API 연동이 필요한 경우 설명
8 제약 조건 기술적 제약, 법적 요구사항, 운영 환경 조건 등
9 변경 이력 문서의 수정 내역과 작성자, 작성일 등을 기록