1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo đồ án ứng dụng đặt vé xem phim

112 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Phần Mềm Đặt Vé Xem Phim
Tác giả Hoàng Đức Đạt, Trần Anh Tú, Trần Văn Hiếu, Tạ Thủy Tiên, Đỗ Quang Tiến
Người hướng dẫn Th.S Phạm Thị Quỳnh Trang
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ Án Chuyên Ngành
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 112
Dung lượng 15,41 MB
File đính kèm báo cáo đồ án ứng dụng đặt vé xem phim.rar (17 MB)

Nội dung

Trong bối cảnh thời đại công nghệ ngày nay, đặt vé xem phim trực tuyến đang trở thành xu hướng phổ biến trên thế giới và ở Việt Nam. Theo thống kê của Hiệp hội Điện ảnh Hoa Kỳ (MPAA), trong năm 2022, doanh thu từ phòng vé trực tuyến tại Mỹ đạt 13,4 tỷ USD, chiếm 42,3% tổng doanh thu phòng vé của cả nước. Tại Việt Nam, doanh thu từ phòng vé trực tuyến cũng đang tăng trưởng mạnh mẽ, với tốc độ tăng trưởng trung bình hàng năm là 25%. Xu hướng đặt vé xem phim trực tuyến mang lại nhiều lợi ích cho cả người tiêu dùng và doanh nghiệp trong ngành điện ảnh. Đối với người tiêu dùng, đặt vé trực tuyến mang lại sự tiện lợi, nhanh chóng và tiết kiệm thời gian. Họ có thể đặt vé mọi lúc, mọi nơi, chỉ cần có điện thoại thông minh hoặc máy tính. Họ cũng có thể dễ dàng so sánh giá vé giữa các rạp chiếu phim khác nhau. Sự tiện lợi của việc đặt vé xem phim trực tuyến là điều không thể phủ nhận. Người tiêu dùng có thể đặt vé mọi lúc, mọi nơi, chỉ cần có điện thoại thông minh hoặc máy tính. Họ cũng có thể dễ dàng so sánh giá vé giữa các rạp chiếu phim khác nhau. Ngoài ra, trải nghiệm người dùng qua ứng dụng di động cũng là một điểm nhấn quan trọng. Các ứng dụng đặt vé xem phim thường được thiết kế với giao diện thân thiện, dễ sử dụng. Người dùng có thể dễ dàng tìm kiếm thông tin về các bộ phim đang chiếu, chọn chỗ ngồi và thanh toán vé. Vì những lý do trên, chúng em đã chọn đề tài “Thiết Kế Ứng Dụng Đặt Vé Xem Phim MOVIE APP” nhằm đáp ứng nhu cầu và đem lại sự thuận tiện cho người dùng.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

-ĐỒ ÁN CHUYÊN NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH

THIẾT KẾ PHẦN MỀM ĐẶT VÉ XEM PHIM

Trang 2

Hà Nội, tháng 12/2023

LỜI CẢM ƠN

Trong khoảng thời gian làm đồ án chuyên ngành, nhóm em đã nhậnđược nhiều sự giúp đỡ, đóng góp ý kiến và sự dẫn dắt chỉ bảo nhiệt tình củathầy cô, gia đình và bạn bè Nhóm em xin gửi lời cảm ơn chân thành đến giáoviên hướng dẫn – Thạc Sỹ Phạm Thị Quỳnh Trang giảng viên Bộ môn Điện

Tử Máy Tính - Trường Đại học Công Nghiệp Hà Nội người đã tận tình hướngdẫn, chỉ bảo nhóm em trong suốt quá trình làm đồ án

Nhóm cũng xin gửi cảm ơn chân thành nhất tới các thầy cô giáo trongtrường Đại học Công Nghiệp Hà Nội nói chung, các thầy cô trong Bộ mônĐiện Tử Máy Tính nói riêng đã dạy dỗ cho nhóm em kiến thức về các mônđại cương cũng như các môn chuyên ngành, giúp nhóm em có được cơ sở lýthuyết vững vàng và tạo điều kiện giúp đỡ trong suốt quá trình tham gia họctập

Cuối cùng, nhóm em xin chân thành cảm ơn gia đình và bạn bè, nhữngngười luôn ở bên cạnh đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viêntrong suốt quá trình học tập và hoàn thành đồ án

Với điều kiện về thời gian cũng như lượng kiến thức về đề tài rất rộng

mà kinh nghiệm còn hạn chế của một nhóm, đề án này không thể tránh đượcnhững thiếu sót Nhóm rất mong nhận được sự chỉ bảo, đóng góp ý kiến củacác thầy cô để nhóm em có điều kiện bổ sung, nâng cao ý thức của mình,phục vụ tốt hơn công tác thực tế sau này

Trang 3

MỤC LỤC

LỜI CẢM ƠN 2

PHẦN I: MỞ ĐẦU 10

1 Lý do chọn đề tài 10

2 Mục đích nghiên cứu 10

3 Đối tượng nghiên cứu 11

4 Ý nghĩa khoa học 11

5 Ý nghĩa thực tiễn của đề tài 12

PHẦN 2: NỘI DUNG 14

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 14

1.1 Tổng quan về ứng dụng đặt vé xe phim 14

1.1.1 Tổng quan 14

1.1.2 Ứng dụng đặt vé xem phim trong nước 15

1.2 Android Studio 19

1.2.1 Đặc điểm của Android Studio 19

1.2.2 Tại sao cần sử dụng Android Studio 20

1.2.3 Ưu điểm và nhược điểm 20

1.2.3.1 Ưu điểm 21

1.2.3.2 Nhược điểm 21

1.3 Ngôn ngữ lập trình Kotlin 22

1.3.1 Giới thiệu về ngôn ngữ lập trình Kotlin 22

1.3.2 Các ứng dụng về ngôn ngữ lập trình Kotlin 23

1.3.4 Ưu điểm và nhược điểm 24

1.3.4.1 Ưu điểm 24

1.3.4.2 Nhược điểm 25

Trang 4

1.4 Thư viện Room Database 25

1.4.1 Giới thiệu về thư viện Room Database 25

1.4.2 Các ứng dụng về thư viện Room Database 26

1.4.3 Ưu điểm và nhược điểm 27

1.4.3.1 Ưu điểm 27

1.4.3.2 Nhược điểm 28

CHƯƠNG 2: THIẾT KẾ ỨNG DỤNG ĐẶT VÉ XEM PHIM 29

2.1 Mục đích yêu cầu 29

2.2 Phân tích hệ thống 30

2.2.1 Use case “Đăng nhập” 31

2.2.2 Use case “Đăng ký” 34

2.2.3 Use case “Xem danh sách phim theo mục” 36

2.2.4 Use case “Xem chi tiết phim” 38

2.2.5 Use case “Đặt vé xem phim” 40

2.2.6 Use case “Xem danh sách vé xem phim” 42

2.2.7 Use case “Nạp tiền” 43

2.2.8 Use case “Quản lý tài khoản” 46

2.2.9 Use case “Bảo trì hệ thống” 48

2.2.10 Use case “Xem doanh thu từng bộ phim” 50

2.2.11 Use case “Reset doanh thu và phim” 52

2.2.12 Use case “Đổi mật khẩu” 54

2.3 Thiết kế cơ sở dữ liệu 56

2.4 Thiết kế giao diện 57

