Skip to content

Use Case

Junho Han edited this page Feb 24, 2025 · 1 revision

1. 이메일 회원가입

시나리오

  1. 회원 가입 요청
    • 사용자가 이메일 회원 가입을 요청한다.
  2. 회원가입 폼 제공
    • 시스템은 회원가입 폼을 제공한다.
  3. 이메일 검증
    • 사용자는 이메일 검증을 시도한다.
      • 예외 처리: 중복된 이메일이 있을 경우, 시스템은 해당 이메일이 중복되었음을 알린다.
  4. 인증 코드 발송
    • 시스템은 사용자가 입력한 이메일로 4자리 인증 코드를 보낸다.
  5. 인증 완료
    • 사용자는 4자리 인증 코드를 입력하여 인증을 완료한다.
      • 예외 처리: 인증에 실패 시, 재발송을 시도한다.
  6. 비밀번호 입력
    • 사용자는 규칙에 맞는 비밀번호를 입력한다.
    • 사용자는 비밀번호 확인창을 통해 비밀번호를 다시 입력한다.
  7. 활동명 입력 및 다음 단계
    • 사용자는 활동명을 입력한 후, 다음 버튼을 클릭한다.
  8. 피드백 선호 정보 입력
    • 시스템은 피드백 선호 정보를 선택하는 입력창을 제공한다.
    • 사용자는 피드백 선호 정보를 입력한다.
      • 제약 조건: 스타일과 내용 별로 최소 1개, 최대 2개 선택해야 하며, 선택되지 않으면 회원가입을 완료할 수 없다.
  9. 회원가입 시도
    • 사용자는 최종적으로 회원가입을 시도한다.
      • 성공: 시스템은 해당 회원을 내부 DB에 저장한다.
      • 실패: 시스템은 적절한 거절 메시지를 응답한다.

사후조건

  • 사용자가 이메일 계정으로 회원가입 되어야 한다.

2. 구글 회원가입

시나리오

  1. 구글 계정 연동
    • 사용자는 구글 계정 연동을 진행한다.
  2. 피드백 선호 정보 입력
    • 구글 계정 연동 완료 후, 시스템은 피드백 선호 정보를 선택하는 입력창을 제공한다.
    • 사용자는 피드백 선호 정보를 입력한다.
      • 제약 조건: 스타일과 내용 별로 최소 1개, 최대 2개 선택해야 하며, 선택되지 않으면 회원가입을 완료할 수 없다.
  3. 회원가입 시도
    • 사용자는 회원가입을 시도한다.
      • 성공: 시스템은 해당 회원을 내부 DB에 저장한다.
      • 실패: 시스템은 적절한 거절 메시지를 응답한다.

사후조건

  • 사용자가 구글 계정으로 회원가입 되어야 한다.
  • 사용자의 활동명은 구글 계정명을 따라가야 한다.

3. 팀 스페이스 생성

시나리오

  1. 팀 정보 입력
    • 사용자는 팀 이름, 프로젝트 기간, 피드백 방식을 입력한다.
  2. 폼 제출 및 로그인 검증
    • 사용자는 해당 폼을 제출한다.
    • 시스템은 사용자가 로그인한 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
  3. 프로젝트 기간 검증
    • 시스템은 팀 프로젝트 기간이 올바른지 검증한다.
      • 팀 종료일이 오늘 이후가 아닌 경우 거절.
      • 팀 프로젝트 종료일이 시작일보다 앞선 경우 거절.
  4. 팀 생성 및 초대 링크 제공
    • 시스템은 해당 사용자를 팀장으로 하는 새 팀을 생성한다.
    • 시스템은 초대 링크 생성 페이지를 보여준다.

사후조건

  • 해당 사용자를 팀장으로 하는 팀이 생성되어야 하며, 팀장은 해당 팀에 등록되어야 한다.

4. 팀 가입

사전조건

  • 사용자는 로그인 된 상태여야 한다.

시나리오

  1. 초대 링크 클릭
    • 사용자는 초대 링크를 클릭한다.
  2. 로그인 검증
    • 시스템은 사용자가 로그인 되어 있는지 검증한다.
      • 로그인되어 있지 않다면, 로그인 안내 페이지로 이동.
  3. 팀 가입 처리
    • 시스템은 사용자를 해당 팀에 가입시킨다.

