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

báo cáo cá nhân hệ thống nhúng và thiết kế giao tiếp nhúng đề tài máy giao dịch khách sạn tự động

18 1 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 đề Máy giao dịch khách sạn tự động
Tác giả Nguyễn Thái Bảo, Nhóm 20
Người hướng dẫn TS. Phạm Văn Tiến
Trường học ĐẠI HỌC BÁCH KHOA HÀ NỘI
Chuyên ngành Hệ thống nhúng và thiết kế giao tiếp nhúng
Thể loại Báo cáo cá nhân
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 2,54 MB

Nội dung

Mục tiêu và phạm viMục tiêu của đề tài là nghiên cứu mô hình hệ thống giao dịch tự động khách sạn,đặt phòng, thanh toán tự động, định danh khách hàng và tiếp nhận trả phòng tự động.Phạm

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO CÁ NHÂN

HỆ THỐNG NHÚNG VÀ THIẾT

KẾ GIAO TIẾP NHÚNG

Đề tài:

MÁY GIAO DỊCH KHÁCH SẠN TỰ ĐỘNG

Giảng viên hướng dẫn: TS Phạm Văn Tiến

Sinh viên thực hiện: NHÓM 20

Nguyễn Thái Bảo 20192709

Trang 2

A Giới thiệu chung

Chương này trình bày khái quát về ý tưởng của đề tài, mục tiêu và phạm vi và nghiên cứu các phương pháp đã có để thực hiện đề tài

1 Lý do chọn đề tài

Đề tài "Hệ thống nhúng giao dịch tự động khách sạn" là một đề tài có tiềm năng ứng dụng cao trong thực tiễn Lý do chọn đề tài này là bởi ngành công nghiệp khách sạn ngày càng phát triển mạnh mẽ, đòi hỏi phải đáp ứng nhu cầu của khách hàng ngày càng cao Hiện nay, hầu hết các khách sạn vẫn sử dụng phương thức giao dịch truyền thống như quầy lễ tân Phương thức này không chỉ tốn nhân lực mà còn dễ xảy ra sai sót Với sự phát triển của công nghệ thông tin và trí tuệ nhân tạo, việc ứng dụng hệ thống nhúng giao dịch tự động sẽ giúp tự động hóa quy trình giao dịch, giảm thiểu chi phí nhân công, nâng cao chất lượng dịch vụ, đáp ứng tốt hơn nhu cầu khách hàng Vì vậy, đề tài này có ý nghĩa quan trọng trong việc ứng dụng công nghệ thông tin vào lĩnh vực dịch vụ khách sạn

2 Mục tiêu và phạm vi

Mục tiêu của đề tài là nghiên cứu mô hình hệ thống giao dịch tự động khách sạn, đặt phòng, thanh toán tự động, định danh khách hàng và tiếp nhận trả phòng tự động Phạm vi nhằm nắm được cách sử dụng các công cụ lập trình, mô phỏng cũng như mô hình hoá hệ thống

3 Hệ thống giao dịch tự động khách sạn

Hệ thống giao dịch tự động khách sạn là hệ thống cho phép khách hàng tự thực hiện các thủ tục nhận phòng, trả phòng mà không cần sự hỗ trợ của nhân viên lễ tân Khi khách hàng đến khách sạn, họ có thể quét thẻ căn cước hoặc vé máy bay để xác thực thông tin Sau đó, hệ thống sẽ tự động in vé phòng, thẻ phòng và hướng dẫn khách hàng đến phòng mà không cần sự can thiệp của nhân viên Khi trả phòng, khách hàng chỉ cần quét mã QR trên thẻ phòng để thanh toán hoặc gửi phản hồi về dịch vụ

Trang 3

Yêu cầu chức năng:

1 Đặt phòng

2 Trả phòng

3 Xác thực danh tính

4 Thanh toán giao dịch

Cách hoạt động của hệ thống giao dịch tự động khách sạn:

Bước 1: Khách hàng sẽ đăng ký vào phòng thông qua màn hình cảm ứng được lắp đặt tại quầy tiếp tân Hệ thống sẽ yêu cầu khách hàng cung cấp thông tin cá nhân cơ bản như tên, địa chỉ email, số điện thoại và quét thẻ CCCD để tiến hành đăng ký

Bước 2: Sau khi nhập đầy đủ thông tin, hệ thống sẽ tiến hành xác thực thanh toán và cấp phòng cho khách Phương thức thanh toán được hỗ trợ bao gồm thanh toán bằng thẻ tín dụng, thẻ ghi nợ hoặc mã QR (Sử dụng máy quét thẻ cho 2 thẻ, còn QR chỉ cần hiện mã QR trên màn hình.) Bước 3: Sau khi thanh toán thành công, hệ thống sẽ in vé phòng và mở cửa phòng khách sạn tự động Thông tin phòng sẽ được ghi nhớ trong hệ thống