2.5 Lưu đồ thuật toán 70

CHƯƠNG 3: KẾT QUẢ THỰC HIỆN 82

3.1 Giao diện chính 82

3.1.1 Giao diện người dùng 82

3.1.2 Giao diện chính của admin 91

3.2 Kiểm thử sản phẩm 95

Trang 5

3.2.1 Kiểm thử chức năng đăng ký 95

3.2.1.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 95

3.2.1.2 Thực hiện kiểm thử 96

3.3.2 Kiểm thử chức năng đăng nhập 98

3.3.2.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 98

3.3.2.2 Thực hiện kiểm thử 98

3.3.3 Kiểm thử chức năng mua vé xem phim 99

3.3.3.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 99

3.3.3.2 Thực hiện kiểm thử 100

3.3.4 Kiểm thử màn hình Management User 101

3.3.4.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 101

3.3.4.2 Thực hiện kiểm thử 101

3.3.5 Kiểm thử Tình năng nạp tiền 102

3.3.5.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 102

3.3.5.2 Thực hiện kiểm thử 103

3.3.6 Kiểm thử Tình năng đổi mật khẩu 104

3.3.6.1 Lập kế hoạch test case, Điều kiện test case và kết quả test 104

3.3.6.2 Thực hiện kiểm thử 105

3.3.7 Kiểm thử Tình Reset theo ngày 108

3.3.7.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 108

3.3.7.2 Thực hiện kiểm thử 109

3.3.8 Kiểm thử Tình Reset theo tháng 109

3.3.8.1 Lập kế hoạch test case, điều kiện test case và kết quả test case 109

3.3.8.2 Thực hiện kiểm thử 109

PHẦN 3: KẾT LUẬN 110

PHỤ LỤC 111

TÀI LIỆU THAM KHẢO 113

Trang 6

DANH MỤC HÌNH ẢNH

Hình 2 1: Use case đăng nhập 33

Hình 2 2 : Use case đăng ký 35

Hình 2 3: Use case xem danh sách xem phim 37

Hình 2 4: Use case xem chi tiết phim 39

Hình 2 5: Use case đặt vé xem phim 41

Hình 2 6: Use case xem danh sách vé xem phim 43

Hình 2 7: Use case nạp tiền 45

Hình 2 8: Use case quản lý tài khoản 47

Hình 2 9: Use case bảo trì hệ thống 49

Hình 2 10: Use case xem doanh thu từng bộ phim 51

Hình 2 11: Use case reset doanh thu và phim 53

Hình 2 12: Use case đổi mật khẩu 55

Hình 2 13: Sơ đồ bảng cơ sở dữ liệu 56

Hình 2 14: Bản vẽ thiết kế giao diện đăng ký 59

Hình 2 15: Bản vẽ thiết kế giao diện đăng nhập 60

Hình 2 16: Bản vẽ thiết kế giao diện đổi mật khẩu 61

Hình 2 17: Bản vẽ thiết kế giao diện trang chủ 62

Hình 2 18: Bản vẽ thiết kế giao diện chi tiết phim 63

Hình 2 19: Bản vẽ thiết kế giao diện chọn ghế, đặt vé xem phim 64

Hình 2 20: Bản vẽ thiết kế giao diện nạp tiền, danh sách vẽ đã đặt 65

Hình 2 21: Thiết kế bản vẽ giao diện chính của admin 66

Hình 2 22: Bản vẽ thiết giao diện xem doanh thu bộ phim 67

Hình 2 23: Bản vẽ thiết giao diện danh sách ghế user đã đặt 68

Hình 2 24: Bản vẽ thiết kế giao diện xem tài khoản đã đăng ký 69

Trang 7

Hình 2 25: Lưu đồ thuật toán màn hình Login 70

Hình 2 26: Lưu đồ thuật toán màn hình Register 71

Hình 2 27: Lưu đồ thuật toán màn hình Resetpassword 72

Hình 2 28: Lưu đồ thuật toán màn hình HomePage 73

Hình 2 29: Lưu đồ thuật toán màn hình Main user 74

Hình 2 30: Lưu đồ thuật toán màn hình ContentMovie 75

Hình 2 31: Lưu đồ màn hình ConentMovie 76

Hình 2 32: Lưu đồ thuật toán màn hình BuyTicket 77

Hình 2 33: Lưu đồ thuật toán màn hình Admin 78

Hình 2 34: Lưu đồ thuật toán màn hình MangementUser 79

Hình 2 35: Lưu đồ thuật toán màn hình Revernue 80

Hình 2 36: Lưu đồ thuật toán màn hình SeatManagementFromUser 81

Hình 3 1: Giao diện đăng ký tài khoản 82

Hình 3 2: Giao diện đăng nhập 83

Hình 3 3: Giao diện chọn phim 84

Hình 3 4: Giới thiệu chi tiết về phim 85

Hình 3 5: Giao diện chọn ghế xem phim 86

Hình 3 6: Thông tin tài khoản 87

Hình 3 7: Giao diện nạp tiền 88

Hình 3 8: Màn hình reset password 89

Hình 3 9: Sau khi bấm confirm 90

Hình 3 10: Giao diện chính của admin sau khi đăng nhập 91

Hình 3 11: Quản lý doanh thu của phim 92

Hình 3 12: Quản lý danh sách ghế user đã đặt 93

Hình 3 13: Quản lý tài khoản của người dùng 94

Trang 8

DANH MỤC TỪ VIẾT TẮT

1 MPAA Motion Picture Association of America

3 QR Code Quick Response Code

4 IDE Integrated Development Environment

6 CPU Central Processing Unit

8 IDEA Integrated Development Environment for Java

11 SQL Structured Query Language

12 API Application Programming Interface

Trang 9

DANH MỤC BẢNG

Bảng 3 1: Kế hoạch và kết quả test case chức năng đăng ký tài khoản 95

Bảng 3 2: Kế hoạch và kết quả test case chức năng đăng nhập 98

Bảng 3 3: Kế hoạch và kết quả test case chức năng mua vé xem phim 100

Bảng 3 4: Kế hoạch và kết quả test case chức năng xóa người dùng 101

Bảng 3 5: Kế hoạch và kết quả test case chức năng nạp tiền 103

Bảng 3 6: Kế hoạch và kết quả test case tính năm đổi mật khẩu 105

Bảng 3 7: Kế hoạch và kết quả test case chức năng Reset ghế theo ngày .108

Bảng 3 8: Kế hoạch và kết quả test case chức năng Reset ghế theo ngày .109

Trang 10

PHẦN I: MỞ ĐẦU

1 Lý do chọn đề tài

Trong bối cảnh thời đại công nghệ ngày nay, đặt vé xem phim trực tuyếnđang trở thành xu hướng phổ biến trên thế giới và ở Việt Nam Theo thống kêcủa Hiệp hội Điện ảnh Hoa Kỳ (MPAA), trong năm 2022, doanh thu từ phòng

vé trực tuyến tại Mỹ đạt 13,4 tỷ USD, chiếm 42,3% tổng doanh thu phòng vécủa cả nước Tại Việt Nam, doanh thu từ phòng vé trực tuyến cũng đang tăngtrưởng mạnh mẽ, với tốc độ tăng trưởng trung bình hàng năm là 25%

