- Nhu cầu giải trí: Xem phim online là một hình thức giải trí phổ biến, đặc biệt trong bối cảnh dịch bệnh khi mọi người cần tìm kiếm các hình thức giải trí tại nhà.- Kỹ năng lập trình we
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Trang 2MỤC LỤC
MỞ ĐẦU 5
Chương 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu chung về đề tài 7
1.2 Giới thiệu dự án phần mềm 8
1.3 Công cụ, kỹ thuật và phương pháp phát triển phần mềm 12
1.3.1 Mô hình quy trình ứng dụng để phát triển dự án phần mềm 12
1.3.2 Công cụ, kỹ thuật và phương pháp 13
Chương 2 Các yêu cầu về chức năng 17
2.1 Khảo sát hệ thống 17
2.1.1 Các yêu cầu chức năng 17
2.1.2 Các yêu cầu lưu trữ dữ liệu 18
2.2 Biểu đồ use case 20
2.2.1 Các use case chính 21
2.2.2 Các use case thứ cấp 22
2.2.3 Phân rã một số use case 22
2.3 Mô tả chi tiết các use case 24
2.3.1 Mô tả use case Xem danh sách phim đang chiếu 24
2.3.2 Mô tả use case Bảo trì phim 25
2.3.3 Mô tả use case Đăng ký 27
2.3.4 Mô tả use case Quản lý tài khoản 28
2.3.5 Mô tả use case Xem thông tin rạp 30
Chương 3 Phân tích use case 33
3.1 Biểu đồ các lớp Entity của hệ thống 33
Thực Tập Chuyên Ngành
Trang 33.2 Phân tích các use case 33
3.2.1 Phân tích use case Xem danh sách phim đang chiếu 33
3.2.2 Phân tích use case Bảo trì phim 34
3.2.3 Phân tích use case Đăng ký 37
3.2.4 Phân tích use case Quản lý tài khoản 39
3.2.5 Phân tích use case Xem thông tin rạp 41
3.3 Biểu đồ các lớp phân tích 43
3.3.1 Nhóm use case chính 43
3.3.2 Nhóm use case thứ cấp 43
Chương 4 Thiết kế giao diện 44
4.1 Giao diện use case Xem danh sách phim đang chiếu 44
4.1.1 Hình dung màn hình 44
4.1.2 Biểu đồ lớp màn hình 44
4.1.3 Biểu đồ cộng tác của các màn hình 44
4.2 Giao diện use case Bảo trì phim 45
4.2.1 Hình dung màn hình 45
4.2.2 Biểu đồ lớp màn hình 46
4.2.3 Biểu đồ cộng tác của các màn hình 47
4.3 Giao diện use case Đăng ký 48
4.3.1 Hình dung màn hình 48
4.3.2 Biểu đồ lớp màn hình 49
4.3.3 Biểu đồ cộng tác của các màn hình 49
4.4 Giao diện use case Quản lý tài khoản 50
4.4.1 Hình dung màn hình 50
Thực Tập Chuyên Ngành
Trang 44.4.2 Biểu đồ lớp màn hình 50
4.4.3 Biểu đồ cộng tác của các màn hình 51
4.5 Giao diện use case Xem thông tin rạp 52
4.5.1 Hình dung màn hình 52
4.5.2 Biểu đồ lớp màn hình 53
4.5.3 Biểu đồ cộng tác của các màn hình 53
4.6 Biểu đồ điều hướng giữa các màn hình 54
4.6.1 Nhóm use case chính 54
4.6.2 Nhóm use case thứ cấp 54
MỞ ĐẦU
1 Lý do chọn chủ đề/đề tài
Thực Tập Chuyên Ngành
Trang 5- Nhu cầu giải trí: Xem phim online là một hình thức giải trí phổ biến, đặc biệt trong bối cảnh dịch bệnh khi mọi người cần tìm kiếm các hình thức giải trí tại nhà.
- Kỹ năng lập trình web: Đây là một cơ hội tuyệt vời để học hỏi
và thực hành các kỹ năng lập trình web, bao gồm front-end (HTML, CSS, JavaScript) và back-end (PHP, MySQL)
- Hiểu biết về quản lý dữ liệu: Việc xây dựng một website xem phim online đòi hỏi sự hiểu biết về cách quản lý và tổ chức dữ liệu lớn, bao gồm thông tin về phim, người dùng, và lượt xem
- Kinh nghiệm với UX/UI: Đây cũng là cơ hội để nắm bắt các nguyên tắc thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX), để tạo ra một trang web dễ sử dụng và thu hút người dùng
2 Mục tiêu nghiên cứu
- Hiểu rõ nhu cầu của người dùng: Đánh giá và phân tích nhu cầuxem phim online của người dùng để tạo ra một trang web phù hợp và thu hút người dùng
- Phát triển kỹ năng lập trình web: Nâng cao kỹ năng lập trình web thông qua việc xây dựng và phát triển trang web từ cơ bản đến nâng cao
- Nắm vững quản lý dữ liệu: Hiểu rõ cách tổ chức, quản lý và sử dụng dữ liệu lớn trong việc xây dựng website xem phim online
- Thiết kế UX/UI tốt: Tạo ra một trang web có giao diện thân thiện, dễ sử dụng và thu hút người dùng
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Quy trình phát triển phần mềm Agile, Ngôn ngữNodeJs, Công cụ IDE Visual Studio Code, MongoDB
4 Kết quả mong muốn đạt được của đề tài
- Xây dựng được website đơn giản thân thiện với người dùng nhưng có đầy đủ các chức năng cần có để đáp ứng nhu cầu người dùng trong quản lý chi tiêu
Thực Tập Chuyên Ngành
Trang 6- Nắm rõ được kiến thức cơ bản về NodeJs, MongoDB, sử dụng thành thạo công cụ IDE Visual Studio Code
- Website hoạt động ổn định: Một website xem phim online hoạt động mượt mà, ổn định, không gặp lỗi trong quá trình người dùng truy cập và sử dụng
- Giao diện thân thiện, dễ sử dụng: Giao diện của website được thiết kế một cách khoa học, thân thiện với người dùng, giúp người dùng
dễ dàng tìm kiếm, lựa chọn và xem phim
- Có khả năng mở rộng và phát triển: Website có khả năng mở
rộng về cả cơ sở dữ liệu phim lẫn các tính năng, đáp ứng được nhu cầu ngày càng cao của người dùng
5 Cấu trúc của báo cáo
Ngoài phần Mở đầu và Kết luận, nội dung quyển báo cáo thực tập chuyên ngành còn bao gồm 3 chương:
Chương 1: Giới thiệu về dự án
Chương 2: Các Yêu Cầu Về Chức Năng
Chương 3: Phân Tích Use Case
Chương 4: Thiết kế Giao Diện
Thực Tập Chuyên Ngành
Trang 7Chương 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu chung về đề tài
Đề tài "Xây dựng và phát triển website xem phim online" là một trong những đề tài thu hút sự quan tâm của nhiều nhà phát triển web và các cá nhân
có niềm đam mê về công nghệ và giải trí trực tuyến Trong thời đại số hiện nay, việc xem phim trực tuyến đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày của đa số người dùng internet Do đó, việc xây dựng một trang web cung cấp dịch vụ xem phim trực tuyến là một cơ hội tiềm năng
để kinh doanh và cung cấp giải trí cho người dùng
Về đề tài này chúng tôi lựa chọn phát triển theo mô hình Agile vì vậy các công việc được diễn ra một cách thường xuyên và liên tục Mỗi thành viên đều cần phải nắm rõ quy trình phát triển trong mô hình Agile và cần phải
có đầy đủ các kiến thức chuyên môn về xây dựng một website Và nội dung cần thực hiện được diễn ra như sau:
Phân tích yêu cầu và thu thập dữ liệu
Tương tác với các sinh viên và giảng viên để hiểu rõ mục tiêu vàyêu cầu của hệ thống
Xác định các chức năng cần thiết và sắp xếp ưu tiên cho các yêucầu
Đưa ra một bản UC mô tả chi tiết các chức năng của hệ thốngThiết kế giao diện
Mô tả sơ đồ trang web và xác định các các cấu trúc frontEnd củatrang web
Xây dựng frontEnd cho trang web
Phát triển và quản lý cơ sở dữ liệu
Thiết kế cơ sở dữ liệu dựa trên yêu cầu của mô hình dữ liệu
Tạo sơ đồ thực thể liên kế và thể hiện các mối quan hệ giữa cácbảng trong sơ đồ
Thực Tập Chuyên Ngành
Trang 8Lập trình và tích hợp chức năng
Sử dụng Bootstrap và Thymeleaf cho phía frontEnd và Spring bootcho phía backEnd
Lập trình các chức năng dựa trên mô tả UC cho trang web
Kiểm thử và sửa lỗi
Thực hiện kiểm thử các chức năng để đảm bảo rằng cách chức nănghoạt động đúng và mượt mà
Kiểm tra tương thích trên các thiết bị khác nhau
Website xem phim online này tập trung chủ yếu vào việc cung cấp giải trí trực tuyến cho người dùng Với một giao diện thân thiện và tiện ích, nó chophép người dùng đăng nhập với các quyền hạn khác nhau Người dùng có thể truy cập vào một bộ sưu tập phong phú của các bộ phim từ nhiều thể loại khácnhau, tham gia vào các bình luận, đánh giá phim, và chia sẻ ý kiến với cộng đồng Đồng thời, website cũng cung cấp các tính năng tùy chỉnh cho người quản trị như quản lý nội dung phim, quản lý người dùng, và theo dõi hoạt động trên trang web Nhờ vào việc tập trung vào việc cung cấp nội dung giải trí trực tuyến và tạo ra một môi trường tương tác cho người dùng, website nàyđóng vai trò quan trọng trong việc mang lại trải nghiệm giải trí tốt nhất cho người dùng trên internet
1.2 Giới thiệu dự án phần mềm
Dự án phần mềm xây dựng website xem phim nhằm đáp ứng các yêu cầu cơ bản như cung cấp một nền tảng giải trí trực tuyến cho người xem Trang web sẽ cho phép người dùng đăng nhập để truy cập vào một bộ sưu tập phim đa dạng từ nhiều thể loại khác nhau Ngoài ra, trang web cũng sẽ cung cấp thông tin về các sự kiện và tin tức mới nhất về ngành điện ảnh và truyền hình, như các buổi hội thảo, triển lãm phim, hay thông tin về các bộ phim mới
ra mắt.Mục tiêu của dự án là tạo ra một giao diện dễ sử dụng và thân thiện vớingười dùng, giúp đơn giản hóa quá trình tìm kiếm và xem phim trực tuyến
Thực Tập Chuyên Ngành
Trang 9Nhờ vào việc tập trung vào việc cung cấp giải trí trực tuyến chất lượng và mộtmôi trường xem phim chất lượng.
Phạm vi: Website xem phim online được triển khai dưới dạng một ứng dụng web Cho phép người sử dụng truy cập từ bất cứ thiết bị nào có internet Đối tượng sử dụng: Hệ thống sẽ phục vụ chính cho người yêu phim, sinh viên,… Người xem phim có thể tìm kiếm và thưởng thức bộ sưu tập phim đa dạng gồm nhiều thể loại khác nhau Những người quản lý hoặc phát triển nội dung trên website, bao gồm việc tải lên, tổ chức, và cập nhật các bộ phim và thông tin liên quan
Chức năng:
❖ Người sử dụng
➢ Đăng nhập: Người dùng có thể đăng nhập vào tài khoảncủa họ hoặc đăng ký tài khoản mới để truy cập vào cáctính năng và nội dung của trang web
➢ Quản lý tài khoản: Cho phép người sử dụng cập nhật cácthông tin của người sử dụng
❖ Sinh viên
➢ Tìm kiếm và Lọc phim: Người dùng có thể tìm kiếm phimtheo tiêu chí như tựa đề, thể loại, năm sản xuất, diễn viên,hoặc đạo diễn Họ cũng có thể lọc phim theo các tiêu chínày để thu hẹp kết quả tìm kiếm
➢ Xem chi tiết phim: Người dùng có thể xem thông tin chitiết về một bộ phim bao gồm tựa đề, năm sản xuất, thểloại, diễn viên, đạo diễn, và mô tả
➢ Phát video: Người dùng có thể phát các bộ phim trựctuyến trên trang web
➢ Đánh giá và Nhận xét: Người dùng có thể đánh giá vànhận xét về các bộ phim mà họ đã xem để chia sẻ ý kiến
và kinh nghiệm của mình với cộng đồng
Thực Tập Chuyên Ngành
Trang 10➢ Tạo và Quản lý danh sách phim yêu thích: Người dùng cóthể tạo và quản lý danh sách phim yêu thích của riêngmình để dễ dàng tìm kiếm và xem lại sau này.
➢ Chia sẻ phim: Người dùng có thể chia sẻ các bộ phim mà
họ thích thông qua các mạng xã hội hoặc email
vi phạm quy định của trang web
➢ Quản lý tài khoản và bảo mật: Quản trị viên có tráchnhiệm đảm bảo tính bảo mật của trang web, bao gồm quản
lý cấp độ truy cập, bảo vệ thông tin cá nhân của ngườidùng và thực hiện các biện pháp bảo mật khác để ngănchặn các tấn công trực tuyến
➢ Thống kê và phân tích: Quản trị viên có thể theo dõi hoạtđộng trên trang web, bao gồm lượt xem, đánh giá, bìnhluận và các thông tin khác để đánh giá hiệu suất của trangweb và thúc đẩy cải thiện
➢ Quản lý quảng cáo: Nếu có, quản trị viên có thể quản lýviệc hiển thị quảng cáo trên trang web, bao gồm thêm,
Thực Tập Chuyên Ngành
Trang 11chỉnh sửa hoặc xóa các quảng cáo, quản lý vị trí quảng cáo
và đối tác quảng cáo
➢ Hỗ trợ người dùng: Quản trị viên có thể cung cấp hỗ trợ vàgiải đáp các câu hỏi của người dùng, giải quyet các vấn đề
kỹ thuật hoặc góp ý về trang web
Các yêu cầu phi chức năng:
○ Hệ thống phải có khả năng xác thực và phân quyền
○ Hệ thống phải có khả năng chống lại một số dạng tấn côngnhư CSRF…
➢ Khả năng mở rộng
○ Hệ thống phải có khả năng mở rộng với lượng dữ liệu lớn
và xử lý nhiều thông tin của người dùng đồng thời
○ Phải có tiềm năng dễ dàng mở rộng với quy mô lớn và dễdàng thích ứng và mở rộng hạ tầng mà không gây giánđoạn hoạt động hiện tại
➢ Độ tin cậy
○ Hệ thống phải hoạt động ổn định và đáng tin cậy, tránh cáclỗi và sự cố không mong muốn
○ Các nguồn dữ liệu phải được sao lưu đúng cách
➢ Giao diện người dùng:
○ Giao diện người dùng phải được thiết kế một cách đơngiản và dễ sử dụng
○ Hệ thống phải tương thích với các trình duyệt
Thực Tập Chuyên Ngành
Trang 12➢ Luật pháp và quy định:
○ Hệ thống phải tuân thủ các quy định và quy tắc pháp lýliên quan đến quyền bảo mật dữ liệu
1.3 Công cụ, kỹ thuật và phương pháp phát triển phần mềm
1.3.1 Mô hình quy trình ứng dụng để phát triển dự án phần mềm
Mô hình phát triển Agile
Mô hình phát triển Agile là một phương pháp phát triển phần mềm linh hoạt mà chu trình của nó thể hiện ở các vòng đời con liên tiếp nhau Kết quả trong từng vòng đời con sẽ được phát hành với một chức năng được hoàn thành Agile là một tập hợp các phương thức phát triển lặp và tăng dần trong
đó các yêu cầu và giải pháp được phát triển thông qua sự liên kết cộng tác giữa các nhóm tự quản và liên chức năng Agile là cách thức phần mềm linh hoạt để làm sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt và được xem như là sự cải tiến so với mô hình cũ
Những lợi ích trong cách tiếp cận theo mô hình Agile:
● Khách hàng thường xuyên có cơ hội thấy và trải nghiệm thực tế sảnphẩm được chuyển giao từng giai đoạn, giúp họ các những quyết định
và thay đổi trong quá trình phát triển sản phẩm
● Khách hàng có nhận thức mạnh mẽ về quyền sở hữu trong quá trìnhlàm việc trực tiếp với nhóm dự án
● Với phương pháp quản lý Agile, sản phẩm có thể chuyển giao nhanhvới những tính năng hoàn thiện cơ bản
● Sự phát triển tập trung vào người dùng cuối cùng hơn, vì sự tương tácthường xuyên và trực tiếp với khách hàng trong quá trình thực hiện Hạn chế của phương pháp Agile
● Phụ thuộc vào khách hàng: Mức độ tham gia của khách hàng là rất caonên đôi khi lại là vấn đề cho một số khách hàng - những người khôngthật sự hứng thú với cách tiếp cận này
Thực Tập Chuyên Ngành
Trang 13● Mô hình Agile thật sự hiệu quả khi các team member hoàn toàn tậptrung vào dự án
● Ảnh hưởng tới tiến độ của dự án: Giao hàng đúng tiến độ và việcthường xuyên thay đổi mức độ ưu tiên, có khả năng dẫn đến một sốtính năng không được chuyển giao đúng thời hạn
● Phát sinh chi phí dự án: Phát sinh thêm một số print nếu cần thiết vàảnh hưởng đến chi phí
Áp dụng mô hình phát triển Agile vào dự án, nhóm đã chia sản phẩm thành các bản xây dựng gia tăng nhỏ Các bản dựng này được cung cấp trong các lần lặp lại Mỗi lần lặp lại thường kéo dài trong khoảng 3 đến 4 tuần Mỗi lần lặp lại liên quan đến các nhóm chức năng chéo làm việc đồng thời trên cáclĩnh vực khác nhau như:
lập kế hoạch, phân tích yêu cầu, thiết kế, mã hóa, kiểm thử đơn vị, kiểm tra chấp nhận Vào cuối quá trình lặp lại, sản phẩm được đưa đến cho khách hàng
và các bên liên quan quan trọng
1.3.2 Công cụ, kỹ thuật và phương pháp
Trong dự án phát triển phần mềm này, chúng tôi đã sử dụng một loạt công cụ, kỹ thuật và phương pháp để đảm bảo quá trình phát triển phần mềm được thực hiện một cách hiệu quả và chất lượng Dưới đây là một số chi tiết
về các công cụ, kỹ thuật và phương pháp quan trọng trong dự án của chúng tôi:
○ UML (Unified Modeling Language) - Ngôn ngữ mô hình hóa thốngnhất là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà cácphương pháp hướng đối tượng sử dụng để thiết kế các hệ thốngthông tin một cách nhanh chóng UML cung cấp các biểu đồ và kýhiệu chuẩn để mô hình hóa hệ thống, các thành phần và mối quan
Thực Tập Chuyên Ngành
Trang 14hệ giữa chúng UML giúp hiểu và trình bày cấu trúc của dự án mộtcách rõ ràng và hợp lý.
○ Lập trình hướng đối tượng (OOP) là một phương pháp lập trình màtập trung vào việc tạo ra các đối tượng và tương tác giữa chúng đểxây dựng phần mềm Trong lập trình hướng đối tượng, mọi thứtrong chương trình Lập trình hướng đối tượng giúp tăng tính tái sửdụng và dễ bảo trì của mã nguồn Nó cho phép xây dựng các lớp vàđối tượng có thể được sử dụng lại trong nhiều dự án khác nhau,giảm thiểu việc viết lại mã từ đầu Ngoài ra, OOP giúp tăng tínhlinh hoạt và mở rộng của chương trình, cho phép thay đổi và mởrộng chức năng một cách dễ dàng
○ Mô hình MVC (Model-View-Controller) là một mô hình kiến trúcphần mềm phổ biến trong việc phát triển ứng dụng Mô hình nàychia thành ba thành phần chính:
■ Model: Đại diện cho dữ liệu và logic xử lý dữ liệu Nó đảmnhận vai trò lưu trữ và xử lý dữ liệu, cung cấp các phương thức
để truy cập và cập nhật dữ liệu
■ View: Đại diện cho giao diện người dùng Nó hiển thị dữ liệu
từ Model và cung cấp các cơ chế để người dùng tương tác với
hệ thống View không xử lý logic nghiệp vụ, chỉ nhận và hiểnthị dữ liệu
■ Controller: Làm trung gian giữa Model và View Nó nhận các
sự kiện và yêu cầu từ người dùng thông qua View, sau đótương tác với Model để lấy dữ liệu và cập nhật nó Sau đó, nócập nhật lại View để hiển thị dữ liệu mới
Thực Tập Chuyên Ngành
Trang 15○ Mô hình 3 layer là một mô hình kiến trúc phần mềm khác, cũngphân chia hệ thống thành ba lớp chính:
■ Presentation Layer (Lớp trình diễn): Đây là lớp giao diệnngười dùng, nơi dữ liệu được hiển thị và người dùng tương tácvới hệ thống
■ Business Layer (Lớp nghiệp vụ): Lớp này chứa logic xử lýnghiệp vụ của ứng dụng Nó xử lý các yêu cầu từ PresentationLayer, thực hiện các phép tính, kiểm tra điều kiện và tương tácvới lớp dữ liệu
■ Data Access Layer (Lớp truy cập dữ liệu): Đây là lớp chịutrách nhiệm truy cập và tương tác với nguồn dữ liệu, chẳnghạn như cơ sở dữ liệu Nó thực hiện các thao tác đọc/ghi dữliệu và cung cấp giao diện để Business Layer truy cập dữ liệu
○ Spring Boot là một framework phát triển ứng dụng Java, được xâydựng trên nền tảng Spring Framework Nó giúp đơn giản hóa vàtăng tốc quá trình phát triển ứng dụng Java Spring Boot cung cấpcác tính năng mạnh mẽ như cấu hình tự động, quản lý phụ thuộc, vàtích hợp dễ dàng với các công nghệ và framework khác
Thực Tập Chuyên Ngành
Trang 161.3.2.5 Ngôn ngữ lập trình cho frontend: HTML, CSS,
Javascript, framework Bootstrap, template Thymeleaf.
○ HTML (HyperText Markup Language) là ngôn ngữ đánh dấu sửdụng để xây dựng và định dạng các trang web Nó định nghĩa cấutrúc và các thành phần của trang web như tiêu đề, đoạn văn bản,hình ảnh, liên kết và biểu mẫu
○ CSS (Cascading Style Sheets) là ngôn ngữ định dạng sử dụng đểtạo kiểu cho các thành phần HTML Nó giúp xác định màu sắc,kiểu chữ, kích thước và bố cục của các phần tử trên trang web, giúptạo ra giao diện hấp dẫn và một trải nghiệm người dùng tốt hơn
○ Javascript là ngôn ngữ lập trình phía máy khách (client-side) được
sử dụng để thêm tính năng tương tác và động vào trang web Nócho phép thực hiện các hành động như xử lý sự kiện, thay đổi nộidung động, gửi và nhận dữ liệu từ máy chủ, và tương tác với ngườidùng
○ Bootstrap là một framework CSS phổ biến được sử dụng để xâydựng giao diện web responsive và thân thiện với các thiết bị diđộng Nó cung cấp các lớp CSS, các thành phần UI đã được thiết kếsẵn, và các kịch bản Javascript để giúp tạo ra giao diện đẹp và dễ sửdụng
○ Thymeleaf là một template engine trong ngữ cảnh Java, được sửdụng để tạo và hiển thị các trang web động Nó kết hợp HTML vàcác thuộc tính Thymeleaf để xây dựng các mẫu trang web linh hoạt.Thymeleaf cho phép tích hợp dữ liệu từ Java vào các trang web vàthực hiện các phép toán và xử lý logic đơn giản trong các template
○ MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổbiến Nó được sử dụng để lưu trữ và quản lý dữ liệu trong các ứngdụng web và hệ thống thông tin khác MySQL hỗ trợ ngôn ngữ truy
Thực Tập Chuyên Ngành
Trang 17vấn SQL (Structured Query Language) để tương tác với cơ sở dữliệu.
○ Git là một hệ thống quản lý phiên bản phân tán (distributed versioncontrol system - DVCS) được sử dụng rộng rãi trong phát triểnphần mềm Nó cho phép các nhóm phát triển làm việc cùng nhautrên cùng một dự án, theo dõi và quản lý các phiên bản của mãnguồn và các tệp tin
○ GitHub là một dịch vụ lưu trữ mã nguồn dựa trên Git, nơi các nhàphát triển có thể lưu trữ, chia sẻ và làm việc cộng tác trên các dự án
Nó cung cấp giao diện web và các công cụ hỗ trợ quản lý dự án,theo dõi vấn đề, quản lý phiên bản và tích hợp liên kết với các công
2.1.1 Các yêu cầu chức năng
a Các yêu cầu chức năng
― Lưu trữ thông tin khách hàng: Họ tên, Sđt, Ngày sinh, Email, Mã thẻthành viên, Điểm tích lũy, Lịch sử giao dịch
― Tra cứu thông tin khách hàng: Sắp xếp theo thứ tự, lọc theo yêu cầu
― Lưu trữ thông tin phim: Tên phim, Ngày khởi chiếu, Mã phim, Thời lượng, Độ tuổi quy định
Thực Tập Chuyên Ngành
Trang 18― Lưu trữ thông tin chương trình khuyến mãi: Nội dung, ngày bắt đầu,ngày kết thúc
― Lưu trữ thông tin rạp: Mã rạp, Tên rạp, Địa chỉ, Sđt
― Lưu trữ thông tin lịch chiếu: Mã phim, Thời gian, Rạp, Phòng chiếu
― Thông báo tới khách hàng chịu trách nhiệm về độ tuổi quy định
― Lưu trữ thông tin giá vé các rạp: Mã rạp, Giá theo từng khung giờ, đối tượng
― Khách hàng có thể mở, đăng nhập và đăng ký vào tài khoản
― Khách hàng có thể tra thông tin phim, ngày chiếu và lịch chiếu
― Khách hàng có thể mua vé qua mạng
― Người quản trị có thể thêm, gỡ phim
― Người quản trị có thể điều chỉnh giờ và phòng chiếu cho từng phim
― Người quản trị và khách hàng đều có thể xem các ghế còn trống
b Các yêu cầu phi chức năng
― Lịch chiếu phim: Không có các suất chiếu trùng nhau
― Giao diện website rõ ràng, dễ tìm kiếm
― Website hoạt động 24/24 đảm bảo thông suốt trong giờ cao điểm
― Thường xuyên đồng bộ hóa dữ liệu, dễ dàng khôi phục
― Bảo mật thông tin khách hàng, thông tin giao dịch
― Website tương thích với các trình duyệt
― Thời gian sử dụng điểm tích lũy: 2 năm
2.1.2 Các yêu cầu lưu trữ dữ liệu
― Mỗi khi có một phim mới (sắp chiếu tại rạp), người quản trị sẽ cập nhật các thông tin của phim:
+ Tên phim
+ Thể loại
+ Tóm tắt giới thiệu về phim
Thực Tập Chuyên Ngành
Trang 19+ Phương thức liên lạc (SĐT, email)
+ Tên đăng nhập, mật khẩu
+ Vé muốn mua (gồm tên phim, giờ chiếu, phòng chiếu)
+ Khách hàng đồng thời có khả năng cập nhật thông tin tài khoản cũng như yêu cầu xóa tài khoản Thông tin tài khoản được lưu trữ trong kho khách hàng cũng như vé khách đã mua sẽ được đưathông tin về kho vé Nhân viên rạp phim có thể truy cập và xem các thông tin về khách hàng đó
Thực Tập Chuyên Ngành
Trang 202.2 Biểu đồ use case
Thực Tập Chuyên Ngành
Trang 21Khach hang
Nguoi quan tri
Xem danh sach phim dang chieu
Xem danh sach phim sap chieu
Xem thong tin rap
Cap nhat thong tin ca nhan
Xem quyen loi thanh vien
Xem quay online
Xem su kien
Xem CGV Restaurant
Xem the qua tang
Xem thong tin tuyen dung
Bao tri phim
Quan ly tai khoan
Bao tri he thong
Bao tri rap
Thực Tập Chuyên Ngành
Trang 222.2.1 Các use case chính
Khach hang
Xem danh sach phim dang chieu
Xem danh sach phim sap chieu
Xem thong tin rap
Cap nhat thong tin ca nhan
Xem quyen loi thanh vien
Xem quay online
Xem su kien
Xem CGV Restaurant
Xem the qua tang
Xem thong tin tuyen dung
Trang 232.2.2 Các use case thứ cấp
Nguoi quan tri
Dang nhap
Bao tri phim
Quan ly tai khoan
Bao tri he thong
Bao tri rap
2.2.3 Phân rã một số use case
Xem danh sach phim dang chieu
(from Use Case View)
Cap nhat thong tin ca nhan
(from Use Case View)
Tim kiem
(from Use Case View)
Xem chi tiet phim
(from Use Case View)
Xem danh sach phim sap chieu
(from Use Case View)
Xem quyen loi thanh vien
(from Use Case View)
Xem su kien
(from Use Case View)
Xem the qua tang
(from Use Case View)
Xem thong tin rap
(from Use Case View)
Xem thong tin tuyen dung
(from Use Case View)
Xem quay online
(from Use Case View)
Xem CGV Restaurant
(from Use Case View)
Thực Tập Chuyên Ngành
Trang 24Dang nhap
(from Use Case View)
Bao tri he thong
(from Use Case View)
Bao tri phim
(from Use Case Vi ew)
Bao tri rap
(from Use Case Vi ew)
Nguoi quan tri
(from Use Case Vi ew)
Quan ly tai khoan
(from Use Case View)
Sua thong tin tai khoan
Xoa tai khoan
Trang 252.3Mô tả chi tiết các use case
2.3.1 Mô tả use case Xem danh sách phim đang chiếu
Use case này cho phép khách hàng xem thông tin các phim đang chiếu trên hệ thốngCGV
Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng chọn vào “Phim” ở trên menu chính
ở trang chủ Hệ thống hiển thị lên màn hình menu cấp 2 gồm: phim đang chiếu, phim sắp chiếu
2) Khách hàng kích vào “Phim đang chiếu” ở trên menu cấp 2 Hệ thống sẽ lấy danh sách các phim đang chiếu gồm: ảnh, tên phim, thể loại, thời lượng và khởi chiếu từ bảng PHIM trong cơ sở dữ liệu và hiển thị danh sách phim đang chiếu lên màn hình Use case này kết thúc
o Luồng rẽ nhánh:
1) Tại bất kì thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị thông báo lỗi và use case kết thúc
2) Tại bước 2 trong luồng cơ bản, nếu không tìm thấy phim nào thuộc danh sách phim đang chiếu thì hệ thống sẽ hiển thị thông báo “Không có phim thuộc danh sách này”
Các yêu cầu đặc biệt:
Trang 262.3.2 Mô tả use case Bảo trì phim
Use case này cho phép người quản trị xem, thêm, sửa, xóa các phim trong bảng PHIM
Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người quản trị kích vào nút “Phim” trên menu quản trị Hệ thống lấy thông tin chi tiết của các phim gồm: ảnh, mã phim, tên phim, thể loại, thời lượng, khởi chiếu từ bảng PHIM trong cơ sở dữ liệu hiển thị danh sách các phim lên màn hình
2) Thêm phim
a Người quản trị kích vào nút “Thêm mới” trên cửa sổ danh sách phim
Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi tiết cho phim gồm: ảnh, mã phim, tên phim, thể loại, thời lượng, khởi chiếu
b Người quản trị nhập thông tin của phim gồm: ảnh, tên phim, thể loại, thời lượng, khởi chiếu, tự sinh một mã phim mới và kích vào nút
danh sách các phim đã được cập nhật
3) Sửa phim
phim, thể loại, thời lượng, khởi chiếu từ bảng PHIM và hiển thị lên màn hình
thể loại, thời lượng, khởi chiếu và kích vào nút “Cập nhật” Hệ thống sẽ sửa thông tin của phim được chọn trong bảng PHIM và hiển thị danh sách phim đã cập nhật
Thực Tập Chuyên Ngành
Trang 27Use case kết thúc.
o Luồng rẽ nhánh:
1) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập thông tin phim không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi yêu cầu nhập lại Người quản trị có thể nhập lại để tiếp tục hoặc kích vào nút “Hủy bỏ” để kết thúc
2) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vàonút “Hủy bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa tương ứng và hiển thị danh sách các phim trong bảng PHIM
3) Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút
“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh sách các phim trong bảng PHIM
4) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
Các yêu cầu đặc biệt:
Use case này chỉ cho phép một số vai trò như người quản trị, người chủ hệ thống thực hiện
Tiền điều kiện:
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi có thểthực hiện use case
Hậu điều kiện:
Nếu use case kết thúc thành công thì thông tin về phim sẽ được cập nhật trong cơ sở dữ liệu
Thực Tập Chuyên Ngành
Trang 28Điểm mở rộng:
Không có
Dữ liệu liên quan:
2.3.3 Mô tả use case Đăng ký
Use case này cho phép khách hàng đăng ký tài khoản trong bảng
2) Khách hàng nhập thông tin và kích vào nút “Đăng ký” Hệ thống hiển thị lên thông báo “Gửi mã xác thực về số điện thoại đăng ký” 3) Khách hàng nhập mã xác thực, sau đó ấn vào nút “Confirm” Hệ thống sẽ thêm 1 bản ghi mới về thông tin tài khoản của khách hàng vào bảng TAIKHOAN trong cơ sở dữ liệu và hiển thị thông báo
2) Tại bước 2 trong luồng cơ bản, nếu khách hàng nhập các thông tin không chính xác như tên tài khoản, địa chỉ, ngày sinh, mật khẩu, số
Thực Tập Chuyên Ngành