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

Xây dựng trang web đặt món và đặt chỗ trực tuyến cho nhà hàng hải nam

64 43 0

Đ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 đề Xây Dựng Trang Web Đặt Món Và Đặt Chỗ Trực Tuyến Cho Nhà Hàng Hải Nam
Tác giả Nguyễn Thị Huệ
Người hướng dẫn TS. Phan Anh Phong
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Đồ Án Tốt Nghiệp
Năm xuất bản 2017
Thành phố Nghệ An
Định dạng
Số trang 64
Dung lượng 1,77 MB

Cấu trúc

  • Chương 1. TỔNG QUAN VỀ ĐỀ TÀI (6)
    • 1.1. Tên đề tài (6)
    • 1.2. Lý do chọn đề tài (6)
    • 1.3. Đối tƣợng và phạm vi nghiên cứu (0)
    • 1.4. Mục tiêu của đề tài ........................................... Error! Bookmark not defined. 1.5. Nội dung nghiên cứu (7)
    • 1.6. Phương pháp nghiên cứu (7)
    • 1.7. Ý nghĩa khoa học và thực tiễn của đề tài (8)
  • Chương 2. KHẢO SÁT BÀI TOÁN QUẢN LÝ NHÀ HÀNG (9)
    • 2.1. Đặc tả bài toán (9)
    • 2.2. Khảo sát hệ thống cũ (10)
      • 2.2.1. Địa điểm khảo sát (11)
      • 2.2.2. Chiến lƣợc điều tra (0)
      • 2.2.3. Hiện trạng về tổ chức của hệ thống cũ (11)
    • 2.3. Xác định yêu cầu nghiệp vụ của website (13)
      • 2.3.1. Các yêu cầu chung của hệ thống (13)
      • 2.3.2. Các yêu cầu của người quản trị (13)
      • 2.3.3. Các yêu cầu của người ghé thăm website (13)
    • 2.4. Các chức năng của hệ thống mới (13)
  • Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (15)
    • 3.1. Giới thiệu phương pháp phân tích và thiết kế hệ thống (15)
    • 3.2. Biểu đồ use case (16)
      • 3.2.1. Danh sách các biểu đồ use case (17)
      • 3.2.2. Use case của khách ghé thăm website (visiter) (22)
      • 3.2.3. Danh sách các use case (22)
    • 3.3. Thiết kế biểu đồ lớp (22)
      • 3.3.1. Danh sách các lớp đối tƣợng (0)
      • 3.3.2. Mô tả chi tiết từng lớp đối tƣợng (0)
    • 3.4. Sơ đồ diagram (33)
  • Chương 4. XÂY DỰNG TRANG WEB ĐẶT MÓN VÀ ĐẶT CHỖ TRỰC TUYẾN (35)
    • 4.1. Công cụ sử dụng (35)
      • 4.1.1. Chuẩn bị (35)
      • 4.1.2. Tìm hiểu và cài đặt các công cụ (35)
      • 4.1.3. Kỹ thuật mã hóa và mã hóa MD5 (0)
    • 4.2. Sơ đồ website (38)
    • 4.3. Thiết kế giao diện (39)
    • 4.4. Các chức năng đã thực hiện đƣợc (44)
  • KẾT LUẬN (46)
    • 1. Kết quả đạt đƣợc (46)
    • 2. Hạn chế (46)
    • 3. Hướng khắc phục và phát triển đề tài (46)
  • TÀI LIỆU THAM KHẢO (48)
  • PHỤ LỤC (49)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI

Tên đề tài

Đề tài: Xây dựng trang web đặt món và đặt chỗ trực tuyến cho nhà hàng Hải Nam.

Lý do chọn đề tài

Mục đích của bài viết này là cung cấp thông tin chi tiết về trang web nhà hàng Hải Nam, giúp người dùng tìm hiểu các món ăn phù hợp cho từng đối tượng Chúng tôi tư vấn về thực đơn đa dạng, đảm bảo sức khỏe và đáp ứng nhu cầu của khách hàng.

Nhà hàng cam kết mang đến cho khách hàng trải nghiệm ẩm thực dễ dàng và thoải mái, giúp họ không phải băn khoăn về việc hôm nay ăn gì Đối với những công ty có ngân sách cụ thể, nhà hàng sẽ gợi ý thực đơn phù hợp với số tiền đó Chúng tôi cung cấp thực đơn đa dạng, đáp ứng nhu cầu của từng đối tượng như người ăn kiêng, người bị tiểu đường, người gầy, người béo và trẻ em Tất cả các món ăn đều đảm bảo an toàn thực phẩm và tốt cho sức khỏe.

Khách hàng có thể tự tạo thực đơn theo ý thích của mình, giúp nhà hàng chuẩn bị tốt hơn và đáp ứng đúng yêu cầu Điều này không chỉ đảm bảo sự hài lòng của khách mà còn mang đến nhiều ưu đãi hấp dẫn từ nhà hàng.

Khách hàng có thể dễ dàng đặt trước thời gian và chỗ ngồi tại nhà hàng mà không cần đến trực tiếp, tạo sự thuận tiện và chuẩn bị chu đáo Hình thức gọi món ăn trực tuyến tại Việt Nam còn mới mẻ, nhưng đây là một thị trường tiềm năng Công nghệ thông tin đang được áp dụng rộng rãi và hiệu quả trong nhiều lĩnh vực, nhờ vào sự quyết tâm của Đảng và Chính phủ trong việc thúc đẩy ứng dụng CNTT vào đời sống và nền kinh tế Sự phát triển công nghệ cùng với hạ tầng CNTT được đầu tư mạnh mẽ đã làm tăng tốc độ ứng dụng và số lượng người sử dụng Internet, với tỷ lệ tăng trưởng truy cập đạt 40% mỗi năm.

Việc ghi nhận đặt chỗ thủ công trong nhà hàng dễ dẫn đến nhầm lẫn và thiếu liên thông giữa các bộ phận, làm tăng thời gian phục vụ và gây ra tình trạng thanh toán chậm, khiến khách hàng phải chờ đợi và có thể bị tính sai Để khắc phục những vấn đề này, việc cho phép khách hàng đặt chỗ và thanh toán trực tuyến trước khi đến ăn là một giải pháp hiệu quả và hiện đại.

Dựa trên sự hướng dẫn của thầy giáo TS Phan Anh Phong, tôi đã chọn đề tài “Xây dựng trang web đặt món và đặt chỗ trực tuyến cho nhà hàng Hải Nam” bằng ngôn ngữ Java theo mô hình MVC Trang web này giúp người dùng có thể dễ dàng xem thực đơn hàng ngày, đặt tiệc, gọi món, và tự tạo món ăn ngay tại nhà, công ty hoặc bất kỳ đâu có kết nối mạng mà không cần phải đến trực tiếp nhà hàng.

1.3 Đối tượng và phạm vi nghiên cứu

- Đối tƣợng nghiên cứu: Website

- Phạm vi nghiên cứu: Tìm hiểu tài liệu và xây dựng quy trình đặt món và đặt món trực tuyến của khách hàng

1.4 Mục tiêu của đề tài

Nghiên cứu mô hình đặt món và gọi món của khách hàng trên các trang web khác là bước quan trọng để cải thiện trải nghiệm người dùng Sử dụng phần mềm quản lý nhà hàng như cukcuk.vn hay misa sẽ giúp cài đặt các tính năng này lên trang web của bạn một cách hiệu quả.

