Tải bản đầy đủ (.pdf) (65 trang)

Đồ án xây dựng website đặt vé xem phim online

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.98 MB, 65 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN MÔN HỌC
ĐỒ ÁN 2
ĐỀ TÀI:

XÂY DỰNG WEBSITE ĐẶT VÉ XEM PHIM
ONLINE

Giảng viên hướng dẫn:
ThS Trần Thị Hồng Yến

Sinh viên thực hiện:
19522090 – Vũ Nguyễn Minh Quân

Thành phố Hồ Chí Minh, ngày 21 tháng 12 năm 2022


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN MÔN HỌC
ĐỒ ÁN 2
ĐỀ TÀI:

XÂY DỰNG WEBSITE ĐẶT VÉ XEM PHIM
ONLINE


Giảng viên hướng dẫn:
ThS Trần Thị Hồng Yến

Sinh viên thực hiện:
19522090 – Vũ Nguyễn Minh Quân

Thành phố Hồ Chí Minh, ngày 21 tháng 12 năm 2022


LỜI CẢM ƠN
Đầu tiên, nhóm em xin gởi lời cảm ơn chân thành đến tập thể quý Thầy Cô
Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô
khoa Công nghệ phần mềm đã trang bị cho nhóm những kiến thức nền tảng để thực
hiện đề tài này.
Đặc biệt, nhóm xin gửi lời cảm ơn và lịng biết ơn sâu sắc nhất tới Cơ Trần Thị
Hồng Yến, người đã trực tiếp tận tình hướng dẫn nhóm em trong suốt q trình thực
hiện đồ án. Không chỉ gợi ý và tận tâm hướng dẫn chúng em trong q trình tìm hiểu,
đọc tài liệu, Cơ cịn tận tình chỉ bảo em những kĩ năng phân tích, khai thác tài liệu để
có được những tư liệu phù hợp với nội dung của đồ án. Hơn nữa, Cô cịn rất nhiệt tình
trong việc đốc thúc q trình viết báo cáo, đọc và đưa ra những nhận xét, góp ý để em
có thể hồn thành báo cáo đồ án một cách tốt nhất. Nếu khơng có những lời hướng
dẫn, dạy bảo của Cơ thì đồ án này rất khó có thể hồn thiện được. Một lần nữa, em xin
chân thành cảm ơn Cơ.
Đề tài được nhóm thực hiện trong thời gian 3 tháng nên bước đầu đi vào thực
tế, tìm hiểu về lĩnh vực trong nghiên cứu khoa học, kiến thức cũng như kinh nghiệm
thực tiễn của em còn hạn chế và cịn nhiều bỡ ngỡ. Do vậy, khơng tránh khỏi những
thiếu sót là điều chắc chắn, nhóm rất mong nhận được những sự chỉ bảo, ý kiến đóng
góp quý báu của quý Thầy Cô và các bạn học cùng lớp để em có điều kiện được bổ
sung, nâng cao kiến thức của mình trong lĩnh vực này, giúp hồn thiện hơn và tích lũy
thêm cho bản thân nhiều kinh nghiệm, phục vụ tốt hơn cho công việc thực tế sau này.

Cuối cùng, em xin được gửi đến ba mẹ, gia đình và bạn bè lời cảm ơn, tri ân
chân thành và lịng biết ơn sâu sắc vì những sự động viên, ủng hộ, giúp đỡ và cổ vũ
tinh thần cho em trong suốt quá trình vừa qua.
Chúng em xin chân thành cảm ơn!

Sinh viên thực hiện: Vũ Nguyễn Minh Quân


NHẬN XÉT CỦA GIẢNG VIÊN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
TP. HCM, ngày….. tháng ….. năm ……
Giảng viên hướng dẫn


ThS. Trần Thị Hồng Yến


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Xây dựng website đặt vé xem phim online
Cán bộ hướng dẫn: ThS. Trần Thị Hồng Yến
Thời gian thực hiện: Từ ngày: 5/9/2022 đến ngày 28/12/2022
Sinh viên thực hiện: Vũ Nguyễn Minh Quân - 19522090
Nội dung đề tài:
1. Lí do chọn đề tài
Với sự đi lên cũng như áp dụng của công nghệ trong đời sống - xã hội hiện nay,
cơng nghệ hóa mọi vấn đề trong cuộc sống dường như là một điều hiển nhiên. Cơng
nghệ hóa chính là chìa khóa để mọi cơng việc có thể thực hiện dễ dàng, hiệu quả,
nhanh chóng và an tồn. Chính vì vậy để bắt kịp xu thế, tiết kiệm thời gian và tiền
bạc, mọi ngành nghề đều đã và đang dần chuyển sang sử dụng cơng nghệ thay vì sức
người. Trong phạm vi này, nhóm nghiên cứu và phát triển “Website đặt vé xem phim
online” để nhằm đáp ứng nhu cầu cuộc sống, dễ dàng đặt vé mọi lúc mọi nơi, tiết
kiệm sức lực và thời gian.
2. Mục tiêu đề tài

