Báo cáo môn học đ ti lập trình mobile đ ti ứng dụng xem phim

23 8 0
Báo cáo môn học đ ti lập trình mobile đ ti  ứng dụng xem 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

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MƠN HỌC Đ TI: LẬP TRÌNH MOBILE Đ TI : ỨNG DỤNG XEM PHIM Sinh viên thực : LÊ QUANG VINH : BÙI TIẾN DŨNG Giảng viên hướng dẫn : PHƯƠNG VĂN CẢNH Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MM Lớp : D14CNPM2 Khóa : 2019-2023 Hà Nội, tháng 12 năm 2021 Sinh viên thực hiện: ST T Họ tên Nội dung thực Điểm Chữ ký Gíao viên chấấm điểm: Họ tên Chữ ký Ghi Giáo viên 1: Giáo viên 2: LỜI NÓI ĐẦU Lập trình đối tượng phân tán vấn đề nóng bỏng cơng nghệ phân tán phần mềm ngày Java ngôn ngữ tiên phong với RMI (Remote Method Invocation), kỹ thuật cài đặt đối tượng phân tán vô hiệu vô hiệu linh động Do đó, chúng em chọn đề tài "Xây dựng ứng dụng mô việc đặt vé xem phim cho rạp chiếu phim” để giúp việc quản lý rạp phim cách hiệu Về mặt lý thuyết, phần trình bày gồm: Chương 1: Tổng quan đề tài Chương 2: Cơ sở lý thuyết Chương 3: Xây dựng ứng dụng mô việc đặt vé xem phim cho rạp chiếu phim Chương 4: Kết luận, hướng phát triển Về mặt thực tiễn, thực hiện, đề tài giúp cho chúng em có thêm kiến thức lập trình Java, hiểu cách thức vận hành ứng dụng di động Điều góp phần nâng cao kiến thức chúng em viết ứng dụng RMI Mặc dù, chúng em cố gắng trình thực chắn cịn vài thiếu sót hạn chế Rất mong đóng góp ý kiến quý báu quý Thầy Phương Cảnh bạn MỤC LỤC LỜI CẢM ƠN LỜI NÓI ĐẦU MỤC LỤC DANH MỤC HÌNH VẼ Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Mục đích nghiên cứu 1.2 Nhiệm vụ nghiên cứu 1.3 Phương pháp nghiên cứu Chương 2: CƠ SỞ LÝ THUYẾT 2.1 JAVA 2.1.1 Tổng quan Java .9 2.1.2 Tại lại sử dụng Java? 10 2.2 Tổng quan RMI 11 2.2.1 Tổng quan RMI .11 2.2.2 RMI gì? 11 2.3 RMI làm việc nào? 11 2.4 Kiến trúc chương trình RMI 13 2.5 Các chế liên quan ứng dụng RMI 14 2.6 Cơ chế thực thi ứng dụng RMI 15 Chương 3: XÂY DỰNG ỨNG DỤNG MÔ PHỎNG VIỆC ĐẶT VÉ XEM PHIM CHO CÁC RẠP CHIẾU PHIM 16 3.1 Phân tích thiết kế hệ thống .16 3.1.1 Mô tả ứng dụng 16 3.1.2 Sơ đồ ERD 17 3.1.3 Sơ đồ sở liệu .17 3.4 Giao diện ứng dụng 18 3.4.1 Giao diện “Server” .18 3.3.2 Giao diện “Client” 18 Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 25 4.1 Kết luận 25 4.1.1 Đã đạt 25 4.1.2 Hạn chế 25 4.2 Kiến nghị 25 4.2.1 Định hướng phát triển 25 4.2.2 Định hướng mở rộng cải tiến hệ thống 26 TÀI LIỆU THAM KHẢO 27 DANH MỤC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang 2.1 Lời triệu gọi phương thức từ xa thi hành máy ảo Java xa 11 2.2 Nhiều dịch vụ đăng ký với đăng ký 12 2.3 Đối tượng stub gọi đối tượng skeleton 12 2.4 Kiến trúc chương trình kiểu RMI 13 2.5 Vai trò dịch vụ ánh xạ tên 14 2.6 Tiến trình thực thi ứng dụng RMI 15 3.1 Sơ đồ ERD 17 3.2 Sơ đồ sở liệu 17 3.3 Giao diện đăng nhập admin 18 3.4 Giao diện quản lý vé xem phim 18 3.5 Giao diện đăng nhập người dùng 19 3.6 Cập nhật thông tin cá nhân 19 3.7 Giao diện quên mật 20 3.8 Giao diện quản lý vé xem phim 20 3.9 Chọn phim 21 3.10 Đặt vé 21 3.11 Chọn rạp 22 3.12 Chọn xem 22 3.13 Chọn ghế 23 3.14 Thanh toán vé 23 3.15 Vé mua 24 Chương 1: TỔNG QUAN V Đ TI 1.1 Mục đích nghiên cứu Ngày nay, ứng dụng cơng nghệ thơng tin việc tin học hóa xem yếu tố mang tính định hoạt động phủ, tổ chức cơng ty, đóng vai trị quan trọng, tạo bước đột phá mạnh mẽ Cùng với phát triển không ngừng kỹ thuật máy tính mạng điện tử, cơng nghệ thơng tin cơng nghệ có đẳng cấp cao chinh phục hết đỉnh cao đến đỉnh cao khác Mạng Internet sản phẩm có giá trị lớn lao ngày trở nên công cụ thiếu, tảng cho truyền tải, trao đổi thơng tin tồn cầu Giờ đây, cơng việc quản lý, tổ chức đặt vé rạp chiếu phim vấn đề quan tâm Người quản lý ln gặp khó khăn trình hoạt động phận phim, lịch chiếu trang thiết bị đặc biệt trình mua bán vé Khi muốn mua vé xem phim, người mua phải đến tận rạp, chờ đợi xếp hàng, xem cịn vé hay khơng, cịn chỗ ngồi tốt hay khơng, có phim thích hay khơng v.v… thụ động phiền tối tốn thời gian Bởi đó, ứng dụng RMI giúp người học ưa chuộng sử dụng phổ biến tính tiện lợi dể quản lý Giúp tiết kiệm chi phí phát triển sau cho đơn vị phát triển phần mềm triển khai phần mềm Nâng cao khả tư lập trình, bắt kịp xu hướng cơng nghệ Vì lẽ đó, chúng em thực đề tài "Xây dựng ứng dụng mô việc đặt vé xem phim cho rạp chiếu phim" Chúng em viết ứng dụng mà người quản lý tạo nhiều tiêu đề phim với thông tin phim cho phép khách hàng thực giao dịch, phía khách hàng đặt vé, mua vé, xem phim trả vé theo yêu cầu Chúng em thực đề tài với mục đích học tập ứng dụng chúng em xây dựng phần giúp việc quản lý rạp phim cách tiện lợi nhanh chóng 1.2 Nhiệm vụ nghiên cứu So với phương thức khác, ứng dụng quản lý việc đặt vé mang lại hiệu tương đối cao tiết kiệm chi phí Hơn nữa, với việc kết nối sở liệu MySQL việc lưu trữ thơng tin nhanh chóng tiện lợi Biết nhu cầu đó, thân chúng em sinh viên công nghệ thông tin thúc thân phải làm Cho nên chúng em xây dựng nên ứng dụng, hệ thống đơn giản, thân thiện, dễ sử dụng, cho phép người dùng truy cập cách nhanh chóng 1.3 Phương pháp nghiên cứu Cách tiếp cận: Nghiên cứu giảng lớp kết hợp với việc học hỏi qua số tài liệu NXB Giáo Dục Sử dụng phương pháp nghiên cứu: - Phương pháp đọc tài liệu - Phương pháp phân tích mẫu - Phương pháp thực nghiệm Chương 2: CƠ SỞ LÝ THUYẾT 2.1 JAVA 2.1.1 Tổng quan Java Ngơn ngữ lập trình Java ban đầu phát triển Sun Microsystems James Gosling khởi xướng phát hành vào năm 1995 (Java 1.0 [J2SE]) Tính đến thời điểm (tháng 2/2015) phiên Java Standard Edition (JSE) Với ưu đa tảng (multi platform) Java lúc ứng dụng rộng rãi nhiều thiết bị từ máy tính đến mobile nhiều thiết bị phần cứng khác Java ngôn ngữ lập trình hướng đối tượng nên có đặc điểm chung ngôn ngữ hướng đối tượng:  Tính trừu tượng (Abstraction): tiến trình xác định nhóm thuộc tính, hành động liên quan đến thực thể đặc thù, xét mối tương quan với ứng dụng phát triển  Tính đa hình (Polymorphism): cho phép phương thức có tác động khác nhiều loại đối tượng khác Với tính đa hình, phương thức ứng dụng cho đối tượng thuộc lớp khác đưa đến kết khác Bản chất việc phương thức bao gồm số lượng tham số  Tính kế thừa (Inheritance): Điều cho phép đối tượng chia sẻ hay mở rộng đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại  Tính đóng gói (Encapsulation): tiến trình che giấu việc thực thi chi tiết đối tượng người sử dụng đối tượng Bên cạnh Java cịn có số đặc tính khác:  Độc lập (Write Once, Run Anywhere): Không giống nhiều ngôn ngữ lập trình khác C C ++, Java biên dịch, khơng biên dịch sang mã máy cụ thể, mà thay vào mã bytecode chạy máy ảo Java (JVM) Điều đồng nghĩa với việc thiết bị có cài đặt JVM thực thi chương trình Java  Đơn giản: học Java thật dễ nhiều so với C/C++, bạn quen với ngơn ngữ lập trình hướng đối tượng việc học Java dễ dàng Java trở nên đơn giản so với C/C++ loại bỏ tính đa kế thừa phép toán trỏ từ C/C++  Bảo mật: Java hỗ trợ bảo mật tốt thuật tốn mã hóa mã hóa chiều (one way hashing) mã hóa cơng cộng (public key)  Đa luồng: Với tính đa luồng Java viết chương trình thực thi nhiều task lúc Tính thường sử dụng nhiều lập trình game  Hiệu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng nhớ đối tượng khơng dùng đến  Linh hoạt: Java xem linh hoạt C/C ++ thiết kế để thích ứng với nhiều mơi trường phát triển 2.1.2 Tại lại sử dụng Java? Ngơn ngữ Java có cú pháp giống với ngôn ngữ C/C++ (là ngôn ngữ mạnh dùng phổ biến nay), nhiên thay đổi nhiều để đáp ứng khả độc lập với hệ điều hành Nền tảng ngôn ngữ Java class Các class đóng vai trị đối tượng, người lập trình xây dựng ứng dụng sử dụng số class chuẩn hệ thống, đồng thời tự xây dựng class khác đáp ứng u cầu cơng việc Java ngơn ngữ dễ học, lược bớt lệnh thừa rườm rà C/C++ để người lập trình trọng vào việc viết chương trình Đồng thời, cịn hạn chế người lập trình khơng can thiệp sâu vào hệ thống Có điểm mạnh Java Java có độ bảo mật cao Một điểm Java miễn phí, cơng cụ lập trình Java thường nhiều, cộng đồng Java lớn, tạo plugin, mã nguồn mở phong phú cho bạn sử dụng 2.2 Tổng quan RMI 2.2.1 Tổng quan RMI RMI (Remote Method Invocation) công nghệ hệ thống phân tán cho phép máy ảo Java (JVM) gọi phương thức đối tượng nằm máy ảo Java khác mạng 2.2.2 RMI gì? RMI cơng nghệ Java cho phép JVM giao tiếp với JVM khác thi hành phương thức đối tượng nằm JVM Hình 2.1 Lời triệu gọi phương thức từ xa thi hành máy ảo Java xa 2.3 RMI làm việc nào? Các hệ thống sử dụng RMI cho việc truyền thông tiêu biểu phân thành loại: Clients Servers Server cung cấp dịch vụ RMI, Client gọi phương thức Server cung cấp RMI Server phải đăng ký dịch vụ tìm kiếm, cho phép Client tìm thấy thơng tin Server cung cấp, chúng tham chiếu tới dịch vụ khác Một ứng dụng chạy cho RMI có tên rmiregistry Ứng dụng chạy xử lý độc lập với chương trình RMI, cho phép đối tượng Server đăng ký tên Mỗi lần đối tượng đăng ký xong, đợi sau thực lời gọi từ phía Client Hình 2.2 Nhiều dịch vụ đăng ký với đăng ký Các đối tượng Client gửi thông điệp tới phương thức xa Trước phương thức xa thực thi Client phải có tham chiếu Server Điều thực dịch vụ tìm kiếm đăng ký RMI Đối tượng Client yêu cầu tên dịch vụ, nhận URL Nên nhớ URL cho HTTP, hầu hết giao thức đại diện sử dụng cú pháp URL Định dạng sử dụng RMI để đại diện cho đối tượng tham chiếu từ xa sau: rmi://hostname:port/servicename Trong hostname tên của Server địa IP Server, port số hiệu cổng cung cấp dịch vụ, servicename chuỗi mô tả dịch vụ Những thông tin chi tiết hoạt động mạng ln suốt với người phát triển ứng dụng làm việc với đối tượng xa, việc trở nên đơn giản làm việc với đối tượng máy cục Điều thực nhờ phép chia thông minh hệ thống RMI thành hai thành phần, stub skeleton Hình 2.3 Đối tượng stub gọi đối tượng skeleton Tại RMI Server, đối tượng skeleton có nhiệm vụ lắng nghe yêu cầu chuyển yêu cầu tới dịch vụ RMI Sau người phát triển tạo giao diện RMI, người cịn phải định nghĩa cụ thể giao diện Đối tượng định nghĩa gọi đối tượng skeleton 2.4 Kiến trúc chương trình RMI Kiến trúc chương trình theo chế RMI mơ tả hình sau: Hình 2.4 Kiến trúc chương trình kiểu RMI Trong đó: + Server chương trình cung cấp đối tượng gọi từ xa + Client chương trình có tham chiếu đến phương thức đối tượng xa Server + Stub chứa tham chiếu đến phương thức xa Server + Skeleton đón nhận tham chiếu từ Stub để kích hoạt phương thức tương ứng Server + Remote Reference Layer hệ thống truyền thông RMI + Transport tầng giao vận dựa giao thức TCP/IP máy mạng Bằng cách sử dụng kiến trúc phân tầng mà tầng phân cấp thay mà không ảnh hưởng tới tầng lại hệ thống 2.5 Các chế liên quan ứng dụng RMI Trong ứng dụng phân tán cần có chế sau: + Cơ chế định vị đối tượng xa (Locate remote objects) + Cơ chế giao tiếp với đối tượng xa (Communicate with remote objects) + Tải lớp danh bytecodes cho lớp mà chuyển tải qua lại máy ảo (Load class bytecodes for objects that are passed around) Hình 2.5 Vai trị dịch vụ ánh xạ tên Trong đó: + Server đăng ký tên cho đối tượng gọi từ xa với dịch vụ ánh xạ tên (Registry Server) + Client tìm đối tượng xa thơng qua tên đăng ký Registry Server (looks up) tiếp gọi phương thức xa + Hình 2.5 cho thấy cách thức mà hệ thống RMI sử dụng Web Server sẵn có để truyền tải mã bytecodes lớp qua lại Client Server 2.6 Cơ chế thực thi ứng dụng RMI Tiến trình thực thi ứng dụng RMI diễn sau: Hình 2.6 Tiến trình thực thi ứng dụng RMI + Bước 1: Server tạo đối tượng cho phép gọi từ xa với Stub Skeleton chúng + Bước 2: Server sử dụng lớp Naming để đăng ký tên cho đối tượng từ xa (1) + Bước 3: Naming đăng ký Stub đối tượng từ xa với Registry Server (2) + Bước 4: Registry Server sẵn sàng cung cấp tham chiếu đến đối tượng từ xa có yêu cầu (3) + Client yêu cầu Naming định vị đối tượng xa thông qua tên đăng ký (phương thức lookup) với dịch vụ tên (4) + Naming tải Stub đối tượng xa từ dịch vụ tên mà đối tượng đăng ký Client (5) + Cài đặt đối tượng Stub trả tham chiếu đối tượng xa cho Client (6) + Client thực thi lời gọi phương thức xa thông qua đối tượng Stub (7) Chương 3: XÂY DỰNG ỨNG DỤNG MÔ PHỎNG VIỆC ĐẶT VÉ XEM PHIM CHO CÁC RẠP CHIẾU PHIM 3.1 Phân tích thiết kế hệ thống 3.1.1 Mơ tả ứng dụng Định tác nhân sử dụng website sau:  Admin: Người quản lý hệ thống, bao gồm quản lí rạp chiếu phim, phịng chiếu, ghế ngồi, phim, lịch chiếu phim  Khách Hàng: Người sử dụng phần mềm để đặt vé xem phim Dựa vào tác nhân trên, website chúng tơi gồm có module chính: module dành cho người quản lý, module dành cho khách hàng  Module dành admin:  Hiển thị danh sách rạp phim  Hiển thị danh sách phòng chiếu phim theo rạp  Hiển thị vị trí ghế ngồi  Hiển thị danh sách phim, thông tin chi tiết phim  Hiển thị lịch chiếu phim theo phim  Lưu vé đặt hiển thị danh sách vé theo người dùng  Module dành cho khách hàng:  Xem thông tin phim chọn phim  Chọn rạp chiếu phim lịch chiếu  Chọn ghế ngồi  Đặt vé xem phim xem vé đặt  Quản lý thông tin cá nhân 3.1.2 Sơ đồ ERD Hình 3.1 Sơ đồ ERD 3.1.3 Sơ đồ sở liệu Hình 3.2 Sơ đồ sở liệu 3.4 Giao diện ứng dụng 3.4.1 Giao diện “Server” 3.3.2 Giao diện “Client” Chương 4: KẾT LUẬN V HƯỚNG PHÁT TRIỂN 4.1 Kết luận 4.1.1 Đã đạt  Về bản, đề tài hoàn thành chức quan trọng cần thiết dự án  Hoàn thành phần mềm với chức theo yêu cầu người sử dụng 4.1.2 Hạn chế Bên cạnh mặt đạt có số hạn chế chúng em gặp phải Vì lượng kiến thức cịn hạn hẹp thời gian thực đề tài có giới hạn, chúng em khơng thể hồn thành tối đa mục tiêu đặt ra, sau hạn chế chúng em:  Giao diện chưa đẹp mắt  Các chức hạn chế, chưa thực tạo nhiều chức để phù hợp với người sử dụng  Mơ hình hệ thống chưa tối ưu nhiều 4.2 Kiến nghị 4.2.1 Định hướng phát triển Với tìm hiểu ngơn ngữ cơng cụ, chúng em tiếp tục mài mị tìm hiểu để nâng cao trình độ trau dồi kiến thức để xây dựng ứng dụng có quy mơ lớn Từ đó, ứng dụng hồn thiện đầy đủ tính sinh để phục vụ cá nhân, đối tượng cụ thể với mục đích tốt Khi viết ứng dụng chúng em có hội để thể thân hơn, chúng em tin sau làm tốt ứng dụng này, ứng dụng tương lai khơng q khó khăn với chúng em Về phần ứng dụng chúng em, chúng em tiếp tục hồn thiện với hy vọng tương lai khơng xa, ứng dụng chúng em hồn thiện thương mại hóa 4.2.2 Định hướng mở rộng cải tiến hệ thống Trong tương lai chúng em giải hạn chế vướng phải nêu đồng thời cải tiến thêm tính hay thiết kế trang ứng dụng đẹp, sinh động trực quan từ tính ứng dụng ứng dụng phát huy cách tối đa có hiệu TI LIỆU THAM KHẢO [1] Trần Thu Mai, Bài giảng HỆ THỐNG PHÂN TÁN, 2017 Ngo Dinh Ngoc, Giới thiệu Java RMI(Remote Method Invocation), [2] https://viblo.asia/p/gioi-thieu-ve-java-rmiremote-method-invocationXogBG2xrRxnL, 2015 Gia Sư Tin Học, Lập trình phân tán với Java RMI, https://giasutinhoc.vn/lap[3] trinh/lap-trinh-giao-dien/lap-trinh-phan-tan-voi-java-rmi-bai-7-2/, 2019 GP Coder, Hướng dẫn kết nối sở liệu với Java JDBC, [4] https://gpcoder.com/5188-huong-dan-ket-noi-co-so-du-lieu-voi-java-jdbc, 2019

Ngày đăng: 12/06/2023, 09:44

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

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

Tài liệu liên quan