Khách hàng có thể dễ dàng tham khảo món ăn và thực đơn, tự tạo thực đơn riêng, cũng như thực hiện việc đặt bàn và thanh toán trực tuyến ngay trên trang web.

 Nghiên cứu việc quản lý của quản trị, người quản lý đối với tài nguyên website

 Khảo sát bài toán quản lý đặt món và đặt bàn của khách hàng khi đến ăn tại nhà hàng

 Phân tích thiết kế hế thống về bài toán đặt món và đặt bàn về quy trình và hình thức hoạt động của nhà hàng

 Cài đặt trang web với hình thức đặt món và đặt chỗ trực tuyến của nhà hàng Hải Nam

Khảo sát thực tế tại nhà hàng Đất Sét cho thấy quy trình phục vụ và đặt món rất chuyên nghiệp Khi khách hàng đến, họ được hướng dẫn rõ ràng về cách đặt chỗ và chọn món ăn Đội ngũ nhân viên luôn sẵn sàng hỗ trợ, đảm bảo trải nghiệm ẩm thực của thực khách trở nên thuận tiện và thoải mái Quy trình đặt món được thực hiện nhanh chóng, giúp tiết kiệm thời gian cho khách hàng.

- Phân tích và tổng hợp tài liệu về quy trình đặt món, đặt chỗ của nhà hàng

- Phân tích và thiết kế hệ thống về thực đơn của nhà hàng với quy trình đặt món, đặt chỗ, thanh toán

1.7 Ý nghĩa khoa học và thực tiễn của đề tài Đối với các nhà hàng hiện nay, việc đặt món và đặt bàn là khách phải đến trực tiếp để đặt Việc làm này sẽ mất nhiều thời gian cho khách hàng Thay vì nhƣ vậy, hệ thống đặt món và đặt bàn online sẽ giúp cho khách hàng thuận tiện hơn, và không cần mất công đến tận nhà hàng Ngoài ra khách hàng còn có thể tham khảo đƣợc những món ăn sẵn có của nhà hàng trên website, tham khảo thực đơn và món ăn phù hợp với từng đối tƣợng, phù hợp với giá tiền nhất định Hình thức trực tuyến này giúp cho nhà hàng sẽ chủ động hơn trong công tác chuẩn bị, cũng nhƣ là tránh tình trạng mất thời gian khi khách hàng đến tại nhà hàng rồi mới suy nghĩ nên ăn món gì hay nếu có tiệc thì phải đến tận nơi để đặt trước.

Mục tiêu của đề tài Error! Bookmark not defined 1.5 Nội dung nghiên cứu

Nghiên cứu mô hình đặt món và gọi món của khách hàng trên các trang web khác là cần thiết, và có thể dựa vào phần mềm quản lý nhà hàng như cukcuk.vn hay misa để triển khai cài đặt trên trang web của mình.

Khách hàng có thể dễ dàng tham khảo món ăn và thực đơn, tự tạo thực đơn riêng, cũng như thực hiện việc đặt bàn và thanh toán trực tuyến ngay trên trang web.

 Nghiên cứu việc quản lý của quản trị, người quản lý đối với tài nguyên website

 Khảo sát bài toán quản lý đặt món và đặt bàn của khách hàng khi đến ăn tại nhà hàng

 Phân tích thiết kế hế thống về bài toán đặt món và đặt bàn về quy trình và hình thức hoạt động của nhà hàng

 Cài đặt trang web với hình thức đặt món và đặt chỗ trực tuyến của nhà hàng Hải Nam.

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

Khảo sát thực tế tại nhà hàng Đất Sét cho thấy quy trình phục vụ và đặt món được thực hiện một cách chuyên nghiệp Khách hàng có thể dễ dàng đặt chỗ và lựa chọn món ăn thông qua hệ thống đặt hàng tiện lợi Đội ngũ nhân viên luôn sẵn sàng hỗ trợ, đảm bảo mang đến trải nghiệm ẩm thực tốt nhất cho thực khách.

- Phân tích và tổng hợp tài liệu về quy trình đặt món, đặt chỗ của nhà hàng

- Phân tích và thiết kế hệ thống về thực đơn của nhà hàng với quy trình đặt món, đặt chỗ, thanh toán.

Ý nghĩa khoa học và thực tiễn của đề tài

Hiện nay, việc đặt món và đặt bàn tại nhà hàng thường yêu cầu khách hàng phải đến trực tiếp, gây tốn thời gian cho họ Hệ thống đặt món và đặt bàn online mang lại sự tiện lợi, cho phép khách hàng dễ dàng lựa chọn mà không cần phải đến nhà hàng Khách hàng có thể tham khảo thực đơn và các món ăn có sẵn trên website, giúp họ tìm ra lựa chọn phù hợp với nhu cầu và ngân sách Hình thức trực tuyến này không chỉ giúp khách hàng tiết kiệm thời gian mà còn giúp nhà hàng chủ động hơn trong công tác chuẩn bị, tránh tình trạng khách hàng phải suy nghĩ về món ăn khi đã đến nơi hoặc phải đến để đặt trước cho các bữa tiệc.

KHẢO SÁT BÀI TOÁN QUẢN LÝ NHÀ HÀNG

Đặc tả bài toán

Quản lý nhà hàng hiện nay chủ yếu tập trung vào việc giới thiệu nhà hàng và cung cấp danh sách các món ăn cùng thực đơn đa dạng.

Khi khách vào nhà hàng, nhân viên sẽ tiếp đón và sắp xếp bàn theo số lượng khách Nhân viên tiếp nhận yêu cầu và viết phiếu yêu cầu món ăn, sau đó gửi kèm số bàn cho bộ phận tiếp tân Bộ phận tiếp tân kiểm tra xem món ăn có trong danh mục không; nếu không có, họ sẽ thông báo lại cho khách Nếu có, phiếu yêu cầu sẽ được chuyển cho bộ phận bếp, đồng thời ghi lại số bàn và món ăn vào sổ bán hàng Mọi yêu cầu thêm món ăn từ khách sẽ được bổ sung vào sổ bán hàng.

Khi khách hàng thực hiện việc đặt bàn, nhân viên cần kiểm tra tình trạng bàn bằng cách mở sổ theo dõi hoặc đến vị trí bàn (có thể ở tầng 2) để xác nhận xem bàn đã có khách hay chưa Quy trình này có thể tốn nhiều thời gian và công sức.

Việc ghi nhận đặt chỗ khách hàng thủ công dễ dẫn đến nhầm lẫn và chồng chéo, thiếu sự liên thông giữa các bộ phận trong nhà hàng Điều này làm tăng thời gian phục vụ và gây ra tình trạng thanh toán chậm, khiến khách hàng phải chờ đợi hoặc bị tính sai, gây bức xúc Hơn nữa, việc tính toán lãi lỗ chậm cũng dẫn đến việc không điều chỉnh kịp thời về nguyên vật liệu.

Giải pháp mới cho khách hàng trước khi đến nhà hàng là họ không chỉ tham khảo thực đơn hàng ngày mà còn có thể lựa chọn thực đơn theo đối tượng như người gầy, người tiểu đường, người béo phì, hay người ăn kiêng Bên cạnh đó, khách hàng còn có thể đặt món, gọi món, đặt chỗ ngồi và thanh toán trực tuyến trước khi đến Điều này giúp nhà hàng chủ động trong công tác chuẩn bị và tránh tình trạng khách hàng mất thời gian suy nghĩ món ăn khi đã đến nơi, đặc biệt là trong trường hợp tổ chức tiệc.