o Xây dựng được một website đặt vé xem phim online hoàn chỉnh cả về chức
năng lẫn trải nghiệm người dùng.
3. Phạm vi đề tài
Đề tài tập trung xây dựng website phục vụ nhu cầu đặt vé xem phim online mọi.

1


 Phạm vi môi trường:
o Triển khai sản phẩm đề tài trên môi trường web.
 Phạm vi chức năng:
o Đăng kí, đăng nhập, xác thực.
o Quản lý thơng tin khách hàng.
o Quản lý phim, các thể loại phim, khung giờ chiếu.
o Quản lý thông tin vé.
o Đặt vé.
4. Đối tượng sử dụng
 Người dùng có nhu cầu đặt vé xem phim ngồi rạp.
 Người khơng có thời gian ra rạp mua trực tiếp.
 Nhân viên quản trị viên của website.
5. Phương pháp thực hiện
 Khảo sát và tìm hiểu các website tương tự đang có trên thị trường, từ đó phân
tích, xác định các yêu cầu cụ thể của đề tài.
 Phân tích thiết kế hệ thống và xây dựng website.
 Tìm hiểu về thiết kế UX/UI, tối đa hóa trải nghiệm người dùng.
6. Công nghệ sử dụng
 Front-end: ReactJS.
 Back-end: NodeJS, ExpressJS.
 Database: MongoDB.
7. Kết quả mong đợi

-

Nắm bắt và ứng dụng được các cơng nghệ mới để hồn thiện sản phẩm đề tài.

-

Hiểu rõ các nghiệp vụ, chức năng của một website đặt vé xem phim online.

-

Ứng dụng được các kiến thức đã học về phân tích và thiết kế hệ thống phần
mềm vào việc xây dựng và triển khai website sản phẩm đề tài.

-

Có thể thay đổi giao diện một cách linh động và mở rộng thêm các chức năng
mới cho website sản phẩm đề tài để phù hợp với nhu cầu thực tiễn trong tương
lai.

2


Kế hoạch thực hiện:
Tuần

Cơng việc

Tuần 1, 2

Tìm hiểu đề tài, đánh giá thị trường, xác định các chức năng


(5/9 – 18/9)

của hệ thống

Tuần 3 - 5

Tìm hiểu và nghiên cứu cơng nghệ

(19/9 – 9/10)
Tuần 6, 7

Phân tích và thiết kế hệ thống website

(10/10 – 23/10)
Tuần 8 - 10

Nghiên cứu giao diện tổng thể cho website từ các trang web

(24/10 – 13/11)

tương ứng

Tuần 11 - 12

Xây dựng Backend, các API cần thiết cho các chức năng

(14/10 – 27/11)

quản lý


Tuần 13 - 15

Xây dựng các chức năng quản lý và trang quản lý của quản

(28/11 – 18/12)

trị viên

Tuần 16
(19/12 – 25/12)

Xây dựng trang đặt vé cho khách hàng

Tuần 17

Sửa lỗi, cải thiện giao diện

(26/12 – 28/12)

Hoàn thiện tài liệu và tiến hành báo cáo.

Xác nhận của CBHD

TP. HCM, ngày 10 tháng 9 năm 2022

(Ký tên và ghi rõ họ tên)

Sinh viên
(Ký tên và ghi rõ họ tên)


Vũ Nguyễn Minh Quân

Trần Thị Hồng Yến

3


MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ....................................................... 11
1.1.

LÝ DO CHỌN ĐỀ TÀI ............................................................................... 11

1.2.

MỤC TIÊU .............................................................................................. 11

1.3.

PHẠM VI ................................................................................................ 11

1.4.

ĐỐI TƯỢNG SỬ DỤNG ............................................................................. 12

1.5.

KẾT QUẢ DỰ KIẾN .................................................................................. 12


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ................................................................ 13
2.1.

JAVASCRIPT (NODEJS).......................................................................... 13

2.1.1 Khái niệm ......................................................................................... 13
2.1.2 Tại sao nên sử dụng NodeJS ............................................................ 13
2.2.

