백엔드 개발에 필요한 기술을 적용하며 깊게 이해하기 위해 프로젝트를 시작..!
주제는 평소에 책 읽을 때 많이 사용하는 교보문고 전자도서관을 주제로 잡아 분석하고
사용하면서 추가하고 싶었던 기능을 수정하며 구현하려고 합니다.
프로젝트를 시작하며 프로젝트의 목표와 범위를 구체적으로 정의하며 필수 기능과 부가기능 등의 개발 우선순위를
작성하는 요구사항 명세서를 설계했습니다.
요구사항 명세서를 통해 일정관리 및 프로젝트 관리 효율을 높이기 위해 자세하게 작성하려고 노력했습니다.
1. 요구사항 명세서 초안 작성
목표
1. 사용자, 관리자 인터페이스 구현
2. 전자책 대출/반납/예약 등 기능 구현
3. 개인별 맞춤화 추천 구현
4. 도서의 대출 예약 상태 변경 시 레디스 적용
기능
유저
- 회원가입 및 로그인, 로그아웃 기능 (OAuth2 포함)
- 유저 정보 수정 및 탈퇴 기능
- 마이페이지 기능
- 키워드 검색 및 필터 기능 (인기 순위, 카테고리)
- 개인별 맞춤 추천 기능
- 전자책 열람 기능
관리자
- 대출 승인 기능
- 유저 관리 기능
- 도서 관리 기능
도서
- 대출 기능
- 대출 연장 기능
- 도서 반납 기능
- 키워드 검색 및 필터 기능 (인기 순위, 카테고리)
- 개인별 맞춤 추천 기능
- 전자책 열람 기능
통계
- 대출 건수 조회
- 연체 도서 조회
- 카테고리 별 인기 도서 목록 조회
알림
- 대출/반납 기한 알림
- 연체 알림
위와 같이 초안을 잡고 요구사항 명세서를 작성하기 시작했습니다!
위 내용을 포함하고 요구사항 ID, 페이지 분류, 요구사항에 대한 구체적 설명, 우선순위, 테스트 ID 등을 추가하였습니다.
1. 요구사항 명세서 작성
위 내용을 포함하고 요구사항 ID, 페이지 분류, 요구사항에 대한 구체적 설명, 우선순위, 테스트 ID 등을 추가하여 작성했습니다.
요구사항 명세서는 프로젝트 진행 과정에서 변경될 가능성이 높기 때문에, 지속적으로 수정 및 업데이트할 수 있도록 유연하게 작성하는 것이 중요하다는 점을 느꼈습니다.
요구사항의 사용자를 관리자와 회원으로 분류하여 각 사용자의 특성과 필요에 따라 요구사항을 나누어 작성하는 것이 효과적이고 이를 통해 요구사항을 보다 자세히 도출하고, 시스템 설계 과정에서 사용자 중심의 개발이 가능해졌습니다.
또한, 요구사항 명세서 작성은 단순히 기술 문서를 작성하는 작업에서 멈추는 것이 아니라, 프로젝트의 방향성과 목표를 구체화하고 이를 바탕으로 시스템 개발 계획을 세우는데 중요한 역할을 한다는 것을 경험했습니다.!