Người quản lý có thể dễ dàng kiểm soát món ăn, thực đơn và nguyên liệu, giúp giảm thiểu số lượng nhân viên cần thiết trong nhà hàng.

Trong bài viết này, tôi sẽ tổng hợp những kiến thức quý giá mà tôi đã tích lũy từ các kỳ học trước, bao gồm lập trình hướng đối tượng, phân tích và thiết kế hướng đối tượng, cơ sở dữ liệu, công nghệ web và ứng dụng, cũng như lập trình Java Những kiến thức này không chỉ giúp tôi hiểu rõ hơn về các khái niệm cơ bản mà còn tạo nền tảng vững chắc cho sự phát triển kỹ năng lập trình của tôi trong tương lai.

Đồ án chọn Java web đã giúp em nâng cao kiến thức về quy trình xây dựng website và các công nghệ cơ bản liên quan đến việc phát triển hệ thống website.

Khảo sát hệ thống cũ

Bảng 2.1: Sơ đồ khảo sát hệ thống cũ

Nhân viên phục vụ chính

Nhân viên phụ bếp Phụ Bàn

Khách hàng Đặt món, đặt chỗ trực tiếp tại nhà hàng (hoặc gọi qua số điện thoại nếu người quen)

Thanh toán hóa đơn trực tiếp tại nhà hàng

TT Bếp TT Thu ngân

Thành phố Vinh có nhiều hệ thống website giới thiệu về các nhà hàng nổi tiếng như nhà hàng Đất Sét, nhà hàng Huynh Đệ, quán Ngon Ba Miền, nhà hàng Ẩm Thực Việt và nhà hàng Khách Sạn Thành Vinh Các trang web này cung cấp thông tin chi tiết và khảo sát tận nơi về ẩm thực phong phú của địa phương.

- Thời gian: 11h, ngày 10 tháng 9 năm 2016