Xu hướng đặt vé xem phim trực tuyến mang lại nhiều lợi ích cho cảngười tiêu dùng và doanh nghiệp trong ngành điện ảnh Đối với người tiêudùng, đặt vé trực tuyến mang lại sự tiện lợi, nhanh chóng và tiết kiệm thờigian Họ có thể đặt vé mọi lúc, mọi nơi, chỉ cần có điện thoại thông minhhoặc máy tính Họ cũng có thể dễ dàng so sánh giá vé giữa các rạp chiếu phimkhác nhau

Sự tiện lợi của việc đặt vé xem phim trực tuyến là điều không thể phủnhận Người tiêu dùng có thể đặt vé mọi lúc, mọi nơi, chỉ cần có điện thoạithông minh hoặc máy tính Họ cũng có thể dễ dàng so sánh giá vé giữa cácrạp chiếu phim khác nhau

Ngoài ra, trải nghiệm người dùng qua ứng dụng di động cũng là mộtđiểm nhấn quan trọng Các ứng dụng đặt vé xem phim thường được thiết kếvới giao diện thân thiện, dễ sử dụng Người dùng có thể dễ dàng tìm kiếmthông tin về các bộ phim đang chiếu, chọn chỗ ngồi và thanh toán vé

Vì những lý do trên, chúng em đã chọn đề tài “Thiết Kế Ứng Dụng Đặt

Vé Xem Phim MOVIE APP” nhằm đáp ứng nhu cầu và đem lại sự thuận tiệncho người dùng

Trang 11

2 Mục đích nghiên cứu

Mục tiêu của nghiên cứu không chỉ đơn thuần là khai thác và phân tíchứng dụng của việc đặt vé xem phim qua các nền tảng trực tuyến, mà còn làmột hành trình sâu sắc để hiểu rõ về bản chất của sự chuyển đổi số trong lĩnhvực điện ảnh Chúng em đặt mình vào tâm điểm của người tiêu dùng vàdoanh nghiệp, nhằm nhìn nhận những thách thức và cơ hội mà xu hướng nàymang lại từ hai góc độ đắc địa: người tiêu dùng trải nghiệm sự thuận tiện vàdoanh nghiệp đối mặt với sự biến động của thị trường Chúng em muốnkhông chỉ đưa ra cái nhìn toàn diện về hiện tượng này mà còn phản ánh sựchuyển đổi văn hóa và kinh tế toàn cầu trong ngành giải trí Nghiên cứu củachúng em không chỉ là một tập hợp dữ liệu và số liệu, mà còn là một hànhtrình khám phá sâu rộng về cách mà việc đặt vé xem phim trực tuyến thay đổi

cả trải nghiệm người tiêu dùng và bức tranh chiến lược doanh nghiệp

3 Đối tượng nghiên cứu

Nghiên cứu của chúng em sẽ dành sự tập trung đặc biệt cho hai nhómđối tượng chính: người tiêu dùng sử dụng ứng dụng đặt vé xem phim vàdoanh nghiệp trong ngành điện ảnh, với sự đặc biệt nghiên cứu đối với các tổchức quản lý và triển khai dịch vụ liên quan đến việc đặt vé trực tuyến Chúng

em không chỉ muốn xác định những thói quen, mong muốn, và trải nghiệmcủa người tiêu dùng khi sử dụng ứng dụng, mà còn muốn đặt mình vào vị trícủa doanh nghiệp để hiểu rõ hơn về cách họ thích ứng và tận dụng xu hướngđặt vé trực tuyến Điều này giúp chúng em xây dựng một cái nhìn toàn diện,không chỉ làm sáng tỏ các yếu tố ảnh hưởng đến quyết định mua sắm củangười tiêu dùng mà còn phản ánh sự đổi mới và thích ứng của doanh nghiệptrong ngành Nghiên cứu này không chỉ là sự đánh giá mà còn là một cơ hộihiếm có để nắm bắt lòng khách và chiến lược kinh doanh của những bên liênquan, từ đó đưa ra những đề xuất cụ thể và có tính ứng dụng cao cho cả ngườitiêu dùng và doanh nghiệp

4 Ý nghĩa khoa học

Trang 12

Nghiên cứu của chúng em không chỉ là sự phân tích của một ứng dụngcông nghệ đặc biệt, mà còn là một cuộc tìm hiểu, nghiên cứu sâu sắc vào tầmảnh hưởng của sự chuyển đổi số đối với ngành điện ảnh Chúng em hướngđến việc không chỉ đưa ra cái nhìn sâu sắc về các khía cạnh công nghệ trongviệc đặt vé xem phim trực tuyến mà còn tập trung vào việc hiểu rõ những biếnđổi văn hóa và kinh tế mà sự chuyển đổi này mang lại Nghiên cứu của chúng

em không chỉ là một bức tranh tĩnh về công nghệ, mà là một bức tranh động

về cách mà sự đổi mới kỹ thuật có thể làm thay đổi cả xã hội và thị trường.Chúng em hi vọng rằng, thông qua việc nghiên cứu này, chúng ta sẽ khôngchỉ mở rộng kiến thức mà còn khám phá những quan điểm mới, những vị thếkhác nhau để đối mặt với những thách thức và cơ hội mà sự chuyển đổi sốđem lại trong ngành điện ảnh Nghiên cứu không chỉ là quá trình học hỏi màcòn là cơ hội để chia sẻ và lan tỏa những kiến thức mới, từ đó đóng góp vào

sự phát triển và đổi mới của cộng đồng nghiên cứu lĩnh vực công nghệ vàquản lý

5 Ý nghĩa thực tiễn của đề tài

Nghiên cứu của chúng em không chỉ là một phần của nghiên cứu lýthuyết, mà còn mang lại giá trị thực tiễn lớn cho cả người tiêu dùng và doanhnghiệp trong ngành điện ảnh Bằng cách tập trung vào tác động của việc đặt

vé xem phim trực tuyến, chúng em mong muốn đưa ra những thông điệp cóthể hỗ trợ đưa ra quyết định và hành động cụ thể trong thực tế kinh doanh.Kết quả của nghiên cứu không chỉ là số liệu và phân tích, mà còn là mộtnguồn thông tin quý giá giúp doanh nghiệp nắm bắt cơ hội và đối mặt vớithách thức trong môi trường kinh doanh ngày càng biến động Đối với ngườitiêu dùng, nghiên cứu sẽ là nguồn thông tin để họ hiểu rõ hơn về lợi ích vàtiện ích khi sử dụng ứng dụng đặt vé trực tuyến, từ đó làm nổi bật giá trị cánhân hóa và trải nghiệm người dùng

Đồng thời, nghiên cứu cũng đặt ra những câu hỏi và giả định quan trọng,khơi nguồn động viên để các doanh nghiệp thực hiện những cải tiến và điềuchỉnh chiến lược của mình Qua đó, chúng em hy vọng nghiên cứu có thể làm

Trang 13

thay đổi thực tế kinh doanh, tạo ra những cơ hội mới và thúc đẩy sự đổi mớitrong ngành điện ảnh Nghiên cứu không chỉ là một cuộc phiêu lưu trí tuệ màcòn là một công cụ hữu ích cho quyết định và hành động trong thế giới thựccủa doanh nghiệp và người tiêu dùng.

PHẦN 2: NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về ứng dụng đặt vé xe phim

1.1.1 Tổng quan

