1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO MÔN HỌC ĐỀ TÀI: LẬP TRÌNH MOBILE ĐỀ TÀI : ỨNG DỤNG XEM PHIM

23 15 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Ứng Dụng Xem Phim
Tác giả Lê Quang Vinh, Bùi Tiến Dũng
Người hướng dẫn Phương Văn Cảnh
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Môn Học
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 23
Dung lượng 551,16 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Untitled 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 hiện LÊ QUANG VINH BÙI TIẾN DŨNG Giảng viên hướng dẫn PHƯƠ[.]

Trang 1

ĐỀ TÀI : ỨNG DỤNG XEM PHIM

Sinh viên thực hiện : 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

Hà Nội, tháng 12 năm 2021

Trang 2

LỜI NÓI ĐẦU

Lập trình đối tượng phân tán là một vấn đề nóng bỏng của công nghệ phân tán phầnmềm ngày này Java là ngôn ngữ đi tiên phong với RMI (Remote Method Invocation),một kỹ thuật cài đặt các đối tượng phân tán vô cùng hiệu vô cùng hiệu quả và linhđộng Do đó, chúng em đã chọn đề tài "Xây dựng ứng dụng mô phỏng việc đặt vé xemphim cho các rạp chiếu phim” để giúp việc quản lý rạp phim này một cách hiệu quả

Về mặt lý thuyết, các phần sẽ được trình bày gồm:

Chương 1: Tổng quan về đề tài

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

Trang 3

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

Chương 4: Kết luận, hướng phát triển

Về mặt thực tiễn, khi thực hiện, đề tài giúp cho chúng em có thêm kiến thức về lậptrình Java, hiểu được cách thức vận hành của một ứng dụng di động cơ bản là như thếnào Điều này góp phần nâng cao kiến thức của chúng em khi viết một ứng dụng RMItiếp theo

Mặc dù, chúng em đã cố gắng trong quá trình thực hiện nhưng chắc chắn sẽ còn mộtvài thiếu sót và hạn chế Rất mong được sự đóng góp ý kiến quý báu của quý ThầyPhương Cảnh và các bạn

Trang 4

MỤC LỤC

LỜI CẢM ƠN 1

LỜI NÓI ĐẦU 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 5

Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 7

1.1 Mục đích nghiên cứu 7

1.2 Nhiệm vụ nghiên cứu 8

1.3 Phương pháp nghiên cứu 8

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

2.1 JAVA 9

2.1.1 Tổng quan về Java 9

2.1.2 Tại sao lại sử dụng Java? 10

2.2 Tổng quan về RMI 11

2.2.1 Tổng quan về RMI 11

2.2.2 RMI là gì? 11

2.3 RMI làm việc như thế nào? 11

2.4 Kiến trúc của chương trình RMI 13

2.5 Các cơ chế liên quan trong một ứng dụng RMI 14

2.6 Cơ chế thực thi của một ứ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

Trang 5

3.1.3 Sơ đồ cơ sở dữ 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 được 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 và cải tiến hệ thống 26

TÀI LIỆU THAM KHẢO 27

Trang 6

2.6 Tiến trình thực thi của ứng dụng RMI 15

Trang 7

3.12 Chọn giờ xem 22

Trang 8

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 và việc tin học hóa được xem là mộttrong những yếu tố mang tính quyết định trong hoạt động của chính phủ, tổ chức cũngnhư các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phámạnh mẽ

Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử,công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinhphục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sản phẩm

có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nềntảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu

Giờ đây, công việc quản lý, tổ chức và đặt vé ở rạp chiếu phim là vấn đề đangđược quan tâm Người quản lý luôn gặp khó khăn trong quá trình hoạt động của từng

bộ phận như phim, lịch chiếu và các trang thiết bị và đặc biệt là quá 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ó bộ phim mình thích hay không v.v… rấtthụ động và phiền toái và tốn thời gian Bởi đó, những ứng dụng RMI giúp người họcrất ưa chuộng và được sử dụng phổ biến vì tính tiện lợi và dể quản lý của nó

Giúp tiết kiệm chi phí phát triển về sau cho đơn vị phát triển phần mềm triểnkhai phần mềm Nâng cao khả năng tư duy lập trình, bắt kịp xu hướng công nghệ mới

Vì lẽ đó, chúng em đã thực hiện đề tài "Xây dựng ứng dụng mô phỏng việc đặt