Các nguồn thông tin điều tra bao gồm sách báo và các website như [nhahangnghean.com](http://nhahangnghean.com/) và [amthucviet.info](http://amthucviet.info/?x=1/gioi-thieu/nha-hang-am-thuc-viet-tp-vinh-nghe-an) Ngoài ra, các hệ thống phần mềm quản lý hiện đại như cukcuk.vn, iPOS, eBiz cũng là nguồn tài liệu hữu ích.

- Quan sát, tìm hiểu hoạt động của hệ thống cũ

Đặt mình vào vị trí của người dùng, đặc biệt là những người bận rộn không có thời gian đến tận nơi để đặt món ăn, giúp chúng ta hiểu rõ hơn về những yêu cầu thực tế mà hệ thống cần đáp ứng.

2.2.3 Hiện trạng về tổ chức của hệ th ng cũ

- Quản trị viên của website

2.2.3.2 Hiện trạng hệ thống cũ

Sau khi khảo sát và tìm hiểu hoạt động của các hệ thống cũ, và nhu cầu của người dùng, em nhận thấy các đặc điểm như sau:

Mặc dù có nhiều trang web về quản lý nhà hàng, hầu hết chỉ giới thiệu món ăn và thực đơn, chưa khai thác tối đa tiềm năng của công nghệ Internet Việc đặt món, đặt bàn và thanh toán vẫn chưa được thực hiện một cách nhanh chóng và dễ dàng, dẫn đến việc chưa đáp ứng đầy đủ nhu cầu của khách hàng.

 Hình ảnh về giao diện của trang web nhà hàng ẩm thực việt:

Hình 2.2 Giao diện của nhà hàng ẩm thực việt

Xác định yêu cầu nghiệp vụ của website

2.3.1.Các yêu cầu chung của hệ th ng

- Hệ thống cho phép nhiều người truy cập cùng lúc vào trang web

Hệ thống cho phép khách hàng xem thực đơn món ăn cho hôm nay, ngày mai, và theo từng đối tượng như người gầy, người béo phì, người tiểu đường, hay người ăn kiêng Khách hàng cũng có thể lựa chọn thực đơn theo giá tiền hoặc tự tạo thực đơn riêng cho mình.

Xây dựng hệ thống đặt chỗ trước cho khách hàng, cho phép lựa chọn ngày và giờ đặt, chọn bàn cùng số lượng người ăn, và thực hiện thanh toán trực tuyến qua dịch vụ bảo kim của ngân hàng VietinBank.

- Trang web đƣợc xây dựng để dễ dàng và thuận tiện cho việc bảo trì hệ thống

- Cơ sở dữ liệu phải đƣợc tổ chức logic và hợp lý, thuận tiện cho việc cập nhật và quản lý

2.3.2 Các yêu cầu của người quản trị

- Website có giao diện đẹp, nội dung phong phú, hình ảnh sinh động, luôn cập nhật đƣợc các thông tin mới nhất

- Có khả năng quản lí các nội dung tốt, ổn định, bình luận hay ý kiến phản hồi của khách hàng

2.3.3 Các yêu cầu của người ghé thăm website

- Dễ dàng thao tác khi sử dụng website để xem danh sách các món ăn, thực đơn và chi tiết về món ăn đó

- Website được thiết kế theo hướng hướng người dùng, tăng khả năng tương tác với người dùng.

Các chức năng của hệ thống mới

Sau khi tham khảo website và nhu cầu của khách hàng, tôi nhận thấy việc gợi ý thực đơn hàng ngày trên các website không chỉ giúp quảng bá mà còn hỗ trợ khách hàng trong việc lựa chọn món ăn Điều này giúp họ không còn băn khoăn về việc nên ăn gì hay trong một mức giá nhất định có thể chọn được bao nhiêu món, từ đó tạo sự thuận tiện trong việc tìm kiếm và tra cứu thông tin cần thiết.

Hệ thống website nhà hàng Hải Nam được thiết kế nhằm kế thừa và phát huy những ưu điểm của hệ thống cũ, đồng thời khắc phục những thiếu sót Tập trung vào việc quản lý thực đơn, đặt món, đặt bàn và thanh toán trực tuyến cho khách hàng, hệ thống này cung cấp các chức năng chính như dễ dàng truy cập thực đơn, đặt chỗ nhanh chóng và thanh toán an toàn.

 Quản trị: người quản lý toàn hệ thống

 Quản lý: người sử dụng website để quản lý về nguyên liệu, quản lý thực đơn, món ăn cho nhà hàng

 Khách: khách chỉ vào xem mà không đăng ký tài khoản trên website

 Thành viên: khách có thể đặt món và gọi món, đặt bàn, chỗ ngồi của mình

Chức năng của các nhân tố đƣợc mô tả trong bảng sau:

Người dùng Mô tả chức năng

Người dùng có quyền xem, thêm, cập nhật và xóa dữ liệu của các bản ghi Họ cũng có khả năng quản lý tài khoản, thành viên, thực đơn, món ăn và nguyên liệu Bên cạnh đó, việc thống kê doanh thu cũng nằm trong quyền hạn của người dùng.

Người dùng có quyền xem, thêm, cập nhật, tìm kiếm và xóa dữ liệu của một số bản ghi Hệ thống cho phép quản lý các tài khoản thành viên, thực đơn, món ăn và nguyên liệu Ngoài ra, còn có chức năng thống kê doanh thu để theo dõi hiệu quả kinh doanh.

Khách Có quyền đăng ký, xem chi tiết món ăn, tham khảo các thực đơn, món ăn

Người dùng có thể truy cập thông tin cá nhân, xem chi tiết món ăn, đặt món và tự tạo thực đơn riêng Họ cũng có thể chọn ngày và thời gian đặt, số lượng người ăn, chỗ ngồi, và thực hiện thanh toán đơn hàng Đặc biệt, người dùng có cơ hội tham gia vòng quay may mắn để nhận ưu đãi từ nhà hàng.

Website được chia thành hai module chính: một module dành cho người quản trị và người quản lý, và một module dành cho thành viên cùng khách xem.

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Giới thiệu phương pháp phân tích và thiết kế hệ thống

Có hai cách tiếp cận phân tích và thiết kế hệ thống đó là: phương pháp hướng cấu trúc và phương pháp hướng đối tượng

- Phương pháp hướng cấu trúc

Phương pháp hướng cấu trúc đặc trưng bởi việc chia nhỏ chương trình thành nhiều chương trình con, mỗi chương trình con được thiết kế để thực hiện một nhiệm vụ cụ thể.

 Trong phương pháp hướng cấu trúc, phần mềm được thiết kế dựa trên một trong hai hướng: hướng dữ liệu và hướng hành động

 Cách tiếp cận hướng dữ liệu xây dựng phần mềm dựa trên việc phân rã chức năng cần đáp ứng và dữ liệu cho các chức năng đó

 Cách tiếp cận hướng hành động lại tập trung phân tích hệ phần mềm dựa trên các hoạt động thực thi các chức năng của phần mềm đó

 Cách thức thực hiện của phương pháp hướng cấu trúc là phương pháp từ trên xuống (top-down)

Trong quá trình phát triển hệ thống, các mô hình quan trọng được sử dụng bao gồm sơ đồ phân cấp chức năng nghiệp vụ, sơ đồ luồng dữ liệu, mô hình thực thể- quan hệ, mô hình quan hệ, từ điển dữ liệu, ngôn ngữ truy vấn hướng cấu trúc và mô hình hóa logic Những mô hình này giúp tổ chức và quản lý thông tin một cách hiệu quả, đồng thời hỗ trợ quá trình phân tích và thiết kế hệ thống.

- Ƣu điểm: tƣ duy phân tích thiết kế rõ ràng, dễ hiểu

- Nhƣợc điểm: không hỗ trợ việc sử dụng lại, không phù hợp cho phát triển các phần mềm lớn

- Phương pháp hướng đối tượng

Phương pháp hướng đối tượng kết hợp cả hai khía cạnh dữ liệu và hành động của hệ thống, khác với phương pháp hướng cấu trúc chỉ chú trọng vào một trong hai yếu tố này.

Cách tiếp cận hướng đối tượng là phương pháp tư duy giúp ánh xạ các thành phần trong bài toán vào các đối tượng thực tế Hệ thống được phân chia thành các đối tượng, mỗi đối tượng bao gồm đầy đủ dữ liệu và hành động liên quan, tạo nên sự liên kết chặt chẽ giữa lý thuyết và thực tiễn.

 Các nguyên tắc cơ bản:

- Các mô hình đƣợc sử dụng: sơ đồ use case, sơ đồ lớp đối tƣợng, sơ đồ tuần tự…

 Ƣu điểm: hỗ trợ sử dụng lại mã nguồn, phù hợp với các hệ thống lớn

 Nhược điểm: phương pháp này khá phức tạp, khó theo dõi được luồng dữ liệu

Trong đề tài này em đã lựa chọn phương pháp hướng đối tượng để phân tích và thiết kế hệ thống.

Biểu đồ use case

Phân tích use case là một kỹ thuật quan trọng trong việc mô hình hóa các yêu cầu chức năng của hệ thống phần mềm, có thể được trình bày dưới dạng văn bản hoặc mô hình hóa thông qua sơ đồ quan hệ.

Biểu đồ use case trong ngôn ngữ UML mô tả các trường hợp sử dụng của hệ thống, bao gồm các phần tử như hệ thống, tác nhân và use case Một mô hình use case có thể được chia thành nhiều biểu đồ khác nhau, giúp thể hiện mối quan hệ giữa các use case một cách rõ ràng và trực quan.

Biểu đồ use case mô tả chức năng của hệ thống dựa trên các yêu cầu của người dùng, chỉ ra những gì hệ thống cần thực hiện để đáp ứng nhu cầu đó Nó thể hiện sự tương tác giữa tác nhân và hệ thống thông qua các use case, kèm theo là các kịch bản cụ thể.

Mỗi use case thể hiện chức năng của hệ thống từ góc nhìn của người dùng, trong đó tác nhân có thể là con người hoặc hệ thống khác, cung cấp thông tin hoặc tác động đến hệ thống.

Biểu đồ use case bao gồm các tác nhân, use case và mối quan hệ giữa chúng, cho phép phân rã các use case theo nhiều mức độ khác nhau tùy thuộc vào từng trường hợp cụ thể.

Một biểu đồ use case thể hiện:

- Hệ thống: vai trò là thành phần của biểu đồ use case, hệ thống biểu diễn ranh giới giữa bên trong và bên ngoài phần mềm

Tác nhân trong hệ thống là những người dùng, có thể là người dùng thực hoặc các hệ thống máy tính khác, đóng vai trò quan trọng trong hoạt động của hệ thống hiện tại.

Biểu đồ use case là thành phần cơ bản trong phân tích hệ thống, trong đó các use case được thể hiện bằng hình ảnh, đại diện cho các chức năng của hệ thống Tên của các use case thường phản ánh các chức năng cụ thể Các mối quan hệ giữa các use case bao gồm: Include, cho phép một use case sử dụng lại chức năng của use case khác; Extend, cho phép một use case mở rộng từ một use case khác thông qua một chức năng cụ thể; và Generalization, cho phép một use case kế thừa chức năng từ use case khác.

Ví dụ biểu đồ use case trong UML:

- Hệ thống đƣợc thể hiện qua hình chữ nhật với tên hệ thống ở bên trên

- Tác nhân đƣợc thể hiện qua kí hiệu hình nhân

- Use case đƣợc thể hiện qua hình ellipse

3.2.1 Danh sách các biểu đồ use case

3.2.1.1 Biều đồ use case tổng quát của actor quản trị viên

Hình 3.1: Biểu đồ use case tổng quát của quản trị viên

3.2.1.2 Biểu đồ use case quản lý thực đơn của quản trị viên

Hình 3.2: Biểu đồ use case chức năng quản lý thực đơn của quản trị viên

3.2.1.3 Biểu đồ use case quản lý món ăn của quản trị viên

Hình 3.3: Biểu đồ use case chức năng quản lý món ăn của quản trị viên

3.2.1.4 Biểu đồ use case quản lý hóa đơn của quản trị viên

Hình 3.4: Biểu đồ use case chức năng quản lý hóa đơn của quản trị viên

3.2.1.5 Biểu đồ use case chức năng quản lý người dùng của quản trị viên

Hình 3.5: Biểu đồ use case chức năng quản lý người dùng của quản trị viên

3.2.1.6 Biểu đồ use case tổng quát của thành viên website (user)

Hình 3.6: Biểu đồ use case tổng quát của thành viên website( user)

3.2.1.7 Biểu đồ use case xem danh sách thực đơn ngày hôm nay của thành viên

Hình 3.7: Biểu đồ use case xem thực đơn ngày hôm nay của thành viên( user)

3.2.1.8 Biểu đồ use case xem danh sách thực đơn ngày mai của thành viên

Hình 3.8: Biểu đồ use case xem thực đơn ngày mai của thành viên( user)

3.2.1.9 Biểu đồ use case xem danh sách thực đơn theo đối tượng của thành viên

Hình 3.9: Biểu đồ use case xem thực đơn theo đối tượng của thành viên

3.2.1.10 Biểu đồ use case xem danh sách thực đơn theo giá tiền của của thành viên

Hình 3.10: Biểu đồ use case xem thực đơn theo giá tiền của thành viên

3.2.1.11 Biểu đồ use case của khách ghé thăm website

Hình 3.11: Biểu đồ use case của khách ghé thăm website

3.2.2 Use case của khách ghé thăm website( visiter)

Quản trị viên (admin/người quản lý)

Actor này có quyền tương tác với hệ thống và có quyền kiểm soát và điều khiển hệ thống

Người ghé thăm website Actor này có quyền tương tác với hệ thống

Thành viên của website Actor này có quyền tương tác với hệ thống

3.2.3 Danh sách các use case

STT Tên Use case Mô tả

1 UC quản lý thực đơn của quản trị viên

UC này mô tả chức năng quản lý thông tin thực đơn của nhà hàng Cập nhật cho từng ngày, từng đối tƣợng, theo từng giá tiền

2 UC quản lý món ăn của quản trị viên

UC này mô tả chức năng quản lý các món ăn mới nhất của nhà hàng

3 UC quản lý hóa đơn của quản trị viên

UC này mô tả chức năng quản lý thông về hóa đơn đã đặt bàn và tình trạng thanh toán hóa đơn của khách hàng

4 UC quản lý người dùng

UC này mô tả chức năng quản lý thông tin về về khách hàng

5 UC xem danh sách thực đơn

UC này cung cấp chức năng cho phép khách hàng dễ dàng tra cứu thực đơn của nhà hàng, bao gồm thực đơn cho ngày hôm nay và ngày mai, phân loại theo đối tượng và mức giá.

6 UC quản lý trang cá nhân của thành viên

UC này mô tả chức năng quản lý trang cá nhân của thành viên.

Thiết kế biểu đồ lớp

+ Biểu đồ lớp là một dạng mô hình tĩnh Miêu tả hướng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối quan hệ giữa chúng

Biểu đồ lớp tương tự như một mô hình dữ liệu, với các lớp bên ngoài không chỉ thể hiện cấu trúc thông tin mà còn mô tả các hành vi liên quan.

+ Mỗi lớp là một mô tả của một tập các đối tƣợng có chung thuộc tính và phương thức

Class là thành phần chính trong bản vẽ class diagram, mô tả một nhóm đối tượng có cùng tính chất và hành động trong hệ thống Ví dụ, lớp "Customer" được sử dụng để mô tả khách hàng Mỗi class bao gồm tên, thuộc tính và phương thức, giúp xác định rõ ràng chức năng và đặc điểm của các đối tượng trong hệ thống.

– Class Name: là tên của lớp

– Attributes (thuộc tính): mô tả tính chất của các đối tƣợng Ví dụ nhƣ khách hàng có Mã khách hàng, Tên khách hàng, Địa chỉ, Ngày sinh v.v

Phương thức trong hệ thống đề cập đến các hành động mà đối tượng có thể thực hiện, phản ánh hành vi của các đối tượng được tạo ra bởi lớp này.

Class diagram cho thấy cấu trúc hệ thống với các lớp khác nhau, nhưng để triển khai chúng hiệu quả, cần có sự đặc tả chi tiết hơn Việc mô tả này rất quan trọng để đảm bảo rằng tất cả các yếu tố cần thiết được xác định rõ ràng.

– Các thuộc tính: Tên, kiểu dữ liệu, kích thước

+ Khi thiết kế người ta có thể dùng các phương thức để mô tả và thực hiện hành vi của đối tƣợng

+ Mỗi phương thức được định nghĩa bằng một hàm Các thao tác để thực hiện hành vi đó đƣợc viết trong nội dung của hàm

+ Khi thực hiện hành vi này, đối tƣợng cũng có thể phải thực hiện hành vi khác

+ Nhóm hàm cung cấp thông tin

+ Nhóm hàm xử lý thuật toán

+ Nhóm hàm kiểm tra tính hợp lệ của đối tƣợng

3.2.3 ô tả chi tiết từng l p đ i tượng

STT Tên phương thức Ghi chú

1 themLoaiMonAn() Thêm thông tin từng loại món ăn cụ thể

2 capNhatLoaiMonAn() Cập nhật thông tin của từng loại món ăn

3 xoaLoaiMonAn() Xóa thông tin của từng loại món ăn

4 xemDanhSachLoaiMonAn() Xem danh sách thông tin từng loại món ăn

7 Lớp chi tiết hóa đơn

13 Lớp trang liên kết ngân hàng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 loaiMonAnId Primary key Int Mã loại món ăn

2 tenLoaiMonAn nvarchar(50) Tên loại món ăn cụ thể

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 maMonAn Primary key nvarchar(50) Mã món ăn

2 loaiMonAnId Foreign key Int Mã của loại món ăn

3 tenMonAn nvarchar(50) Tên của món ăn

4 Gia money Giá niêm yết của món ăn

5 anhMonAn nvarchar(500) Đường dẫn chứa ảnh của món ăn

Mã loại khách hàng(món ăn phù hợp cho từng loại khách hàng)

7 giaTien money Giá bán ra của món ăn

8 moTaMonAn ntext Mô tả về món ăn

9 chiTietMonAn ntext Miêu tả cụ thể chi tiết về món ăn

STT Tên phương thức Ghi chú

1 themMonAn() Thêm thông tin món ăn

2 capNhatMonAn() Cập nhật thông tin món ăn

3 xoaMonAn() Xóa thông tin của món ăn

4 xemMonAn() Xem danh sách thông tin món ăn

5 xemChiTietMonAn() Xem chi tiết về hình ảnh, mô tả cũng nhƣ các thông tin chi tiết khác của món ăn

6 binhLuan() Cho phép thành viên bình luận về món ăn

STT Tên phương thức Ghi chú

1 themThucDon() Thêm thông tin từng thực đơn

2 capNhatThucDon() Cập nhật thông tin của thực đơn

3 xoaThucDon() Xóa thông tin của từng thực đơn

4 xemDanhSachThucDon() Xem danh sách thông tin của từng thực đơn

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 maBan Primary key varchar(20) Mã bàn

2 hinhAnh nvarchar(50) Đường dẫn của ảnh chứa danh sách các bàn

3 soBan int Vị trí của bàn

4 trangThai int Xác định trạng thái bàn trống hay đã có người đặt

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 maThucDon Primary key nvarchar(50) Mã cho từng thực đơn

2 maMonAn Primary key nvarchar(50) Mã món ăn

3 ngayLam date Thời gian chế biến thực đơn

4 KhachHangTotNhat nvarchar(50) Khách hàng phù hợp cho từng thực đơn

5 tomTat ntext Mô tả sơ lƣợc về thực đơn

6 urlHinhAnh nvarchar(200) Đường dẫn chứa ảnh của thực đơn

7 tieuDe nvarchar(50) Tiêu đề của từng thực đơn

STT Tên phương thức Ghi chú

1 themBan() Thêm thông tin về bàn

2 capNhatBan() Cập nhật thông tin của bàn

3 xoaBan() Xóa thông tin của bàn

4 xemDanhSachBan() Xem danh sách thông tin của từng bàn

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 IdDatBan Primary key int Mã Đặt bàn

2 maBan Foreign key varchar(20) Mã bàn

3 soNguoiLon int Số lượng người lớn trong đặt bàn

4 soTreEm int Số lƣợng trẻ em trong đặt bàn

5 ngayDat date Ngày đặt bàn

6 gioDat time(7) Giờ đặt bàn

7 Ten nvarchar(50) Tên người đặt bàn

8 soDienThoai nvarchar(50) Số điện thoại người đặt

9 Email nvarchar(50) Email người đặt(nếu có)

10 ghiChu nvarchar(50) Mô tả thêm về bàn đặt

Trạng thái đặt bàn tình trạng thanh toán bàn đặt hay chƣa?

STT Tên phương thức Ghi chú

1 chonNgayGio() Chọn Ngày và giờ đặt bàn cho thích hợp và chủ động hơn

2 chonBan() Chọn chỗ ngồi, vị trí của bàn

3 insertDatBan() Thêm các thông tin vừa chọn trên vào đặt bàn

4 xemDanhSachBanDat() Xem danh sách thông tin của bàn đã đặt

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 IdDatBan Primary key int Mã Đặt bàn

2 maMonAn Primary key int Mã món ăn

3 tenMonAn nvarchar(50) Tên món ăn của bàn đã đặt

4 anhMonAn nvarchar(50) Đường dẫn ảnh chứa bàn đã đặt

5 Total money Tổng tiền của từng món với số lương với bàn đã đặt

6 soLuong int Số lƣợng của từng món đã đặt

7 giaMonAn int Giá của từng món

STT Tên phương thức Ghi chú

1 xemDanhSachHoaDon() Xem danh sách thông tin của từng hóa đơn

3.3.2.6 Lớp chi tiết hóa đơn

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 maChiTietHoaDon Primary key int Mã chi tiết hóa đơn

2 IdDatBan Primary key int Mã bàn đã đặt

3 Tong int Tổng tiền của bàn đã đặt khi chƣa áp dụng mức ƣu đãi

4 trungthuong int Áp dụng mức ƣu đãi khi quay vòng quay may mắn

5 tongTien money Tổng tiền sau khi áp dụng mức ƣu đãi

6 Status int Trạng thái thanh toán hóa đơn

STT Tên phương thức Ghi chú

1 xemChiTietHoaDon() Xem danh sách thông tin cụ thể của từng hóa đơn

2 xoaHoaDon(status) Xóa hóa đơn với tình trạng status=0 với hóa đơn chƣa thanh toán tiền

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 nguoiDungId Primary key int Mã người dùng

2 tenNguoiDung nvarchar(50) Tên người dùng

3 matKhau nvarchar(50) Mật khẩu của người dùng

4 hoTen nvarchar(50) Họ và tên của người dùng

5 Tuoi int Tuổi của người dùng

6 Email nvarchar(50) Email của người dùng

7 gioiTinh bit Giới tính của người dùng

8 anhDaiDien nvarchar(500) Đường dẫn chứa ảnh của người dùng

Quyền sử dụng của người dùng có phải là admin hay người quản lý hay khách hàng

STT Tên phương thức Ghi chú

1 themNguoiDung() Thêm mới người dùng

2 capNhatNguoiDung() Cập nhật người dùng

Phân quyền cho người dùng có phải là người quản lý hay người quản trị admin hay khách hàng

6 xemDanhSachNguoiDung() Xem danh sách người dùng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 Id Primary key int Mã người dùng

2 quyenSuDung nvarchar(50) Tên quyền người dùng

STT Tên phương thức Ghi chú

1 themQuyenNguoiDung() Thêm mới quyền người dùng

2 capNhatQuyenNguoiDung() Cập nhật quyền người dùng

3 xoaQuyenNguoiDung() Xóa quyền người dùng

4 xemDanhSachQuyenNguoiDung() Xem thông tin quyền người dùng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 loaiKhachHangId Primary key int Mã loại khách hàng

2 tenLoai nvarchar(50) Tên loại khách hàng

STT Tên phương thức Ghi chú

1 themLoaiKhachHang() Thêm mới loại khách hàng

2 capNhatLoaiKhachHang() Cập nhật loại khách hàng

3 xoaLoaiKhachHang () Xóa loại khách hàng

4 xemDanhSachLoaiKhachHang() Xem thông tin loại khách hàng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 khachHangId Primary key int Mã khách hàng

2 hoTen nvarchar(50) Tên khách hàng

3 Tuoi int Tuổi của khách hàng

4 Email nvarchar(50) Email có thể có của khách hàng

5 dienThoai nvarchar(12) Số điện thoại

7 loaiKhachHangId Foreign key int Mã loại khách hàng

8 nguoiDungId Foreign key int Mã người dùng

STT Tên phương thức Ghi chú

1 themKhachHang() Thêm mới khách hàng

2 capNhatKhachHang() Cập nhật khách hàng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 IdTaiKhoan Primary key int Mã tài khoản

2 tenNganHang nvarchar(50) Tên ngân hàng

3 hoTenChuthe nvarchar(50) Họ tên chủ thẻ tài khoản

4 soTheThanhToan char(20) Số thẻ thanh toán ngân hàng

5 ngayPhatHanh nchar(2) Ngày phát hành thẻ

6 namPhatHanh nchar(4) Năm phát hành thẻ

STT Tên phương thức Ghi chú

1 themTaiKhoan() Thêm mới tài khoản

2 capNhatTaiKhoan() Cập nhật tài khoản

3.3.2.12 Lớp trang liên kết ngân hàng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 IdLienKet Primary key int Mã ngân hàng

2 IdTaiKhoan Foreign key int Mã tài khoản

3 soDuTaiKhoan int Số dƣ tài khoản trong ngân hàng

4 hoVaTen nvarchar(50) Họ và tên chủ thẻ trong ngân hàng

5 Email/số điện thoại nvarchar(50) Email chủ thẻ trong ngân hàng (nếu có)

6 DiaChi nvarchar(50) Địa chỉ chủ thẻ trong ngân hàng

7 MatKhau varchar(50) Mat khau đăng nhập trong ngân hàng

8 userName nvarchar(50) Tên trong ngân hàng

STT Tên phương thức Ghi chú

1 themTrangLienKetNganHang() Thêm mới Trang ngân hàng

2 capNhatTrangLienKetNganHang() Cập nhật Trang ngân hàng

3 xoaTrangLienKetNganHang() Xóa Trang ngân hàng

4 xemDanhSachTrangLienKetNganHang() Xem Trang ngân hàng

STT Tên thuộc tính Ràng buộc Kiểu dữ liệu Ý nghĩa/ Ghi chú

1 yKienId Primary key int Mã ý kiến phản hồi

2 khachHangId Foreign key int Mã khách hàng

3 chiTietHoaDonId Foreign key int Mã chi tiết hóa đơn

4 noiDung ntext Nội dung gửi ý kiến phản hồi

5 yourRate nvarchar(50) Đánh giá về bình luận nhà hàng

STT Tên phương thức Ghi chú

1 xemYKienPhanHoi() Xem ý kiến phản hồi của khách hàng

2 themYKienPhanHoi() Thêm ý kiến phản hồi của khách hàng

3 danhGiaBinhLuan() Đánh giá bình luận của khách hàng với nhà hàng

Sơ đồ diagram

XÂY DỰNG TRANG WEB ĐẶT MÓN VÀ ĐẶT CHỖ TRỰC TUYẾN

Công cụ sử dụng

Các công cụ đƣợc sử dụng trong đồ án

- Các công cụ và phần mềm sử dụng để lập trình và chạy ngôn ngữ java web Bao gồm: JDE (Java Developer Eclipse), Apache Tomcat, JDBC (Java Database Connectivity);

Ngoài việc chuẩn bị các công cụ trên, cần có sự chuẩn bị kiến thức kỹ càng về Java core, Java web, mô hình MVC, html, css, javaScript, ajax …

Khi người dùng gửi truy vấn về kết quả hiển thị trên màn hình, chỉ số trang mà họ cần truy cập sẽ được gửi đến máy chủ.

Máy chủ nhận chỉ số trang từ người dùng và lọc ra các bản ghi phù hợp với chỉ số đó Kết quả sẽ được trả về cho người dùng dưới dạng danh sách các địa điểm tương ứng với chỉ số trang đã truy vấn.

 Biểu đồ th ng kê phần trăm th ng kê doanh thu sản phẩm

Máy chủ thống kê doanh thu sản phẩm theo phần trăm, bao gồm các sản phẩm bán chạy nhất và sản phẩm có doanh thu cao nhất Thống kê doanh thu được thực hiện theo từng ngày và từng tháng Kết quả sẽ được gửi về cho khách hàng dưới dạng {phần trăm, tổng tiền:.đ}.

- Kết quả trả về cho Client (trình duyệt) đƣợc Javascript xử lý và điền vào biểu mẫu của Google Khi có số liệu biểu đồ sẽ đƣợc dựng lên

4.1.2 Tìm hiểu và cài đặt các công cụ

4.1.2.1 Các công cụ quan đến ngôn ngữ Java web

Eclipse là một môi trường phát triển tích hợp (IDE) nổi tiếng cho Java, được phát triển ban đầu bởi IBM và hiện nay do tổ chức Eclipse duy trì Ngoài việc hỗ trợ Java, Eclipse còn tương thích với nhiều ngôn ngữ lập trình khác như PHP, C, C++, C#, Python, HTML, XML và JavaScript thông qua các plugin bổ sung.

JDE có thể đƣợc tải về và cài đặt tại trang chủ: https://www.eclipse.org

Apache Tomcat, commonly referred to as Tomcat, is an open-source web server developed by the Apache Software Foundation (ASF) It implements several Java EE technologies, including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, providing a pure Java environment for running Java code on the web.

Apache Tomcat có thể đƣợc tải về và cài đặt tại trang chủ: http://tomcat.apache.org

Java Database Connectivity (JDBC) là một API cho ngôn ngữ lập trình Java, cho phép truy cập cơ sở dữ liệu và là một phần của nền tảng Java Standard Edition của Oracle JDBC cung cấp các phương thức để truy vấn và cập nhật dữ liệu trong cơ sở dữ liệu quan hệ Để kết nối với các nguồn dữ liệu ODBC, có thể sử dụng cầu JDBC-to-ODBC trên môi trường máy ảo Java (JVM) Trong đồ án này, hệ quản trị cơ sở dữ liệu được sử dụng là SQL Server, vì vậy JDBC sử dụng là JDBC cho SQL Server, có thể tải về và cài đặt tại: https://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx.

- Mô hình MVC (Model-view-controller)

Model-view-controller (MVC) là kiến trúc phần mềm quan trọng, chủ yếu được sử dụng để phát triển giao diện người dùng, nhưng cũng áp dụng cho nhiều lĩnh vực khác Kiến trúc này chia ứng dụng thành ba phần liên kết chặt chẽ, giúp tách biệt cách thức lưu trữ thông tin nội bộ với cách thức thông tin được trình bày và tương tác với người dùng.

- Hệ quản trị SQL Server

SQL (Structured Query Language) là ngôn ngữ lập trình đặc biệt dùng để quản lý và xử lý dữ liệu trong hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) hoặc trong các hệ thống quản lý luồng dữ liệu.