MONGODB............................................................................................ 13

2.2.1 Giới thiệu .......................................................................................... 13
2.2.2 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MongoDB ............... 13
2.2.3 Áp dụng MongoDB vào đề tài .......................................................... 14
2.3.

REACTJS ............................................................................................... 14

2.3.1 Giới thiệu về Reactjs ........................................................................ 14
2.3.2 Tại sao nên sử dụng Reactjs ............................................................. 15
2.4.

EXPRESSJS ............................................................................................ 16

2.4.1 Giới thiệu .......................................................................................... 16
2.4.2 Một số tính năng chính ..................................................................... 16
2.4.3 Tại sao nên sử dụng ExpressJS ........................................................ 16
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG ................................... 18
3.1.


SƠ ĐỒ USE CASE TỔNG QUÁT ............................................................... 18

3.2.

DANH SÁCH CÁC ACTOR........................................................................ 18

3.3.

DANH SÁCH CÁC USE CASE ................................................................... 19

3.4.

ĐẶC TẢ USE CASE ................................................................................. 19
4


3.4.1 Đặc tả Use Case “Đăng nhập”........................................................ 19
3.4.2 Đặc tả Use Case “Đăng ký” ............................................................ 20
3.4.3 Đặc tả Use Case “Đăng xuất”......................................................... 21
3.4.4 Đặc tả Use Case “Thêm phim”........................................................ 21
3.4.5 Đặc tả Use Case “Sửa phim” .......................................................... 22
3.4.6 Đặc tả Use Case “Xóa phim” .......................................................... 23
3.4.7 Đặc tả Use Case “Thêm rạp” .......................................................... 24
3.4.8 Đặc tả Use Case “Sửa rạp” ............................................................. 25
3.4.9 Đặc tả Use Case “Xóa rạp” ............................................................ 25
3.4.10 Đặc tả Use Case “Thêm giờ chiếu”................................................. 26
3.4.11 Đặc tả Use Case “Sửa giờ chiếu” ................................................... 27
3.4.12 Đặc tả Use Case “Xóa giờ chiếu” ................................................... 27
3.4.13 Đặc tả Use Case “Đặt vé” ............................................................... 28
3.4.14 Đặc tả Use Case “Xem vé đã đặt”................................................... 29

3.5.

THIẾT KẾ CƠ SỞ DỮ LIỆU ........................................................................ 30

3.5.1 Sơ đồ logic ........................................................................................ 30
3.5.2 Mô tả chi tiết cả kiểu dữ liệu trong sơ đồ logic ............................... 31
3.6.

CÁC SƠ ĐỒ VÀ LUỒNG HOẠT ĐỘNG ........................................................ 33

3.6.1 Đăng nhập ........................................................................................ 33
3.6.2 Đăng kí ............................................................................................. 35
3.6.3 Đặt vé................................................................................................ 36
3.6.4 Thêm dữ liệu ..................................................................................... 38
3.6.5 Sửa dữ liệu........................................................................................ 40
3.6.6 Xóa dữ liệu ....................................................................................... 42
CHƯƠNG 4: THIẾT KẾ GIAO DIỆN ........................................................... 45
4.1.

DANH SÁCH MÀN HÌNH .......................................................................... 45

4.2.

HIỆN THỰC ĐỒ ÁN ................................................................................. 46

4.1.1 Màn hình đăng nhập ........................................................................ 46
5


4.1.2 Màn hình chính (Homepage)............................................................ 47

4.1.3 Màn hình tìm kiếm phim ................................................................... 48
4.1.4 Màn hình thơng tin phim .................................................................. 49
4.1.5 Màn hình đặt vé ................................................................................ 50
4.1.6 Màn hình lịch sử đặt vé .................................................................... 51
4.1.7 Màn hình chính của QTV ................................................................. 52
4.1.8 Màn hình quản lý người dùng của QTV ........................................... 53
4.1.9 Màn hình quản lý phim của QTV ..................................................... 54
4.1.10 Màn hình quản lý rạp của QTV........................................................ 55
4.1.11 Màn hình quản lý phịng chiếu của QTV ......................................... 56
4.1.12 Màn hình quản lý giờ chiếu của QTV .............................................. 57
4.1.13 Màn hình quản lý vé của QTV .......................................................... 58
KẾT LUẬN ........................................................................................................ 59
TÀI LIỆU THAM KHẢO ................................................................................ 61

6


