Bối cảnh và vấn đề nghiên cứu
Sự phát triển mạnh mẽ của công nghệ thông tin và mạng Internet đã thúc đẩy sự ra đời của nhiều nền tảng ứng dụng trực tuyến nhằm phục vụ đời sống con người, trong đó nhu cầu giải trí và thưởng thức nghệ thuật nghe nhìn chiếm vị trí quan trọng. Nhu cầu giải trí của người dùng sau thời gian làm việc ngày càng gia tăng, đòi hỏi các giải pháp tiện ích giúp người xem có thể thưởng thức các tác phẩm điện ảnh trực tiếp thông qua máy tính hoặc điện thoại kết nối Internet mà không cần phải đến các khu vui chơi giải trí. Đồng thời, sự phát triển liên tục của các ngôn ngữ lập trình và framework hiện đại tạo điều kiện thuận lợi để xây dựng các nền tảng xem phim trực tuyến bắt kịp xu thế của ngành công nghiệp điện ảnh thế giới.
Đề tài "Xây dựng website xem phim" do sinh viên Lại Thị Huyền thực hiện dưới sự hướng dẫn của TS. Nguyễn Tất Thắng tại Học viện Công nghệ Bưu chính Viễn thông đặt ra các mục tiêu và nhiệm vụ cụ thể:
- Cung cấp kho phim đa dạng, độc đáo cho người xem thông qua việc cập nhật các bộ phim mới.
- Cung cấp đến người xem các thể loại phim phong phú và các bộ phim bổ ích.
- Xây dựng và phát triển nền tảng website có khả năng mở rộng quy mô lớn hơn nhằm đáp ứng nhu cầu sử dụng thực tế.
Đối tượng và phạm vi nghiên cứu của đồ án bao gồm:
- Đối tượng nghiên cứu: Quy trình phân tích, thiết kế và cài đặt hệ thống website xem phim trực tuyến; các thực thể quản lý dữ liệu phim, video, danh mục, kênh phát hành, bình luận và nhật ký tìm kiếm.
- Phạm vi không gian và ứng dụng: Triển khai hoạt động trực tuyến trên mạng Internet.
- Đối tượng sử dụng: Phục vụ hai nhóm tác nhân chính gồm Người quản trị (Admin) chịu trách nhiệm quản lý nội dung, vận hành hệ thống và Người dùng/Thành viên thuộc mọi lứa tuổi có nhu cầu tìm kiếm, theo dõi thông tin và xem phim trực tuyến.
Cơ sở lý thuyết và phương pháp
Đồ án tổng hợp cơ sở lý thuyết về các công nghệ, ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu được lựa chọn để xây dựng hệ thống:
- Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ SQL, có tính khả chuyển cao trên nhiều hệ điều hành (Windows Win32, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS). Hệ thống tận dụng các ưu điểm của MySQL về tính ổn định, tốc độ thực thi, khả năng mở rộng và mức độ bảo mật. Về mặt hạn chế, tác giả ghi nhận các giới hạn về xử lý giao dịch chuyên sâu, kiểm toán và độ suy giảm hiệu năng khi số lượng bản ghi tăng cao (đòi hỏi các giải pháp chia tải server hoặc tạo cache).
- Ngôn ngữ lập trình Java: Ngôn ngữ hướng đối tượng hoàn toàn do James Gosling khởi xướng từ năm 1991 (tiền thân là Oak), hoạt động theo nguyên tắc "Viết một lần, thực thi khắp nơi" (Write Once, Run Anywhere - WORA). Java cung cấp khả năng độc lập phần cứng và hệ điều hành ở cả cấp độ mã nguồn lẫn nhị phân thông qua máy ảo Java (JVM), cơ chế tự động thu gom rác bộ nhớ (Garbage Collection) trên Heap và khả năng xử lý đa luồng (multithread).
- Spring Framework: Framework mã nguồn mở hỗ trợ phát triển ứng dụng Java dựa trên hai nguyên lý cốt lõi là Dependency Injection (DI) và Aspect Oriented Programming (AOP). Spring cho phép lập trình viên làm việc trên các đối tượng POJO (Plain Old Java Object) thay thế EJB phức tạp, cung cấp kiến trúc module hóa linh hoạt và tích hợp sẵn mô hình Spring Web MVC cùng các công cụ quản lý giao dịch, ORM, logging và lập lịch trình.
- Ngôn ngữ JavaScript và Angular Framework: JavaScript (chuẩn hóa ECMAScript) đóng vai trò điều khiển các thành phần giao diện thông qua mô hình DOM. Angular là framework do Google phát triển bằng TypeScript để xây dựng ứng dụng trang đơn (Single Page Application - SPA) với các đặc trưng: cơ chế liên kết dữ liệu hai chiều (two-way data binding), hệ thống điều hướng (routing) bất đồng bộ, khả năng mở rộng cú pháp HTML và kiến trúc module hóa mã nguồn.
Phương pháp nghiên cứu thực tế được triển khai là phương pháp phân tích và thiết kế hướng đối tượng (OOAD) kết hợp mô hình hóa bằng ngôn ngữ UML. Tác giả tiến hành thu thập yêu cầu nghiệp vụ, phân rã chức năng hệ thống thành các biểu đồ Use Case tổng quan và chi tiết, xây dựng kịch bản thực thi (Scenario), thiết kế biểu đồ lớp, mô hình hóa lược đồ cơ sở dữ liệu quan hệ và chi tiết hóa các luồng xử lý thông qua hệ thống biểu đồ tuần tự (Sequence Diagram).
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình hướng đối tượng phân tầng, bao gồm tầng giao diện người dùng, tầng điều khiển/nghiệp vụ, tầng thao tác dữ liệu (Data Access Objects - DAO) và tầng cơ sở dữ liệu quan hệ.
+-------------------------------------------------------------------+
| TẦNG GIAO DIỆN |
| - Giao diện người dùng (Angular SPA: Trang chủ, Menu, Phim) |
| - Giao diện quản trị (CMS Forms: Login, Video, Film, Channels...) |
+-------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------+
| TẦNG THAO TÁC DỮ LIỆU (DAO) |
| UserDAO, FilmDAO, VideoDAO, ChannelDAO, MenuDAO, |
| CommentDAO, SearchLogsDAO |
+-------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------+
| TẦNG THỰC THỂ & CƠ SỞ DỮ LIỆU |
| User, Film, Video, Channels, Comment, Menu, SearchLogs, |
| FilmMenuMapping, VideoFilmMapping (MySQL RDBMS) |
+-------------------------------------------------------------------+
1. Cấu trúc lớp và mô hình thực thể
Tác giả xác định các lớp thực thể đại diện cho các thành phần dữ liệu trong hệ thống và các lớp DAO tương ứng phục vụ truy xuất dữ liệu:
- Lớp thực thể:
User, Film, Video, Channels, Comment, Menu, SearchLogs.
- Lớp ánh xạ trung gian:
FilmMenuMapping (giải quyết quan hệ nhiều - nhiều giữa Menu và Film), VideoFilmMapping (giải quyết quan hệ nhiều - nhiều giữa Film và Video).
- Tầng thao tác dữ liệu: Lớp cơ sở
DAO và các lớp chuyên biệt gồm UserDAO, MenuDAO, ChannelDAO, CommentDAO, VideoDAO, SearchLogsDAO, FilmDAO.
2. Thiết kế cơ sở dữ liệu quan hệ
Các bảng dữ liệu được thiết kế tương ứng với các lớp thực thể, sử dụng trường id làm khóa chính và thiết lập các ràng buộc khóa ngoại để thể hiện mối quan hệ:
| Bảng dữ liệu |
Khóa chính |
Khóa ngoại |
Bản số quan hệ |
Mô tả liên kết |
User |
id |
Không có |
1 - n |
Một người dùng có thể quản lý nhiều kênh |
Channels |
id |
User |
n - 1 |
Thuộc quyền quản lý của một User |
Comment |
id |
Video |
n - 1 |
Bình luận gắn trực tiếp vào một Video cụ thể |
SearchLogs |
id |
Không có |
1 - n |
Thống kê số lần tìm kiếm của từng Video |
Video |
id |
SearchLogs |
n - 1 / 1 - n |
Liên kết với dữ liệu tìm kiếm và bình luận |
Film |
id |
Không có |
1 - n |
Chứa thông tin tổng quát của bộ phim |
Menu |
id |
Không có |
1 - n |
Đại diện cho các thể loại/danh mục điều hướng |
FilmMenuMapping |
id |
Menu, Film |
n - n |
Bảng trung gian ánh xạ quan hệ Menu và Film |
VideoFilmMapping |
id |
Video, Film |
n - n |
Bảng trung gian ánh xạ quan hệ Video và Film |
3. Quy trình thực thi các luồng tuần tự chính
Mọi luồng chức năng trong hệ thống đều được mô hình hóa chi tiết bằng biểu đồ tuần tự giữa tác nhân, form giao diện, đối tượng DAO và đối tượng thực thể:
- Luồng quản trị (Admin): Bắt đầu bằng việc xác thực qua giao diện
LoginFrm, gọi phương thức kiểm tra checkLogin() qua UserDAO. Sau khi đăng nhập thành công, hệ thống điều hướng vào CmsFrm. Từ đây, người quản trị thực hiện các thao tác thêm, sửa, xóa, tìm kiếm đối với Video (CmsVideoFrm, CmsInsertVideoFrm, CmsEditVideoFrm, CmsRemoveVideoFrm), Phim (CmsFilmFrm), Kênh (CmsChannelFrm), Menu và xem báo cáo SearchLogs.
- Luồng người dùng (Client): Người dùng duyệt phim theo danh mục menu, thể loại, phim hot trong tháng hoặc theo channel; thực hiện tìm kiếm phim theo tên. Đối với chức năng bình luận, hệ thống thực hiện cơ chế đồng bộ tự động với tài khoản Google để lấy thông tin định danh của người dùng trước khi gửi và tải lại danh sách bình luận trên giao diện.
Nội dung chính theo từng chương
Chương I. Cơ sở lý thuyết
Chương 1 hệ thống hóa toàn bộ nền tảng công nghệ và lý thuyết lập trình ứng dụng trong đề tài. Nội dung tập trung làm rõ 5 thành phần chính:
- Cơ sở dữ liệu MySQL: Trình bày định nghĩa, lịch sử phát triển, tính phổ biến trong các ngăn xếp công nghệ web (NodeJS, PHP, Perl, Java), phân tích 5 ưu điểm (dễ sử dụng, bảo mật cao, đa tính năng, khả năng mở rộng, tốc độ nhanh) và 3 nhược điểm (giới hạn thiết kế, độ tin cậy giao dịch so với một số RDBMS khác, khó khăn dung lượng khi bản ghi tăng cao).
- Ngôn ngữ lập trình Java: Trình bày nguồn gốc, triết lý WORA, các đặc trưng hướng đối tượng hoàn toàn (lược bỏ con trỏ, toán tử goto, struct/union), khả năng độc lập phần cứng ở cấp mã nguồn và nhị phân, cơ chế thông dịch kết hợp biên dịch qua JVM, cơ chế gom rác tự động (Garbage Collection) và hỗ trợ đa luồng (multithread).
- Spring Framework: Phân tích 2 nguyên lý thiết kế chính là Dependency Injection và Aspect Oriented Programming, việc sử dụng POJO đơn giản hóa lập trình J2EE, cấu trúc module hóa, tích hợp ORM, Logging, Quartz và module Spring Web MVC.
- Ngôn ngữ lập trình JavaScript: Lịch sử ra đời từ LiveScript (1995), tiêu chuẩn ECMAScript của W3C, cơ chế biên dịch và thực thi trực tiếp trên client, tương tác mô hình DOM và khả năng hỗ trợ đa nền tảng cả frontend lẫn backend (Node.js).
- Angular Framework: Giới thiệu framework xây dựng Single Page Application do Google phát triển bằng TypeScript, phân tích 4 đặc trưng cốt lõi: cơ chế Two-way data binding, hệ thống Routing bất đồng bộ, mở rộng cú pháp HTML và thiết kế module hóa.
Chương II. Phân tích thiết kế hệ thống
Chương 2 trình bày quy trình kỹ thuật phần mềm từ khảo sát yêu cầu đến mô hình hóa chi tiết:
- Xác định yêu cầu nghiệp vụ: Phân tách quyền hạn rõ ràng giữa Quản trị viên (quản lý video, phim, thể loại, menu, kênh, theo dõi log tìm kiếm, khắc phục lỗi) và Thành viên/Người dùng (tra cứu thông tin, tìm kiếm phim, xem phim online, lọc theo kênh/thể loại, bình luận).
- Mô hình Use Case và Kịch bản (Scenario): Xây dựng 1 biểu đồ Use Case tổng quan và 12 biểu đồ Use Case phân rã chi tiết kèm 21 bảng đặc tả kịch bản (Scenario) với đầy đủ thông tin về tác nhân, tiền điều kiện, đảm bảo tối thiểu, đảm bảo thành công, sự kiện kích hoạt, chuỗi sự kiện chính và luồng ngoại lệ.
| STT |
Tên Use Case / Kịch bản |
Tác nhân chính |
Mục tiêu thực hiện |
| 1 |
Đăng nhập |
Admin |
Xác thực quyền quản trị vào hệ thống CMS |
| 2 - 5 |
Thêm, Sửa, Xóa, Tìm kiếm Video |
Admin |
Quản lý kho video, upload tệp, đặt video phát tiếp theo |
| 6 - 8 |
Thêm, Sửa, Xóa Phim |
Admin |
Quản lý thông tin bộ phim, gắn ảnh đại diện và video |
| 9 - 11 |
Thêm, Sửa, Xóa Channel |
Admin |
Quản trị danh sách các kênh phát hành phim |
| 12 - 14 |
Thêm, Sửa, Xóa Menu |
Admin |
Quản trị danh mục điều hướng thể loại trên website |
| 15 |
Theo dõi Search Logs |
Admin |
Thống kê danh sách video được tìm kiếm và tần suất tìm |
| 16 |
Xem phim theo thể loại |
Người dùng |
Lọc và xem danh sách phim theo từng thể loại |
| 17 |
Xem phim hot của tháng |
Người dùng |
Truy cập và theo dõi các bộ phim nổi bật trong tháng |
| 18 |
Xem phim theo Channel |
Người dùng |
Lọc và theo dõi các bộ phim theo kênh phân phối |
| 19 - 20 |
Xem bình luận & Bình luận |
Người dùng |
Xem đánh giá và gửi bình luận (đồng bộ qua Google) |
| 21 |
Tìm kiếm |
Người dùng |
Tra cứu phim trực tiếp theo từ khóa tên phim |
- Thiết kế hướng đối tượng và cơ sở dữ liệu: Xác định các lớp ứng viên từ danh từ và tác nhân kịch bản, đề xuất 2 lớp mapping trung gian (
FilmMenuMapping, VideoFilmMapping), thiết kế biểu đồ lớp hoàn chỉnh gồm tầng thực thể và tầng DAO, chuyển đổi sang sơ đồ quan hệ CSDL với đầy đủ ràng buộc khóa chính và khóa ngoại.
- Biểu đồ tuần tự: Xây dựng hệ thống 21 biểu đồ tuần tự chi tiết mô tả sự tương tác giữa tác nhân, các giao diện quản trị (
LoginForm, CmsFrm, CmsInsertFrm, CmsEditFrm, CmsRemoveFrm...), các lớp DAO và các lớp đối tượng thực thể cho toàn bộ các ca sử dụng của hệ thống.
Chương III. Cài đặt và kết quả triển khai hệ thống
Chương 3 trình bày kết quả hiện thực hóa giao diện và chức năng của website dựa trên các bản thiết kế:
- Giao diện xác thực: Giao diện Đăng nhập (
Login) dành cho quản trị viên với các trường nhập username, password và xử lý thông báo lỗi khi xác thực thất bại.
- Phân hệ giao diện quản trị (CMS):
- Giao diện Quản lý Video: Hiển thị bảng danh sách video có phân trang, thanh tìm kiếm, nút thêm mới (+), các chức năng sửa, xóa và biểu mẫu upload video, ảnh avatar, chọn video kế tiếp.
- Giao diện Quản lý Phim (
Film): Danh sách phim phân trang, chức năng thêm mới, chỉnh sửa thông tin phim, chọn avatar và liên kết các video thuộc phim.
- Giao diện Quản lý Channels: Quản lý danh mục các kênh, hỗ trợ các thao tác CRUD.
- Giao diện Quản lý Menu: Quản lý các mục hiển thị trên thanh điều hướng website.
- Giao diện Theo dõi Search Logs: Bảng thống kê các từ khóa/video được người dùng tìm kiếm nhiều nhất kèm số lần tìm kiếm.
- Phân hệ giao diện người dùng (Client):
- Giao diện Trang chủ: Bố cục hiển thị các khối phim nổi bật, phim phân loại theo channel, phân loại theo thể loại, danh sách phim hot của tháng và thanh tìm kiếm trực quan.
- Giao diện danh mục từng Menu: Hiển thị danh sách các bộ phim thuộc về menu/thể loại được chọn.
- Giao diện Chi tiết phim: Trình phát video xem phim trực tuyến, hiển thị thông tin mô tả phim, khu vực hiển thị danh sách các bình luận hiện có, ô nhập nội dung bình luận và nút gửi bình luận tích hợp đồng bộ thông tin tài khoản Google.
Kết quả và đóng góp
Đồ án đã hoàn thành các mục tiêu đề ra với những kết quả cụ thể được ghi nhận trong văn bản:
- Đặc tả thiết kế hoàn chỉnh: Xây dựng thành công hệ thống tài liệu phân tích thiết kế bao gồm 13 biểu đồ Use Case, 21 kịch bản Use Case chi tiết (Scenario), 1 biểu đồ lớp, 1 sơ đồ cơ sở dữ liệu quan hệ chuẩn hóa và 21 biểu đồ tuần tự mô tả chi tiết các tương tác hệ thống.
- Xây dựng giải pháp quản lý dữ liệu đa phương tiện: Thiết kế cấu trúc cơ sở dữ liệu giải quyết triệt để mối quan hệ nhiều - nhiều giữa phim, video và menu phân loại thông qua các bảng ánh xạ trung gian
FilmMenuMapping và VideoFilmMapping.
- Triển khai đầy đủ các phân hệ chức năng: Hiện thực hóa thành công 9 giao diện chức năng chính phục vụ đầy đủ hai nhóm tác nhân:
- Phân hệ CMS quản trị: Đăng nhập bảo mật, quản lý nội dung đa cấp (Video, Film, Channel, Menu) và hệ thống giám sát nhật ký tìm kiếm (
Search Logs).
- Phân hệ người dùng: Xem phim trực tuyến, tìm kiếm phim theo tên, duyệt phim linh hoạt (theo thể loại, channel, phim hot của tháng), xem bình luận và gửi bình luận tương tác có đồng bộ tài khoản Google.
- Đóng góp ứng dụng: Ứng dụng kết hợp kiến trúc backend bằng Java / Spring Framework với frontend Single Page Application bằng Angular và cơ sở dữ liệu MySQL, tạo nên giải pháp công nghệ đáp ứng nhu cầu thư giãn, giải trí trực tuyến của người dùng.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên phạm vi và các nội dung được trình bày trong đồ án, một số hạn chế và định hướng phát triển tiếp theo bao gồm:
- Hạn chế về hiệu năng cơ sở dữ liệu khi mở rộng: Như tác giả đã phân tích trong phần cơ sở lý thuyết về MySQL, khi số lượng bản ghi và lưu lượng truy cập tăng lớn, việc truy xuất dữ liệu sẽ gặp khó khăn. Đồ án hiện tại chưa áp dụng các kỹ thuật nâng cao như phân mảnh/chia tải cơ sở dữ liệu trên nhiều server hoặc thiết lập các tầng bộ nhớ đệm (cache) chuyên sâu.
- Phạm vi nền tảng: Hệ thống mới tập trung phát triển trên nền tảng ứng dụng web trực tuyến qua trình duyệt, chưa xây dựng các ứng dụng di động độc lập (native mobile app) cho hệ điều hành Android hoặc iOS.
- Phân quyền và bảo mật nâng cao: Cơ chế xác thực người dùng thành viên hiện chủ yếu phục vụ tính năng bình luận thông qua đồng bộ tài khoản Google, chưa xây dựng phân hệ quản lý tài khoản thành viên đa cấp bậc với các gói dịch vụ phân tầng.
- Hướng phát triển tiếp: Nâng cấp và mở rộng quy mô website để đáp ứng lượng người dùng thực tế lớn hơn, tối ưu hóa hạ tầng truyền phát video độ phân giải cao và phát triển thêm các tính năng tương tác người dùng.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ thông tin, Hệ thống thông tin, Kỹ thuật phần mềm và các nhà phát triển web đang thực hiện các đề tài xây dựng ứng dụng web quản lý và truyền thông đa phương tiện:
- Tham khảo quy trình phân tích thiết kế hệ thống: Cung cấp mẫu chuẩn mực về cách phân rã Use Case, xây dựng bảng kịch bản Scenario chi tiết (21 bảng mẫu) và ánh xạ từ kịch bản sang biểu đồ lớp và biểu đồ tuần tự.
- Tham khảo thiết kế cơ sở dữ liệu cho hệ thống video/phim: Mô hình giải quyết quan hệ giữa danh mục (Menu), phim (Film), kênh (Channel) và các tệp video (Video) bằng các bảng mapping trung gian là tài liệu tham khảo trực tiếp cho các bài toán quản trị nội dung CMS tương tự.
- Tham khảo việc áp dụng kiến trúc công nghệ: Cung cấp cái nhìn tổng quan về việc kết hợp Spring Framework (Java) ở phía máy chủ với Angular (TypeScript) ở phía máy khách trên nền tảng cơ sở dữ liệu MySQL.
Câu hỏi thường gặp
1. Hệ thống giải quyết mối quan hệ nhiều - nhiều giữa Phim (Film), Menu và Video như thế nào trong cơ sở dữ liệu?
Trong thiết kế hướng đối tượng và cơ sở dữ liệu, một Menu có thể chứa nhiều Film và một Film có thể xuất hiện trong nhiều Menu; tương tự, một Film có thể gồm nhiều Video và một Video có thể thuộc nhiều Film. Tác giả đã đề xuất hai lớp và hai bảng ánh xạ trung gian tương ứng là FilmMenuMapping (chứa khóa ngoại trỏ về Menu và Film) và VideoFilmMapping (chứa khóa ngoại trỏ về Video và Film) để chuẩn hóa dữ liệu quan hệ.
2. Tính năng bình luận của người dùng trên website hoạt động như thế nào?
Khi người dùng truy cập giao diện chi tiết của một bộ phim, hệ thống sẽ hiển thị danh sách các bình luận hiện có phía dưới trình phát video. Để gửi bình luận mới, người dùng nhập nội dung vào ô bình luận và nhấn nút "Post comment"; hệ thống sẽ tự động đồng bộ với tài khoản Google để lấy thông tin người dùng, cập nhật dữ liệu vào bảng Comment và tải lại giao diện hiển thị bình luận.
3. Chức năng Theo dõi Search Logs có vai trò gì trong phân hệ quản trị?
Chức năng Search Logs cho phép người quản trị theo dõi và thống kê lịch sử các video/bộ phim được người dùng tìm kiếm nhiều nhất trên website cùng với số lần tìm kiếm tương ứng. Dữ liệu này giúp ban quản trị nắm bắt xu hướng quan tâm của khán giả để có kế hoạch cập nhật nội dung phù hợp.
4. Phân hệ quản trị (CMS) cung cấp các chức năng quản lý nội dung nào?
Trang quản trị cung cấp đầy đủ các khối chức năng quản lý bao gồm: Đăng nhập hệ thống, Quản lý Video (thêm, sửa, xóa, tìm kiếm, upload video/avatar, chọn video phát tiếp theo), Quản lý Film (thêm, sửa, xóa phim, chọn ảnh đại diện, gán video), Quản lý Channel (thêm, sửa, xóa kênh), Quản lý Menu (thêm, sửa, xóa danh mục điều hướng) và Theo dõi nhật ký tìm kiếm (Search Logs).
5. Những công nghệ cốt lõi nào được tác giả lựa chọn để xây dựng website xem phim?
Hệ thống sử dụng hệ quản trị cơ sở dữ liệu quan hệ MySQL để lưu trữ dữ liệu; ngôn ngữ lập trình Java kết hợp Spring Framework (Spring Web MVC, Dependency Injection, POJO) cho phía backend; ngôn ngữ JavaScript và Angular Framework (TypeScript, Single Page Application, Two-way binding) cho phía frontend.
Kết luận
Đồ án tốt nghiệp "Xây dựng website xem phim" của sinh viên Lại Thị Huyền đã hoàn thành việc nghiên cứu, phân tích thiết kế và cài đặt hoàn chỉnh một hệ thống website phát video trực tuyến. Tác giả đã áp dụng thành công phương pháp phân tích thiết kế hướng đối tượng với hệ thống tài liệu UML chi tiết, từ biểu đồ Use Case, kịch bản nghiệp vụ, biểu đồ lớp đến hệ thống 21 biểu đồ tuần tự. Ứng dụng đã hiện thực hóa đầy đủ các phân hệ chức năng cho cả nhà quản trị và người dùng cuối, kết hợp hiệu quả các công nghệ Spring Framework, Angular và MySQL để đáp ứng nhu cầu giải trí xem phim trên môi trường mạng.