Microsoft SQL Server là hệ thống quản lý cơ sở dữ liệu quan hệ do Microsoft phát triển Là một máy chủ cơ sở dữ liệu, sản phẩm này cho phép người dùng chạy phần mềm trên cùng một máy tính hoặc truy cập từ xa qua mạng, bao gồm Internet.

SQL Server có thể đƣợc tải về và cài đặt tại trang: https://www.microsoft.com/en-us/server-cloud/products/sql-server

4.1.3 Kỹ thuật m hóa và m hóa D5

4.3.1.1 Mã hóa 1 chiều là gì?

- Mã hóa 1 chiều đơn giản là một khi đã mã hóa thì vĩnh viễn không giải mã đƣợc nữa

- Mã hóa 1 chiều thường dùng để đảm bảo tuyệt đối dữ liệu của người dùng

- Thường dùng để lưu trữ mật khẩu người dùng vào database

Khi người dùng tạo tài khoản với mật khẩu "aaa", đoạn mã này sẽ được mã hóa một chiều và lưu trữ an toàn trong cơ sở dữ liệu.

Khi người dùng đăng nhập, họ sẽ nhập mật khẩu, và ứng dụng sẽ mã hóa mật khẩu này để so sánh với đoạn mã hóa lưu trữ trong cơ sở dữ liệu Nếu hai đoạn mã hóa trùng khớp, người dùng sẽ được phép đăng nhập.