DANH MỤC BẢNG
Bảng 3.1 Danh sách các Actor ..................................................................................... 18
Bảng 3.2 Danh sách các Use Case ................................................................................ 19
Bảng 3.3 Đặc tả Use Case “Đăng nhập” ...................................................................... 19
Bảng 3.4 Đặc tả Use Case “Đăng ký” .......................................................................... 20
Bảng 3.5 Đặc tả Use Case “Đăng xuất” ....................................................................... 21
Bảng 3.6 Đặc tả Use Case “Thêm phim” ..................................................................... 22
Bảng 3.7 Đặc tả Use Case “Sửa phim” ........................................................................ 22
Bảng 3.8 Đặc tả Use Case “Xóa phim” ........................................................................ 23
Bảng 3.9 Đặc tả Use Case “Thêm rạp” ........................................................................ 24
Bảng 3.10 Đặc tả Use Case “Sửa rạp”.......................................................................... 25
Bảng 3.11 Đặc tả Use Case “Xóa rạp” ......................................................................... 25
Bảng 3.12 Đặc tả Use Case “Thêm giờ chiếu”............................................................. 26

Bảng 3.13 Đặc tả Use Case “Sửa giờ chiếu” ................................................................ 27
Bảng 3.14 Đặc tả Use Case “Xóa giờ chiếu” ............................................................... 27
Bảng 3.15 Đặc tả Use Case “Đặt vé” ........................................................................... 28
Bảng 3.16 Đặc tả Use Case “Xem vé đã đặt”............................................................... 29
Bảng 3.17 Bảng “user” ................................................................................................. 31
Bảng 3.18 Bảng “movie” .............................................................................................. 31
Bảng 3.19 Bảng “theater” ............................................................................................. 31
Bảng 3.20 Bảng “room” ............................................................................................... 32
Bảng 3.21 Bảng “showtime” ........................................................................................ 32
Bảng 3.22 Bảng “ticket” ............................................................................................... 33
Bảng 4.1 Danh sách màn hình ...................................................................................... 45
Bảng 4.1 Danh sách chức năng màn hình “Đăng nhập” .............................................. 46
Bảng 4.2 Danh sách chức năng màn hình “Homepage” .............................................. 47
Bảng 4.3 Danh sách chức năng màn hình “Tìm kiếm phim” ....................................... 48
Bảng 4.4 Danh sách chức năng màn hình “Thơng tin phim” ....................................... 49
Bảng 4.5 Danh sách chức năng màn hình “Đặt vé” ..................................................... 50
Bảng 4.6 Danh sách chức năng màn hình “Lịch sử đặt vé” ......................................... 51
7


Bảng 4.7 Danh sách chức năng màn hình “Homepage Quản Lý” ............................... 52
Bảng 4.8 Danh sách chức năng màn hình “Quản lý người dùng”................................ 53
Bảng 4.9 Danh sách chức năng màn hình “Quản lý phim” .......................................... 54
Bảng 4.10 Danh sách chức năng màn hình “Quản lý rạp” ........................................... 55
Bảng 4.11 Danh sách chức năng màn hình “Quản lý phịng chiếu” ............................ 56
Bảng 4.12 Danh sách chức năng màn hình “Quản lý giờ chiếu” ................................. 57
Bảng 4.13 Danh sách chức năng màn hình “Quản lý vé” ............................................ 58

8



DANH MỤC HÌNH
Hình 3.1 Sơ đồ Use Case tổng qt .............................................................................. 18
Hình 3.2 Hình sơ đồ logic............................................................................................. 30
Hình 3.3 Sơ đồ hoạt động Đăng nhập .......................................................................... 34
Hình 3.4 Sơ đồ tuần tự Đăng nhập ............................................................................... 34
Hình 3.5 Sơ đồ hoạt động Đăng kí ............................................................................... 35
Hình 3.6 Sơ đồ tuần tự Đăng kí .................................................................................... 36
Hình 3.7 Sơ đồ hoạt động Đặt vé ................................................................................. 37
Hình 3.8 Sơ đồ tuần tự Đặt vé ...................................................................................... 38
Hình 3.9 Sơ đồ hoạt động Thêm dữ liệu ...................................................................... 39
Hình 3.10 Sơ đồ tuần tự Thêm dữ liệu ......................................................................... 40
Hình 3.11 Sơ đồ hoạt động Sửa dữ liệu........................................................................ 41
Hình 3.12 Sơ đồ tuần tự Sửa dữ liệu ............................................................................ 42
Hình 3.13 Sơ đồ hoạt động Xóa dữ liệu ....................................................................... 43
Hình 3.14 Sơ đồ tuần tự Xóa dữ liệu ............................................................................ 44
Hình 4.1 Màn hình “Đăng nhập” .................................................................................. 46
Hình 4.2 Màn hình “Homepage” .................................................................................. 47
Hình 4.3 Màn hình “Tìm kiếm phim” .......................................................................... 48
Hình 4.4 Màn hình “Thơng tin phim” .......................................................................... 49
Hình 4.5 Màn hình “Đặt vé”......................................................................................... 50
Hình 4.6 Màn hình “Lịch sử đặt vé” ............................................................................ 51
Hình 4.7 Màn hình “Homepage Quản Lý” ................................................................... 52
Hình 4.8 Màn hình “Quản lý người dùng” ................................................................... 53
Hình 4.9 Màn hình “Quản lý phim” ............................................................................. 54
Hình 4.10 Màn hình “Quản lý rạp” .............................................................................. 55
Hình 4.11 Màn hình “Quản lý phịng chiếu” ................................................................ 56
Hình 4.12 Màn hình “Quản lý giờ chiếu” .................................................................... 57
Hình 4.13 Màn hình “Quản lý vé”................................................................................ 58
9



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