Ứng dụng đặt vé xem phim đã trở thành một phần không thể thiếu trongcuộc sống hiện đại, mang lại sự thuận tiện và linh hoạt cho người tiêu dùng.Việc có thể dễ dàng chọn suất chiếu, rạp phim, và ghế ngồi từ bất kỳ đâuthông qua điện thoại di động hoặc máy tính bảng đã giúp họ tránh đượcnhững hàng đợi dài và tiết kiệm thời gian quý báu

Ứng dụng này không chỉ giúp người dùng đặt vé một cách thuận tiện, màcòn cung cấp một loạt các lựa chọn phong phú Thông tin chi tiết về các bộphim đang chiếu, bao gồm lịch chiếu, diễn viên, đạo diễn và đánh giá, giúp họ

có sự tự tin khi lựa chọn suất chiếu phù hợp với thời gian và sở thích cá nhân

Hệ thống thanh toán an toàn tích hợp trong ứng dụng còn làm cho quá trìnhmua vé trở nên thuận lợi hơn Người dùng có thể thoải mái lựa chọn phươngthức thanh toán, từ thẻ tín dụng cho đến ví điện tử, mà không cần phải mangtheo tiền mặt

Không chỉ dừng lại ở việc đặt vé, ứng dụng còn mang đến những ưu đãi

và khuyến mãi hấp dẫn Thông báo về các chương trình khuyến mãi, mã giảmgiá, và ưu đãi đặc biệt thường xuyên xuất hiện, làm tăng tính hấp dẫn của việc

sử dụng ứng dụng này

Người dùng không chỉ là người nhận ưu đãi mà còn là người đóng góp vàocộng đồng thông tin với hệ thống đánh giá và phản hồi Các đánh giá sau khixem phim giúp tạo ra một cái nhìn tổng quan về chất lượng phim và dịch vụcủa các rạp chiếu, hỗ trợ người khác trong quyết định chọn lựa

Trang 14

Ngoài ra, tính năng thông báo và nhắc nhở giúp người dùng không bỏ

lỡ bất kỳ chi tiết quan trọng nào, từ thời gian chiếu đến thông tin về vé đã đặt

Sự tích hợp với mạng xã hội còn làm cho trải nghiệm xem phim trở nên đadạng hơn, khi người dùng có thể chia sẻ trực tiếp trên các nền tảng xã hội về

bộ phim đã xem và trải nghiệm tại rạp

Tóm lại, ứng dụng đặt vé xem phim không chỉ là công cụ thuận tiện,

mà còn là một phần quan trọng của trải nghiệm giải trí hiện đại, kết hợp giữa

sự thuận tiện, đa dạng lựa chọn, và tính tương tác cộng đồng

1.1.2 Ứng dụng đặt vé xem phim trong nước

1 Galaxy Cinema

Galaxy Cinema là một ứng dụng đặt vé xem phim online tại rạp Vớiứng dụng này, người dùng vừa chủ động tìm hiểu các suất chiếu cũng để lựachọn nhanh khung giờ phù hợp tại các rạp gần nhà mình nhất Ngoài ra, ứngdụng này cũng liên tục cập nhật tin tức mới nhất để người dùng có thế tiệntheo dõi

Ưu điểm:

 Lựa chọn chỗ ngồi ưng ý, thanh toán trực tuyến

 Cập nhật sớm nhất các ưu đãi, thông tin phim và lịch chiếu

 Cung cấp tính năng lịch sử giao dịch để quản lý tài khoản thànhviên dễ dàng

 Cung cấp mã vé QR Code để khách hàng dễ dàng thẳng tiến vàorạp chiếu mà không phải xếp hàng

Nhược điểm: Chỉ có thể xem lịch chiếu, giá vé tại cụm rạp Galaxy,không thể tham khảo và so sánh thêm của các rạp khác

2 Lotte Cinema VN

Hiện nay, hệ thống rạp chiếu Lotte Cinema cũng cung cấp một ứngdụng riêng để người dùng có thể dễ dàng mua vé trực tuyến Người dùng sẽnhận được đầy đủ tin tức được cập nhật mới nhất từ Lotte Cinema VN khi bậtthông báo của ứng dụng

Trang 15

Ưu điểm:

 Cho phép việc đặt vé rạp Lotte trực tuyến dễ dàng

 Cung cấp thông tin phim đang và sắp chiếu cũng như các cụmrạp chiếu Lotte gần nhà bạn nhất

 Hỗ trợ chính sách giá vé cho khách hàng học sinh, sinh viên

 Các khuyến mại được cập nhật nhanh nhất

Nhược điểm: Người dùng chỉ có thể xem lịch chiếu của các cụm rạpLotte

3 BHD Star Cineplex

BHD Star Cineplex là một trong các ứng dụng đặt vé xem phim tiện lợi

và đơn giản Khi sử dụng ứng dụng này, bạn xem thông tin tài khoản thànhviên BHD để nhận được các ưu đãi hấp dẫn, riêng biệt dành cho bạn màkhông cần phải xếp hàng chờ đợi

 Hỗ trợ tiện ích đặc biệt cho thành viên BHD, cho phép đặt trước

đồ ăn uống trước với các ưu đãi lên đến 20%

Trang 16

cũng cung cấp cập nhật thường xuyên cập nhật ưu đãi và cùng thông tin vềlịch chiếu phim đang hot trên thị trường.

có các tính năng như mua vé, thanh toán trực tuyến, tích điểm, voucher và cậpcập nhật tin tức

Ưu điểm:

 Cập nhật liên tục các phim bom tấn

 Mở ứng dụng và xem đầy đủ các thông tin khách hàng thành viêncủa CGV

 Ứng dụng mua vé xem phim giảm giá CGV cung cấp các chươngtrình khuyến mãi hấp dẫn và mới nhất dành cho bạn

Nhược điểm: Người dùng không thể so sánh, đối chiếu giá vé của cácrạp khác ngoại trừ rạp CGV

1.1.2 Ứng dụng đặt vé xem phim nước ngoài

1 Fandango:

Ưu điểm:

Trang 17

 Phổ biến tại Mỹ và quốc tế: Fandango là một ứng dụng được sửdụng rộng rãi ở Mỹ, và khả năng hỗ trợ đặt vé ở nhiều quốc giakhác là một lợi ích đối với người dùng quốc tế.

 Thông tin chi tiết: Cung cấp thông tin đầy đủ về các bộ phimđang chiếu, lịch chiếu chi tiết và giá vé, giúp người dùng dễ dànglựa chọn và đặt vé theo nhu cầu của họ

Nhược điểm:

 Phụ thuộc vào khu vực địa lý: Có thể cung cấp thông tin và hỗtrợ đặt vé tốt ở Mỹ, nhưng hạn chế đối với người dùng ở cácquốc gia khác

 Khả năng cập nhật chậm: Thông tin về lịch chiếu và giá vé có thểkhông được cập nhật kịp thời, dẫn đến thông tin không chínhxác

 Hạn chế tính tương tác: Khả năng tương tác và đánh giá phimcủa người dùng có thể bị hạn chế so với một số ứng dụng khác

3 Cineplex (Canada):

Ưu điểm:

 Lựa chọn tốt cho người ở Canada: Đối với người ở Canada,Cineplex là một ứng dụng đặt vé phổ biến và thuận tiện

Trang 18

 Theo dõi thông tin phim: Cung cấp các thông tin chi tiết về phim