- Trường hợp một hacker nào đó ăn trộm được database thì cũng sẽ chỉ thấy các đoan code đã mã hóa và không làm gì đƣợc thêm cả

MD5 là một thuật toán được sử dụng rộng rãi trong các ứng dụng bảo mật và kiểm tra tính toàn vẹn của tập tin Kết quả của hàm băm MD5 thường được biểu diễn dưới dạng chuỗi 32 ký tự hệ thập lục phân.

MD5, được thiết kế bởi Ronald Rivest vào năm 1991 như một sự thay thế cho MD4, đã bị phát hiện lỗ hổng vào năm 1996 Mặc dù không rõ ràng về mức độ nghiêm trọng của lỗ hổng, các chuyên gia mã hóa đã bắt đầu khuyến nghị sử dụng các thuật toán khác như SHA-1, mà sau này cũng bị coi là không an toàn Đến năm 2004, nhiều lỗ hổng khác được phát hiện, dẫn đến việc đặt nghi vấn về tính an toàn của MD5 trong các ứng dụng bảo mật.

4.1.3.3 Khả năng bị tấn công

MD5 chỉ quét dữ liệu một lần, do đó nếu hai tiền tố với cùng bảng băm được tạo ra, chúng có thể dẫn đến cùng một hậu tố, làm tăng khả năng xảy ra va chạm Điều này có nghĩa là hai dữ liệu đầu vào X và Y hoàn toàn khác nhau nhưng có thể cho ra một giá trị băm MD5 giống nhau Tuy nhiên, xác suất xảy ra tình huống này là khá nhỏ.