vé xem phim cho các rạp chiếu phim" Chúng em sẽ viết một ứng dụng mà ở đó ngườiquản lý có thể tạo ra nhiều tiêu đề phim cùng với thông tin phim và cho phép kháchhàng thực hiện các giao dịch, phía khách hàng có thể đặt vé, mua vé, xem phim và trả

vé theo yêu cầu Chúng em thực hiện đề tài này với mục đích học tập là chính và ứngdụng của chúng em xây dựng một phần giúp việc quản lý rạp phim một cách tiện lợi

và nhanh chóng hơn

Trang 9

1.2 Nhiệm vụ nghiên cứu

So với những phương thức khác, ứng dụng quản lý việc đặt vé mang lại hiệuquả tương đối cao và tiết kiệm được chi phí Hơn thế nữa, với việc kết nối cơ sở dữliệu MySQL thì việc lưu trữ thông tin một nhanh chóng và tiện lợi hơn

Biết được nhu cầu đó, bản thân của chúng em là những sinh viên công nghệthông tin luôn thôi thúc bản thân mình phải làm gì đó Cho nên chúng em đã xây dựngnên một ứng dụng, một hệ thống đơn giản, thân thiện, dễ sử dụng, cho phép ngườidùng truy cập một 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 các bài giảng trên lớp kết hợp với việc học hỏi qua một số tài liệu của NXB Giáo Dục

Sử dụng các 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

Trang 10

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

2.1.1 Tổng quan về Java

Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do JamesGosling khởi xướng và phát hành vào năm 1995 (Java 1.0 [J2SE]) Tính đến thời điểmnày (tháng 2/2015) phiên bản mới nhất của Java Standard Edition (JSE) là 8 Với ưuthế về đa nền tảng (multi platform) Java càng lúc càng được ứng dụng rộng rãi trênnhiều thiết bị từ máy tính đến mobile và nhiều thiết bị phần cứng khác

Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của cácngôn ngữ hướng đối tượng:

 Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính,các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quanvới ứng dụng đang phát triển

 Tính đa hình (Polymorphism): cho phép một phương thức có các tác động khácnhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùng mộtphương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưađến những kết quả khác nhau Bản chất của sự việc chính là phương thức nàybao gồm cùng một số lượng các tham số

 Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mởrộng các đặ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): là tiến trình che giấu việc thực thi những chitiết của một đối tượng đối với người sử dụng đối tượng ấy

Bên cạnh đó Java còn có một số đặc tính khác:

 Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngôn ngữlập trình khác như C và C ++, khi Java được biên dịch, nó không được biêndịch sang mã máy cụ thể, mà thay vào đó là mã bytecode chạy trên máy ảoJava (JVM) Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ

có thể thực thi được các chương trình Java

Trang 11

 Đơn giản: học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen với cácngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn Java trởnên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toán contrỏ từ C/C++.

 Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa mộtchiều (one way hashing) hoặc mã hóa công cộng (public key)

 Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thực thinhiều task cùng một lúc Tính năng này thường được sử dụng rất nhiều tronglập trình game

 Hiệu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộnhớ đối với các đối tượng không được dùng đến

 Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế để thíchứng với nhiều môi trường phát triển

2.1.2 Tại sao lại sử dụng Java?

Ngôn ngữ Java có cú pháp rất giống với ngôn ngữ C/C++ (là một ngôn ngữ rấtmạnh được dùng phổ biến hiện nay), tuy nhiên nó đã được thay đổi khá nhiều để đápứng khả năng độc lập với hệ điều hành Nền tảng của ngôn ngữ Java là các class Cácclass đóng vai trò như những đối tượng, người lập trình khi xây dựng ứng dụng sẽ sửdụng một số class chuẩn của hệ thống, đồng thời có thể tự mình xây dựng class khácđáp ứng yêu cầu công việc

Java là ngôn ngữ dễ học, nó lược bớt những lệnh thừa và rườm rà của C/C++

để người lập trình chú trọng vào việc viết chương trình Đồng thời, nó còn hạn chếngười lập trình không can thiệp quá sâu vào hệ thống

Có một điểm mạnh của Java là Java có độ bảo mật cao Một điểm nữa là Java

là miễn phí, các công cụ lập trình của Java thường rất nhiều, các cộng đồng Java thìrất lớn, tạo ra được các plugin, các mã nguồn mở rất phong phú cho bạn sử dụng

2.2 Tổng quan về RMI