và các sự kiện liên quan

Nhược điểm:

 Cung cấp giới hạn dịch vụ ngoại trừ xem phim: Mặc dù là mộtứng dụng chủ yếu cho xem phim, nhưng có thể hạn chế trongviệc cung cấp dịch vụ khác như sự kiện và giải trí đa dạng

1.2 Android Studio

1.2.1 Đặc điểm của Android Studio

Android Studio, môi trường phát triển tích hợp (IDE) dành cho phát triểnứng dụng di động trên hệ điều hành Android, đòi hỏi nhà phát triển nắm vữngmột số kiến thức cơ bản để làm việc hiệu quả Trong quá trình xây dựng ứngdụng, sự hiểu biết vững về các ngôn ngữ lập trình như Java hoặc Kotlin làquan trọng, với Kotlin ngày càng trở thành sự lựa chọn phổ biến [2]

Để tương tác hiệu quả với hệ điều hành Android, việc nắm rõ cơ bản vềcác thành phần như Activity, Fragment, Intent, và các khái niệm khác làkhông thể thiếu Đồng thời, sự quen thuộc với XML, được sử dụng để địnhnghĩa giao diện người dùng, là yếu tố quan trọng để tạo ra các layout mànhình [2]

Gradle, hệ thống quản lý phụ thuộc, được tích hợp trong Android Studiogiúp quản lý các thư viện và công cụ bên ngoài sử dụng trong dự án Việchiểu rõ về AndroidManifest.xml, nơi chứa các thông tin cơ bản của ứng dụng,cũng đóng một vai trò quan trọng [2]

Sự hiểu biết về Activity và Fragment, cũng như vòng đời của chúng,giúp quản lý tài nguyên và trạng thái của ứng dụng một cách hiệu quả Xử lý

sự kiện và quản lý tài nguyên, bao gồm hình ảnh, chuỗi văn bản, màu sắc,cũng là phần quan trọng trong quá trình phát triển [3]

Cuối cùng, khả năng debug và kiểm thử lỗi sẽ đảm bảo ứng dụng đượcphát triển một cách mượt mà và ổn định Việc này bao gồm sử dụng các công

Trang 19

cụ debug và kiểm thử của Android Studio để giải quyết vấn đề và đảm bảochất lượng của ứng dụng [2]

1.2.2 Tại sao cần sử dụng Android Studio

Android Studio đóng vai trò quan trọng như một cỗ máy mạnh mẽ dànhcho những người sáng tạo ứng dụng Android Với những tính năng đa dạng

và tiện ích tinh tế, nó không chỉ đơn thuần là một IDE, mà còn là người bạnđồng hành đáng tin cậy trong hành trình phát triển ứng dụng [2]

Quá trình phát triển ứng dụng Android trở nên linh hoạt hơn bao giờ hếtvới Android Studio Tích hợp sự hỗ trợ đặc biệt cho cả Kotlin và Java, nhàphát triển có sự linh hoạt lựa chọn ngôn ngữ lập trình phù hợp với dự án củamình [2]

Việc tích hợp các thư viện và framework quan trọng trực tiếp vàoAndroid Studio là một lợi thế lớn Từ AndroidX, Google Play services đếnFirebase, tất cả đều được kết nối một cách mạch lạc, giúp giảm bớt bước đầukhởi tạo và tăng tốc quá trình phát triển [3]

Android Emulator, một chiếc máy ảo linh hoạt đi kèm với AndroidStudio, cho phép kiểm thử trực tiếp trên nhiều thiết bị ảo khác nhau, giúp đảmbảo ứng dụng hoạt động mượt mà trên mọi nền tảng [3]

Các công cụ như Android Profiler, CPU Profiler và Memory Profiler đưađến những cái nhìn chi tiết về hiệu suất ứng dụng, giúp nhà phát triển tối ưuhóa mã nguồn và tăng cường trải nghiệm người dùng [3]

Với khả năng quản lý ngôn ngữ, tài nguyên và hỗ trợ đa màn hình,Android Studio đào sâu vào nhu cầu đa dạng của thị trường Sự tích hợp củaGradle build system và hỗ trợ Git làm cho quy trình phát triển mạnh mẽ vàhiệu quả [3]

Tổng cộng, Android Studio không chỉ là một công cụ phát triển, mà làngôi nhà của sự sáng tạo, nơi mà ý tưởng chuyển thành hiện thực trên nềntảng Android [3]

1.2.3 Ưu điểm và nhược điểm

Trang 20

1.2.3.1 Ưu điểm

1 Hỗ trợ đa nền tảng: Android Studio hỗ trợ phát triển ứng dụng

Android trên nhiều hệ điều hành, bao gồm Windows, macOS và Linux [3]

2 Hỗ trợ Kotlin: Android Studio có hỗ trợ tốt cho ngôn ngữ Kotlin, giúp

nhà phát triển viết mã nguồn một cách nhanh chóng và dễ dàng [1]

3 Intelligent Code Editor: IDE này cung cấp các tính năng thông minh

như gợi ý mã, tự động hoàn thành mã, kiểm tra lỗi và refactoring giúp tăngnăng suất phát triển [1]

4 Android Emulator: Android Studio đi kèm với một máy ảo Android

Emulator mạnh mẽ cho phép kiểm tra ứng dụng trên nhiều thiết bị và cấu hìnhkhác nhau [3]

5 Android Profiler: Cung cấp các công cụ hỗ trợ phân tích hiệu suất ứng

dụng như CPU Profiler, Memory Profiler, Network Profiler giúp tối ưu hóahiệu suất của ứng dụng [3]

6 Công cụ quản lý tài nguyên:Android Studio cung cấp các công cụ

quản lý tài nguyên cho việc xử lý ngôn ngữ, đa màn hình và các nguồn tàinguyên khác [3]

7 Hỗ trợ Git: IDE này tích hợp sẵn các công cụ để quản lý phiên bản mã

nguồn bằng cách sử dụng hệ thống quản lý phiên bản như Git [4]

1.2.3.2 Nhược điểm

1 Yêu cầu tài nguyên hệ thống lớn: Android Studio yêu cầu một máy

tính có cấu hình khá cao, đặc biệt khi sử dụng Android Emulator [3]

2 Học hỏi và thời gian chuyển đổi từ các IDE khác: Đối với những

người mới bắt đầu, có thể cần thời gian để học cách sử dụng Android Studio

và chuyển đổi từ các IDE khác [3]

3 Khó khăn khi sử dụng trên máy tính có cấu hình thấp: Trên các máy

tính có cấu hình thấp, việc sử dụng Android Studio có thể gây ra hiện tượnglag hoặc giật [3]

Trang 21

4 Hệ sinh thái Android Studio đang thay đổi liên tục: Điều này có thể

dẫn đến việc cần phải cập nhật kiến thức liên tục để theo kịp các tính năng vàcông nghệ mới [3]

5 Tài liệu và hướng dẫn không phong phú cho một số tính năng mới:

Một số tính năng mới có thể thiếu tài liệu và hướng dẫn chi tiết, đặc biệt đốivới các tính năng mới ra mắt gần đây [3]

1.3 Ngôn ngữ lập trình Kotlin

1.3.1 Giới thiệu về ngôn ngữ lập trình Kotlin