Các kỹ thuật tìm đụng độ hiện nay cho phép xác định ngẫu nhiên các trạng thái băm, giúp phát hiện xung đột cho bất kỳ tiền tố nào mong muốn Điều này có nghĩa là, với một chuỗi ký tự X đã cho, có thể tìm ra hai tập tin đụng độ có cùng tiền tố bắt đầu bằng X.

Sơ đồ website

- Sơ đồ website của khách ghé thăm

Hình 4.1 Sơ đồ website của khách ghé thăm

- Sơ đồ website của thành viên

Hình 4.2 Sơ đồ website của thành viên

Thiết kế giao diện

- Giao diện đăng ký người dùng

Hình 4.3 Giao diện đăng ký người dùng

- Giao diện đăng nhập người dùng

Hình 4.4 Giao diện đăng nhập người dùng

Mỗi quản lý nhà hàng cần có tài khoản và mật khẩu để truy cập trang web, từ đó có thể cập nhật thông tin mới nhất về nhà hàng.

+ Mỗi khách hàng khi muốn đặt món thì cần phải đăng nhập để đặt món và thực hiện các thao tác nhƣ đặt chỗ ngồi, đặt bàn, thanh toán

+ Khi cá nhân đăng nhập, hệ thống sẽ tự động xác minh tên đăng nhập và mật khẩu

