đồ án 2 xây dựng website quản lý rạp chiếu phim

99 3 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 2 xây dựng website quản lý rạp chiếu phim

Đ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

Các vấn đề: Các trang web trên đều cung cấp các tính năng quản lý rạp chiếu phim như lịch chiếu, đặt vé trực tuyến, thông tin phim và tin tức.. Mỗi trang web có thiết kế và tính năng khá

Trang 1

ĐỒ ÁN 2

XÂY DỰNG WEBSITE QUẢN LÝ RẠP CHIẾU PHIM

GV HƯỚNG DẪN: TS Đỗ Thị Thanh Tuyền SV THỰC HIỆN:

20520798 – Trần Huyền Anh Thy 20521455 – Phạm Thị Nhật Khánh ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, nhóm chúng em xin gửi đến các thầy cô Khoa Công Nghệ Phần Mềm trường Đại Học Công nghệ Thông tin lời chào trân trọng, lời chúc sức khỏe cũng như lời cảm ơn sâu sắc Thầy cô đã trang bị cho chúng em những kiến thức cơ bản nhất để hoàn thành đồ án

Đặc biệt, chúng em xin gửi lời cảm ơn chân thành nhất đến cô Đỗ Thị Thanh Tuyền, người đã cung cấp cho chúng em những kiến thức bổ ích, cũng như sự góp ý, giúp đỡ rất nhiệt tình để có thể thực hiện tốt đồ án này

Với kinh nghiệm còn hạn chế của nhóm, đồ án không thể tránh những thiếu sót Chúng em rất mong được sự chỉ bảo, nhận xét của thầy cô để có thể hoàn thiện hơn đồ án của mình

Thành phố Hồ Chí Minh, tháng 01 năm 2024 Nhóm sinh viên thực hiện

20520798 – Trần Huyền Anh Thy 20521455 – Phạm Thị Nhật Khánh

Trang 4

2.3 Quản lý phiên bản - Github: 11

2.4 Môi trường phát triển: 12

2.4.1 VSCode: 12

2.4.2 IntelliJ IDEA: 13

Chương 3 XÂY DỰNG HỆ THỐNG 15

3.1 Phân tích yêu cầu hệ thống: 15

3.1.1 Yêu cầu phi chức năng: 15

3.1.1.1 Yêu cầu giao diện: 15

3.1.1.2 Yêu cầu xử lý: 15

3.1.1.3 Yêu cầu chất lượng: 15

3.1.1.4 Yêu cầu bảo mật: 15

3.1.2 Yêu cầu chức năng: 16

3.1.2.1 Mô hình Use-case toàn hệ thống: 16

Trang 5

3.2.1.2 Sequence diagram chức năng Đăng ký: 39

3.2.1.3 Sequence diagram chức năng Đăng xuất: 40

3.2.1.4 Sequence diagram chức năng Quản lý hệ thống rạp: 41

3.2.1.5 Sequence diagram chức năng Thống kê: 42

3.2.1.6 Sequence diagram chức năng Quản lý bình luận: 43

3.2.1.7 Sequence diagram chức năng Quản lý phòng chiếu: 44

3.2.1.8 Sequence diagram chức năng Quản lý phim: 45

3.2.1.9 Sequence diagram chức năng Quản lý lịch chiếu: 46

3.2.1.10 Sequence diagram chức năng Quản lý vé: 47

3.2.1.11 Sequence diagram chức năng Xem thông tin cá nhân: 48

3.2.1.12 Sequence diagram chức năng Xem danh sách phim hiện tại: 49

3.2.1.13 Sequence diagram chức năng Tìm kiếm: 50

3.2.1.14 Sequence diagram chức năng Chi tiết phim: 51

3.2.1.15 Sequence diagram chức năng Đặt vé: 52

3.2.1.16 Sequence diagram chức năng Xem vé đã đặt: 53

3.2.1.17 Sequence diagram chức năng Xem danh sách phim đã xem: 54

3.2.1.18 Sequence diagram chức năng Bình luận: 55

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

3.2.2.1 Sơ đồ cơ sở dữ liệu: 56

3.2.2.2 Mô tả các bảng dữ liệu: 56

Trang 8

DANH MỤC HÌNH

Hình 2.1 Logo Github 12

Hình 2.2 Logo VSCode 13

Hình 2.3 Logo IntelliJ 14

Hình 3.1 Mô hình Use-case Overview 16