사후조건

  • 초대 링크를 클릭한 사용자는 해당 팀에 가입되어야 하며, 팀의 아직 끝나지 않은 모든 일정에 참가된 상태가 되어야 한다.

5. 일정 생성

시나리오

  1. 일정 추가하기 버튼 클릭
    • 사용자는 일정 추가하기 버튼을 클릭한다.
  2. 폼 제공 및 입력
    • 시스템은 바텀시트를 통해 일정 이름, 일정 시간, 내 역할을 입력할 폼을 제공한다.
    • 사용자는 해당 폼을 작성한 뒤 제출한다.
  3. 로그인 및 팀 소속 검증
    • 시스템은 사용자가 로그인한 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀에 속한 상태인지 검증한다.
      • 소속이 아니라면, 요청을 거절한다.
  4. 폼 검증
    • 종료 시간이 시작 시간보다 앞선 경우 거절.
    • 종료 시간이 현재보다 앞선 경우 거절.
  5. 일정 생성
    • 시스템은 해당 일정을 생성한다.

사후조건

  • 해당 일정이 DB에 등록되어야 하며, 해당 팀에 속한 모든 사용자가 일정 등록 알림을 받아야 한다.

6. 팀 스페이스 정보 수정

시나리오

  1. 관리 페이지 이동
    • 사용자는 마이페이지의 팀 스페이스 관리를 통해 수정하려는 팀 스페이스의 관리 페이지로 이동한다.
  2. 수정 아이콘 표시
    • 시스템은 사용자가 팀장일 경우, 좌측 상단의 펜 모양 아이콘을 표기한다.
  3. 수정 화면 이동 및 폼 제공
    • 사용자는 펜 아이콘을 통해 팀 스페이스 수정하기 창으로 이동한다.
    • 시스템은 팀 스페이스 수정하기 폼을 제공한다.
  4. 정보 입력 및 제출
    • 사용자는 팀 이름, 프로젝트 기간, 피드백 방식을 입력하고 폼을 제출한다.
  5. 로그인 및 팀장 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀의 팀장인지 검증한다.
      • 팀장이 아니라면, 요청을 거절한다.
  6. 프로젝트 기간 검증
    • 팀 종료일이 오늘 이후인지, 시작일과 종료일 관계가 올바른지 검증한다.
  7. 수정 처리
    • 시스템은 입력된 정보대로 팀 스페이스 정보를 수정한다.

사후조건

  • 해당 팀 스페이스의 정보가 수정되어야 한다.

7. 팀 스페이스 삭제

시나리오

  1. 관리 페이지 이동
    • 사용자는 마이페이지의 팀 스페이스 관리를 통해 삭제하려는 팀 스페이스의 관리 페이지로 이동한다.
  2. 수정 아이콘 표시 및 삭제 옵션 선택
    • 시스템은 사용자가 팀장일 경우, 좌측 상단의 펜 모양 아이콘을 표기한다.
    • 사용자는 해당 아이콘을 통해 팀 스페이스 수정하기 창으로 이동 후, 하단의 팀 스페이스 삭제 버튼을 클릭한다.
  3. 로그인 및 팀장 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀의 팀장인지 검증한다.
      • 팀장이 아니라면, 요청을 거절한다.
  4. 팀원 검증
    • 시스템은 팀에 남아있는 팀장을 제외한 팀원이 있는지 검증한다.
      • 남아있는 팀원이 있을 경우, 삭제 요청을 거절한다.
  5. 삭제 처리
    • 시스템은 해당 팀 스페이스를 삭제한다.

사후조건

  • 해당 팀 스페이스가 삭제되어야 한다.

8. 일정 수정