+ Nếu tài khoản không thể đƣợc tìm thấy trong bất kỳ máy chủ, sau đó hệ thống ném một thông báo lỗi:

"Tên sử dụng không hợp lệ Vui lòng nhập lại"

- Giao diện đặt chỗ ngồi

Hình 4.5 Giao diện đặt chỗ ngồi

- Giao diện thanh toán thông qua ngân hàng viettinbank

Hình 4.6 Giao diện thanh toán thông qua ngân hàng viettinbank

- Giao diện thêm loại món ăn

Hình 4.7 Giao diện thêm loại món ăn

- Giao diện sửa loại món ăn

Hình 4.8 Giao diện sửa loại món ăn

- Giao diện xóa loại món ăn

Hình 4.9 Giao diện xóa loại món ăn

- Giao diện cập nhật món ăn

Hình 4.10 Giao diện sửa món ăn

- Giao diện thống kê doanh thu

Hình 4.11 Giao diện thống kê doanh thu

- Giao diện thống kê món ăn bán chạy nhất

Hình 4.12 Giao diện thống kế món ăn bán chạy nhất

Các chức năng đã thực hiện đƣợc

- Các chức năng của người quản lý, quản trị:

Chức năng quản lý món ăn cho phép người quản lý và quản trị thực hiện các thao tác như thêm mới, cập nhật, xóa thông tin các món ăn và xem danh sách các món ăn hiện có.

Chức năng quản lý thực đơn cho phép người quản lý thêm, cập nhật và xóa thông tin thực đơn một cách dễ dàng Người dùng có thể điều chỉnh thực đơn theo ngày, như thực đơn hôm nay và ngày mai, cũng như theo nhu cầu của từng đối tượng như người gầy, người béo phì, người ăn kiêng hay người bị tiểu đường Ngoài ra, hệ thống cũng hỗ trợ phân loại thực đơn theo giá tiền và cung cấp danh sách thực đơn hiện có.

Chức năng quản lý loại món ăn cho phép người quản lý và quản trị thêm mới, cập nhật, xóa thông tin về các loại món ăn, cũng như xem danh sách các loại món ăn hiện có.

Chức năng quản lý khuyến mại cho phép quản trị viên dễ dàng thêm mới, cập nhật và xóa thông tin về các dịch vụ khuyến mại của nhà hàng, đồng thời xem danh sách các gói khuyến mại hiện có.

 Chức năng quản lí người dùng: quản trị viên có thể thêm mới, cập nhật, tìm kiếm, và xóa thông tin của người dùng, xem danh sách người dùng

Chức năng thống kê doanh thu cho phép người quản lý theo dõi doanh thu theo ngày, tháng và năm Hệ thống cũng cung cấp thông tin về số lượng món ăn bán chạy nhất cũng như món ăn mang lại doanh thu cao nhất thông qua biểu đồ phân tích doanh thu.

- Các chức năng của thành viên của website:

 Chức năng xem danh sách các món ăn: thành viên của website có thể xem danh sách các món ăn mới nhất vừa mới cập nhật của nhà hàng

Chức năng xem danh sách thực đơn cung cấp nhiều lựa chọn phong phú cho người dùng, bao gồm thực đơn ngày hôm nay, ngày mai và theo đối tượng như người ăn kiêng, người béo phì, người bị tiểu đường, hay người gầy Bên cạnh đó, thực đơn còn được phân loại theo giá tiền để phù hợp với nhu cầu của khách hàng, mỗi yêu cầu sẽ có nhiều thực đơn và mỗi thực đơn lại chứa nhiều món ăn hấp dẫn.

Thành viên của website có thể xem chi tiết về món ăn, bao gồm thông tin giá cả, mô tả món ăn và nguyên liệu chế biến, giúp họ lựa chọn phù hợp với đối tượng người ăn.

Khi trở thành thành viên của website, khách hàng có thể dễ dàng đặt món từ thực đơn gợi ý hoặc tự tạo thực đơn riêng cho mình.

 Thành viên có thể đăng nhập, đăng xuất khỏi hệ thống, đăng kí thành viên của website

 Chức năng đặt chỗ ngồi: Khách hàng có thể chọn ngày đặt, giờ đặt với số lượng người ăn phù hợp và vị trí bàn trước

 Chức năng áp dụng mức ƣu đãi: Khi khách hàng đặt món ăn, có hóa đơn

>500.000đ thì khách hàng có ƣu đãi là áp dụng vòng quay may mắn để có thể áp dụng mức giảm giá mà nhà hàng đã đƣa ra

Chức năng thanh toán trực tuyến giúp tăng cường niềm tin giữa khách hàng và nhà hàng, khi khách hàng đặt chỗ ngồi và món ăn, họ sẽ được yêu cầu thanh toán trước.

Khách hàng có thể sử dụng chức năng góp ý phản hồi để gửi ý kiến về dịch vụ phục vụ của nhân viên tại nhà hàng, cũng như yêu cầu tư vấn thêm về các dịch vụ hoặc món ăn.

Chức năng quản lý trang cá nhân cho phép thành viên đăng nhập vào tài khoản để xem và chỉnh sửa thông tin cá nhân như họ tên, email và số điện thoại Ngoài ra, thành viên cũng có thể thay đổi mật khẩu và xem danh sách các món ăn cùng thực đơn của mình.

- Các chức năng của khách ghé thăm website:

 Chức năng đăng ký thành viên

Thành viên của website có thể dễ dàng truy cập và xem danh sách các thực đơn, bao gồm thực đơn cho hôm nay, ngày mai, theo đối tượng và theo mức giá.

 Chức năng xem chi tiết món ăn: thành viên của website có thể xem chi tiết của món ăn, xem mô tả chi tiết.

Ngày đăng: 01/08/2021, 10:36

TỪ KHÓA LIÊN QUAN

w