Kotlin, ngôn ngữ lập trình đa nền tảng được JetBrains đặt ra nhằm giảiquyết những thách thức trong phát triển ứng dụng hiện đại, đã nhanh chóngtrở thành một cột mốc quan trọng trong ngành công nghiệp phần mềm Vớiviệc được chính thức ủng hộ cho việc phát triển ứng dụng Android từ Google,Kotlin không chỉ là một “ngôn ngữ thay thế” mà còn là một đối tác đáng tincậy cho những dự án đa dạng trên nền tảng JVM [1]

Điều làm nổi bật Kotlin là khả năng đa nền tảng, nơi nó có thể "đónggói" mã nguồn và chia sẻ giữa nhiều môi trường khác nhau như JVM,Android, JavaScript và Native Sự linh hoạt này không chỉ giúp tối ưu hóanguồn lực mà còn đảm bảo tính đồng nhất và hiệu suất ổn định trên mọi nềntảng [1]

Đặc biệt, Kotlin chú trọng vào tính an toàn trong lập trình Cú pháp rõràng và việc kiểm tra kiểu dữ liệu tại thời điểm biên dịch giúp tránh đượcnhiều lỗi thường gặp, giảm rủi ro khi triển khai ứng dụng Điều này làm choquá trình phát triển trở nên ổn định hơn và giảm áp lực cho các nhà phát triển.Kotlin không chỉ là một ngôn ngữ hướng đối tượng mạnh mẽ mà còn hỗtrợ lập trình hàm, mở ra nhiều cơ hội cho việc thiết kế mã nguồn linh hoạt và

dễ bảo trì Sự kết hợp giữa các tính chất của lập trình hướng đối tượng và lậptrình hàm giúp tạo ra mã nguồn có tính linh hoạt và dễ mở rộng [1]

Trang 22

Ngoài ra, sự tương thích hoàn toàn với mã nguồn Java giúp Kotlin trởthành một lựa chọn hợp lý cho các dự án có sẵn mã nguồn Java, mở ra khảnăng nâng cấp dự án mà không phải bắt đầu từ đầu [1]

Sự hỗ trợ mạnh mẽ từ các công cụ phát triển hàng đầu như IntelliJ IDEA

và Android Studio cung cấp trải nghiệm phát triển tốt nhất, giúp nhà pháttriển tập trung vào sáng tạo thay vì lo lắng về các vấn đề kỹ thuật

Cuối cùng, với việc hỗ trợ coroutines, Kotlin giúp ứng dụng xử lý tiếntrình bất đồng bộ một cách hiệu quả, đặc biệt quan trọng trong thời đại ứngdụng đa nhiệm và đa luồng [1]

Tóm lại, Kotlin không chỉ là một ngôn ngữ lập trình mà là một cộngđồng, một cộng đồng của những người đam mê sáng tạo và muốn tạo ranhững ứng dụng xuất sắc trên nền tảng JVM và nền tảng di động [1]

1.3.2 Các ứng dụng về ngôn ngữ lập trình Kotlin

Ngôn ngữ lập trình Kotlin, với sự ủng hộ chính thức từ Google cho việcphát triển ứng dụng Android, đã trở thành một lựa chọn phổ biến trong cộngđồng phát triển phần mềm Sự linh hoạt và tính đa nền tảng của Kotlin đã mở

ra nhiều cánh cửa cho việc áp dụng ngôn ngữ này vào nhiều lĩnh vực khácnhau của công nghiệp phần mềm [1]

Với khả năng tích hợp chặt chẽ vào môi trường phát triển Android,Kotlin đã trở thành ngôn ngữ ưa thích của nhiều nhà phát triển ứng dụng diđộng Tính an toàn và sự rõ ràng của Kotlin giúp giảm rủi ro lỗi và tăng hiệusuất của ứng dụng trên nền tảng Android [1]

Không chỉ giới hạn trong việc phát triển ứng dụng di động, Kotlin còncung cấp khả năng phát triển ứng dụng máy tính đa nền tảng, bao gồm cả cácứng dụng desktop và server-side Điều này mang lại tính linh hoạt và tái sửdụng mã nguồn, giảm bớt công đoạn phát triển và bảo trì [1]

Với sự hỗ trợ của Kotlin/JS, ngôn ngữ này cũng có thể được sử dụng đểphát triển ứng dụng web Điều này tạo ra cơ hội cho việc xây dựng các ứng

Trang 23

dụng web hiện đại và linh hoạt, đồng thời giữ lại tính tương thích và an toàn

từ Kotlin [1]

Kotlin Native, một thành phần quan trọng của hệ sinh thái Kotlin, mở rakhả năng phát triển ứng dụng đa nền tảng trên cả iOS và Android Điều nàygiúp giảm độ phức tạp của việc duy trì mã nguồn cho nhiều hệ điều hành khácnhau [1]

Ngoài ra, Kotlin có thể được sử dụng cho phát triển ứng dụng back-end,đặc biệt trên nền tảng JVM, thông qua các framework như Spring Boot Điềunày mang lại sự đồng bộ và tích hợp tốt giữa phía máy chủ và phía ngườidùng [1]

Cuối cùng, sự hỗ trợ của Kotlin Native cũng mở ra khả năng phát triểntrong nhiều lĩnh vực khác nhau như trò chơi đa nền tảng, ứng dụng IoT và cảứng dụng desktop đa nền tảng Điều này làm cho Kotlin trở thành một công

cụ mạnh mẽ và linh hoạt, phù hợp cho nhiều dự án và yêu cầu phát triển khácnhau [1]

1.3.4 Ưu điểm và nhược điểm

1.3.4.1 Ưu điểm

1 Tính an toàn (Safety): Kotlin cung cấp kiểm tra kiểu dữ liệu mạnh mẽ

và các cơ chế an toàn giúp ngăn ngừa nhiều lỗi thường gặp trong quá trìnhphát triển [1]

2 Tương thích mã nguồn Java: Kotlin tương thích hoàn toàn với mã

nguồn Java tồn tại, điều này giúp các dự án có thể chuyển đổi từ Java sangKotlin dễ dàng và tiếp tục sử dụng các thư viện và mã nguồn đã có [1]

3 Cú pháp gọn gàng (Concise Syntax): Kotlin có cú pháp ngắn gọn và

đơn giản hơn so với Java, giúp giảm thiểu cú pháp dư thừa và nâng cao sự đọc

và hiểu mã nguồn [1]

4 Hỗ trợ hướng đối tượng (Object-oriented): Kotlin là một ngôn ngữ

hướng đối tượng đầy đủ, hỗ trợ các tính năng như kế thừa, đa hình vàencapsulation [1]

Trang 24

5 Lập trình hàm (Functional programming): Kotlin hỗ trợ mạnh mẽ cho

các tính năng của lập trình hàm, bao gồm hàm cao cấp, lambda expressions vàimmutable data structures [1]

6 Hỗ trợ coroutines: Kotlin cung cấp hỗ trợ cho coroutines, giúp quản

lý tiến trình bất đồng bộ một cách hiệu quả [1]

7 IDE Support: Kotlin được tích hợp tốt với các môi trường phát triển

như IntelliJ IDEA, Android Studio và Eclipse, mang lại trải nghiệm phát triểnthuận lợi và mạnh mẽ [1]

8 Cộng đồng phát triển rộng lớn: Kotlin đã thu hút một cộng đồng phát

