코딩과 결혼합니다

[영화 예매 웹사이트] UseCase 본문

코딩과 매일매일♥/영화예매

[영화 예매 웹사이트] UseCase

코딩러버 2024. 5. 28. 20:08
728x90

영화 예매 Use Case 우선순위


**Basic Flow(기본 흐름)**:

 

1. 로그인한 사용자는 보이는 Home에서 영화를 보고 선택한다.

2. 시스템은 사용자에게 영화 상세 정보 페이지를 제공한다.

 -2a. 사용자는 이전 Home으로 다시 돌아갈 수 있다.

 -2b. 영화 예매 버튼을 눌러 예매를 시작한다.

3. 사용자가 영화 예매 버튼을 누르면 시스템은 사용자의 생년월일과 관람가 나이를 비교한다.

 -3a. 관람가 나이보다 사용자의 나이가 더 작으면 "_세 이상 관람가 입니다." 메시지 표시

 -3b. 전체관람가 이거나 관람가 나이 이상이면 예매 페이지를 제공한다. 

4. 사용자는 원하는 장소와 날짜, 시간, 그리고 인원수를 선택하고 '좌석 선택하기' 버튼을 누른다.

5. 시스템은 입력된 정보 및 인원수와 남아있는 좌석수를 확인한다.

 -5a. 선택한 인원 수가 남아 있는 좌석을 초과할 경우  "이용 가능한 좌석이 부족합니다."와 같은 메시지를 표시하고, 예매 과정을 취소하거나 다시 인원수를 선택할 수 있다.

 -5b. 장소, 날짜, 시간 인원수 등 정보를 선택하지 않고 예매를 하려는 경우 "00을 선택해 주세요"와 같은 메시지 표시.

6. 사용자는 인원수에 맞게 원하는 좌석을 선택한다.

7. 시스템은 사용자가 선택한 좌석들이 사용 가능한 비어있는 좌석인지 확인한다.

 -7a. 이미 예약된 좌석을 고른 경우 "이미 예약된 좌석입니다." 메시지 표시.

 -7b. 입력한 인원수보다 더 많거나 적게 좌석을 고른 경우 "인원수를 확인해 주세요." 메시지 표시.

8. 사용자는 좌석을 선택한 후에 결제하기 버튼을 누른다.

9. 시스템은 간단한 영화 정보와, 청소년과 성인의 수에 따른 총가격을 계산하여 사용자에게 표시한다.

 -9a. 사용자의 등급이 존재할 경우 등급에 따른 할인률과 함께 할인된 가격을 보여준다.

 -9b. 사용자가 결제를 취소할 경우 "결제를 취소하면 처음부터 다시 예매하셔야 합니다. 취소하시겠습니까?" 메시지 표시.

10. 사용자는 결제를 진행한다.

11. 시스템은 결제를 처리하고, 결제한 (할인된 최종) 금액을 사용자의 계정에 누적한다.

12. 새로운 달이 시작되면 사용자의 누적 금액이 0으로 초기화된다.

13. 누적된 예매 금액에 따라 사용자의 등급이 결정되며, 등급에 따라 다음 달의 할인율이 달라진다.


영화 예매 취소 Use Case 우선순위

**Basic Flow(기본 흐름)**:

 

1. 로그인한 사용자가 home에서 '내 정보' 버튼을 클릭한다.

2. 시스템은 '내 정보' 페이지를 제공한다.

3. 사용자는 '내 정보' 페이지의 '영화 예매 내역'을 클릭한다.

4. 시스템은 '영화 예매 내역' 페이지를 제공한다.

5. 사용자는 영화 예매 내역 옆의 '예매 취소하기' 버튼을 클릭한다.

6. 시스템은 영화 상영 날짜와 시간, 그리고 현재의 날짜와 시간을 비교하여 상영 전의 영화인지 확인한다.

 -6a. 간단한 영화 정보와 함께 환불할 금액(할인된 최종 금액)을 보여준다.

 -6b. 이미 상영된 영화일 경우 "이미 상영된 영화입니다. 취소할 수 없습니다." 메시지 표시.

7. 사용자가 환불받을 금액을 확인 후에 확인버튼을 누르면 "예매가 취소되었습니다." 메시지 표시.

8. 시스템은 사용자의 누적금액에서 환불된 금액을 차감하고 예약 취소된 좌석들을 다시 이용가능한 좌석으로 변경한다.


사용자 정보 확인 Use Case 

**Basic Flow(기본 흐름)**:

 

1. 로그인한 사용자가 home에서 '내 정보' 버튼을 클릭한다.

2. 시스템은 사용자의 현재 등급과 할인률, 그리고 한 달 동안의 누적 금액과 다음 달 예상 등급을 보여준다.

 


회원가입/로그인 Use Case 

**Basic Flow(기본 흐름)**:

 

1. 시스템은 '로그인/회원가입' 페이지를 제공한다.

2. 사용자는 ID와 비밀번호를 입력한다.

3. 시스템은 해당 정보가 DB에 존재하는지 대조한다.

 -3a. 정보가 존재하면 jwt 토큰을 발급하고 Home 화면을 제공한다.

 -3b. 정보가 존재하지 않으면 "존재하지 않는 회원입니다." 메시지 표시

 

4. 사용자가 회원가입 버튼을 클릭한다.

5. 시스템은 회원가입 페이지를 제공한다.

6. 사용자는 이름, ID, Password, 생년월일 등을 입력한다.

7. 시스템은 정보를 DB와 대조하고 형식을 확인한다.

 -7a. 이미 존재하는 ID이면 "사용 중인 ID입니다." 메시지 표시

 -7b. 어떠한 정보 하나라도 입력하지 않은 경우 "정보를 입력해 주세요"

 -7c. ID와 비밀번호의 형식이 잘 못된 경우 "패스워드는 _자리 이상  __자리 이하로 입력해 주세요"와 같은 메시지 표시

8. 회원가입을 완료하면 사용자의 정보를 저장하고 '로그인 페이지'로 이동한다.


앞으로 더 추가되거나 변경될 수 있다.