để theo dõi số lượng khách đang lưu trú (Cần có máy in)

Bước 4: Trong quá trình lưu trú, khách hàng có thể yêu cầu các dịch vụ như giặt ủi, dọn phòng, đặt đồ ăn thông qua ứng dụng trên điện thoại hoặc màn hình cảm ứng trong phòng Các yêu cầu này sẽ được hệ thống xử lý và điều phối

Bước 5: Khi trả phòng, khách hàng chỉ cần quét vé phòng lưu trú trước đó trên màn hình cảm ứng để thanh toán Hệ thống sẽ tự động tính toán chi phí

và hoàn tất thủ tục thanh toán, trả phòng

Chức năng trong đề tài của bọn em là đặt phòng, thanh toán tự động nên thiết

kế hệ thống bao gồm:

Một máy tính nhúng được thiết kế đặc biệt để chạy các ứng dụng khách sạn (Kiosk đảm nhiệm vai trò như một lễ tân ảo)

Một màn hình cảm ứng để khách hàng có thể tương tác với hệ thống Một máy in thẻ để in hóa đơn và xuất thẻ từ phòng

Một máy quét mã vạch để quét mã vạch trên thẻ tín dụng hoặc thẻ ghi nợ Khóa cửa thông minh để mở và khóa cửa phòng khách sạn

Trang 4

Hệ thống nhận thông tin nhập từ bàn phím màn hình cảm ứng do khách hàng nhập vào, những thông tin này sẽ được lưu vào trong cơ sở dữ liệu thời gian thực (Firebase) nếu bước quét nhận diện ảnh căn cước công dân thành công Sau đó hệ thống sẽ tiến hành xác thực thanh toán Sau khi thanh toán thành công, hệ thống sẽ xuất thẻ từ (chìa khóa phòng) và hướng dẫn quét mã vé phòng để mở cửa phòng cho khách

Yêu cầu phi chức năng:

Độ tin cậy: Hệ thống cần đảm bảo tính tin cậy cao trong quá trình giao dịch Điều này đồng nghĩa với việc hệ thống phải hoạt động ổn định, không gặp lỗi

và đảm bảo tính nhất quán trong các hoạt động giao dịch thanh toán, xác thực danh tính

Xử lí các tình huống phát sinh chuẩn xác

Bảo mật: Hệ thống cần đảm bảo tính bảo mật của thông tin người dùng và các hoạt động xác thực thông tin, giao dịch thanh toán Cần sử dụng các biện pháp bảo mật như mã hóa dữ liệu và xác thực để đảm bảo rằng không bị rò rỉ thông tin cá nhân của khách hàng

Dễ sử dụng: Giao diện người dùng cần được thiết kế sao cho dễ sử dụng và thân thiện với người dùng Cần đảm bảo rằng các thao tác xác thực, giao dịch được thực hiện một cách đơn giản và rõ rang

Trang 5

Dễ dàng chỉnh sửa, bảo trì.

Đảm bảo tính thời gian thực

B.Mô hình hóa UML

1 Mô tả chức năng

Khi khách hàng đi đến Kiosk và bấm nút “Đặt Phòng”, màn hình sẽ hiển thị danh sách các phòng trong khách sạn với các trạng thái: Trống và Đang sử dụng Các phòng “đang

sử dụng” sẽ bị disable nút (làm mờ đi) Khi khách hàng bấm vào một nút căn phòng

“trống” bất kỳ, màn hình sẽ hiển thị tiếp một form đăng ký bao gồm Họ tên khách hàng, địa chỉ email, số điện thoại và nút yêu cầu quét thẻ CCCD

Sau khi nhập đầy đủ thông tin, hệ thống sẽ tiến hành xác thực thanh toán và cấp phòng cho khách Phương thức thanh toán được hỗ trợ bao gồm thanh toán bằng thẻ tín dụng, thẻ ghi nợ hoặc mã QR (Sử dụng máy quét thẻ cho 2 thẻ, còn QR chỉ cần hiện mã

QR trên màn hình.)

Sau khi thanh toán thành công, hệ thống sẽ xuất thẻ từ (chìa khóa phòng) cho khách hàng để mở cửa phòng khách sạn và bật điện trong phòng Thông tin phòng sẽ được ghi nhớ trong hệ thống để theo dõi số lượng khách đang lưu trú (Cần có máy in)