triển đông đảo và nhiệt tình, với nhiều tài nguyên, ví dụ và thư viện hữu ích

1.3.4.2 Nhược điểm

1 Học hỏi và chuyển đổi từ Java: Mặc dù Kotlin tương thích với Java,

nhưng việc học và chuyển đổi từ Java sang Kotlin có thể đòi hỏi thời gian vàcông sức, đặc biệt đối với những người không quen thuộc với cú pháp củaKotlin

2 Khoa học và tài liệu hạn chế: Mặc dù cộng đồng Kotlin đang phát

triển, nhưng vẫn còn ít tài liệu và hướng dẫn so với Java, đặc biệt đối với cácvấn đề phức tạp [1]

3 Tích hợp với các công cụ cũ hơn: Một số công cụ và thư viện có thể

cần thời gian để cập nhật và hỗ trợ tốt cho Kotlin [1]

1.4 Thư viện Room Database

1.4.1 Giới thiệu về thư viện Room Database

Room Database là một phần quan trọng của Android Jetpack, được thiết

kế để đơn giản hóa và làm cho việc làm việc với cơ sở dữ liệu SQLite trở nênthuận tiện trong phát triển ứng dụng Android Với những đặc điểm chính nhưEntity, DAO, và Database, Room mang lại một cách tiếp cận mạnh mẽ đểquản lý dữ liệu [5]

Entity, như một biểu diễn của một bảng trong cơ sở dữ liệu, cung cấp sự

ảo diệu cho các đối tượng trong ứng dụng Các DAO, với các phương thức

Trang 25

của mình, giảm bớt độ phức tạp của việc tương tác với SQLite, cho phép thựchiện các thao tác cơ bản mà không cần phải viết mã SQL phức tạp Cùng với

đó, lớp Database giúp quản lý và tổ chức các DAO, tạo và duy trì cơ sở dữliệu một cách hiệu quả [5]

Điểm mạnh của Room không chỉ là ở cấu trúc của nó, mà còn là ở nhữnglợi ích mà nó mang lại Việc tự động tạo lược đồ cơ sở dữ liệu giúp giảm bớtkhó khăn trong việc tạo lược đồ thủ công Thêm vào đó, kiểm tra lỗi tại thờiđiểm biên dịch và tự động tạo truy vấn SQL từ các phương thức DAO giúpnâng cao chất lượng mã nguồn và giảm rủi ro lỗi [5]

Room Database không chỉ là một công cụ giúp tăng hiệu suất khi làmviệc với SQLite mà còn là một phương tiện mạnh mẽ để quản lý dữ liệu trongứng dụng Android Những tiện ích này khiến Room trở thành một lựa chọn lýtưởng cho nhà phát triển ứng dụng di động, giúp họ dễ dàng và hiệu quả hóaquá trình tương tác với cơ sở dữ liệu [5]

1.4.2 Các ứng dụng về thư viện Room Database

Thư viện Room Database thường được tích hợp vào nhiều ứng dụngAndroid để quản lý và tương tác với cơ sở dữ liệu SQLite Các ứng dụng cóthể tính tới sự linh hoạt và hiệu suất cao của Room Database trong nhiều ngữcảnh khác nhau Một số ví dụ cụ thể của việc sử dụng Room Database trongphát triển ứng dụng Android bao gồm ứng dụng ghi chú, ứng dụng quản lýnhiệm vụ, ứng dụng sổ địa chỉ, ứng dụng tin tức, ứng dụng chia sẻ hình ảnh,ứng dụng đồng bộ dữ liệu, và ứng dụng thống kê tài chính [5]

Trong ứng dụng ghi chú, Room có thể lưu trữ thông tin chi tiết về mỗighi chú, bao gồm tiêu đề, nội dung, thời gian tạo và các thuộc tính khác.Trong khi đó, ứng dụng quản lý nhiệm vụ có thể sử dụng Room để lưu trữthông tin về các nhiệm vụ, như tên nhiệm vụ, trạng thái, thời hạn và ưu tiên.Ngoài ra, Room có thể hỗ trợ ứng dụng sổ địa chỉ bằng cách lưu trữ chitiết về danh bạ, gồm tên, số điện thoại, địa chỉ và thông tin liên lạc khác

Trang 26

Trong ứng dụng tin tức, Room có thể quản lý dữ liệu về các bài báo, danhmục tin tức và các thông tin khác liên quan đến nội dung tin tức [5]

Room cũng có ứng dụng trong việc lưu trữ thông tin về hình ảnh trongứng dụng chia sẻ hình ảnh, đồng thời hỗ trợ đồng bộ dữ liệu giữa thiết bị vàmáy chủ trong các ứng dụng đồng bộ dữ liệu Trong ứng dụng thống kê tàichính, Room có thể đóng vai trò quan trọng bằng cách lưu trữ thông tin về cácgiao dịch tài chính như số tiền, loại giao dịch và thời gian thực hiện [5]

Những ví dụ trên chỉ là một số ứng dụng cụ thể, và Room Database cóthể linh hoạt tích hợp vào nhiều loại ứng dụng khác nhau, tùy thuộc vào yêucầu cụ thể của dự án Với khả năng quản lý và tương tác hiệu quả với cơ sở

dữ liệu, Room giúp giảm gánh nặng cho nhà phát triển trong quá trình pháttriển ứng dụng Android [5]

1.4.3 Ưu điểm và nhược điểm

1.4.3.1 Ưu điểm

1 Tích hợp tốt với Android Jetpack: Room Database là một phần của

Android Jetpack, nên tích hợp tốt với các thành phần khác của Jetpack nhưLiveData, ViewModel, và Paging [5]

2 Thuận Tiện và Dễ Sử Dụng: Room cung cấp cú pháp đơn giản và dễ

đọc, giảm độ phức tạp của việc làm việc với SQLite [5]

3 Kiểm Soát Lược Đồ Tự Động: Room tự động tạo và quản lý lược đồ

cơ sở dữ liệu, giúp giảm công đoạn tạo lược đồ thủ công [5]

4 Compile-time Type Checking: Sử dụng annotation để kiểm tra lỗi tại

thời điểm biên dịch, giúp phát hiện lỗi sớm và cung cấp tính an toàn trongviệc tương tác với cơ sở dữ liệu [5]

5 Tự Động Tạo Truy Vấn SQL: Room tự động sinh các truy vấn SQL từ

các phương thức DAO, giảm độ phức tạp của việc viết mã SQL thủ công [5]

6 TypeConverters: Cho phép chuyển đổi giữa các kiểu dữ liệu không thể

lưu trực tiếp trong SQLite và kiểu dữ liệu có thể lưu trữ [5]

Trang 27

7 Hiệu Suất Cao: Room được tối ưu hóa để hoạt động hiệu quả với cơ

sở dữ liệu SQLite, giúp cải thiện hiệu suất của ứng dụng [5]

1.4.3.2 Nhược điểm

1 Khả Năng Mở Rộng Có Thể Bị Hạn Chế: Mặc dù Room giúp giảm độ

phức tạp, nhưng trong một số trường hợp, nếu ứng dụng phức tạp, sự linhhoạt của việc sử dụng mã SQL trực tiếp có thể bị giới hạn [5]

2 Khả Năng Tương Thích Ngược: Đôi khi, khi thực hiện các thay đổi

trong cấu trúc Entity, có thể phải xử lý các vấn đề tương thích ngược(backward compatibility) [5]