시나리오

  1. 일정 수정 요청
    • 사용자는 일정 페이지의 일정에 존재하는 펜 모양 아이콘을 클릭하여 수정 요청한다.
  2. 폼 제공 및 입력
    • 시스템은 바텀시트를 통해 일정 이름, 일정 시간, 내 역할을 입력할 폼을 제공한다.
    • 사용자는 해당 폼을 작성한 뒤 제출한다.
  3. 로그인 및 권한 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀의 팀장이거나 일정의 주인인지 검증한다.
      • 그렇지 않다면, 요청을 거절한다.
  4. 폼 검증
    • 종료 시간이 시작 시간보다 앞선 경우 거절.
    • 종료 시간이 현재보다 앞선 경우 거절.
  5. 수정 처리
    • 시스템은 일정 정보를 입력된 값대로 수정한다.

사후조건

  • 해당 일정의 정보가 수정되어야 한다.

9. 일정 삭제

시나리오

  1. 일정 삭제 요청
    • 사용자는 일정 페이지에서 일정에 존재하는 펜 모양 아이콘을 클릭하여 수정 요청한다.
    • 만약 사용자가 팀장 또는 일정의 주인이라면, 좌측 상단에 휴지통 아이콘이 제공된다.
  2. 휴지통 아이콘 클릭
    • 사용자는 휴지통 아이콘을 클릭하여 삭제 요청을 진행한다.
  3. 로그인 및 권한 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀의 팀장이거나 일정의 주인인지 검증한다.
      • 그렇지 않다면, 요청을 거절한다.
  4. 삭제 처리
    • 시스템은 해당 일정을 삭제한다.

사후조건

  • 해당 일정이 삭제되어야 한다.

10. 역할 등록

시나리오

  1. 역할 등록 요청
    • 사용자는 메인 페이지의 "할 일 등록하기" 또는 일정 페이지에서 펜 모양 아이콘을 클릭하여 역할 등록을 요청한다.
  2. 폼 제공 및 입력
    • 시스템은 바텀시트를 통해 사용자의 역할을 입력할 폼을 제공한다.
    • 사용자는 자신의 역할을 입력한 후 폼을 제출한다.
  3. 로그인 및 팀 소속 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀에 속한 상태인지 검증한다.
      • 소속이 아니라면, 요청을 거절한다.
  4. 역할 등록 처리
    • 시스템은 해당 사용자의 역할을 등록한다.

사후조건

  • 사용자의 선택한 일정에서의 역할이 입력한 값으로 변경되어야 한다.

11. 수시 피드백 요청 보내기

시나리오

  1. 피드백 요청을 보낼 사람 선택
    • 사용자는 메인 화면에 존재하는 “피드백 주고받기” 창을 통해, 피드백 요청을 보낼 사람을 선택한다.
  2. 요청할 피드백 내용 작성
    • 시스템은, 해당 사용자에게 요청할 피드백 내용을 작성할 폼을 제공한다.
    • 사용자는, 해당 폼에 피드백 요청 수신자에게 요청할 피드백 내용을 작성한 뒤, 해당 폼을 제출한다.
  3. 로그인 및 팀 소속 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀에 속한 상태인지 검증한다.
      • 소속이 아니라면, 요청을 거절한다.
  4. 피드백 요청 처리
    • 시스템은 수시 피드백 요청을 보낸다.

사후조건

  • 피드백 요청을 받은 사용자는 요청을 받았다는 알림을 제공받아야 한다.

12. 정기 피드백 요청에 대한 피드백 보내기

시나리오

  1. 정기 피드백 요청 찾기
    • 사용자는 알림, 또는 메인 카드에 존재하는 정기 피드백 요청 응답 창에 의하여, 받은 정기 피드백 요청을 확인하는 창을 요청한다.
    • 시스템은 현재 존재하는 정기 피드백 요청을 보여준다.
    • 사용자는 받은 정기 피드백 요청에 대하여, 응답할 사용자를 선택한다.
  2. 객관식 피드백 선택
    • 시스템은 사용자에게 피드백의 느낌 선택지를 제공한다.
    • 사용자는 피드백의 느낌을 선택한다
    • 시스템은 사용자의 피드백의 느낌에 맞는, 객관식 피드백 키워드를 제공한다.
    • 사용자는 객관식 피드백 키워드 중, 1개에서 5개의 키워드를 선택한다.
  3. 주관식 피드백 작성
    • 시스템은 사용자에게 피드백 수신자의 피드백 선호도와 주관식 피드백을 입력할 수 있는 텍스트 박스를 제공한다.
    • 사용자는 수신자에게 보낼 주관식 피드백을 작성한다.
      • 이 때, 사용자는 “AI 다듬기” 기능을 사용할 수 있다.
    • 사용자는 작성한 폼을 제출한다.
  4. 로그인 및 팀 소속 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀에 속한 상태인지 검증한다.
      • 소속이 아니라면, 요청을 거절한다.
  5. 피드백 보내기
    • 사용자는 정기 피드백 요청에 대해 피드백을 보낸다.