2.2.1 Tổng quan về RMI

Trang 12

RMI (Remote Method Invocation) là một công nghệ của các hệ thống phân tán nó chophép một máy ảo Java (JVM) gọi những phương thức của đối tượng nằm trên máy ảoJava khác ở trong cùng một mạng

2.2.2 RMI là gì?

RMI là một công nghệ Java cho phép một JVM giao tiếp với một JVM khác và thihành các phương thức của đối tượng nằm trên JVM đó

Hình 2.1 Lời triệu gọi phương thức từ xa được thi hành trên máy ảo Java ở xa

2.3 RMI làm việc như thế nào?

Các hệ thống sử dụng RMI cho việc truyền thông tiêu biểu được phân thành 2loại: Clients và Servers Server cung cấp dịch vụ RMI, và Client gọi các phương thức

do Server cung cấp RMI Server phải đăng ký một dịch vụ tìm kiếm, cho phép cácClient tìm thấy thông tin Server cung cấp, hoặc chúng có thể tham chiếu tới dịch vụkhác

Một ứng dụng chạy nền cho RMI có tên là rmiregistry Ứng dụng này chạy và

xử lý độc lập với các chương trình RMI, nó cho phép các đối tượng trên Server đăng

ký tên của mình Mỗi lần một đối tượng được đăng ký xong, nó sẽ đợi sau đó thựchiện lời gọi từ phía Client

Trang 13

Hình 2.2 Nhiều dịch vụ đăng ký với một bộ đăng kýCác đối tượng trên Client sẽ gửi những thông điệp tới những phương thức ở xa.Trước khi một phương thức ở xa được thực thi Client phải có tham chiếu của nó trênServer Điều đó được thực hiện bởi dịch vụ tìm kiếm trong bộ đăng ký RMI

Đối tượng trên Client yêu cầu một tên dịch vụ, và sẽ nhận được một URL Nênnhớ những URL không phải cho HTTP, hầu hết các giao thức có thể đại diện sử dụng

cú pháp của URL Định dạng được sử dụng bởi RMI để đại diện cho một đối tượngtham chiếu từ xa như sau: rmi://hostname:port/servicename

Trong đó hostname tên của của Server hoặc địa chỉ IP của Server, port số hiệucổng cung cấp dịch vụ, servicename là một chuỗi mô tả dịch vụ Những thông tin chitiết của hoạt động mạng thì luôn trong suốt với người phát triển ứng dụng khi làm việcvới các đối tượng ở xa, việc đó trở nên đơn giản như khi làm việc với đối tượng tạimáy cục bộ Điều này được thực hiện nhờ một phép chia thông minh của hệ thốngRMI thành hai thành phần, một là stub và một là 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 những yêu cầu vàchuyển các yêu cầu đó tới dịch vụ RMI Sau khi người phát triển tạo ra một giao diện

Trang 14

RMI, người đó còn phải định nghĩa cụ thể giao diện đó Đối tượng được định nghĩanày sẽ được gọi là đối tượng skeleton.

2.4 Kiến trúc của chương trình RMI

Kiến trúc của một chương trình theo cơ chế RMI được mô tả như hình sau:

Hình 2.4 Kiến trúc chương trình kiểu RMITrong đó:

+ Server là chương trình cung cấp các đối tượng có thể được gọi từ xa

+ Client là chương trình có tham chiếu đến các phương thức của các đối tượng ở xatrên Server

+ Stub chứa các tham chiếu đến các phương thức ở xa trên Server

+ Skeleton đón nhận các tham chiếu từ Stub để kích hoạt phương thức tương ứng trênServer

+ Remote Reference Layer là hệ thống truyền thông của RMI

+ Transport là tầng giao vận được dựa trên giao thức TCP/IP giữa các máy trongmạng Bằng cách sử dụng kiến trúc phân tầng như trên mà mỗi tầng có thể phân cấphoặc thay thế mà không ảnh hưởng tới các tầng còn lại của hệ thống

2.5 Các cơ chế liên quan trong một ứng dụng RMI

Trong một ứng dụng phân tán cần có các cơ chế sau:

Trang 15

+ Cơ chế định vị đối tượng ở xa (Locate remote objects)

+ Cơ chế giao tiếp với các đối tượng ở xa (Communicate with remote objects)

+ Tải các lớp danh bytecodes cho các lớp mà nó được chuyển tải qua lại giữa máy ảo(Load class bytecodes for objects that are passed around)