Hình 3.2 Sequence diagram Đăng nhập cho Admin 37

Hình 3.3 Sequence diagram Đăng nhập cho Khách hàng 38

Hình 3.4 Sequence diagram Đăng ký 39

Hình 3.5 Sequence diagram Đăng xuất 40

Hình 3.6 Sequence diagram Quản lý hệ thống rạp 41

Hình 3.7 Sequence diagram Thống kê 42

Hình 3.8 Sequence diagram Quản lý bình luận 43

Hình 3.9 Sequence diagram Quản lý phòng chiếu 44

Hình 3.10 Sequence diagram Quản lý phim 45

Hình 3.11 Sequence diagram Quản lý lịch chiếu 46

Hình 3.12 Sequence diagram Quản lý vé 47

Hình 3.13 Sequence diagram Xem thông tin cá nhân 48

Hình 3.14 Sequence diagram Xem danh sách phim hiện tại 49

Hình 3.15 Sequence diagram Tìm kiếm 50

Hình 3.16 Sequence diagram Chi tiết phim 51

Hình 3.17 Sequence diagram Đặt vé 52

Hình 3.18 Sequence diagram Xem vé đã đặt 53

Hình 3.19 Sequence diagram Xem danh sách phim đã xem 54

Hình 3.20 Sequence diagram Bình luận 55

Hình 3.21 Sơ đồ cơ sở dữ liệu 56

Hình 4.1 Giao diện Home 61

Hình 4.2 Giao diện Đăng ký 62

Hình 4.3 Giao diện Đăng nhập 63

Trang 9

Hình 4.5 Giao diện Home với phim khách hàng có thể thích 65

Hình 4.6 Giao diện Home với phim đang chiếu 66

Hình 4.7 Giao diện Home với phim sắp chiếu 66

Hình 4.8 Giao diện Thông tin chi tiết phim 67

Hình 4.9 Giao diện Đặt vé 68

Hình 4.10 Giao diện Phiếu xác nhận vé đặt 69

Hình 4.11 Giao diện Danh sách phim đã xem 69

Hình 4.12 Giao diện Viết bình luận cho phim đã xem 70

Hình 4.13 Giao diện Danh sách vé đã đặt 70

Hình 4.14 Giao diện Thông tin cá nhân của Khách hàng 71

Hình 4.15 Giao diện đổi mật khẩu 72

Hình 4.16 Giao diện dành cho Admin 73

Hình 4.17 Giao diện quản lý rạp phim 74

Hình 4.18 Giao diện Thêm phòng chiếu 74

Hình 4.19 Giao diện quản lý phòng chiếu với danh sách các rạp 75

Hình 4.20 Giao diện quản lý phòng chiếu với danh sách các phòng của một rạp 76

Hình 4.21 Giao diện Thêm phòng chiếu 76

Hình 4.22 Giao diện Quản lý phim 77

Hình 4.23 Kết quả tìm kiếm phim 78

Hình 4.24 Giao diện thêm phim 79

Hình 4.25 Giao diện Quản lý lịch chiếu 80

Hình 4.26 Giao diện Quản lý lịch chiếu 81

Hình 4.27 Giao diện thêm lịch chiếu 82

Hình 4.28 Giao diện quản lý bình luận 82

Trang 10

Bảng 3.8 Đặc tả Use-case Quản lý bình luận 23

Bảng 3.9 Đặc tả Use-case Quản lý phòng chiếu 24

Bảng 3.10 Đặc tả Use-case Quản lý phim 25

Bảng 3.11 Đặc tả Use-case Quản lý lịch chiếu 26

Bảng 3.12 Đặc tả Use-case Quản lý vé đã đặt 27

Bảng 3.13 Đặc tả Use-case Xem thông tin cá nhân 28

Bảng 3.14 Đặc tả Use-case Xem danh sách phim hiện tại 29

Bảng 3.15 Đặc tả Use-case Tìm kiếm 30

Bảng 3.16 Đặc tả Use-case Chi tiết phim 31

Bảng 3.17 Đặc tả Use-case Đặt vé 32

Bảng 3.18 Đặc tả Use-case Xem vé đã đặt 33

Bảng 3.19 Đặc tả Use-case Sử dụng điểm tích luỹ 34

Bảng 3.20 Đặc tả Use-case Xem danh sách phim đã xem 35

Bảng 3.21 Đặc tả Use-case Bình luận 36