Từ đầy đủ

Giải thích

JS

Javascript

Ngơn ngũ lập trình Javascript

MVC

Model-View-Controller

Mẫu kiến trúc phần mềm để tạo

Từ viết
tắt

lập giao diện
HTML

Hypertext Markup Language

Ngôn ngữ đánh dấu siêu văn
bản


UI

User Interface

Giao diện người dùng

JSX

Javascript Syntax Extension

Cú pháp mở rộng cho

JSX = Javascript + XML

JavaScript

Application Programming

Giao diện lập trình ứng dụng

API

Interface

10


Chương 1: TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài


1.1.

Với sự đi lên cũng như áp dụng của công nghệ trong đời sống - xã hội hiện
nay, công nghệ hóa mọi vấn đề trong cuộc sống dường như là một điều hiển nhiên.
Cơng nghệ hóa chính là chìa khóa để mọi cơng việc có thể thực hiện dễ dàng, hiệu
quả, nhanh chóng và an tồn. Chính vì vậy để bắt kịp xu thế, tiết kiệm thời gian và
tiền bạc, mọi ngành nghề đều đã và đang dần chuyển sang sử dụng cơng nghệ thay
vì sức người. Trong phạm vi này, nhóm nghiên cứu và phát triển “Website đặt vé
xem phim online” để nhằm đáp ứng nhu cầu cuộc sống, dễ dàng đặt vé mọi lúc
mọi nơi, tiết kiệm sức lực và thời gian. Đồng thời để đuổi kịp và cạnh tranh trong
thời kỳ công nghệ mới.
Mục tiêu

1.2.
-

Xây dựng được một website đặt vé xem phim online hoàn chỉnh cả về chức
năng lẫn trải nghiệm người dùng.

1.3.

Phạm vi

Sau khi tìm hiểu và nghiên cứu sơ bộ về nhu cầu sử dụng của người dùng, nhóm quyết
định phạm vi thực hiện đề tài như sau:
 Phạm vi môi trường: triển khai sản phẩm đề tài trên môi trường Web
 Phạm vi chức năng:
 Đăng kí, đăng nhập, xác thực.
 Quản lý thông tin người dùng.

 Quản lý phim với các thể loại phim khác nhau, khung giờ chiếu.
 Đặt vé.

11


1.4.

Đối tượng sử dụng

-

Người dùng có nhu cầu đặt vé xem phim ngồi rạp.

-

Người khơng có thời gian ra rạp mua trực tiếp.

-

Nhân viên quản trị viên của website.

1.5.

Kết quả dự kiến

-

Nắm bắt và ứng dụng được các công nghệ mới để hoàn thiện sản phẩm đề tài.


-

Hiểu rõ các nghiệp vụ, chức năng của một website đặt vé xem phim online.

-

Ứng dụng được các kiến thức đã học về phân tích và thiết kế hệ thống phần
mềm vào việc xây dựng và triển khai website sản phẩm đề tài.

-

Có thể thay đổi giao diện một cách linh động và mở rộng thêm các chức năng
mới cho website sản phẩm đề tài để phù hợp với nhu cầu thực tiễn trong tương
lai.

12


Chương 2: CƠ SỞ LÝ THUYẾT
2.1.

JavaScript (NodeJS)
2.1.1 Khái niệm

-

NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có mã
nguồn mở, được sử dụng để chạy các ứng dụng web bên ngồi trình duyệt của
client. Nền tảng này được phát triển bởi Ryan Dahl vào năm 2009, được xem là
một giải pháp hoàn hảo cho các ứng dụng sử dụng nhiều dữ liệu nhờ vào mơ

hình hướng sự kiện (event-driven) không đồng bộ.
2.1.2 Tại sao nên sử dụng NodeJS

-

Sử dụng JavaScript – một ngơn ngữ lập trình dễ học.

-

Mã nguồn mở.

-

Chứa các thư viện built-in cho phép các ứng dụng hoạt động như một
Webserver mà không cần phần mềm.

2.2.

MongoDB
2.2.1 Giới thiệu

-

MongoDB là một loại database thiên hướng tài liệu và là một dạng NoSQL
database. Chính vì vậy, MongoDB thường sẽ tránh đi cấu trúc table-based của
relational database để có thể thích ứng được với mọi tài liệu như JSON có sẵn
trong một schema rất linh hoạt và được gọi là BSON.

-


MongoDB chính là một hệ quản trị cơ sở dữ liệu mà trong đó mã nguồn mở là
CSDL thường thuộc NoSql và được hàng triệu người sử dụng.
2.2.2 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MongoDB

-

Ưu điểm:
 Là một database hướng tài liệu, hiệu suất cao.
 Khả năng mở rộng cao.
 Năng động, linh hoạt, khơng có lược đồ cứng nhắc.
 Khơng joins.
 Biểu diễn dữ liệu trong JSON hoặc BSON.
 Ngôn ngữ truy vấn dựa trên tài liệu mạnh mẽ như SQL.
 Thêm xóa trường khơng ảnh hưởng đến ứng dụng.

-

Nhược điểm:
13


 Nhược điểm của hầu hết NoSQL là hầu hết các giải pháp đều không
tuân thủ ACID (Atomic, Consistency, Isolation, Durability) như các hệ
thống RDBMS được thiết lập tốt hơn.
 Khơng có chức năng hoặc thủ tục lưu trữ tồn tại nơi có thể liên kết logic.
 Giao dịch phức tạp.
-

Phù hợp cho:
 Danh mục sản phẩm thương mại điện tử.

 Blog và quản lý nội dung.
 Các trang web di động và mạng xã hội.
 Mục tiêu không chặt chẽ, thiết kế có thể thay đổi theo thời gian.
2.2.3 Áp dụng MongoDB vào đề tài

-

Nhờ những tính năng nổi trội của MongoDB, nhóm đã sử dụng MongoDB
dùng làm hệ quản trị cơ sở dữ liệu chính. Server sử dụng MongoDB để lưu trữ
toàn bộ dữ liệu, dữ liệu này sẽ được server sử dụng REST API để gọi lên.

2.3.

ReactJS
2.3.1 Giới thiệu về Reactjs

-

React.js là một thư viện Javascript đang nổi lên trong những năm gần đây với
xu hướng Single Page Application. Trong khi những framework khác cố gắng
hướng đến một mơ hình MVC hồn thiện thì React nổi bật với sự đơn giản và
dễ dàng phối hợp với những thư viện Javascript khác. Nếu như AngularJS là
một Framework cho phép nhúng code javasscript trong code html thông qua
các attribute như ng-model, ng-repeat...thì với react là một library cho phép
nhúng code html trong code javascript nhờ vào JSX, có thể dễ dàng lồng các
đoạn HTML vào trong JS.Tích hợp giữa javascript và HTML vào trong JSX
làm cho các component dễ hiểu hơn.

-


React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng những
thành phần (components) UI có tính tương tác cao, có trạng thái và có thể sử
dụng lại được. React được sử dụng tại Facebook trong production, và
Instagram được viết hoàn toàn trên React.

-

Một trong những điểm hấp dẫn của React là thư viện này khơng chỉ hoạt động
trên phía client, mà cịn được render trên server và có thể kết nối với nhau.
14


React so sánh sự thay đổi giữa các giá trị của lần render này với lần render
trước và cập nhật ít thay đổi nhất trên DOM.
2.3.2 Tại sao nên sử dụng Reactjs
-

Dễ sử dụng:
 React là một thư viện GUI nguồn mở JavaScript tập trung vào một điều
cụ thể; hoàn thành nhiệm vụ UI hiệu quả. Nó được phân loại thành kiểu
“V” trong mơ hình MVC (Model-View-Controller).
 Là lập trình viên JavaScript, bạn sẽ dễ dàng hiểu được những điều cơ
bản về React. Bạn thậm chí có thể bắt đầu phát triển các ứng dụng dựa
trên web bằng cách sử dụng react chỉ trong vài ngày.

