Tên đề tài: Xây dựng hệ thống website đặt vé xem phim trực tuyến.Sinh viên thực hiện: Nguyễn Minh Hiếu MSV: 1911505310120 Lớp: 19T1 Khách vãng lai sau khi truy cập website thì có thể tìm
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 3
Đà Nẵng, ngày tháng năm 2023 Giảng viên hướng dẫn
Trang 4
Đà Nẵng, ngày tháng năm 2023
Người phản biện
Trang 5Tên đề tài: Xây dựng hệ thống website đặt vé xem phim trực tuyến.
Sinh viên thực hiện: Nguyễn Minh Hiếu
MSV: 1911505310120 Lớp: 19T1
Khách vãng lai sau khi truy cập website thì có thể tìm kiếm thông tin các bộ phimtheo tên phim hoặc danh mục, xem thông tin các bộ phim, tiến hành đăng ký tài khoảnthành viên để tiến hành đặt vé và thanh toán
Khách hàng đã đăng nhập có thể tiến hành đặt vé và thanh toán theo hình thức trựctuyến Ngoài ra khách hàng còn có thể xem thông tin những vé đã đặt trước đó, thựchiện hủy vé hoàn tiền, thực hiện những chức năng khác như cập thông thông tin kháchhàng
Quản trị viên website sẽ là người quản trị cao nhất của hệ thống, quản lý tất cả cácthông tin của website, quản lý được tài khoản của những khách hàng Quản trị viênwebsite có thể quản lý được thông tin rạp, thông tin các cụm rạp, quản lý được đồ ăncủa các rạp, quản lý các phòng chiếu của các cụm rạp, quản lý các dãy ghế số lượngghế của các phòng chiếu, quản lý được danh mục phim, quản lý thông tin các bộ phim,quản lý các đơn đặt vé của khách hàng, thống kê doanh thu, quản lý các bài viết trênwebsite
Trang 6NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: Th.S Nguyễn Văn Phát
Sinh viên thực hiện: Nguyễn Minh Hiếu Mã SV: 1911505310120
1 Tên đề tài: Xây dựng hệ thống website đặt vé xem phim trực tuyến
2 Các số liệu, tài liệu ban đầu:
- Tài liệu:
https://laravel.com/docs/8.x
https://php.net /docs.php
3 Nội dung chính của đồ án:
Quá trình xây dựng hệ thống website đặt vé xem phim trực tuyến:
- Thu thập thông tin tài liệu liên quan và khảo sát thực tế
- Phân tích thiết kế các chức năng của hệ thống
- Phân tích thiết kế cơ sở dữ liệu
- Thiết kế giao diện cho các chức năng
- Xây dựng hệ thống website
- Kiểm thử website
- Hoàn thành báo cáo tổng hợp
4 Các sản phẩm dự kiến:
- Website đặt vé xem phim trực tuyến
- File báo cáo hoàn chỉnh
Trang 7Trong những năm gần đây, chúng ta đã chứng kiến sự phát triển mạnh mẽ như vũbão của khoa học công nghệ mà đi đầu là công nghệ thông tin Chính điều đó đã làmbiến đổi sâu sắc trong đời sống xã hội và nhận thức của con người Việc ứng dụngcông nghệ thông tin vào trong đời sống là thực sự cấp thiết Ứng dụng của việc tin họchóa kết hợp với truyền thông hóa được xem là 1 trong những yếu tố quyết định tronghoạt động của chính phủ, các tổ chức, công ty cũng như các trường đại học, nó đóngvai trò quan trọng, cần thiết và không thể thiếu.
Với sự phát triển Internet nó được xem là một trong những thành tựu khoa học kỹthuật vĩ đại trong lịch sử loài người và là nguồn tài nguyên thông tin lớn nhất, đa dạngnhất của thế giới hiện nay Internet giúp mọi người góp phần thay đổi suy nghĩ, lối tưduy của mỗi con người, nó giúp con người năng động hơn, kết nối nhanh hơn ở mọilúc, mọi nơi, nó giúp tăng năng suất làm việc và mức độ tin cậy của công việc
Trước đây để có thể đi xem phim khách hàng cần phải ra tận rạp chiếu phim mớitiến hành mua được vé Bên cạnh đó việc quản lý theo phương thức thủ công làm chokhách hàng mất nhiều thời gian, phải xếp hàng chờ đợi vào các ngày lễ cũng có khikhông mua được vé theo yêu cầu
Để phục vụ nhu cầu giải trí ngày càng cao của khách hàng, giúp khách hàng có thểmua được vé theo yêu cầu, một cách dễ dàng và tiết kiệm thời gian Đồng thời đưa đếnkhách hàng nhiều thông tin hơn về những bộ phim và những thông tin khuyến mãi Emquyết định thực hiện đề tài “Xây dựng hệ thống website đặt vé xem phim online”, dưới
sự hướng dẫn của ThS Nguyễn Văn Phát
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến quý thầy cô đã giúp đỡ emthực hiện đề tài này, đặc biệt là ThS Nguyễn Văn Phát, thầy đã tận tình giúp đỡ emtrong suốt quá trình thực hiện đề tài tốt nghiệp này
Đồng thời, em cũng xin chân thành cảm ơn quý thầy cô thuộc ngành Công NghệThông Tin trường Đại học Sư phạm Kỹ thuật - Đại học Đà Nẵng đã truyền đạt nhữngkiến thức cần thiết và những kinh nghiệm quý báu cho chúng em trong suốt thời giantrên giảng đường để em thực hiện tốt đề tài này
Trong quá trình thực hiện đề tài, do kiến thức và thời gian còn hạn chế nên khôngthể tránh khỏi những sai sót Vì vậy em mong quý thầy, cô thông cảm và góp ý để em
có thể hoàn thiện đề tài Thêm nữa là, những lời góp ý đó có thể giúp em tránh đượcnhững sai lầm sau này
Em xin chân thành cảm ơn!
Trang 8Em xin cam đoan đồ án “Xây dựng hệ thống website đặt vé xem phim trực
tuyến” là một công trình nghiên cứu độc lập dưới sự hướng dẫn của giảng viên ThS.
Nguyễn Văn Phát Ngoài ra không có bất cứ sự sao chép nào của người khác Đề tài,nội dung báo cáo đồ án là sản phẩm mà em đã nỗ lực nghiên cứu trong quá trình họctập tại trường Các kết quả trình bày trong báo cáo là hoàn toàn trung thực, em xin chịuhoàn toàn trách nhiệm, kỷ luật của trưởng bộ môn và nhà trường đề ra nếu như có vấn
đề xảy ra
Sinh viên thực hiện
Nguyễn Minh Hiếu
Trang 9MỤC LỤC v
DANH MỤC BẢNG BIỂU viii
DANH MỤC HÌNH ẢNH ix
DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT xii
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xiii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 1
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn 2
6 Giải pháp công nghệ 2
7 Cấu trúc của đồ án tốt nghiệp 3
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về ngôn ngữ lập trình 4
1.1.1 HTML 4
1.1.2 CSS 4
1.1.3 PHP 5
1.2 Hệ quản trị cơ sở dữ liệu SQL Server 5
1.3 Framework và thư viện hỗ trợ 6
1.3.1 Giới thiệu Laravel Framework 6
1.3.2 Thư viện Jquery 7
1.3.3 Thư viện Chart.js 7
1.3.4 Thư viện Bootstrap 8
1.4 Công cụ hỗ trợ xây dựng hệ thống 8
1.4.1 Visual Studio Code 8
1.5 Lý thuyết xây dựng website 9
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 11
Trang 102.2.1 Khách vãng lai 11
2.2.2 Khách hàng 11
2.2.3 Quản trị viên 11
2.3 Đặc tả yêu cầu phần mềm 11
2.3.1 Khách vãng lai 11
2.3.2 Khách hàng 11
2.3.3 Quản trị viên của website 12
2.4 Sơ đồ Use case 13
2.5 Kịch bản cho Use case 14
2.5.1 Khách vãng lai 14
2.5.2 Khách hàng 17
2.5.3 Quản trị viên website 23
2.6 Sơ đồ hoạt động 34
2.6.1 Khách vãng lai 34
2.6.2 Quản trị viên 35
2.6.3 Khách hàng 39
2.7 Sơ đồ quan hệ 40
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 41
3.1 Giao diện người dùng (Khách vãng lai và Khách hàng) 41
3.1.1 Giao diện trang chủ khi chưa đăng nhập 41
3.1.2 Giao diện đăng nhập tài khoản 42
3.1.3 Giao diện trang lịch chiếu của phim 43
3.1.5 Giao diện trang chi tiết rạp 43
3.1.6 Giao diện trang phim đang chiếu 44
3.1.8 Giao diện trang phim sắp chiếu 44
3.1.9 Giao diện trang thông tin phim 45
3.1.10 Giao diện trang quản lý tài khoản 45
3.1.12 Giao diện trang chọn ghế 46
Trang 113.1.15 Giao diện trang lịch sử mua vé 47
3.1.15 Giao diện trang chi tiết lịch sử 48
3.1.16 Giao diện trang tìm kiếm rạp 48
3.1.17 Giao diện trang chi tiết bài viết 49
3.1.18 Giao diện trang kết quả tìm kiếm 49
3.1.19 Giao diện trang thông tin vé 50
3.1.20 Giao diện thông báo ghế đã bị mua trước đó 50
3.2 Giao diện trang quản trị 51
3.2.1 Giao diện đăng nhập trang quản trị 51
3.2.2 Giao diện chính của trang quản trị 51
3.2.4 Giao diện cập nhật thông tin rạp 52
3.2.5 Giao diện quản lý cụm rạp 52
3.2.5 Giao diện quản lý đồ ăn 54
3.2.6 Giao diện quản lý phòng 55
3.2.7 Giao diện quản lý phim 56
3.2.8 Giao diện quản lý thông tin dãy ghế 57
3.2.9 Giao diện quản lý suất chiếu 58
3.2.10 Giao diện trang danh sách đặt vé 59
3.2.11 Giao diện trang chi tiết đặt vé 60
3.2.12 Giao diện trang thống kê doanh thu 60
3.2.13 Giao diện trang quản lý bài viết 61
3.2.14 Giao diện trang thống kê xu hướng xem phim 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62
TÀI LIỆU THAM KHẢO 64
Trang 12Bảng 2 2 Kịch bản usecase xem thông tin phim 15
Bảng 2 3 Kịch bản usecase đăng ký tài khoản 16
Bảng 2 4 Kịch bản usecase đăng nhập người dùng 17
Bảng 2 5 Kịch bản usecase cập nhật thông tin tài khoản 18
Bảng 2 6 Kịch bản usecase xem lịch sử đặt vé 19
Bảng 2 7 Kịch bản usecase nạp tiền vào tài khoản 20
Bảng 2 8 Kịch bản usecase đặt vé 21
Bảng 2 9 Kịch bản cho usecase hủy đặt vé 22
Bảng 2 10 Kịch bản usecase đăng nhập trang quản trị 23
Bảng 2 11 Kịch bản usecase quản lý bài viết 24
Bảng 2 12 Kịch bản usecase quản lý thông tin rạp 25
Bảng 2 13 Kịch bản usecase quản lý thông tin phim 26
Bảng 2 14 Kịch bản usecase quản lý tài khoản người dùng 27
Bảng 2 15 Kịch bản usecase quản lý thông tin đặt vé 28
Bảng 2 16 Kịch bản usecase thống kê doanh thu 29
Bảng 2 17 Kịch bản usecase quản lý đồ ăn 30
Bảng 2 18 Kịch bản usecase quản lý phòng 31
Bảng 2 19 Kịch bản usecase quản lý cụm rạp 32
Bảng 2 20 Kịch bản usecase quản lý suất chiếu 33
DANH MỤC HÌNH Ả
Trang 13Hình 1 3 Hình code ví dụ PHP 5
Hình 1 4 Hình SQL SERVER 6
Hình 1 5 Hình logo laravel 6
Hình 1 6 Hình logo Jquery 7
Hình 1 7 Hình thư viện Chart.js 7
Hình 1 8 Hình Icon Bootstrap 8
Hình 1 9 Giao diện Visual Studio Code 9
Hình 1 10 Mô hình MVC trong xây dựng website 10
Y Hình 2 1 Sơ đồ usecase 13
Hình 2 2 Sơ đồ hoạt động tìm kiếm phim 34
Hình 2 3 Sơ đồ hoạt động xem thông tin phim 34
Hình 2 4 Sơ đồ hoạt động đăng ký tài khoản 35
Hình 2 5 Sơ đồ hoạt động đăng nhập trang quản trị 35
Hình 2 6 Sợ đồ hoạt động quản lý thông tin rạp 36
Hình 2 7 Sơ đồ hoạt động quản lý thông tin phim 36
Hình 2 8 Sơ đồ hoạt động quản lý đồ ăn 37
Hình 2 9 Sơ đồ hoạt động quản lý phòng 37
Hình 2 10 Sơ đồ hoạt động quản lý cụm rạp 38
Hình 2 11 Sơ đồ hoạt động quản lý suất chiếu 38
Hình 2 12 Sơ đồ hoạt động use case đặt vé 39
Hình 2 13 Sơ đồ hoạt động usecase hủy đặt vé 39
Hình 2 14 Sơ đồ quan hệ 40
Hình 3 1 Giao diện trang chủ 41
Trang 14Hình 3 4 Giao diện lịch chiếu phim 1 43
Hình 3 5 Giao diện chi tiết rạp 43
Hình 3 6 Giao diện trang phim đang chiếu 44
Hình 3 7 Giao diện trang phim sắp chiếu 44
Hình 3 8 Giao diện trang thông tin phim 45
Hình 3 9 Giao diện trang quản lý thông tin tài khoản 45
Hình 3 10 Giao diện trang chọn ghế 46
Hình 3 11 Giao diện trang chọn bắp nước 46
Hình 3 12 Giao diện trang thanh toán 47
Hình 3 13 Giao diện trang lịch sử mua vé 47
Hình 3 14 Giao diện trang chi tiết lịch sử 48
Hình 3 15 Giao diện trang tìm kiếm rạp 48
Hình 3 16 Giao diện trang chi tiết bài viết 49
Hình 3 17 Giao diện trang kết quả tìm kiếm 49
Hình 3 18 Giao diện trang thông tin vé 50
Hình 3 19 Giao diện thông báo ghế đã bị mua 50
Hình 3 20 Giao diện trang đăng nhập quản trị 51
Hình 3 21 Giao diện chính trang quản trị 51
Hình 3 22 Giao diện cập nhật thông tin rạp 52
Hình 3 23 Giao diện quản lý cụm rạp 1 52
Hình 3 24 Giao diện quản lý cụm rạp 2 53
Hình 3 25 Giao diện quản lý cụm rạp 3 53
Hình 3 26 Giao diện quản lý đồ ăn 1 54
Hình 3 27 Giao diện quản lý đồ ăn 2 54
Trang 15Hình 3 30 Giao diện thêm mới phim 56
Hình 3 31 Giao diện danh sách phim 56
Hình 3 32 Giao diện xác nhận lưu thông tin phim 57
Hình 3 33 Giao diện quản lý thông tin dãy ghế 57
Hình 3 34 Giao diện thêm mới suất chiếu 58
Hình 3 35 Giao diện trang danh sách suất chiếu 58
Hình 3 36 Giao diện danh sách ghế trong suất chiếu 59
Hình 3 37 Giao diện trang danh sách đặt vé 59
Hình 3 38 Giao diện trang chi tiết đặt vé 60
Hình 3 39 Giao diện trang thống kê doanh thu 60
Hình 3 40 Giao diện trang quản lý bài viết 61
Hình 3 41 Giao diện thống kê xu hướng xem phim 61
Trang 16TT
Chữ viết tắt Giải nghĩa
Trang 17TT
Chữ viết tắt Giải nghĩa Nghĩa tiếng việt
1 PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch
bản
L
HyperText MarkupLanguage
Ngôn ngữ đánh dấu siêuvăn bản
3 CSS Cascading Style Sheets Ngôn ngữ tạo phong cách
cho website4
World Wide WebConsortium
Tổ chức tiêu chuẩn quốc
tế chính cho World Wide Web
MS
Relational DatabaseManagement System
Hệ quản trị cơ sở dữ liệuquan hệ
Trang 18MỞ ĐẦU
1 Lý do chọn đề tài
Với sự bùng nổ thông tin trên Internet, vai trò của các trang thông tin điện tử trựctuyến ngày càng trở nên quan trọng Các số liệu trên cho thấy việc thực hiện các giaodịch trực tuyến ngày càng trở nên phổ biến hơn Khi mà Internet gần như phủ sóngtoàn cầu như hiện nay thì việc mua sắm sản phẩm, dịch vụ online tại Việt Nam đã trởnên quen thuộc và phổ biến hơn bao giờ hết Chỉ với một chiếc máy tính được kết nốiInternet khách hàng có thể giao dịch, mua sắm mọi lúc, mọi nơi chỉ với một vài thaotác đơn giản họ sẽ thực hiện được một giao dịch đơn giản thay vì phải đến tận nơi đểgiao dịch Bên cạnh đó còn giúp cửa hàng quản lý được việc mua bán hiệu quả hơn sovới việc quản lý trên giấy tờ dễ gây sai sót hay mất mác thông tin, các dữ liệu về sảnphẩm, khách hàng được lưu trữ một cách an toàn
Ngày nay, nhu cầu giải trí của con người rất phổ biến và có xu hướng phát triểnmạnh Họ có rất nhiều lựa chọn để giải trí và việc xem phim là một trong những hìnhthức giải trí của họ, từ đó nhu cầu mua vé thông qua các trang web, các ứng dụng càngtăng cao Cùng với sự phát triển của Internet và thương mại điện tử Em quyết định
thực hiện đề tài “Xây dựng hệ thống website đặt vé xem phim trực tuyến” Những
khách hàng có nhu cầu đặt vé chỉ cần thông qua website trực tuyến không mất nhiềuthời gian để có thể sở hữu những tấm vé xem phim mà không cần đi đến rạp để mua
2 Mục tiêu và nhiệm vụ nghiên cứu
- Mục tiêu:
Xây dựng một hệ thống với mục tiêu chủ yếu là giới thiệu phim của rạp đến vớikhách hàng Khách hàng có thể xem, tìm kiếm các thông tin về phim một cách trựcquan và có thể đặt vé xem các bộ phim trên mạng mà không cần phải trực tiếp đến rạpphim Quản trị viên có thể quản lý hệ thống một cách chính xác và hiệu quả
- Nhiệm vụ:
+ Nghiên cứu đề tài
+ Phân tích và thiết kế hệ thống
+ Thiết kế và xây dựng website
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
+ Khách hàng là những người có như cầu đặt vé xem phim trực tuyến
Trang 19+ Quản lý các thông tin của khách hàng, lịch sử đặt vé,…
+ Tài liệu tham khảo
- Phạm vi nghiên cứu:
+ Đề tài xây dựng website đặt vé xem phim online
+ Lĩnh vực thiết kế website
+ Hoạt động đặt vé, xem thông tin về vé đã đặt
4 Phương pháp nghiên cứu
- Tham khảo các website, ứng dụng đặt vé khác như galaxycine, momo, cgv,…
- Khảo sát thực tế
- Tìm kiếm tài liệu trên internet có liên quan đến nội dung nghiên cứu
- Tìm hiểu về công cụ hỗ trợ lập trình và cách sử dụng
- Thu tập tài liệu liên quan đến nghiệp vụ của website đặt vé xem phim
5 Ý nghĩa khoa học và thực tiễn
a) Ý nghĩa khoa học của đề tài
- Giúp sinh viên bổ sung kiến thức để bắt đầu trên con đường trở thành kỹ sư lậptrình giỏi
- Có thể giúp nâng cao kỹ năng lập trình, thiết kế website, tạo ra một sản phẩm
có giá trị thực tiễn
- Rèn luyện kỹ năng phân tích và thiết kế dự án
b) Ý nghĩa thực tiễn của đề tài
Qua việc xây dựng website này, em có thể áp dụng những kiến thức trong quátrình học tập và trau dồi sự hiểu biết về các kiến thức như :
- Kiến thức về ngôn ngữ PHP
- Kiến thức về Laravel Framework
- Kiến thức thiết kế website với HTML, CSS, Javascript, Jquery,…
- Phát huy tính sáng tạo và cách làm việc độc lập cho mình
6 Giải pháp công nghệ
- Thiết kế cơ sở dữ liệu, sơ đồ usecase, sơ đồ hoạt động: StarUML
- Hỗ trợ soạn thảo mã nguồn: Visual Studio Code
- Ngôn ngữ lập trình:
+ Backend: PHP (Framework Laravel)
Trang 20+ Frontend: HTML, CSS, JavaScript, Jquery
- Thư viện: Framework Laravel, Bootstrap, Chart.js
- Hệ quản trị CSDL: SQL SERVER
7 Cấu trúc của đồ án tốt nghiệp
Bài báo cáo ngoài các nội dung gồm phần mở đầu và phần kết thúc thì bố cục gồm
có 3 chương:
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Nêu các cơ sở lý thuyết sẽ áp dụng trong hệ thống: ngôn ngữ HTML, CSS,JavaScript, ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu SQL SERVER, thư việnChart.js,
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trình bày các sơ đồ use case, kịch bản cho các use case, sơ đồ ERD, sơ đồ hoạtđộng của các chức năng trong hệ thống Từ những phân tích ở trên, tiến hành thiết kế
cơ sở dữ liệu cho hệ thống sẽ triển khai
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH
Từ những phân tích và thiết kế về hệ thống ở trên, áp dụng xây dựng các chứcnăng hệ thống Trình bày giao diện của phần mềm triển khai
Trang 21CHƯƠNG 1 CƠ SỞ LÝ THUYẾT1.1 Tổng quan về ngôn ngữ lập trình
1.1.1 HTML
HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web vớicác mẫu thông tin được trình bày trên World Wide Web Cùng với CSS và Javascript,HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web
HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sửdụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thànhmột chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bảnchính thức mới nhất của HTML và HTML 4.01 (1999) Sau đó, các nhà phát triển đãthay thế nó bằng XHTML Hiện nay, HTML đang được phát triển tiếp với phiên bảnHTML5 hứa hẹn mang lại diện mạo mới cho trang Web
Trang 22Hình 1 2 Hình CSS
1.1.3 PHP
PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng
để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổngquát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML
Hình 1 3 Hình code ví dụ PHP
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống
C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngônngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến.PHP được sử dụng trong Website là công nghệ được thiết kế bởi Rasmus Lerdorf, nhàphát triển The PHP Group, phiên bản sử dụng là PHP 7.3.0 và được sử dụng cho Back-end
1.2 Hệ quản trị cơ sở dữ liệu SQL Server
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi
dữ liệu giữa máy Client và máy cài SQL Server
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (VeryLarge Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàngngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như MicrosoftInternet Information Server (IIS), E-Commerce Server, Proxy Server…
Trang 23Hình 1 4 Hình SQL SERVER
1.3 Framework và thư viện hỗ trợ
1.3.1 Giới thiệu Laravel Framework
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởiTaylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếmtrúc model-view-controller (MVC) Những tính năng nổi bật của Laravel bao gồm cúpháp dễ hiểu – rõ ràng, sử dụng hệ thống đóng gói module, quản lý package(Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, SQLite, PostgeSQL…)
Hình 1 5 Hình logo laravel
Ưu điểm của Laravel:
- Sử dụng các tính năng mới nhất của PHP
- Nguồn tài nguyên vô cùng lớn và sẵn có
- Tích hợp với dịch vụ mail
- Tốc độ xử lý nhanh
- Dễ sử dụng
- Tính bảo mật cao
Trang 241.3.2 Thư viện Jquery
Jquery chính là một thư viện của JavaScript giúp đơn giản hóa cách viết Javascript
và tăng tốc độ xử lý các sự kiện trên trang web Jquery thêm tính năng tương tác Ajaxvào trong trang web Jquery được thiết kế để thay đổi cách viết mới cho Javascript
Jquery được sử dụng trong Website là công nghệ được thiết kế bở John Resig,phát triển bởi jQuery Team
Hình 1 6 Hình logo Jquery
1.3.3 Thư viện Chart.js
Chart.js là thư viện JavaScript mã nguồn mở đơn giản, dễ dàng thiết lập và tùychỉnh Nó cung cấp nhiều thiết kế mặt phẳng cho biểu đồ như biểu đồ đường thẳng,biểu đồ bong bóng…
Hình 1 7 Hình thư viện Chart.js
1.3.4 Thư viện Bootstrap
Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễdàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bịcầm tay như mobile, ipad, tablet,
Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo
ra một mẫu webiste hoàn chỉnh Với các thuộc tính về giao diện được quy định sẵn như
Trang 25kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩmmới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quátrình thiết kế giao diện website.
Hình 1 8 Hình Icon Bootstrap
1.4 Công cụ hỗ trợ xây dựng hệ thống
1.4.1 Visual Studio Code
Visual Studio Code được biết đến là một trình biên tập lập trình code miễn phí
dành cho Windows, Linux và macOS Nó được phát triển bởi Microsoft là sự kết hợp
hoàn hảo giữa IDE và Code Editor Trình biên tập này được hỗ trợ chức năng debug,
đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, cùng
đó là cải tiến mã nguồn Ngoài ra, Visual Studio Code còn cho phép người dùng thayđổi theme, phím tắt, và các tùy chọn khác
Những ưu điểm nổi bật của Visual Studio Code:
Đa dạng ngôn ngữ lập trình giúp bạn thỏa sức sáng tạo như HTML, CSS,
JavaScript, C++,…
Ngôn ngữ, giao diện tối giản, tinh tế, giúp người dùng dễ dàng định hình nội dung
Các tiện ích mở rộng đa dạng, phong phú
Tích hợp các tính năng bảo mật (Git), tăng tốc xử lý vòng lặp (Debug),…
Có thể đơn giản trong việc tìm quản lý hết tất cả các Code có trên hệ thống
Trang 26Hình 1 9 Giao diện Visual Studio Code
1.5 Lý thuyết xây dựng website
Mô hình hoạt động MVC (Server Side Rendering):
Người dùng gửi yêu cầu (HTTP Request) qua một trình duyệt web bất kỳ Yêu cầunày có thể kèm theo những dữ liệu tới Controller xử lý Bộ Routing điều hướng sẽxác định Controller xử lý
Khi Controller nhận được yêu cầu, nó sẽ kiểm tra yêu cầu đó có cần dữ liệu từModel hay không Nếu có sẽ dùng các class/function trong Model sau đó trả ra kếtquả Khi đó, Controller cũng sẽ xử lý các giá trị đó và trả ra view để hiển thị.Controller sẽ xác định các View tương ứng và hiển thị đúng theo yêu cầu
Khi View nhận được giá trị từ Controller, chúng sẽ xây dựng các thành phần hiểnthị như hình ảnh, thông tin dữ liệu, … rồi trả về GUI content để Controller đưa rakết quả và hiển thị lên màn hình Browser
Browser sẽ nhận được giá trị trả về và hiển thị với người dùng và kết thúc quátrình hoạt động
Trang 27Hình 1 10 Mô hình MVC trong xây dựng website
Trang 28CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG2.1 Tác nhân
- Khách vãng lai
- Khách hàng
- Quản trị viên website
2.2 Đặc tả yêu cầu nghiệp vụ
2.2.3 Quản trị viên
Quản trị viên có thể thực hiện tất cả các chức năng của các actor khác Đồng thờiquản lý tất cả các thông tin của hệ thống, có thể thực hiện các chức năng như đăngnhập, cập nhật lại các thông tin của rạp, thông tin phim, quản lý cụm rạp, quản lýphòng chiếu và số lượng dãy ghế, quản lý danh mục phim, quản lý thông tin đặt vé,thống kê, quản lý bài viết
2.3 Đặc tả yêu cầu phần mềm
2.3.1 Khách vãng lai
- Tìm kiếm phim theo tên hoặc danh mục phim, các phim đang chiếu, sắp chiếu
- Xem thông tin:
+ Thông tin tổng quan của website
+ Thông tin phim bao gồm tên phim, thể loại, mô tả, giá tiền,…
+ Thông tin bài viết
- Tiến hành đăng ký tài khoản
2.3.2 Khách hàng
Có đầy đủ chức năng của khách vãng lai, ngoài ra còn có thêm các chức năng:
Trang 29- Đăng nhập, đăng xuất hệ thống
- Cập nhật thông tin tài khoản
- Đặt vé
- Xem danh sách các vé, lịch sử mua vé
- Nạp tiền vào tài khoản website
2.3.3 Quản trị viên của website
- Đăng nhập, đăng xuất hệ thống
- Quản lý các thông tin của website
- Quản lý bài viết
- Quản lý thông tin danh mục phim
- Quản lý đồ ăn tại các rạp
- Quản lý các cụm rạp
- Quản lý được thông tin rạp, bao gồm tên rạp, thông tin mô tả
- Quản lý được thông tin phim, bao gồm: tên phim, giá, đạo diễn, diễn viên,…
- Quản lý được các suất chiếu của phim
- Quản lý được thông tin lịch sử đặt vé của khách hàng
- Quản lý, thống kê doanh thu
- Quản lý các bài viết liên quan đến phim
Trang 302.4 Sơ đồ Use case
Hình 2 1 Sơ đồ usecase
Trang 312.5 Kịch bản cho Use case
2.5.1 Khách vãng lai
2.5.1.1 Usecase tìm kiếm phim
STT Use case name Tìm kiếm phim
1 Description Actor tìm kiếm phim mong muốn
2 Actor Khách vãng lai
3 Input Khách vãng lai truy cập vào hệ thống
4 Output Bộ phim cần tìm được hiển thị
Bảng 2 1 Kịch bản usecase tìm kiếm phim
2.5.1.2 Usecase xem thông tin phim
STT Use case name Xem thông tin phim
1 Description Actor xem thông tin của bộ phim như tên phim, thể loại,
Trang 32giá tiền, mô tả ngắn, đánh giá và bình luận.
2 Actor Khách vãng lai
3 Input Khách vãng lai truy cập vào hệ thống
4 Output Thông tin về bộ phim được hiển thị
5 Basic flow
1) Bắt đầu use case2) Khách vãng lai nhấn chuột vào bộ phim muốn xem thông tin
3) Thông tin của bộ phim được hiển thị4) Kết thúc use case
Bảng 2 2 Kịch bản usecase xem thông tin phim
2.5.1.3 Usecase đăng ký tài khoản
STT Use case name Đăng ký tài khoản
1 Description Actor muốn đăng ký tài khoản để trở thành thành viên của
website
2 Actor Khách vãng lai
3 Input Khách vãng lai truy cập vào hệ thống
4 Output Actor đăng ký tài khoản thành công
Trang 335 Basic flow
1) Bắt đầu use case2) Khách vãng lai nhấn vào biểu tượng hình người trên thanh menu
3) Nhấn vào dòng “Đăng ký ngay”
4) Nhập thông tin đăng ký5) Nhấn “Tạo tài khoản”
Có các kịch bản giống với actor khách vãng lai, ngoài ra còn có thêm:
2.5.2.1 Usecase đăng nhập trang người dùng
STT Use case name Đăng nhập
1 Description Actor đã có tài khoản và muốn đăng nhập vào hệ thống
3 Input Khách hàng truy cập vào hệ thống
4 Output Khách hàng đăng nhập thành công
5 Basic flow 1) Bắt đầu use case
2) Khách hàng chọn vào biểu tượng “hình người” trên
Trang 34thanh menu3) Khách hàng nhập tài khoản và mật khẩu sau đó nhấn nút “Đăng nhập”
Bảng 2 4 Kịch bản usecase đăng nhập người dùng
2.5.2.2 Usecase cập nhật thông tin tài khoản
STT Use case name Cập nhật thông tin tài khoản
1 Description Actor chỉnh sửa thông tin tài khoản
3 Input Khách hàng đăng nhập thành công
4 Output Khách hàng chỉnh sửa thông tin thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấn vào biểu tượng hình người trên menu3) Nhấn vào “Quản lý tài khoản”
4) Khách hàng nhập các thông tin muốn sửa đổi5) Khách hàng nhấn nút “Cập nhật”
6) Kết thúc use case
6 Alternative flow
(Nêu các bước
Không có
Trang 35STT Use case name Xem danh sách các vé đã mua
1 Description Khách hàng có thể xem danh sách các vé đã mua
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng xem được lịch sử đặt vé
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào biểu tượng user trên thanh menu
3) Nhấn vào “Lịch sử mua vé”
4) Nhấn vào các tab “Đã dùng”, “Chưa dùng”, “Đã hủy”
để xem lịch sử đặt5) Nhấn vào một lịch sử muốn xem chi tiết6) Kết thúc use case
Trang 362.5.2.4 Usecase nạp tiền vào tài khoản
STT Use case name Nạp tiền vào tài khoản
1 Description Khách hàng muốn nạp tiền vào tài khoản để thực hiện
giao dịch mua vé
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng nạp tiền vào tài khoản thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào biểu tượng user trên thanh menu
3) Nhấn chọn vào phần dòng “Nạp tiền”, giao diện nạp tiền hiện ra
4) Khách hàng chọn mệnh giá tiền muốn nạp và nhấn
“Nạp gói này”, giao diện chọn hình thức thanh toán hiện ra
5) Nhấn chọn hình thức và nhập thông tin cá nhân vào các
ô input bên dưới6) Nhấn nạp ngay, được chuyển hướng đến trang nạp tiền7) Thực hiện các thao tác nạp tiền tiếp theo tùy thuộc vào từng hình thức nạp tiền
8) Kết thúc usecase
Trang 37STT Use case name Đặt vé
1 Description Khách hàng muốn đặt vé xem phim theo từng phim
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng tiến hành đặt vé và thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào trong phim muốn đặt vé, trang chi tiết phim hiện ra
3) Tiến hành chọn tỉnh thành phố và định dạng4) Chọn ngày, chọn rạp và chọn giờ muốn đặt vé5) Tiến hành chọn ghế muốn đặt và nhấn “Tiếp tục”, sau
đó giao diện trang mua bắp nước hiện ra
6) Tiến hành chọn bắp và nước, nhấn “Tiếp tục”, giao diện trang thanh toán hiện ra
7) Tiến hành chọn hình thức thanh toán8) Thay đổi thông tin cá nhân ở các ô input ở dưới, nhấn
“Thanh toán”, 1 popup xác nhận thanh toán hiện lên9) Nhấn vào “Tiến hành thanh toán”
10) Trang thanh toán hiện ra, giao diện tùy thuộc vào hìnhthức mà thanh toán mà khách hàng chọn
Trang 385’) Khách hàng nhấn thoát website use case kết thúc
Ở các bước trên nếu khách hàng để quá thời gian giữ ghế thì use case kết thúc
Bảng 2 8 Kịch bản usecase đặt vé
2.5.2.6 Usecase hủy vé
STT Use case name Hủy vé
1 Description Khách hàng có thể hủy được những vé đã mua nếu trong
thời gian cho phép
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng hủy đặt vé thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào biểu tượng user trên thanh menu
3) Nhấn vào “Lịch sử mua vé”
4) Nhấn vào các tab “Đã dùng”, “Chưa dùng”, “Đã hủy”
để xem lịch sử đặt5) Nhấn vào một lịch sử muốn xem chi tiết6) Nhấn vào button “Hủy đặt vé”
7) Kết thúc use case6
Bảng 2 9 Kịch bản cho usecase hủy đặt vé
Trang 392.5.3 Quản trị viên website
2.5.3.1 Usecase đăng nhập trang quản trị
STT Use case name Đăng nhập vào trang quản trị
1 Description Quản trị viên sử dụng tài khoản của mình để đăng nhập
vào tài khoản
2 Actor Quản trị viên website
3 Input Quản trị viên truy cập trang quản trị
4 Output Quản trị viên đăng nhập thành công
5 Basic flow
1) Bắt đầu use case2) Tiến hành vào trang đăng nhập quản trị viên3) Quản trị viên nhập tên tài khoản và mật khẩu, nhấn nút
“Đăng nhập”
4) Kết thúc use case6