Bảng 3.22 Mô tả bảng dữ liệu theater 56

Bảng 3.23 Mô tả bảng dữ liệu room 57

Bảng 3.24 Mô tả bảng dữ liệu seat 57

Bảng 3.25 Mô tả bảng dữ liệu showtimes 58

Bảng 3.26 Mô tả bảng dữ liệu booking 58

Bảng 3.27 Mô tả bảng dữ liệu movie 59

Trang 11

Bảng 3.29 Mô tả bảng dữ liệu user 60

Trang 12

dùng để họ có thể dễ dàng tìm kiếm thông tin và đặt vé xem phim - Cách giải quyết vấn đề:

o Xây dựng cơ sở dữ liệu: Thiết kế cấu trúc dữ liệu phù hợp để lưu trữ thông tin về lịch chiếu, phòng chiếu, vé xem phim và khách hàng o Phát triển giao diện người dùng: Xây dựng giao diện trực quan và dễ

sử dụng để người dùng có thể dễ dàng tìm kiếm thông tin, đặt vé - Một số kết quả đạt được:

o Hiệu chỉnh các chức năng chưa được hoàn thiện từ Đồ án 1 và bổ sung các chức năng mới cho Đồ án 2

- Ở báo cáo này, nhóm chúng em chia thành 5 chương như sau: o Chương 1: Tổng quan

Nội dung của chương: Nêu lý do chọn đề tài, đối tượng sử dụng, phạm vi nghiên cứu, khảo sát các sản phẩm trong và ngoài nước

o Chương 2: Cơ sở lý thuyết

Nội dung của chương: Nói về kiến thức nền tảng và công nghệ sử dụng o Chương 3: Xây dựng hệ thống

Nội dung chương: Phân tích các yêu cầu về chức năng và thiết kế hệ thống

Trang 13

Chính vì lý do đó mà số lượng khách hàng đi xem phim cũng ít hơn, thu nhập của rạp cũng bị ảnh hưởng

Vì vậy, tạo ra một phần mềm quản lý rạp chiếu phim là một nhu cầu tất yếu

- Triển khai trên môi trường Web

1.4.2 Phạm vi chức năng:

Trang 14

- Được phát triển trong Đồ án 2: o Quản lý hệ thống rạp phim o Quản lý giảm giá

o Danh mục phim yêu thích o Ghi nhận tích điểm

1.4.3.2 Cinemark:

Cinemark (www.cinemark.com) là một chuỗi rạp chiếu phim tại Hoa Kỳ và một số quốc gia khác Trang web của Cinemark cung cấp thông tin về lịch chiếu, giá vé, đặt chỗ và các chương trình khuyến mãi

1.4.3.3 Cineplex:

Cineplex (www.cineplex.com) là một trong những chuỗi rạp chiếu phim hàng đầu ở Canada Trang web của Cineplex cung cấp thông tin về lịch chiếu, đặt vé trực tuyến, tin tức và chương trình khuyến mãi

1.4.4 Nghiên cứu các sản phẩm trong nước:

1.4.4.1 CGV:

CGV (www.cgv.vn) là một trong những chuỗi rạp chiếu phim lớn và phổ biến tại Việt Nam Trang web của CGV cung cấp thông tin về lịch chiếu, đặt vé trực tuyến, giá vé, tin tức phim và chương trình khuyến mãi

Trang 15

1.4.4.2 Lotte Cinema:

Lotte Cinema (www.lottecinemavn.com) Lotte Cinema là một chuỗi rạp chiếu phim nổi tiếng tại Việt Nam Trang web của Lotte Cinema cung cấp thông tin về lịch chiếu, đặt vé trực tuyến, giá vé và các sự kiện đặc biệt

1.4.4.3 BHD Star Cineplex:

BHD Star Cineplex (www.bhdstar.vn) BHD Star Cineplex là một chuỗi rạp chiếu phim hàng đầu tại Việt Nam Trang web của BHD Star Cineplex cung cấp thông tin về lịch chiếu, đặt vé trực tuyến, giá vé và tin tức phim

1.4.5 Các vấn đề:

Các trang web trên đều cung cấp các tính năng quản lý rạp chiếu phim như lịch chiếu, đặt vé trực tuyến, thông tin phim và tin tức Mỗi trang web có thiết kế và tính năng khác nhau để phục vụ khách hàng và quản lý hoạt động của rạp chiếu phim một cách tốt nhất