Trang 6

2 Mô hình hoá hệ thống sử dụng UML

UML là viết tắt của Unified Modeling Language (dịch ra tiếng việt là “Ngôn ngữ mô hình hóa thống nhất”) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng Tạo ra sự tiện lợi cho những người thiết kế và thực hiện hệ thống thông tin cũng như cho người sử dụng Đưa ra một cái nhìn bao quát và đầy đủ về hệ thống dự định xây dựng Điều này giúp nắm bắt trọn vẹn các yêu cầu của người dùng, phục vụ từ giai đọan phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm

Một số sơ đồ UML thường được sử dụng:

- User case diagram (Sơ đồ trường hợp sử dụng):

Mô tả các tương tác giữa người dùng và hệ thống dưới dạng các trường hợp sử dụng

Các đối tượng chính là người dùng và hệ thống Người dùng tương tác với hệ thống thông qua các trường hợp sử dụng

Giúp hiểu rõ hơn về yêu cầu chức năng của hệ thống

- Sequence diagram (Sơ đồ giao tiếp):

Mô tả trình tự trao đổi thông điệp giữa các đối tượng trong một trường hợp sử dụng cụ thể

Các đối tượng được mô tả dưới dạng các đường ngang, thời gian di chuyển dọc theo trục

Giúp hiểu rõ quá trình xử lý và tương tác giữa các đối tượng

- Activity diagram (Sơ đồ hoạt động):

Mô tả toàn bộ quy trình làm việc của hệ thống hoặc một phần của hệ thống Các hoạt động được biểu diễn bằng các hình chữ nhật, trình tự bằng các mũi tên

Giúp phân tích và thiết kế các quy trình nghiệp vụ phức tạp của hệ thống User case Diagram

Sơ đồ usecase khi hệ thống hoạt động ổn định

Trang 7

Sơ đồ usecase khi hệ thống lỗi

Trang 9

Activity Diagram

Trang 10

Sequence Diagram

C Tìm hiểu về FSM

FSM là viết tắt của Finite state machine (máy trạng thái hữu hạn) là một mô hình toàn học biểu diễn trạng thái của hệ, trong đó số trạng thái là hữu hạn Từ một trạng thái, máy có thể chuyển qua một số trạng thái khác dựa trên các sự kiện đầu vào được gọi là input

Máy trạng thái thường được chia làm 2 loại:

Trang 11

§ Máy trạng thái Mealy (Mealy machine): Máy trạng thái Mealy là một máy trạng thái mà dữ liệu đầu ra được quyết định bởi trạng thái hiện tại và các

dữ liệu ngõ vào

§ Máy trạng thái Moor (Moor machine): Máy trạng thái Moor là máy trạng thái mà dữ liệu ngõ ra được quyết định duy nhất bởi trạng thái hiện tại

Vẽ sơ đồ FSM

Trạng thái của FSM và hành vi kết quả của máy Mealy:

Khởi động: Trạng thái ban đầu khi hệ thống khởi động.

Chờ yêu cầu khách: Hệ thống đang ở trạng thái nguyên vẹn và chờ đợi yêu cầu từ

khách hàng

Khi chuyển từ trạng thái "Khởi động" đến "Chờ yêu cầu khách", không có đầu ra kết quả (x) được sinh ra

Nhận yêu cầu: Hệ thống đã nhận yêu cầu từ khách hàng và bắt đầu xử lý.

Khi chuyển từ trạng thái "Chờ yêu cầu khách" đến "Nhận yêu cầu", đầu ra (x) có thể được sinh ra để gửi thông báo cho khách hàng rằng yêu cầu của họ đã được nhận

Đặt phòng: Hệ thống thực hiện các giao dịch như đặt phòng, cung cấp thông tin

về khách sạn và các dịch vụ khác

Xác minh thông tin: Hệ thống xác minh thông tin từ khách hàng như thông tin cá

nhân, phòng cần đặt và các yêu cầu khác

Khi chuyển từ trạng thái " Đặt phòng" đến "Xác nhận thông tin", đầu ra (x) có

thể được sinh ra để gửi thông báo cho khách hàng về quá trình xác minh thông tin Khi chuyển từ trạng thái "Xác minh thông tin" đến "Thanh toán", đầu ra (x) có thể được sinh ra để gửi thông báo cho khách hàng về quá trình thanh toán tiền phòng

Thanh toán: Hệ thống yêu cầu thanh toán từ khách hàng và xử lý quá trình thanh

toán

Khi chuyển từ trạng thái "Xử lý giao dịch" đến "Thanh toán", đầu ra (x) có thể được sinh ra để gửi thông báo cho khách hàng về quá trình thanh toán