-

Viết component dễ dàng hơn:
 React component dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy
chọn cho JavaScript cho phép kết hợp HTML với JavaScript.

 JSX là một sự pha trộn tuyệt vời của JavaScript và HTML. Nó làm rõ
tồn bộ q trình viết cấu trúc trang web. Ngồi ra, phần mở rộng cũng
giúp render nhiều lựa chọn dễ dàng hơn.
 JSX có thể khơng là phần mở rộng cú pháp phổ biến nhất, nhưng nó
được chứng minh là hiệu quả trong việc phát triển components đặc biệt
hoặc các ứng dụng có khối lượng lớn.

-

Hiệu suất tốt hơn với Virtual DOM:
 React sẽ cập nhật hiệu quả quá trình DOM (Document Object Model –
Mơ hình đối tượng tài liệu). Như đã biết, q trình này có thể gây ra
nhiều thất vọng trong các dự án ứng dụng dựa trên web. May mắn là
React sử dụng virtual DOMs, vì vậy có thể tránh được vấn đề này.
 Công cụ cho phép xây dựng các virtual DOMs và host chúng trong bộ
nhớ. Nhờ vậy, mỗi khi có sự thay đổi trong DOM thực tế, thì virtual sẽ
thay đổi ngay lập tức.
 Hệ thống này sẽ ngăn DOM thực tế để buộc các bản cập nhật được liên
tục. Do đó, tốc độ của ứng dụng sẽ không bị gián đoạn.

-

Thân thiện với SEO:

15


 React cho phép tạo giao diện người dùng có thể được truy cập trên các
cơng cụ tìm kiếm khác nhau. Tính năng này là một lợi thế rất lớn vì
khơng phải tất cả các khung JavaScript đều thân thiện với SEO.

 Ngồi ra, vì React có thể tăng tốc q trình của ứng dụng nên có thể cải
thiện kết quả SEO. Cuối cùng tốc độ web đóng một vai trị quan trọng
trong tối ưu hóa SEO.

2.4.

ExpressJS
2.4.1 Giới thiệu

-

ExpressJS là một framework mã nguồn mở miễn phí cho Node.js. ExpressJS
được sử dụng trong thiết kế và xây dựng các ứng dụng web một cách đơn giản
và nhanh chóng.

-

Express hỗ rợ các phương thức HTTP và midleware tạo ra môt API vơ cùng
mạnh mẽ và dễ sử dụng.
2.4.2 Một số tính năng chính

-

Thiết lập các lớp trung gian để trả về HTTP request.

-

Định nghĩa router cho phép sử dụng các hành động khác nhau dựa trên phương
thức HTTP và URL.


-

Cho phép trả về các trang HTML dựa vào các tham số.
2.4.3 Tại sao nên sử dụng ExpressJS

-

Sự phổ biến của JavaScript:
 Javascript là một ngơn ngữ lập trình được sử dụng rộng rãi hiện nay, dễ
đọc và được hỗ trợ ở mọi nơi. Mà ExpressJS lại hỗ trợ Javascript, do đó
nếu bạn đã biết đến Javascript thì chắc chắn việc lập trình bằng
ExpressJS là vơ cùng đơn giản. Ngay cả những người mới bắt đầu tham
gia vào lĩnh vực phát triển web này cũng có thể sử dụng ExpressJS.
 Javascript là ngơn ngữ lập trình dễ học với cả những người khơng có bất
kỳ kiến thức gì về ngơn ngữ lập trình khác. Chính vì tính phổ biến, dễ
học và dễ sử dụng này mà ExpressJS cho phép các tài năng trẻ tham gia
và đạt được nhiều thành công trong phát triển ứng dụng web.

-

Hỗ trợ xây dựng web một cách nhanh chóng:

16


 ExpressJS có thể giúp làm giảm một nửa thời gian viết mã mà vẫn xây
dựng lên các ứng dụng web hiệu quả. Không chỉ trợ giúp về mặt thời
gian ExpressJS còn làm giảm những áp lực cần thiết để xây dựng với sự
trợ giúp của các tính năng khác nhau của nó. ExpressJS cịn cung cấp
một phần mềm trung gian đảm nhận nhiệm vụ đưa ra các quyết định để

phản hồi chính xác những yêu cầu của khách hàng.
 Nếu khơng có ExpressJS, các lập trình viên phải viết mã code riêng để