Hình 2.5 Vai trò của dịch vụ ánh xạ tênTrong đó:

+ Server đăng ký tên cho đối tượng có thể được gọi từ xa của mình 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ý trên Registry Server(looks up) và tiếp đó gọi các phương thức ở xa

+ Hình 2.5 cũng cho thấy cách thức mà hệ thống RMI sử dụng một Web Serversẵn có để truyền tải mã bytecodes của các lớp qua lại giữa Client và Server

2.6 Cơ chế thực thi của một ứng dụng RMI

Tiến trình thực thi của một ứng dụng RMI diễn ra như sau:

Downloaded by vu ga (vuchinhhp2@gmail.com)

Trang 16

Hình 2.6 Tiến trình thực thi của ứng dụng RMI+ Bước 1: Server tạo các đối tượng cho phép gọi từ xa cùng với Stub vàSkeleton của chúng

+ Bước 2: Server sử dụng lớp Naming để đăng ký tên cho một đối tượng từ xa(1)

+ Bước 3: Naming đăng ký Stub của đố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ừ xakhi có yêu cầu (3)

+ Client yêu cầu Naming định vị đối tượng ở xa thông qua tên đã được đăng ký(phương thức lookup) với dịch vụ tên (4)

+ Naming tải Stub của đối tượng ở xa từ dịch vụ tên mà đối tượng đã đăng ký

về Client (5)

+ Cài đặt đối tượng Stub và trả về tham chiếu đối tượng ở xa cho Client (6) + Client thực thi một lời gọi phương thức ở xa thông qua đối tượng Stub (7)

Downloaded by vu ga (vuchinhhp2@gmail.com)

Trang 17

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 các tác nhân sử dụng website như 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 các tác nhân trên, website của chúng tôi gồm có 2 module chính:

1 module dành cho người quản lý, 1 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 từng rạp

 Hiển thị vị trí ghế ngồi

 Hiển thị danh sách phim, thông tin chi tiết của phim

 Hiển thị lịch chiếu phim theo từng phim

 Lưu vé đã đặt và hiển thị danh sách vé theo từng người dùng

 Module dành cho khách hàng:

 Xem thông tin phim và chọn phim

 Chọn rạp chiếu phim và lịch chiếu

 Chọn ghế ngồi

 Đặt vé xem phim và xem vé đã đặt

 Quản lý thông tin cá nhân

Downloaded by vu ga (vuchinhhp2@gmail.com)

Trang 18

3.1.2 Sơ đồ ERD

Hình 3.1 Sơ đồ ERD

3 1 3 Sơ đồ cơ sở dữ liệu

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

Downloaded by vu ga (vuchinhhp2@gmail.com)

Trang 19

3.4 Giao diện ứng dụng

3.4.1 Giao diện “Server”

3.3.2 Giao diện “Client”

Downloaded by vu ga (vuchinhhp2@gmail.com)

Trang 20

Downloaded by vu ga (vuchinhhp2@gmail.com)

Trang 21

Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận

 Giao diện còn chưa được đẹp mắt

 Các chức năng còn hạn chế, chưa thực sự tạo ra nhiều chức năng để phù hợphơn với người sử dụng

 Mô hình hệ thống chưa được tối ưu nhiều

4.2 Kiến nghị

4.2.1 Định hướng phát triển

Với sự tìm hiểu cơ bản về các ngôn ngữ và công cụ, chúng em sẽ tiếp tục mài

mò và tìm hiểu để nâng cao trình độ cũng như trau dồi kiến thức để xây dựng nhữngứng dụng có quy mô lớn hơn Từ đó, những ứng dụng hoàn thiện và đầy đủ tính năng

sẽ được sinh ra để phục vụ những cá nhân, đối tượng cụ thể với mục đích tốt hơn Khiviết ứng dụng chúng em cũng có cơ hội để thể hiện bản thân mình hơn, chúng em tin

là sau khi làm tốt ứng dụng này, những ứng dụng trong tương lai sẽ không quá là khókhăn với chúng em

Về phần ứng dụng của chúng em, chúng em sẽ tiếp tục hoàn thiện nó với hyvọng trong một tương lai không xa, ứng dụng của chúng em sẽ hoàn thiện và có thểthương mại hóa

Downloaded by vu ga (vuchinhhp2@gmail.com)

Ngày đăng: 10/01/2023, 23:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w