Sau đó chọn được phim mình mong muốn xem Bước 2: Ở đây khách hàng có thể chọn ngày ngày xem và khung giờ để xem tiến hành đặt vé theo thời gian và nhu cầu của bản thân Bước 3: Khác hàng
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
ĐỒ ÁN CHUYÊN NGÀNH
XÂY DỰNG WEBSITE BÁN VÉ XEM PHIM ONLINE
CHO RẠP PHIM LÊ ĐỘ - ĐÀ NẴNG
Đà Nẵng, Ngày 27 tháng 07 năm 2020
Trang 2Nhận xét của giáo viên hướng dẫn
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……….
Đà Nẵng, Ngày…… Tháng…… Năm………
Chữ ký của giảng viên hướng dẫn
Trang 3MỤC LỤC
LỜI CẢM ƠN 5
CHƯƠNG I: TỔNG QUAN BÀI TOÁN 6
2 Tổng quan đề tài: 6
2.1 Lý do chọn đề tài: 6
2.4 Giải pháp công nghệ: 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7
3 Ngôn ngữ lập trình Java và Ms SQL: 7
3.1 Giới thiệu về ngôn ngữ lập trình JAVA: 7
3.2 Tổng quan về hệ quản trị cơ sở dữ liệu MS SQL : 8
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE 10
4 Phân tích hệ thống: 10
4.1 Mô tả hoạt động nghiệp vụ: 10
4.2 Yêu cầu chất lượng: 10
4.3 Các tác nhân: 10
4.4 Sơ đồ Use – case: 11
4.5 Đặc tả các Use – case: 11
CHƯƠNG 4 : THIẾT KẾ CƠ SỞ DỮ LIỆU 24
5 Thiết kế cơ sở dữ liệu 24
5.1 EER Diagram: 24
5.2 Sơ đồ ERD: 25
5.3 Thiết kế bảng: 26
5.4 Các function sử dụng : 31
CHƯƠNG 5 : XÂY DỰNG CHƯƠNG TRÌNH 33
6 Kết quả triển khai hệ thống: 33
6.1 Giao diện trang chủ: 33
6.2 Giao diện trang quản trị 40
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43
1 Kết luận: 43
1.1 Những công việc làm được 43
1.2 Hạn chế 43
1.3 Kết luận 43
TÀI LIỆU THAM KHẢO 44
Trang 4DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ cấu trúc hoạt động của jsp và servlet 9
Hình 6: Giao diện quên mật khẩu 15
Hình 6: Giao diện cập nhật thông tin 16
Hình 7: Giao diện chọn ghế 19
Hình 8: Giao diện thanh toán 20
Hình 9: Giao diện thêm mới phim 21
Hình 10: Giao diện cập nhật lịch chiếu 22
Hình 10: Giao diện cập nhật nhân viên 22
Hình 11: Sơ đồ EER Diagram 24
Hình 12: Sơ đồ ERD 25
Hình 13: Giao diện trang chủ 33
Hình 14: Giao diện chi tiết phim 34
Hình 15: Giao diện đặt vé 35
Hình 16: Giao diện thanh toán 36
Hình 17: Giao diện đặt vé hoàn thành 37
Hình 19: Giao diện đăng nhập Admin 40
Hình 20: Giao diện quản lý phim 40
Trang 5LỜI CẢM ƠN
Trước hết, em xin chân thành cảm ơn thầy cô trong khoa Điện - Điện tử cùng toàn thể thầy cô trong trường Đại học Sư phạm Kỹ thuật – ĐH Đà Nẵng những người đã truyền hết tâm huyết và vốn kiến thức của mình cho chúng em trong suốt ba năm qua,
để chúng em có hành trang bước vào đời.
Em xin bày tỏ lòng biết ơn chân thành tới ThS Mai Văn Hà người đã trực tiếp
hướng dẫn, tận tâm giúp đỡ chúng em trong suốt quá trình thực hiện đồ án này Và,
em xin gởi lời cảm ơn tới ThS Lê Thiện Nhật Quang - giáo viên chủ nhiệm lớp đã
giúp đỡ chúng em rất nhiều trong quá trình học tập và công việc.
Tôi xin cảm ơn các bạn trong lớp 17T1 đã ủng hộ, khích lệ, giúp đỡ và luôn sát cánh bên tôi trong suốt quá trình học tập, rèn luyện tại trường
Và cuối cùng, tôi xin được gửi lời cảm ơn tới gia đình, người thân và bạn bè những người đã luôn ở bên tôi những lúc khó khăn nhất, luôn động viên và khuyến khích tôi trong cuộc sống cũng như trong học tập và công việc.
Do kiến thức và kinh nghiệm còn hạn cho nên bài báo cáo của em còn nhiều thiếu sót, kính mong được sự đánh giá, góp ý của quý thầy cô.
Em xin chân thành cảm ơn!
Đà Nẵng, ngày 27 tháng 07 năm 2020
Sinh viên thực hiện Phạm Tiến Dũng
Trang 6CHƯƠNG I: TỔNG QUAN BÀI TOÁN
1 Tổng quan đề tài:
1.1 Lý do chọn đề tài:
Khi xã hội ngày càng phát triển, mức sống của người dân được nâng cao thunhập kinh tế ngày càng được cải thiện Bên cạnh những sản phẩm phục vụ nhu cầuthiết yếu thì còn có các sản phẩm vụ về tinh thần mà tất cả mọi người đều thích đặtbiệt là giới trẻ đó là xem các phim ở các rạp xem phim Tuy nhiên, để có một chỗ ngồiưng ý như mong muốn, khá là khó để có nếu như mua vé một cách trực tiếp
Từ những lý do trên, chúng tôi chọn thực hiện đề tài “ Xây dựng website bán vé xem phim online – cho rạp chiếu phim Lê Độ - Đà Nẵng” làm hướng nghiên cứu
cho đề tài
Sự phát triển mạnh mẽ của công nghệ thông tin ngày một kéo theo sự phát triểncủa các ngành, các lĩnh vực, các thành phần kinh tế Một cá nhân hay tổ chức sở hữumột website, một cổng thông tin là điều dễ thấy trên Internet và để thiết kế một trangweb phục vụ mục đích riêng hay sử dụng phần mềm hỗ trợ, người dùng có nhiều lựachọn Như các lĩnh vực khác, để quản lý tốt việc kinh doanh của cửa hàng thì việc cầnmột phần mềm quản lý bán hàng là điều cần thiết
1.2 Mục tiêu và nhiệm vụ của đề tài:
1.2.1 Mục tiêu
Website phải có giao diện thân thiện với người dùng, dễ dàng sử dụng, tốc độ xử
lý cao, đảm bảo các tính năng cần thiết giúp tối ưu thời gian sử dụng cho người dùng
- Hệ quản trị cơ sở dữ liệu: MS SQL
- Công cụ hỗ trợ: Star UML, Sublime Text 3,…
Trang 7CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2 Ngôn ngữ lập trình Java và Ms SQL:
2.1 Giới thiệu về ngôn ngữ lập trình JAVA:
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ủacác ngô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 quan với ứngdụ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ác
nhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùng một phươ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ày bao gồm cùng một số lượngcá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 chi
tiết của một đối tượng đối với người sử dụng đối tượng ấy
Đặc điểm nổi bật của Java:
Hướng đối tượng – Trong Java, mọi thứ đều là một Object Java có thể dễ dàng
mở rộng và bảo trì vì nó được xây dựng dựa trên mô hình Object
Nền tảng độc lập – Không giống nhiều ngôn ngữ lập trình khác bao gồm cả C và
C ++, khi Java được biên dịch, nó không được biên dịch thành ngôn ngữ máy nền tảng
cụ thể, thay vào mã byte – nền tảng độc lập Mã byte này được thông dịch bởi máy ảo(JVM) trên nền tảng nào đó mà nó đang chạy
Bảo mật – Với tính năng an toàn của Java, nó cho phép phát triển các hệ thống
không có virut, giả mạo Các kỹ thuật xác thực dựa trên mã hoá khóa công khai
Kiến trúc – trung lập – Trình biên dịch Java tạo ra định dạng tệp đối tượng kiến
trúc trung lập, làm cho mã biên dịch được thực thi trên nhiều bộ vi xử lý, với sự hiệndiện của hệ điều hành Java
Portable – Là kiến trúc tập trung và không có khía cạnh thực hiện phụ thuộc của
đặc tả này làm cho Java khả chuyển Trình biên dịch trong Java được viết bằng ANSI
C, đó là một tập con POSIX
Mạnh mẽ – Java làm nỗ lực để loại trừ các tình huống dễ bị lỗi bằng cách kiểm
tra lỗi tại thời gian biên dịch và kiểm tra lỗi tại runtime
Đa luồng – Với tính năng đa luồng của Java có thể viết các chương trình có thể
thực hiện nhiều tác vụ đồng thời Tính năng thiết kế này cho phép các nhà phát triểnxây dựng các ứng dụng tương tác có thể chạy trơn tru hơn
Thông dịch – Mã byte Java được dịch trực tiếp tới các máy tính gốc và không
được lưu trữ ở bất cứ đâu
Hiệu năng cao – Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép
thực hiện hiệu năng cao
Phân tán – Java được thiết kế cho môi trường phân tán của Internet.
Năng động – Java là năng động hơn C hoặc C++ vì nó được thiết kế để thích
nghi với môi trường đang phát triển Các chương trình Java có thể mang một lượng
Trang 8lớn thông tin tại runtime mà có thể được sử dụng để xác minh và giải quyết các truycập vào các đối tượng tại runtime.
2.2 Tổng quan về hệ quản trị cơ sở dữ liệu MS SQL :
2.3 Giới thiệu về JSP & Servlet:
2.3.1 Đặc điểm
JSP (viết tắt của tiếng Anh JavaServer Pages) còn được biết đến với một cái tênkhác là Java Scripting Preprocessor - tạm dịch là "Bộ tiền xử lý văn lệnh Java" - là mộtcông nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một sốđịnh dạng khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trìnhkhách Công nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đãđược định trước (pre-defined actions) vào trong nội dung tĩnh của trang
Java Servlet API cho phép nhà phát triển phần mềm thêm những nội dung động
đôi khi cũng có thể là các ngôn ngữ khác như XML Servlets là bản sao Java của các
kỹ thuật trình bày nội dung Web động khác như là PHP, CGI và ASP.NET Servlets cóthể duy trì tình trạng thông qua các giao dịch của máy chủ bằng việc sử dụng HTTP
2.3.2 Sơ đồ hoạt động
Trang 9Hình 1: Sơ đồ cấu trúc hoạt động của jsp và servlet
2.4 Giới thiệu về mô hình MVC trong JAVA web:
2.4.1 Đặc điểm
Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục tiêu chia táchphần Giao diện và Code để dễ quản lý, phát triển và bảo trì MVC chia ứng dụng phầnmềm ra làm 3 phần có tương tác với nhau là Model(Dữ liệu), View(Giao diện),Controller( Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ(Business))
2.4.2 Cấu trúc, hoạt động của mô hình
Hình 2: Sơ đồ hoạt động của mô hình MVC trong Java
Trang 10CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ
THỐNG WEBSITE
3 Phân tích hệ thống:
3.1 Mô tả hoạt động nghiệp vụ:
Bước 1: Khách hàng ghé thăm website có thể xem, tìm kiếm thông tin về các bộ
phim đang chiếu cũng như sắp chiếu Sau đó chọn được phim mình mong muốn xem
Bước 2: Ở đây khách hàng có thể chọn ngày ngày xem và khung giờ để xem tiến
hành đặt vé theo thời gian và nhu cầu của bản thân
Bước 3: Khác hàng chọn vị trí ngồi, trên màn hình, chú ý ở đây có đếm giờ, nếu
trong vòng 5 phút khách hàng không hoàn thành thanh toán, thì khách hàng phải load lại trang, và hủy các vị trí khách hàng đang chọn
Bước 4: Thanh toán, khách hàng buộc phải thanh toán online trong quá trình đặt
hàng này, nếu thanh toán thành công Hệ thống sẽ xuất ra số lượng vé tương ứng với
số lượng mà khách hàng đặt, cho phép khách hàng tải về, để tiện cho việc check in vàophòng vé
Bước 5: Khi khách hàng đến tại quầy để check in vào phòng, nhân viên sẽ quét
mã qr code trên vé khách hàng đã đặt mua, trường hợp khách hàng không có điều kiện
để đưa ra mã qr code thì có thể kiểm tra bằng tên hoặc chứng minh nhân dân
3.2 Yêu cầu chất lượng:
- Giao diện thân thiện với người dùng, dễ sử dụng, phù hợp với các nộitrợ
- Thông tin phim đầy đủ, chi tiết phục vụ nhu cầu tìm hiểu phim của ngườidùng
- Mức độ bảo mật cao, an toàn, tốc độ nhanh chóng
Trang 113.4 Sơ đồ Use – case:
Hình 3: Sơ đồ Use - Case
B3: Người dùng nhập mã OTP vào phần
mã OTP trên màn hình
B4: Hệ thống kiếm tra mã OTP củangười dùng nhập đúng chưa, nếu đúnglưu trữ dữ liệu vào Database
- Sơ đồ hoạt động:
Trang 12- Sơ đồ tuần tự:
- Giao diện đăng ký thành viên:
Hình 4: Giao diện đăng ký thành viên
- Đăng nhập hệ thống:
Tác nhân: Thành viên muốn đăng nhập
B1: Khách hàng chọn đăng nhập vào hệ
thống, sau đó nhập đủ thông tin địa chỉ
Email, Mật khẩu của mình
B2: Kiểm tra dữ liệu nhập vào có đúngvới tài khoản người dùng hay không –nếu không sẽ thông báo login thất bại.Thành công chuyển qua index
Trang 13- Sơ đồ hoạt động:
- Sơ đồ tuần tự:
- Giao diện đăng nhập:
Hình 5: Giao diện đăng nhập hệ thống
- Quên mật khẩu:
Tác nhân: Thành viên bị quên mật khẩu
Trang 14Tác nhân Hệ thống
B1: Chọn quên mật khẩu, nhập Email tài
khoản của mình, chọn lấy mã OTP
B2: Kiểm tra dữ liệu Email có tồn tại tàikhoản nào không, nếu có OTP cho địachỉ Email đó
B3: Sau khi có mã OTP khách hàng nhập
vào ô xác mã OTP sao đó nhấn xác nhận
B4: Hệ thống kiểm tra mã OTP vừa nhập
có khớp với OTP hệ thống tạo ra chokhách hàng này không, nếu trùng hiển thịinput cho phép thay đổi mật khẩu.Ngược lại báo lỗi
B5: Nếu thành công xác nhận, khách
hàng sẽ nhập mật khẩu mới và xác nhận
đổi mật khẩu
B6: Hệ thống sẽ cập nhật dữ liệu vàoDatabase, và chuyển khách hàng quatrang đăng nhập
- Sơ đồ hoạt động:
- Sơ đồ tuần tự:
- Giao diện quên mật khẩu:
Trang 15Hình 2: Giao diện quên mật khẩu
- Cập nhật thông tin các nhân:
Tác nhân: Thành viên muốn thay đổi thông tin cá nhân
B1: Chọn thay đổi thông tin cá nhân B2: Lấy toàn bộ thông tin cá nhân của
người đang yêu cầu, hiển thị thông tin đócho người dùng xem, cho phép chỉnh sửaB3: Thay đổi thông tin cần thiết, chọn
cập nhật
B4: Hệ thống sẽ kiểm tra, nếu như thôngtin người dùng nhập, không có lỗi gìthêm thì tiến hành cập nhật dữ liệu mớivào cơ sở dữ liệu.Thay đổi thành công
- Sơ đồ hoạt động:
- Sơ đồ tuần tự:
Trang 16- Giao diện cập nhật thông tin cá nhân:
Hình 3: Giao diện cập nhật thông tin
- Xem lịch sử đặt vé:
Tác nhân: Khách hàng thành viên
B1: Đăng nhập vào hệ thống B2: Kiểm tra dữ liệu nhập vào có đúng
với tài khoảng người dùng hay không –nếu không sẽ thông báo login thất bại
B3: Chọn tính năng xem lịch sử vé B4: Lấy dữ liệu của người dùng đã đăng
nhập và hiển thị cho người dùng xem
- Phát thảo giao diện xem lịch sử đặt vé:
Trang 17- Sơ đồ tuần tự:
- Phát thảo giao diện xem lịch sử đặt vé:
Trang 18Hình 7: Giao diện xem lịch sử vé đặt
- Đặt vé:
Tác nhân: Khách hàng thành viên
B1: Đăng nhập vào hệ thống B2: Kiểm tra dữ liệu nhập vào có đúng
với tài khoảng người dùng hay không –nếu không sẽ thông báo login thất bại
B3: Chọn phim B4: Chuyển qua trang thông tin bao gồm
có chọn ngày chiếu, giờ chiếuB5: Chọn khung thời gian chiếu B6: Chuyển qua trang chọn ghế
B7: Chọn ghế B8: Lưu vé, thời gian khách đặt vào
CSDL tạmB9: Tiến hành thanh toán B10: Thanh toán thành công, lưu vào
CSDL, chuyển qua trang xem danh sáchvé
- Sơ đồ hoạt động:
Trang 19- Sơ đồ tuần tự:
- Phát thảo giao diện đặt vé:
Hình 4: Giao diện chọn ghế
Trang 20Hình 5: Giao diện thanh toán
- Cập nhật phim:
Tác nhân: Admin hoặc nhân viên
B1: Đăng nhập vào hệ thống B2: Kiểm tra dữ liệu nhập vào có đúng
với tài khoảng người dùng hay không –nếu không sẽ thông báo login thất bại
B3: Chọn thêm mới phim hoặc chỉnh sửa
thông tin phim
B4: Hiển thị form giao diện theo yêu cầungười dùng
B5: Nhập vào dữ liệu mới hoặc thay đổi B6: Lưu dữ liệu vào Database
- Sơ đồ hoạt động:
- Sơ đồ tuần tự:
Trang 21- Phát thảo giao diện thêm mới phim:
Hình 6: Giao diện thêm mới phim
- Thêm lịch chiếu:
Tác nhân: Admin
B1: Đăng nhập vào hệ thống B2: Kiểm tra dữ liệu nhập vào có đúng
với tài khoảng người dùng hay không –nếu không sẽ thông báo login thất bại
B3: Chọn phim muốn cập nhật lịch chiếu B4: Cập nhật thông tin, phòng, ngày
chiếu, giờ chiếuB5: Chọn cập nhật B6: Lưu dữ liệu vào Database
- Giao diện cập nhật lịch chiếu:
Trang 22Hình 7: Giao diện cập nhật lịch chiếu
- Cập nhật nhân viên:
Tác nhân: Admin
B1: Đăng nhập vào hệ thống B2: Kiểm tra dữ liệu nhập vào có đúng
với tài khoảng người dùng hay không –nếu không sẽ thông báo login thất bại
B3: Chọn tính năng phân quyền, chọn
đối tượng muốn phân quyền
B4: Hiển thị danh sách đối tượng ngườidùng đã chọn
B5: Chọn đối tượng và thay đổi quyền
hạn
B6: Lưu dữ liệu vào Database
- Giao diện cập nhật nhân viên:
Hình 8: Giao diện cập nhật nhân viên
Trang 24CHƯƠNG 4 : THIẾT KẾ CƠ SỞ DỮ LIỆU
4 Thiết kế cơ sở dữ liệu
Trang 254.2 Sơ đồ ERD:
Hình 10: Sơ đồ ERD
Trang 264.3 Thiết kế bảng:
4.3.1 Phim:
Bảng 1: Bảng dữ liệu phim
- Code:
CREATE TABLE PHIM(
MaPhim VARCHAR(10) PRIMARY KEY,
Nhan VARCHAR(10) FOREIGN KEY REFERENCES NHAN(MaNhan),
MaNV VARCHAR(10) FOREIGN KEY REFERENCES