////////
Search
🐣

요구사항 정리

요구사항을 정리해야 하는 이유
1. 수많은 요구사항 중 가장 긴급하고 중요도가 높은 사항이 무엇인지 우선순위 기반으로 알 수 있습니다.
2. 문서 기반으로 필요 기능등을 정리하면 보다 명확하게 필요 사항들을 협의할 수 있습니다.

요구사항 정리

ID : 요구사항 구분을 위한 ID (RQ는 ReQuest 줄임말)
기능 : 개발할 기능 분담하기에서 기능
페이지명 : 개발할 기능 분담하기에서 페이지명
요구사항 : 구현해야 할 내용 간략하게 명시
구현 내용 : 구현해야 하는 내용 구체적으로 명시 (감귤마켓 요구사항 명세에 있는 내용 정리)
필수or선택 : 필수 과제인지 선택 과제인지
디자인시안 화면명 : 디자인 시안에서 관련된 화면 이름
감귤마켓 명세 소제목 : 감귤마켓 명세에서 관련된 소제목
ID
기능
페이지명
요구사항
구현 내용
필수or선택
디자인시안 화면명
감귤마켓 명세 소제목
작성일
RQ-0001
1. 시작화면
Splash 페이지
서비스 접속 초기 화면
* 사용자가 로그인을 하지 않았다면 로그인 메인 페이지(RQ-0002)로 이동한다. * 사용자 로그인이 되어 있다면 홈 피드 페이지(RQ-0006)로 이동한다.
필수
Splash Screen
3.1.1 splash
22/12/03
RQ-0002
2. 로그인
로그인 메인 페이지
로그인 종류를 선택할 수 있다. - [SNS 로그인], [이메일 로그인]
* SNS(카카오톡, 구글, 페이스북) 로그인 기능은 구현하지 않는다. * 이메일로 로그인을 클릭하면 이메일 로그인 페이지(RQ-0003)로 이동한다. * 회원가입을 클릭하면 회원가입 페이지(RQ-0004)으로 이동한다.
필수
Login
3.1.2 로그인
22/12/03
RQ-0003
2. 로그인
이메일 로그인 페이지
이메일 로그인을 진행한다.
* 입력창에 focus 될 경우에는 테두리의 색이 변한다. * 이메일과 비밀번호를 모두 입력하면 다음 버튼이 활성화 된다. 입력되지 않은 입력창이 있다면 버튼은 활성화되지 않는다. * 로그인 버튼을 클릭하면 이메일 주소와 로그인에 대한 유효성 검사를 진행한다. 이메일 주소 또는 비밀번호가 일치하지 않을 경우에는 경고 문구가 나타난다. * 이메일로 회원가입을 클릭하면 회원가입 페이지(RQ-0004)으로 이동한다.
필수
Login - email
3.1.2 로그인
22/12/03
RQ-0004
3. 회원가입
회원가입 페이지
회원 가입을 진행한다. - [이메일(필수)], [비밀번호(필수)] 입력
* 입력창에 focus 될 경우에는 테두리의 색이 변한다. * 회원가입 페이지에서는 유효성 검사가 로그인 페이지와 조금 다르게 진행된다. - 이메일 주소 또는 비밀번호를 입력하고 입력창에서 포커스를 잃으면 바로 유효성 검사가 된다. * 유효성 검사를 통과하지 못한 경우 경고 문구가 각 입력창 하단에 표시된다. - 이메일 주소의 형식이 유효하지 않은 경우, 이미 가입된 이메일일 경우, 비밀번호가 6자 미만일 경우 * 이메일, 비밀번호가 모두 유효성 검사를 통과한 경우 다음 버튼이 활성화된다. * 다음 버튼을 클릭하면 프로필 설정 페이지(RQ-0005)로 이동한다.
필수
Join membership
3.1.3 회원가입
22/12/03
RQ-0005
3. 회원가입
프로필 설정 페이지
사용자의 프로필을 설정한다. - [프로필 사진(선택)], [사용자 이름(필수)], [계정 ID(필수)], [소개(선택)] 입력
* 사용자는 프로필 설정에 필요한 프로필 사진, 사용자 이름(2~10자 이내), 계정 ID, 소개를 입력한다. - 프로필 사진은 등록하지 않을 경우 기본 이미지가 등록된다. - 사용자 이름과 소개는 다른 사용자와 중복될 수 있다. - 계정 ID는 중복이 불가능하다. - 프로필 설정에서도 회원 가입과 같은 방식으로 유효성 검사가 진행된다. 계정 ID에 대한 중복 유무와 형식을 검사한다. * 감귤마켓 시작하기 버튼을 클릭하면 홈 피드 페이지(RQ-0006)로 이동한다. [추가로 생각해 볼 내용] * 사용자 이름 형식은 어떻게 할까? - 2~10자 이내면 한글, 숫자, 영어, 특문 다 상관없나? 개발하면서 체크해봐도 될듯.. * 계정 ID 형식은 어떻게 할까? - API명세 내용 : accountname은 영문자, 숫자, 점(.), 밑줄(_)만 포함해야 합니다.
필수
Join membership-2
3.1.3 회원가입
22/12/03
RQ-0006
4. 피드
홈 피드 페이지
사용자가 팔로우 하고 있는 사용자들이 올린 게시글들이 표시된다.
* 사용자는 자신이 팔로우한 사용자의 게시글만 감귤마켓 피드에서 확인할 수 있다. * 팔로우한 사용자가 없거나 팔로우한 사용자가 올린 게시글이 없는 경우 "유저를 검색해 팔로우 해보세요!" 문구와 함께 검색하기 버튼이 표시된다. * 검색하기 버튼을 클릭하거나 감귤마켓 피드 상단 검색 버튼을 클릭하면 검색 페이지(RQ-0007)로 이동한다.
필수
Home
3.1.4 감귤마켓 피드(홈 화면)
22/12/03
RQ-0007
5. 검색
검색 페이지
사용자 이름과 계정을 검색한다.
[필수 과제 / 선택 과제] * 필수 과제 : 검색 기능은 구현하지 않고 마크업만 구현한다. * 선택 과제 - 입력창에 텍스트를 입력하면 해당하는 사용자가 나오도록 한다. - 검색어와 같은 단어에는 주황색 글씨가 표시된다. - 검색한 사용자를 선택하면 해당 사용자의 프로필 페이지(RQ-0008)로 이동한다.
부분 필수
Search (필수 과제) Search-2 (선택 과제)
3.1.5 검색
22/12/03
RQ-0008
6. 프로필
your profile 페이지, my profile 페이지
사용자는 본인의 프로필, 다른 사용자의 프로필을 확인할 수 있다. - 공통 : [사용자 이름], [계정 ID], [소개], [팔로워 및 팔로잉 수], [판매 상품], [사용자가 업로드한 게시글] 조회 가능 - 본인의 프로필인 경우 : [프로필 수정 버튼], [상품 등록 버튼] 추가 표시 사용자는 다른 사용자를 팔로우, 언팔로우 할 수 있다.
* 사용자 정보 하단에는 팔로우 버튼이 있다. 팔로우 버튼을 클릭하면 언팔로우 버튼으로 바뀌어야 한다. 단, 필수 과제에서는 팔로우 기능은 구현하지 않고 버튼의 변화만 구현한다. * 팔로워 및 팔로잉 수를 클릭하면 팔로잉, 팔로워 목록 페이지(RQ-0009)로 이동한다. * [판매 상품] 섹션은 등록한 상품이 없을 경우에는 표시되지 않는다. * [사용자가 업로드한 게시글] 섹션은 사용자가 등록한 게시글이 없는 경우 표시되지 않는다. * [사용자가 업로드한 게시글] 섹션에서는 목록형과 앨범형으로 게시글들을 확인할 수 있다. 기본형은 목록형이며, 이미지가 없는 게시글인 경우에는 앨범형에서는 표시되지 않는다. * 사용자의 프로필인 경우 판매 중인 상품을 클릭하면 하단에 상품 삭제, 수정, 웹사이트에서 상품 보기 버튼이 포함된 메뉴가 나타난다. * 다른 사용자의 프로필인 경우 판매 중인 상품을 클릭하면 바로 상품 판매 사이트로 이동한다. * 나의 프로필 페이지에서 프로필 수정 버튼을 클릭하면 내 프로필 수정 페이지(RQ-0010)로 이동한다. * 나의 프로필 페이지에서 상품 등록 버튼을 클릭하면 상품 등록 페이지(RQ-0011)로 이동한다. * 사용자가 업로드한 게시글 하단 댓글 아이콘을 클릭하면 게시물 상세 페이지(RQ-0013)로 이동한다. [디자인 시안에는 있으나 감귤마켓 명세에는 없는 내용] * 다른 사용자와 채팅 기능 (채팅 기능 구현이 필수가 아니라 빠져있는 듯) * 공유하기 기능
필수
Your profile My profile
3.1.6 사용자 프로필 페이지
22/12/03
RQ-0009
7. 팔로잉
팔로잉 목록 페이지, 팔로워 목록 페이지
사용자는 본인 및 타인의 팔로워, 팔로잉 목록을 확인할 수 있다. - [프로필 사진], [이름], [계정 ID], [팔로우 또는 언팔로우] 조회 가능
* 팔로우 한 사용자일 경우 취소 버튼이, 팔로우 하지 않은 사용자일 경우에는 팔로우 버튼이 표시된다. [필수 과제 / 선택 과제] * 필수 과제 : 팔로우, 언팔로우 기능은 구현하지 않고 버튼의 변화만 구현한다. * 선택 과제 : 팔로우, 언팔로우 기능 구현 - 팔로우 버튼을 클릭하면 팔로잉 목록에 해당 사용자가 추가된다. - 취소 버튼을 클릭하면 팔로잉 목록에서 해당 사용자가 삭제되어야 한다. - 팔로워 및 팔로잉 목록에 내가 표시될 경우 팔로우 버튼은 나타나지 않는다.
부분 필수
Your Profile(별도 넘버링 되어있진 않음. Your Profile 중 Followers 리스트 출력하는 시안 참고)
3.1.7 팔로워, 팔로잉 목록
22/12/03
RQ-0010
8. 회원정보 수정
프로필 수정 페이지
사용자는 본인의 프로필 정보를 수정할 수 있다.
* 입력창에 대한 명세는 회원가입에서의 프로필 설정과 동일하다. * 유효성 검사가 통과되지 않을 경우 저장 버튼이 활성화되지 않는다.
필수
Profile modification
3.1.8 내 프로필 수정
22/12/03
RQ-0011
9. 상품
상품 등록 페이지
사용자는 판매할 상품을 등록할 수 있다. - [상품 이미지(필수)], [상품명(필수)], [가격(필수)], [판매링크(필수)] 입력
* 상품 이미지, 상품명, 가격, 판매링크의 입력이 모두 완료되면 저장 버튼이 활성화된다. * 상품명은 2~15자 이내로 입력되어야 한다. * 가격은 숫자를 입력하면 자동으로 원단위로 변환(콤마 추가)시킨다. * 가격은 문자로(예: 만원) 입력할 수 없다. * 가격은 1원 이상의 숫자여야 한다.
필수
Add product
3.1.9 상품 등록
22/12/03
RQ-0012
9. 상품
상품 수정 페이지
사용자는 자신이 등록한 판매 상품 정보를 수정할 수 있다.
필수
product modification
명세에 빠져있음
22/12/03
RQ-0013
10. 게시물
게시물 상세 페이지
사용자는 본인 및 타인이 올린 게시글과 댓글을 조회할 수 있다.
필수
Post
3.1.10 게시글 댓글 페이지
22/12/03
RQ-0014
10. 게시물
게시물 상세 페이지
사용자는 본인 및 타인이 올린 게시글에 댓글을 작성할 수 있다.
[필수 과제 / 선택 과제] * 필수 과제 : 댓글 입력창에 텍스트를 입력하면 게시 버튼이 활성화된다. * 선택 과제 - 댓글 작성이 현재 시간으로 부터 몇 초, 분, 시간 전에 작성되었는지 표시한다. - 댓글 개수는 카운트 되어 말풍선 아이콘 우측에 표시된다.
부분 필수
Post
3.1.10 게시글 댓글 페이지
22/12/03
RQ-0015
10. 게시물
게시물 상세 페이지
사용자는 본인이 올린 댓글을 삭제할 수 있다.
[선택 과제] * 선택 과제 : 댓글 삭제 기능을 구현한다.
선택
Post
3.1.10 게시글 댓글 페이지
22/12/03
RQ-0016
10. 게시물
게시물 상세 페이지
사용자는 타인이 올린 댓글을 신고할 수 있다.
[선택 과제] * 선택 과제 : 신고하기 기능을 구현한다.
선택
Post
3.1.10 게시글 댓글 페이지
22/12/03
RQ-0017
10. 게시물
게시물 작성 페이지
사용자는 게시글을 작성할 수 있다. - [내용], [사진] 입력 - 둘 중 하나는 입력되어야 게시글 작성 가능
* 내용이 입력되거나 사진이 업로드 되면 업로드 버튼이 활성화된다. * 업로드 버튼을 누르면 게시글이 업로드된다. * 사진은 우측 하단 버튼을 클릭하면 업로드할 수 있다. [필수 과제 / 선택 과제] * 필수 과제 : 한 장만 업로드 가능하도록 구현 * 선택 과제 : 여러 이미지 업로드, 단 최대 3장까지만 업로드 가능하도록 구현
부분 필수
Upload
3.1.11 게시글 작성 페이지
22/12/03
RQ-0018
10. 게시물
게시물 수정 페이지
사용자는 자신이 작성한 게시글을 수정할 수 있다.
필수
Upload
명세에 빠져있음
22/12/03
RQ-0019
11. 채팅
채팅방 목록 페이지
사용자는 채팅중인 채팅방 목록을 확인할 수 있다. - 읽지 않은 채팅방인 경우 프로필 사진 좌측 상단에 알림 표시
* 채팅 목록 화면은 마크업 구현 및 스타일 적용만 진행한다. * 채팅 목록에서 특정 채팅방을 클릭하면 해당 채팅방 페이지(RQ-0020)로 이동한다.
필수(화면만 구현)
Chat list
3.1.12 채팅 목록
22/12/03
RQ-0020
11. 채팅
채팅방 페이지
사용자는 특정 사용자와 채팅을 할 수 있다.
* 채팅방은 마크업 구현 및 스타일 적용만 진행한다. 기능은 구현하지 않는다. * 채팅 입력창에서 텍스트가 입력되면 전송 버튼이 활성화된다. * 이미지 버튼을 클릭하고 이미지를 선택하면 전송 버튼이 활성화된다.
필수(화면만 구현)
Chat Room
3.1.13 채팅방
22/12/03
RQ-0021
공통UI
사용자는 하단 탭 메뉴를 이용해 홈, 채팅, 게시물 작성, 프로필 페이지로 빠르게 이동할 수 있다.
* 홈 메뉴 클릭 시 홈 피드 페이지(RQ-0006)로 이동한다. * 채팅 메뉴 클릭 시 채팅방 목록 페이지(RQ-0019)로 이동한다. * 게시물 작성 메뉴 클릭 시 게시물 작성 페이지(RQ-0017)로 이동한다. * 프로필 메뉴 클릭 시 my profile 프로필 페이지(RQ-0008)로 이동한다.
필수
공통 (맨 아래 ‘디자인 참고 > 하단 탭 메뉴’에 예시 이미지 있음)
3.1.14 하단 탭 메뉴
22/12/03
RQ-0022
공통UI
사용자는 마음에 드는 게시글을 추천할 수 있다.
* 게시글 하단에는 하트 모양에 좋아요 버튼이 있다. * 빈 하트를 클릭하면 색이 칠해진 하트로 변하고, 색이 칠해진 하트를 누르면 빈 하트로 변한다. [필수 과제 / 선택 과제] * 필수 과제 : 좋아요 기능은 구현하지 않고 하트 색의 변화만 구현한다. * 선택 과제 : 좋아요 기능 구현 - 좋아요 개수는 카운트 되어 하트모양 우측에 표시된다.
부분 필수
게시글 공통
3.1.15 좋아요 버튼
22/12/03
RQ-0023
공통UI
사용자는 헤더의 모달 버튼을 눌러 자신의 정보를 관리할 수 있다. - [설정 및 개인정보], [로그아웃]
[디자인 시안&감귤마켓 명세에 없는 내용] * [설정 및 개인정보]를 클릭하면 프로필 수정 페이지(RQ-0010)로 이동한다. (임의로 생각해봄)
필수
헤더 공통 (Your profile 시안 아래 모달 시안 참고)
3.1.16 모달 버튼
22/12/03
RQ-0024
공통UI
사용자는 자신이 작성한 게시글의 모달 버튼을 눌러 작성한 게시글을 관리할 수 있다. - [삭제], [수정] 사용자는 타인이 작성한 게시글의 모달 버튼을 눌러 게시글을 신고할 수 있다. - [신고]
* 사용자가 작성한 게시글인 경우 삭제, 수정 버튼이 나타난다. * 다른 사용자가 작성한 게시글인 경우 신고 버튼이 나타난다.
필수
게시글 공통 (My Profile 시안 아래 첫번째 모달 시안 참고)
3.1.16 모달 버튼
22/12/03
RQ-0025
공통UI
사용자는 자신이 작성한 댓글의 모달 버튼을 눌러 댓글을 삭제할 수 있다. - [삭제] 사용자는 타인이 작성한 댓글의 모달 버튼을 눌러 댓글을 신고할 수 있다. - [신고하기]
* 사용자가 작성한 댓글인 경우 삭제 버튼이 나타난다. * 다른 사용자가 작성한 댓글인 경우 신고하기 버튼이 나타난다.
필수
댓글 공통 (Post 시안 아래 모달 시안 참고)
3.1.16 모달 버튼
22/12/03
RQ-0026
공통UI
사용자는 채팅방 화면의 모달 버튼을 눌러 채팅방을 나갈 수 있다. - [채팅방 나가기]
필수
Chat Room 시안 아래 모달 시안 참고
3.1.16 모달 버튼
22/12/03
RQ-0027
공통UI
사용자는 자신이 등록한 상품을 클릭해 상품을 관리할 수 있다. - [삭제], [수정], [웹사이트에서 상품 보기]
* 수정 클릭 시 게시물 수정 페이지(RQ-0018)로 이동한다.
필수
My Profile 시안 아래 두번째 모달 시안 참고
명세에 빠져있음
22/12/03
RQ-0028
공통UI
시스템은 사용자가 로그아웃, 게시글 삭제, 댓글 삭제, 댓글 신고, 판매 중인 상품 삭제, 채팅방 나가기 버튼을 누른 경우 사용자의 동작을 최종 확인한다.
* 로그아웃 경우 : 로그아웃하시겠어요? → 취소 / 로그아웃 - ‘로그아웃’ 클릭시 로그인 메인 페이지(RQ-0002)로 이동한다. * 게시글 삭제 경우 : 게시글을 삭제할까요? → 취소 / 삭제 * 게시글 신고 경우 : 게시글을 신고하시겠어요? → 취소 / 신고 * 댓글 삭제 경우 : 댓글을 삭제할까요? → 취소 / 삭제 * 댓글 신고 경우 : 신고하시겠어요? → 취소 / 신고 * 상품 삭제 경우 : 상품을 삭제할까요? → 취소 / 삭제 * 채팅방 나가기 경우 : 채팅방을 나가시겠어요? → 취소 / 나가기
필수
사용자 동작 확인이 필요한 경우 공통
3.1.16 모달 버튼
22/12/03
RQ-0029
12. 날씨
날씨별로 산책 여부를 알려준다.
* OpenAPI 사용
필수
-
22/12/03
RQ-0030
14. 에러화면
사용자가 입력한 URL을 찾을 수 없는 경우 404 페이지를 출력한다.
필수
page-404
-
22/12/03
RQ-0031
11. 집사생활 메인
집사생활 메인 페이지
필수
22/12/03
RQ-0032
13. 동물병원
근처 동물병원을 알려준다.
필수
22/12/03

디자인 참고

하단 탭 메뉴