Các vấn đề cần tập trung nghiên cứu giải quyết:

- Quản lý thông tin phim: Một vấn đề quan trọng trong việc quản lý rạp chiếu phim là lưu trữ và quản lý thông tin về các bộ phim, bao gồm tên phim, thể loại, đạo diễn, diễn viên, đánh giá, thời lượng, năm sản xuất, và mô tả

- Quản lý lịch chiếu: Một vấn đề quan trọng khác là quản lý lịch chiếu phim, bao gồm thông tin về giờ chiếu, phòng chiếu

- Quản lý vé và thanh toán: Vấn đề quản lý bán vé và thanh toán là một yếu tố quan trọng trong một website quản lý rạp chiếu phim

Trang 16

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

2.1 Kiến thức nền tảng:

2.1.1 Ngôn ngữ HTML (HyperText Markup Language):

HTML là ngôn ngữ đánh dấu siêu văn bản sử dụng để tạo nên các trang web Nó được sử dụng để mô tả cấu trúc và nội dung của một trang web thông qua việc sử dụng các thẻ (tags) và các phần tử

HTML cho phép định nghĩa cấu trúc của một trang web bằng cách sử dụng các thẻ Mỗi thẻ được đặt trong cặp dấu ngoặc nhọn ("<" và ">") và có thể chứa các thuộc tính để xác định các đặc điểm và hành vi của phần tử Ví dụ, thẻ <h1> được sử dụng để định nghĩa một tiêu đề cấp 1, thẻ <p> được sử dụng để định nghĩa một đoạn văn bản, và thẻ <img> được sử dụng để hiển thị hình ảnh [1]

HTML hỗ trợ nhiều loại phần tử như tiêu đề, đoạn văn bản, danh sách, bảng, hình ảnh, liên kết, biểu đồ, video và âm thanh, và nhiều hơn nữa Các phần tử này có thể được lồng vào nhau để tạo nên cấu trúc phức tạp và đa dạng của một trang web Ngoài ra, HTML cũng hỗ trợ sử dụng CSS (Cascading Style Sheets) để định dạng và tạo kiểu cho các phần tử trong trang web, giúp điều chỉnh màu sắc, kích thước, vị trí, căn chỉnh và các hiệu ứng trực quan khác

HTML là một ngôn ngữ cơ bản và quan trọng trong việc phát triển và xây dựng các trang web Nó cung cấp khả năng mô tả cấu trúc và nội dung của một trang web một cách dễ hiểu và linh hoạt Khi được kết hợp với CSS và JavaScript, HTML giúp tạo ra các trang web đa dạng, hấp dẫn và tương tác

Trang 17

2.1.2 Ngôn ngữ CSS (Cascading Style Sheets):

CSS là một ngôn ngữ được sử dụng để định dạng và trình bày các trang web Nó giúp điều chỉnh màu sắc, kích thước, vị trí và hiệu ứng của các phần tử trên trang web, từ văn bản, hình ảnh, đến bố cục và các phần tử giao diện

được kế thừa từ các phần tử cha

- Responsive design: cho phép tạo ra các trang web linh hoạt và tương thích với các thiết bị và màn hình khác nhau

- Thư viện và framework: Có nhiều thư viện và framework CSS phổ biến như Bootstrap, Foundation, Materialize CSS, …

2.1.3 Ngôn ngữ lập trình Java:

Java là một ngôn ngữ lập trình phổ biến và một nền tảng phát triển phần mềm mạnh mẽ Nó được phát triển bởi Sun Microsystems (nay là Oracle Corporation) và ra mắt lần đầu vào năm 1995 Java được thiết kế để có tính di động và đa nền tảng, cho phép viết một lần và chạy ở nhiều môi trường khác nhau

Java sử dụng cú pháp tương đối dễ hiểu và có cấu trúc, đồng thời hỗ trợ tính năng hướng đối tượng Ngôn ngữ này giúp các nhà phát triển xây dựng các ứng dụng

Trang 18

động cao và khả năng chạy trên nhiều hệ điều hành khác nhau mà không cần viết lại mã nguồn [1]