xây dựng nên thành phần định tuyến. Đó là một cơng việc vơ cùng tẻ
nhạt và tốn thời gian. ExpressJS đã giúp cho công việc này trở nên đơn
giản và hiệu quả hơn rất nhiều.
-

ExpressJS hoàn toàn miễn phí.

17


Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sơ đồ Use Case Tổng Quát

3.1.

Hình 3.1 Sơ đồ Use Case tổng quát

Danh sách các Actor

3.2.

Bảng 3.1 Danh sách các Actor
STT

Tên Actor

Ý Nghĩa / Ghi Chú


1

Khách Hàng

Truy cập để đặt vé

2

Quản Trị Viên

Sử dụng, truy cập, quản trị toàn bộ hệ thống

18


3.3.

Danh sách các Use Case
Bảng 3.2 Danh sách các Use Case
Tên Use Case

STT

Ý Nghĩa / Ghi Chú

1

Đăng nhập

Đăng nhập vào hệ thống


2

Đăng ký

Đăng ký người dùng vào hệ thống

3

Đăng xuất

Đăng xuất khỏi hệ thống

4

Thêm phim

Thêm một phim mới vào hệ thống

5

Sửa phim

Sửa phim có trong hệ thống

6

Xóa phim

Xóa phim có trong hệ thống


7

Thêm rạp

Thêm một rạp mới vào hệ thống

8

Sửa rạp

Sửa rạp có trong hệ thống

9

Xóa rạp

Xóa rạp có trong hệ thống

10

Thêm giờ chiếu

Thêm giờ chiếu mới vào hệ thống

11

Sửa giờ chiếu

Sửa giờ chiếu có trong hệ thống


12

Xóa giờ chiếu

Xóa giờ chiếu có trong hệ thống

13

Đặt vé

Khách hàng thêm vé mới vào hệ
thống

14

3.4.

Xem vé đã đặt

Người dùng xem vé đã đặt

Đặc tả Use Case
3.4.1 Đặc tả Use Case “Đăng nhập”
Bảng 3.3 Đặc tả Use Case “Đăng nhập”

Tên chức năng

Đăng nhập


Tóm tắt

Đăng nhập vào hệ thống

19


Tác nhân

Khách hàng/Quản trị viên

Dịng sự kiện chính

1. Người dùng nhấn vào “Đăng nhập”.
2. Hệ thống hiện thị trang đăng nhập.
3. Người dùng điền thông tin đăng nhập (tên đăng nhập, mật
khẩu).
4. Chọn đăng nhập.

Dòng sự kiện khác

1. Báo lỗi tên đăng nhập không hợp lệ

Trạng thái hệ thống Người dùng chưa đăng nhập
trước khi thực hiện use
case
Trạng thái hệ thống sau Đăng nhập thành công
khi thực hiện use case

3.4.2 Đặc tả Use Case “Đăng ký”

Bảng 3.4 Đặc tả Use Case “Đăng ký”
Tên chức năng

Đăng ký

Tóm tắt

Đăng ký người dùng mới vào hệ thống

Tác nhân

Khách hàng

Dịng sự kiện chính

1. Người dùng nhấn vào “Đăng ký”.
2. Hệ thống hiện thị trang đăng ký của người dùng.
3. Người dùng điền thông tin đăng ký tài khoản (tên đăng
nhập, mật khẩu, email).
4. Chọn đăng ký.

Dịng sự kiện khác

1. Báo lỗi thơng tin đăng ký không hợp lệ

Trạng thái hệ thống

20



trước khi thực hiện use
case
Trạng thái hệ thống sau

Đăng ký người dùng thành công

khi thực hiện use case

3.4.3 Đặc tả Use Case “Đăng xuất”
Bảng 3.5 Đặc tả Use Case “Đăng xuất”
Tên chức năng

Đăng xuất

Tóm tắt

Đăng xuất khỏi hệ thống

Tác nhân

Khách hàng/Quản trị viên đã đăng nhập

Dịng sự kiện chính

1. Người dùng nhấn vào “Đăng xuất”.
2. Hệ thống đăng xuất người dùng.
3. Quay trở lại trang trước đó với tình trạng chưa đăng nhập

Dịng sự kiện khác


Khơng có

Trạng thái hệ thống Khơng có
trước khi thực hiện use
case
Trạng thái hệ thống sau Khơng có
khi thực hiện use case

3.4.4 Đặc tả Use Case “Thêm phim”
Tên chức năng

Thêm phim

Tóm tắt

Thêm phim mới vào hệ thống

Tác nhân

Quản trị viên

Dịng sự kiện chính

1. Người dùng vào trang Quản lý Phim.

21


×