3 Yêu Cầu Phiên Bản Android: Room yêu cầu Android 2.2 (API 8) trở

lên, điều này có thể là một hạn chế nếu bạn đang phát triển ứng dụng cho cácphiên bản Android cũ hơn [5]

4 Khó Điều Chỉnh Cho Một Số Trường Hợp Đặc Biệt: Trong một số

trường hợp đặc biệt, việc điều chỉnh Room để đáp ứng yêu cầu cụ thể của ứngdụng có thể khó khăn hơn so với việc sử dụng các giải pháp thủ công [5]

Trang 28

CHƯƠNG 2: THIẾT KẾ ỨNG DỤNG ĐẶT VÉ XEM PHIM

2.1 Mục đích yêu cầu

Mục đích yêu cầu kỹ thuật của hệ thống:

1 Tối ưu hóa Trải nghiệm Người Dùng:

 Mục tiêu chính của hệ thống là cung cấp một trải nghiệm ngườidùng thuận tiện và thú vị trong quá trình đặt vé và xem phim

 Đảm bảo giao diện người dùng được thiết kế một cách trực quan

và dễ sử dụng để tạo ra một trải nghiệm người dùng tốt nhất

2 Quản lý Hiệu suất và Bảo mật:

 Đảm bảo hệ thống hoạt động hiệu quả

 Thực hiện các biện pháp bảo mật để bảo vệ thông tin cá nhân củangười dùng và tránh gặp phải các vấn đề về an ninh

3 Quản lý và Thống kê Doanh Thu:

 Hệ thống được xây dựng với mục tiêu cung cấp cho admin khảnăng theo dõi và thống kê doanh thu từng bộ phim

 Các chức năng quản lý được tối ưu hóa để giúp admin dễ dàngkiểm tra thông tin đặt vé và doanh thu

4 Quản lý Danh Sách Phim:

 Hỗ trợ các chức năng quản lý danh sách phim

5 Duy trì Hiệu suất Hệ thống:

 Tính năng reset ghế theo ngày giúp duy trì hiệu suất của hệ thốngbằng cách chuẩn bị sẵn sàng cho các suất chiếu mới

 Các công nghệ được sử dụng được tối ưu hóa để đảm bảo tính ổnđịnh và hiệu suất cao

6 Tích hợp và Sử dụng Room Database:

 Mục đích chính của việc sử dụng Room Database là lưu trữ dữliệu người dùng và thông tin về phim một cách an toàn và hiệuquả

Trang 29

 Sử dụng các tính năng thêm sửa xóa update cung cấp bởi RoomDatabase để đảm bảo tích hợp dễ dàng và hiệu quả.

7 Kiểm Thử và Đảm Bảo Chất Lượng:

 Yêu cầu kiểm thử đầy đủ để đảm bảo mọi tính năng hoạt độngchính xác và không có lỗi

 Đảm bảo rằng ứng dụng đáp ứng đúng đối với cả người dùng vàadmin

Mục đích chính của ứng dụng là tạo ra một nền tảng đặt vé xem phimhiệu quả, an toàn, và có trải nghiệm người dùng tốt

2.2 Phân tích hệ thống

Biểu đồ use case chính:

Trang 30

Đăng ký

2.2.1 Use case “Đăng nhập”

Mô tả chi tiết:

Tên use case: đăng nhập

Mô tả vắn tắt: use case này cho phép khách hàng đăng nhập vào ứngdụng

Quản lý tài khoản

Xem danh sách phim theo mục

Đặt vé xem phim

Xem danh sách vé xem phim

Reset doanh thu và phim

Xem doanh thu từng bộ phim

Bảo trì hệ thống

Đổi mật khẩuXem chi tiết phimNạp tiền

Đăng nhập

Trang 31

chuyển đến màn hình trang chủ của màn hình người quản lý hoặcmàn hình khách hàng.

Trang 32

Hình 2 1: Use case đăng nhập

Trang 33

2.2.2 Use case “Đăng ký”

Tên use case: đăng ký

Mô tả vắn tắt: use case này cho phép khách hàng đăng ký tài khoản đểtruy cập vào ứng dụng vào ứng dụng

Luồng cơ bản:

 Use case này bắt đầu khi người dùng ấn nút “login to myaccount” ở màn hình đăng nhập Hệ thống sẽ hiển thị màn hìnhđăng ký tài khoản lên màn hình

 Người dùng nhập các thông tin để đăng ký bao gồm: tên, email,mật khẩu, xác nhận mật khẩu, số điện thoại và nhấn vào nút

“Create an account” Hệ thống thêm mới một tài khoản vào bảngTAI KHOAN và hiển thị thông báo đăng ký tài khoản thànhcông Di chuyển đến màn hình trang chủ

 Use case kết thúc

Luồng rẽ nhánh:

 Khi người dùng nhập sai định dạng email, mật khẩu đã định sẵn

Hệ thống sẽ hiển thị thông báo người dùng nhập sai định dạngemail hoặc mật khẩu

Trang 34

Hình 2 2 : Use case đăng ký

Trang 35

2.2.3 Use case “Xem danh sách phim theo mục”

Tên use case: xem danh sách phim theo mục

Mô tả vắn tắt: use case này cho phép người dùng có thể xem danh sáchphim theo danh mục có sẵn

Luồng cơ bản:

 Use case này bắt đầu khi người dùng kích vào danh mục hiển thịtrên màn hình trang chủ Hệ thống sẽ lấy danh sách phim theodanh mục từ bảng PHIM và hiển thị lên màn hình

 Use case kết thúc

Trang 36

Hình 2 3: Use case xem danh sách xem phim

Trang 37

2.2.4 Use case “Xem chi tiết phim”

Tên use case: Xem chi tiết phim

Mô tả vắn tắt: use case này cho phép người dùng xem thông tin cơ bảncủa một bộ phim

Luồng cơ bản:

 Use case này bắt đầu khi người dùng kích vào một bộ phim bất kỳ

Hệ thống sẽ lấy thông tin từ bảng PHIM (tên phim, mô tả phim, ảnhPoster, giờ chiếu phim) Hiển thị lên màn hình

 Use case kết thúc

Trang 38

Hình 2 4: Use case xem chi tiết phim

Trang 39

2.2.5 Use case “Đặt vé xem phim”

Tên use case: Đặt vé xem phim

Mô tả vắn tắt: use case này cho phép người dùng đặt vé xem phim

Luồng cơ bản:

 Use case này bắt đầu khi người dùng kích vào nút “reservation”một bộ phim bất kỳ Hệ thống sẽ điều hướng đến màn hình chọnghế xem phim Hiển thị lên màn hình

 Người dùng chọn ít nhất một ghế trên màn hình và ấn “Buy” đểđặt vé Màn hình sẽ hiển thị thông báo đặt vé thành công

 Use case kết thúc

Luồng rẽ nhánh:

 Tại màn hình chọn ghế Yêu cầu người dùng chọn đầy đủ thôngtin Trường hợp chưa chọn, hệ thống hiển thị thông báo chưachọn đầy đủ thông tin

 Số tiền trong ví tài khoản không đủ, khi thanh toán, hệ thốngthông báo không đủ tiền trong ví, thanh toán không thành công

Trang 40

Hình 2 5: Use case đặt vé xem phim

Ngày đăng: 06/03/2024, 18:06

w