Một số đặc điểm nổi bật của Java bao gồm quản lý bộ nhớ tự động (garbage collection), bảo mật cao, kiểm soát ngoại lệ (exception handling), luồng (thread) và xử lý đồng thời, cộng đồng lớn và nhiều thư viện phong phú Java cũng hỗ trợ phát triển ứng dụng web thông qua các công nghệ như Servlet, JSP và Framework Spring Java có ứng dụng rộng rãi trong các lĩnh vực như phát triển ứng dụng di động (Android), phát triển ứng dụng máy tính cá nhân, phát triển ứng dụng server, phát triển ứng dụng web, trí tuệ nhân tạo, big data, game và nhiều lĩnh vực công nghệ khác

2.1.4 Ngôn ngữ JavaScript:

JavaScript là một ngôn ngữ lập trình phía máy khách (client-side) được sử dụng để tương tác và thay đổi nội dung của trang web Nó cho phép bạn thêm các hiệu ứng động, xử lý sự kiện, kiểm tra và thay đổi dữ liệu, và tạo ra các trải nghiệm tương tác trên trình duyệt web

Dưới đây là một số điểm nổi bật về JavaScript:

- Tương tác người dùng: cho phép tương tác với người dùng thông qua xử lý sự kiện như nhấp chuột, di chuột, gõ phím và gửi biểu mẫu

- Điều khiển DOM: cho phép thay đổi nội dung và cấu trúc của trang web bằng cách truy cập và thay đổi các phần tử trong DOM (Document Object Model) - Xử lý dữ liệu: thực hiện các phép tính, kiểm tra và xử lý chuỗi, mảng, đối

tượng, và thực hiện các hoạt động logic phức tạp

- Giao tiếp với máy chủ: JavaScript cung cấp các API và phương thức để giao tiếp với máy chủ

- Thư viện và framework: có nhiều thư viện và framework JavaScript phổ biến như jQuery, React, Angular, Vue.js, …

Trang 19

2.1.5 Ngôn ngữ SQL (Structured Query Language):

SQL là ngôn ngữ truy vấn cấu trúc được sử dụng để quản lý và tương tác với cơ sở dữ liệu quan hệ Nó là một ngôn ngữ tiêu chuẩn được sử dụng rộng rãi trong lĩnh vực quản lý cơ sở dữ liệu

Dưới đây là một số điểm nổi bật về SQL:

- Truy vấn dữ liệu: cho phép truy vấn và lấy dữ liệu từ cơ sở dữ liệu bằng cách sử dụng các câu lệnh SELECT, FROM, WHERE, GROUP BY, HAVING và ORDER BY

- Thao tác dữ liệu: SQL cung cấp các câu lệnh để thao tác dữ liệu trong cơ sở dữ liệu: chèn (INSERT), cập nhật (UPDATE) và xóa (DELETE)

- Quản lý cơ sở dữ liệu: SQL cung cấp các câu lệnh để tạo, sửa đổi và xóa cơ sở dữ liệu, bảng, khóa ngoại, chỉ mục và ràng buộc

- Liên kết dữ liệu: SQL cho phép liên kết dữ liệu từ nhiều bảng thông qua các khóa ngoại bằng cách sử dụng các câu lệnh JOIN, bạn có thể kết hợp dữ liệu từ các bảng khác nhau trong cùng một truy vấn

- Tạo, sửa đổi và truy vấn cơ sở dữ liệu: SQL cung cấp các câu lệnh để tạo, sửa đổi và truy vấn cơ sở dữ liệu

2.2 Công nghệ sử dụng: 2.2.1 Spring boot:

Spring Boot là một framework phát triển ứng dụng Java dựa trên nền tảng Spring Framework Nó được thiết kế để giúp lập trình viên xây dựng ứng dụng web và dịch vụ nhanh chóng, dễ dàng và tiết kiệm thời gian

Trang 20

- Microservices-friendly: Spring Boot hỗ trợ phát triển các ứng dụng dạng microservices

- Tự động cấu hình và quản lý phụ thuộc: Spring Boot sử dụng các thư viện tự động cấu hình để quét và xác định các phụ thuộc của ứng dụng

- Tích hợp dễ dàng: Spring Boot tích hợp tốt với các công nghệ và framework phổ biến khác như Spring Data, Spring Security, Thymeleaf, Hibernate, và nhiều thư viện khác

- Tính linh hoạt và mở rộng: Spring Boot hỗ trợ việc tạo các thành phần tùy chỉnh và kết hợp với các công nghệ khác để xây dựng ứng dụng đáp ứng các yêu cầu đặc biệt

2.2.2 Spring MVC:

Spring MVC là một trong các module của Spring Framework, nó cung cấp một mô hình phát triển ứng dụng web theo kiến trúc MVC (Model-View-Controller) Đây là một trong những framework phổ biến để phát triển ứng dụng web Java Một số điểm nổi bật về Spring MVC:

- Mô hình MVC: sử dụng mô hình MVC để tách biệt các phần khác nhau của ứng dụng web như xử lý logic (Controller), hiển thị giao diện (View) và quản lý dữ liệu (Model) Điều này giúp tăng tính tái sử dụng, bảo trì và phát triển linh hoạt của ứng dụng

- DispatcherServlet: nhận các yêu cầu từ người dùng, xác định Controller phù hợp để xử lý yêu cầu và chuyển tiếp dữ liệu giữa Controller và View

- Cấu hình linh hoạt: cấu hình ứng dụng thông qua các tệp cấu hình XML, Annotation hoặc Java Configuration

Trang 21

2.2.3 Thymeleaf:

Thymeleaf là một template engine phổ biến trong phát triển ứng dụng web Java Nó được sử dụng để tạo ra các giao diện người dùng (UI) động và tương tác với dữ liệu

Một số điểm nổi bật về Thymeleaf: - Cú pháp thân thiện với người dùng - Hỗ trợ đa ngôn ngữ

- Tích hợp tốt với Spring: Thymeleaf có tích hợp tốt với Spring Framework và được khuyến nghị sử dụng cùng với Spring MVC Nó hỗ trợ các tính năng như binding dữ liệu, xử lý sự kiện, và hỗ trợ dữ liệu động trong giao diện người dùng

- Tích hợp dễ dàng: Thymeleaf có thể tích hợp với các công nghệ và framework khác như Spring Boot, Java EE, và các framework phát triển web khác

2.2.4 Bootstrap 5:

Bootstrap 5 là một framework phát triển web phổ biến, được sử dụng để xây dựng giao diện người dùng (UI) linh hoạt và đáp ứng trên nhiều thiết bị khác nhau

Dưới đây là một số điểm nổi bật về Bootstrap 5:

- Thiết kế đáp ứng: Bootstrap 5 hỗ trợ thiết kế đáp ứng, tức là giao diện sẽ tự động điều chỉnh và thích nghi với các kích thước màn hình khác nhau, bao gồm cả điện thoại di động, máy tính bảng và máy tính để bàn Điều này giúp tạo ra trải nghiệm người dùng tốt trên mọi thiết bị

- Cú pháp dễ sử dụng: Bootstrap 5 sử dụng cú pháp dễ hiểu và gần gũi với

Trang 22

- Hỗ trợ tùy chỉnh: Bootstrap 5 cho phép tùy chỉnh và điều chỉnh giao diện của mình theo nhu cầu, có thể tùy chỉnh các giá trị màu sắc, font chữ, kích thước và các thuộc tính khác để phù hợp với thiết kế

- Tích hợp với các công nghệ khác: Bootstrap 5 có thể tích hợp dễ dàng với các công nghệ và framework khác như JavaScript, jQuery, Angular, và React Điều này giúp bạn tận dụng các tính năng mạnh mẽ của Bootstrap trong dự án của mình

2.3 Quản lý phiên bản - Github:

GitHub là một dịch vụ lưu trữ và quản lý mã nguồn phổ biến trên internet Nó cung cấp một nền tảng cho các nhà phát triển phần mềm để chia sẻ, quản lý và làm việc chung trên dự án phần mềm

Dưới đây là một số thông tin cơ bản về GitHub:

- Hệ thống kiểm soát phiên bản: GitHub sử dụng hệ thống kiểm soát phiên bản Git để quản lý mã nguồn Git cho phép các nhà phát triển lưu trữ, theo dõi và quản lý lịch sử thay đổi của mã nguồn

- Lưu trữ mã nguồn: GitHub cung cấp khả năng lưu trữ mã nguồn cho các dự án phần mềm Người dùng có thể tạo ra các kho lưu trữ (repositories) để lưu trữ mã nguồn của dự án và chia sẻ nó với cộng đồng

- Quản lý dự án: GitHub cung cấp các công cụ và tính năng quản lý dự án, bao gồm theo dõi vấn đề (issue tracking), quản lý nhiệm vụ (task management) và phân công công việc (assigning tasks)