사후조건

  • 정기 피드백 요청은 삭제되어야 한다.
  • 피드백 수신자는 피드백이 도착했다는 알림을 받아야 하며, 시스템을 통해 해당 피드백을 읽을 수 있어야 한다.
  • 발신자의 AI 다듬기 사용 가능 횟수는 3회로 초기화되어야 한다.

13. 수시 피드백 요청에 대한 피드백 보내기

시나리오

  1. 수시 피드백 요청 찾기
    • 사용자는 알림, 또는 배너에 의하여, 현재 존재하는 수시 피드백 요청 목록을 요청한다.
    • 시스템은 현재 존재하는 수시 피드백 요청을 보여준다.
    • 사용자는 받은 수시 피드백 요청에 대하여, 응답할 사용자를 선택한다.
  2. 객관식 피드백 선택
    • 시스템은 사용자에게 피드백의 느낌 선택지를 제공한다.
    • 사용자는 피드백의 느낌을 선택한다
    • 시스템은 사용자의 피드백의 느낌에 맞는, 객관식 피드백 키워드를 제공한다.
    • 사용자는 객관식 피드백 키워드 중, 1개에서 5개의 키워드를 선택한다.
  3. 주관식 피드백 작성
    • 시스템은 사용자에게 피드백 수신자의 피드백 선호도와 주관식 피드백을 입력할 수 있는 텍스트 박스를 제공한다.
    • 사용자는 수신자에게 보낼 주관식 피드백을 작성한다.
      • 이 때, 사용자는 “AI 다듬기” 기능을 사용할 수 있다.
    • 사용자는 작성한 폼을 제출한다.
  4. 로그인 및 팀 소속 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀에 속한 상태인지 검증한다.
      • 소속이 아니라면, 요청을 거절한다.
  5. 피드백 보내기
    • 사용자는 수시 피드백 요청에 대해 피드백을 보낸다.

사후조건

  • 수시 피드백 요청은 삭제되어야 한다.
  • 피드백 수신자는 피드백이 도착했다는 알림을 받아야 하며, 시스템을 통해 해당 피드백을 읽을 수 있어야 한다.
  • 발신자의 AI 다듬기 사용 가능 횟수는 3회로 초기화되어야 한다.

14. 직접 피드백 보내기

시나리오

  1. 피드백을 보낼 사람 선택
    • 사용자는 메인 화면에 존재하는 “피드백 주고받기” 창을 통해, 피드백을 보낼 사람을 선택한다.
  2. 객관식 피드백 선택
    • 시스템은 사용자에게 피드백의 느낌 선택지를 제공한다.
    • 사용자는 피드백의 느낌을 선택한다
    • 시스템은 사용자의 피드백의 느낌에 맞는, 객관식 피드백 키워드를 제공한다.
    • 사용자는 객관식 피드백 키워드 중, 1개에서 5개의 키워드를 선택한다.
  3. 주관식 피드백 작성
    • 시스템은 사용자에게 피드백 수신자의 피드백 선호도와 주관식 피드백을 입력할 수 있는 텍스트 박스를 제공한다.
    • 사용자는 수신자에게 보낼 주관식 피드백을 작성한다.
      • 이 때, 사용자는 “AI 다듬기” 기능을 사용할 수 있다.
    • 사용자는 작성한 폼을 제출한다.
  4. 로그인 및 팀 소속 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 해당 팀에 속한 상태인지 검증한다.
      • 소속이 아니라면, 요청을 거절한다.
  5. 피드백 보내기
    • 사용자는 직접 피드백을 보낸다.

사후조건

  • 피드백 수신자는 피드백이 도착했다는 알림을 받아야 하며, 시스템을 통해 해당 피드백을 읽을 수 있어야 한다.
  • 발신자의 AI 다듬기 사용 가능 횟수는 3회로 초기화되어야 한다.

15. AI 다듬기

사전조건

  • 주관식 피드백 작성 중에 호출되어야 한다.

시나리오

  1. 주관식 피드백에 대한, AI 다듬기 요청
    • 사용자는 작성한 주관식 피드백에 대하여, AI 다듬기 요청을 호출한다.
  2. AI 다듬기 사용 가능 여부 검증
    • 시스템은 사용자가 로그인 상태인지 검증한다.
      • 시스템은 사용자가 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 사용자가 입력한 주관식 피드백이 10자 이상인지 검증한다.
      • 시스템은 해당 조건이 만족되지 않았다면, 해당 사용자의 요청을 거절한다.
    • 시스템은 해당 사용자가 기회가 아직 남아있는지 검증한다.
      • 만약 해당 사용자가 API 호출 사용 가능 횟수가 고갈되었다면, 피드백을 보내야 사용 가능 횟수가 초기화된다는 메시지와 함께, 해당 요청을 거절한다.
  3. 다듬은 주관식 피드백 적용
    • 시스템은 해당 사용자에게, 작성한 주관식 피드백과, 수신자의 피드백 선호 정보에 맞추어 다듬은 피드백을 제공한다.
    • 해당 피드백은 사용자가 하단의 “적용하기” 버튼을 눌러 실제로 주관식 피드백에 적용할 수 있다.
    • 재시도 시, 사용자는 좌측 하단에 있는 페이지 표시를 통해, 과거에 받았던 다듬기를 받았던 주관식 피드백을 제공받을 수 있다.
  • API 호출 오류 발생 시 처리
    • 시스템은 API 호출 중 오류가 발생했을 경우, 사용자에게 시스템에 오류가 발생했음을 알리는 메시지와 함께, 해당 사용자의 AI 호출 사용 가능 횟수를 1회 추가한다.

16. 회원 정보 수정

시나리오

  1. 프로필 수정 페이지 이동
    • 사용자는 마이 페이지의 프로필 수정 버튼을 통해 프로필 수정 페이지로 이동한다.
  2. 프로필 이미지 변경 (랜덤 변경)
    • 사용자는 "랜덤 변경" 버튼을 통해 프로필 이미지를 변경할 수 있다.
  3. 활동명 수정
    • 사용자는 활동 이름을 변경한다.
  4. 정보 제출
    • 사용자는 변경한 프로필 이미지와 활동 이름을 제출한다.
  5. 로그인 및 사용자 검증
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
    • 시스템은 수정하려는 사용자 정보가 로그인한 사용자와 일치하는지 검증한다.
      • 일치하지 않으면, 요청을 거절한다.
  6. 수정 처리
    • 시스템은 사용자의 정보를 입력받은 값대로 변경한다.

사후조건

  • 해당 회원의 정보가 입력된 값으로 수정되어야 한다.

17. 회고 작성하기

시나리오

  1. 회고 페이지 이동
    • 사용자는 메인 페이지의 "피드백 주고 받기" 영역에서 "나"를 클릭하여 회고 페이지로 이동한다.
  2. 회고 작성
    • 시스템은 회고 페이지를 제공한다.
    • 사용자는 회고 페이지의 폼에 맞춰 제목과 내용을 입력한다.
  3. 폼 제출 및 로그인 검증
    • 사용자는 해당 폼을 제출한다.
    • 시스템은 사용자가 로그인된 상태인지 검증한다.
      • 로그인 상태가 아니라면, 요청을 거절한다.
  4. 회고 저장
    • 시스템은 해당 회고를 저장한다.

사후조건

  • 해당 회원이 작성한 회고가 DB에 등록되어야 하며,
  • 사용자는 시스템을 통해 자신이 작성한 회고를 볼 수 있어야 한다.

Clone this wiki locally