Check-in: Giao dịch đã hoàn thành thành công.

Khi chuyển từ trạng thái "Thanh toán" đến "Check-in", đầu ra (x) có thể được sinh ra để gửi thông báo cho khách hàng rằng giao dịch đã hoàn thành

Nghỉ: Hệ thống kết thúc quy trình giao dịch và đổi trạng thái phòng từ “Trống”

sang “Nghỉ”:

Trang 12

Check-out: Hệ thống nhận yêu cầu muốn check-out của khách

Khi chuyển từ trạng thái "Nghỉ" đến "Check-out", đầu ra (x) có thể được sinh ra

để gửi thông báo cho khách hàng rằng khách hàng đã trả phòng thành công

Dọn phòng: Hệ thống yêu cầu nhân viên dọn phòng vào làm việc

Kết thúc: Hệ thống kết thúc quy trình giao dịch và trở về.

Dựa vào yêu cầu của hệ thống, ta thiết kế sơ đồ trạng thái của hệ thống bằng máy trạng thái Mealy

Bảng trạng thái

Trạng thái Đầu vào Đầu ra

Khởi động (Trống) 0

-Chờ yêu cầu khách 0

-Chờ yêu cầu khách 1 X

Nhận yêu cầu 0

-Nhận yêu cầu 1 X

Xác minh thông tin 0

-Xác minh thông tin 1 X

Trang 13

Trạng thái Đầu vào Đầu ra

-Hình 1: Sơ đồ máy trạng thái mealy

Trang 14

D Cơ sở dữ liệu FireBase

Firebase là một nền tảng phát triển ứng dụng di động và web của Google Nó cung cấp một loạt các dịch vụ đám mây để xây dựng và triển khai ứng dụng, bao gồm cơ sở

dữ liệu thời gian thực (Firebase Realtime Database)

Firebase Realtime Database là một cơ sở dữ liệu thời gian thực dựa trên JSON Nó cho phép bạn lưu trữ và đồng bộ dữ liệu trong thời gian thực giữa các thiết bị khác nhau Khi dữ liệu thay đổi, các thiết bị khác có thể nhận được thông báo và cập nhật

dữ liệu một cách tự động

Một số đặc điểm và tính năng của Firebase Realtime Database bao gồm: Đồng bộ thời gian thực: Firebase Realtime Database cho phép các thiết bị khác nhau đồng bộ dữ liệu trong thời gian thực Khi một thiết bị thay đổi dữ liệu, các thiết

bị khác có thể nhận được thông báo và cập nhật dữ liệu một cách tự động

Cơ chế lắng nghe sự thay đổi: Bằng cách sử dụng các sự kiện lắng nghe (listeners), bạn có thể theo dõi các sự thay đổi trong cơ sở dữ liệu và phản hồi khi có sự thay đổi xảy ra Điều này cho phép bạn xây dựng ứng dụng có tính tương tác cao và đáp ứng nhanh chóng

Được xây dựng trên cơ sở dữ liệu JSON: Firebase Realtime Database sử dụng cấu trúc dữ liệu JSON linh hoạt để lưu trữ dữ liệu Điều này giúp đơn giản hóa việc truy cập và xử lý dữ liệu trong ứng dụng

Quyền truy cập dữ liệu: Bạn có thể xác định quyền truy cập dữ liệu cho người dùng và nhóm người dùng trong Firebase Realtime Database Điều này giúp đảm bảo

an ninh và kiểm soát quyền truy cập vào dữ liệu của ứng dụng

Hỗ trợ đa nền tảng: Firebase Realtime Database hỗ trợ đa nền tảng, cho phép bạn phát triển ứng dụng cho các nền tảng di động (Android, iOS) và web một cách dễ dàng

Firebase Realtime Database là một trong các dịch vụ quan trọng của Firebase và được sử dụng rộng rãi trong việc xây dựng ứng dụng di động và web có tính năng đồng bộ dữ liệu thời gian thực

Tạo Realtime Database trên Firebase:

Trang 15

Hình 2: Giao diện Firebase trên web

Tạo bảng dữ liệu của căn phòng, khách hàng:

Mỗi căn phòng bao gồm các thuộc tính: Số phòng, Tình trạng sử dụng: +) Trường “roomID” (primary key) (number): Để mô tả tên của phòng, dùng

để phân loại phòng trong quá trình khách hàng lựa chọn phòng

+) Trường “state” (boolean): Để mô tả trạng thái của phòng, 0 tức là đang trống, 1 là đang sử dụng

+) Trường “price” (number): Để mô tả giá căn phòng

Trang 16

Hình 3: Đối tượng phòng Mỗi khách hàng có các thuộc tính: Mã khách hàng, Tên, Số điện thoại, Địa chỉ email, Số phòng

+) Trường “customerID” (primary key) (int): Để mô tả mã khách hàng +) Trường “name” (string): Để mô tả tên khách hàng

+) Trường “phonenumber” (string): Để mô tả số điện thoại của khách hàng +) Trường “email” (string): Để mô tả địa chỉ hòm thư điện tử của khách hàng +) Trường “isUsing” (Boolean): Để mô tả trạng thái sử dụng phòng của khách hàng, nếu chưa trả phòng thì là 1, đã trả phòng thì là 0

+) Trường “roomID” (foreign key) (number): Để mô tả tên của phòng khách hàng đã chọn

Trang 17

Hình 4: Đối tượng khách hàng

E Kiểm thử hệ thống

Xem xét đầy đủ các kịch bản có thể xảy ra của hệ thống giao dịch khách sạn tự động chính là các test case có thể xảy ra trong thực tế hoạt động mà hệ thống có thể gặp phải:

- Kịch bản 1: Hết phòng trống

Không còn phòng trống, hệ thống gửi thông báo hiển thị lên màn hình Kiosk “Hiện tại không còn phòng trống, vui lòng quay lại sau!”

- Kịch bản 2: Ảnh chụp căn cước công dân không hợp lệ

Hệ thống gửi thông báo hiển thị lên màn hình Kiosk “Ảnh chụp căn cước công dân không hợp lệ”

- Kịch bản 3: Người dùng không đủ tiền trong tài khoản ngân hàng

Hệ thống thông báo “Tài khoản không đủ số dư, vui lòng chọn thẻ khác”

- Kịch bản 4: Thẻ ngân hàng quét không hợp lệ, hết hạn sử dụng

Hệ thống thông báo “Thẻ ngân hàng không hợp lệ” và trả về màn hình chính

- Kịch bản 5: Thông tin nhập vào không hợp lệ, ví dụ trong tên khách hàng có số, số điện thoại có chữ…

Hệ thống thông báo “Thông tin quý khách nhập vào không hợp lệ, vui lòng thử lại”

- Kịch bản 6: Khách hàng thanh toán thành công nhưng không nhả thẻ ra

Trang 18

Hệ thống sẽ tự động đóng sau một khoảng thời gian và lưu thông tin thanh toán của khách hàng, sẽ có nhân viên lễ tân hỗ trợ và đưa chìa dự phòng cho khách

- Kịch bản 7: Hệ thống đang thực hiện giao dịch thì mất nguồn

Hệ thống sẽ bật bộ phát điện và thực hiện nốt giao dịch

- Kịch bản 8: Hệ thống thực hiện giao dịch toàn bộ quá trình thành công

Hệ thống thông báo “Thực hiện thanh toán thành công, vui lòng lấy thẻ phòng từ khay bên cạnh Chúc quý khách sử dụng dịch vụ vui vẻ!”, trừ tiền trong tải khoản người dùng và xuất thẻ phòng tương ứng với khách hàng chọn ở khe nhả

- Kịch bản 9: Khách hàng trả thẻ vào khay nhưng khay không nhận do trục trặc

Hệ thống gửi thông báo kính “Mong quý khách thông cảm và liên hệ với lễ tân hỗ trợ” hoặc có thể để nguyên đó, hệ thống tự gửi thông báo hỗ trợ đến nhân viên

- Kịch bản 10: Khách hàng trả thẻ vào khay thành công

Hệ thống thông báo “ Cảm ơn quý khách đã sử dụng dịch vụ, rất mong được nhận phản hồi tốt từ quý khách và hẹn gặp lại!”

D Kết luận

Đã thực hiện được khảo sát đề tài cũng như lên ý tưởng bài toán, hướng giải quyết bài toán ban đầu

Thực hiện được mô hình hóa bài toán bằng UML, FSM

Thông qua đề tài em nhận được khá nhiều kiến thức cho bản thân, từ bước khảo sát bài toán đền bước thực hiện triển khai đề tài Do trong khoảng thời gian có hạn cũng như kiến thức, khả năng lập trình còn hạn chế,nên dề tài chúng em làm còn nhiều thiếu sót, có thể cải tiến cà khắc phục sau này Kết hợp với đóng góp của thầy chúng em hoàn thiện đề tài hơn Em xin cảm ơn!

Ngày đăng: 18/06/2024, 17:24

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

TÀI LIỆU LIÊN QUAN

w