- Hợp tác và làm việc nhóm: GitHub cho phép nhiều người cùng làm việc trên cùng một dự án phần mềm Người dùng có thể tạo và quản lý nhánh (branches) để làm việc độc lập và sau đó hợp nhất (merge) các thay đổi vào nhánh chính - Kiểm tra và xem lại mã nguồn: GitHub cung cấp các tính năng kiểm tra mã (code review) để cho phép nhà phát triển xem xét, đánh giá và đề xuất thay đổi cho mã nguồn

Trang 23

- Cộng đồng và tích hợp: GitHub là nền tảng rộng lớn với cộng đồng người dùng đông đảo Nó cung cấp tích hợp với các dịch vụ khác như CI/CD (Continuous Integration/Continuous Deployment) và các công cụ phát triển phần mềm khác

Hình 2.1 Logo Github (Nguồn github.com)

2.4 Môi trường phát triển: 2.4.1 VSCode:

VSCode (Visual Studio Code) là một trình biên tập mã nguồn mở, nhẹ nhàng và mạnh mẽ được phát triển bởi Microsoft Đây là một công cụ phát triển tích hợp (IDE) đa nền tảng được sử dụng rộng rãi trong cộng đồng phát triển phần mềm

Một số đặc điểm chính của VSCode:

- Hỗ trợ nhiều ngôn ngữ lập trình: VSCode hỗ trợ nhiều ngôn ngữ lập trình như JavaScript, TypeScript, Python, C++, Java, HTML, CSS và nhiều ngôn ngữ

Trang 24

- Tích hợp hỗ trợ Git

- Đa nền tảng: VSCode có thể chạy trên các hệ điều hành phổ biến như Windows, macOS và Linux

Hình 2.2 Logo VSCode (Nguồn code.visualstudio.com)

2.4.2 IntelliJ IDEA:

IntelliJ IDEA là một môi trường phát triển tích hợp (IDE) thông minh cho ngôn ngữ lập trình Java Nó được phát triển bởi JetBrains và được coi là một trong những IDE phổ biến nhất cho phát triển ứng dụng Java

Một số đặc điểm chính của IntelliJ IDEA:

- Hỗ trợ đa ngôn ngữ: IntelliJ IDEA không chỉ hỗ trợ phát triển Java mà còn hỗ trợ nhiều ngôn ngữ lập trình khác như Kotlin, Scala, Groovy, JavaScript, HTML, CSS và nhiều ngôn ngữ khác

- Đa nền tảng: IntelliJ IDEA có sẵn cho các nền tảng khác nhau như Windows, macOS và Linux, đảm bảo tính tương thích và linh hoạt trong việc phát triển trên các hệ điều hành khác nhau

- Công cụ thông minh: IntelliJ IDEA cung cấp nhiều công cụ thông minh để tăng năng suất lập trình viên: tính năng tự động hoàn thành mã, kiểm tra lỗi cú pháp, định dạng mã tự động, tạo đề xuất mã, tìm kiếm thông minh, …

Trang 25

- Hỗ trợ quản lý dự án mạnh mẽ: IntelliJ IDEA cung cấp các công cụ quản lý dự án mạnh mẽ như quản lý phiên bản, tích hợp hệ thống kiểm tra mã nguồn, hỗ trợ quản lý phụ thuộc và tích hợp công cụ xây dựng (build tools) như Maven và Gradle

Hình 2.3 Logo IntelliJ (Nguồn jetbrains.com)

Trang 26

Chương 3 XÂY DỰNG HỆ THỐNG

3.1 Phân tích yêu cầu hệ thống: 3.1.1 Yêu cầu phi chức năng:

3.1.1.1 Yêu cầu giao diện:

- Giao diện đơn giản, màu sắc đồng nhất - Đa dạng phim

3.1.1.2 Yêu cầu xử lý:

- Sử dụng đơn giản

- Thao tác đặt vé đơn giản

3.1.1.3 Yêu cầu chất lượng:

- Hạn chế độ trễ khi thao tác các chức năng - Ảnh Poster của phim phải chất lượng cao

3.1.1.4 Yêu cầu bảo mật:

- Các thông tin người dùng phải được bảo mật và đảm bảo chỉ có họ mới có quyền truy cập

- Các vai trò cụ thể sẽ được truy cập vào các tài nguyên tương ứng

Trang 27

3.1.2 Yêu cầu chức năng:

3.1.2.1 Mô hình Use-case toàn hệ thống:

Hình 3.1 Mô hình Use-case Overview

Trang 28

3.1.2.3 Mô tả Use-case:

Bảng 3.2 Mô tả Use-case

1 UC01 Đăng nhập Actors đăng nhập bằng tài khoản của mình

2 UC02 Đăng ký Actors đăng ký tài khoản mới 3 UC03 Đăng xuất Actors đăng xuất khỏi hệ thống

4 UC04 Quản lý hệ thống rạp Cho phép Admin quản lý các rạp của hệ thống

5 UC05 Thống kê Cho phép Admin xem thống kê

6 UC06 Quản lý bình luận Cho phép Admin quản lý mình luận của khách hàng

7 UC07 Quản lý phòng chiếu Cho phép Admin quản lý các phòng chiếu phim

8 UC08 Quản lý phim Cho phép Admin quản lý các bộ phim 9 UC09 Quản lý lịch chiếu Cho phép Admin quản lý các lịch chiếu 10 UC10 Quản lý vé Cho phép Admin quản lý các vé xem

phim đã được đặt 11 UC11 Xem thông tin cá

Trang 30

Use-case Đăng ký – UC02:

Trang 31

Use-case Đăng xuất – UC03:

Bảng 3.5 Đặc tả Use-case Đăng xuất

Short Description Actors đăng xuất khỏi hệ thống

Basic Flow 1 Chọn “Đăng xuất” trên native bar

Alternative Flow Không

Trang 32

Use-case Quản lý hệ thống rạp – UC04:

- Chọn “Xóa”: Xóa rạp chiếu khỏi cơ sở dữ liệu

Alternative Flow Không

Trang 33

Use-case Thống kê – UC05:

3 Chọn “Thống kê” của rạp muốn xem thống kê

Alternative Flow Không.

Special Requirement

Trang 34

Use-case Quản lý bình luận – UC06:

Bảng 3.8 Đặc tả Use-case Quản lý bình luận

Short Description Admin quản lý bình luận

Alternative Flow Không.Special

Trang 35

Use-case Quản lý phòng chiếu – UC07:

Bảng 3.9 Đặc tả Use-case Quản lý phòng chiếu

Short Description Admin quản lý phòng chiếu

- Chọn “Xóa”: Xóa phòng chiếu khỏi cơ sở dữ liệu

Alternative Flow Không

Trang 36

Use-case Quản lý phim – UC08:

Bảng 3.10 Đặc tả Use-case Quản lý phim

Short Description Admin quản lý phim

- Chọn “Xóa”: Xóa phim khỏi cơ sở dữ liệu

Alternative Flow Không

Trang 37

Use-case Quản lý lịch chiếu – UC09:

Bảng 3.11 Đặc tả Use-case Quản lý lịch chiếu

Short Description Admin quản lý lịch chiếu phim

- Chọn “Xóa”: Xóa lịch chiếu khỏi cơ sở dữ liệu

Alternative Flow Không

Special

Requirement Không

Pre-Condition

- Kết nối mạng

- Đăng nhập bằng tài khoản Admin

- Phải có ít nhất một phòng chiếu và một bộ phim để thêm lịch chiếu

Không

Trang 38

Use-case Quản lý vé – UC10:

- Chọn “Xác nhận”: Chấp nhận vé đặt của khách hàng

- Chọn “Từ chối”: Từ chối vé đặt của khách hàng

Alternative Flow Không

Special

Requirement Không

Pre-Condition

- Kết nối mạng

- Đăng nhập bằng tài khoản Admin

- Phải có ít nhất một yêu cầu đặt vé của Khách hàng

Post-Condition Không

Extension Points Không

Trang 39

Use-case Xem thông tin cá nhân – UC11:

Bảng 3.13 Đặc tả Use-case Xem thông tin cá nhân

Name Xem thông tin cá nhân

Short Description Actors xem thông tin cá nhân

Trang 40

Use-case Xem danh sách phim hiện tại – UC12:

Bảng 3.14 Đặc tả Use-case Xem danh sách phim hiện tại

Name Xem danh sách phim hiện tại

Short Description Khánh hàng xem danh sách phim đang chiếu tại rạp

Alternative Flow Không

Special

Requirement Không

Pre-Condition

- Kết nối mạng - Đăng nhập

- Phải có ít nhất một bộ phim trong cơ sở dữ liệu

Post-Condition Không

Extension Points Không

Ngày đăng: 15/05/2024, 09:26

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan