1. Trang chủ
  2. » Giáo Dục - Đào Tạo

xây dựng website quản lý đặt phòng khách sạn vinpearl

70 0 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 đề Xây dựng website quản lý đặt phòng khách sạn Vinpearl
Tác giả Lê Bá Nhật
Người hướng dẫn ThS. Trần Bửu Dung
Trường học Đại học Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 70
Dung lượng 1,36 MB

Nội dung

Do đó, việc sử dụng website quản lý phòng và đặt phòng có tích hợp một cổng thanh toán trực tuyến giúp cải thiện trải nghiệm mua sắm của khách hàng và giúp các khách sạn thuận tiện hơn t

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

Đà Nẵng, 01/2024

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ ĐẶT PHÒNG

Trang 2

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

Đà Nẵng, 01/2024

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ ĐẶT PHÒNG

Trang 3

Đà Nẵng, ngày tháng năm 2024

Giảng viên hướng dẫn

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN

Trang 5

TÓM TẮT

Tên đề tài: Xây dựng website quản lý đặt phòng khách sạn Vinpearl Sinh viên thực hiện: Lê Bá Nhật

Mã SV: 1911505310244 Lớp: 19T2 Đề tài yêu cầu xây dựng một website để quản lý đặt phòng trong khách sạn Website này có thể giúp quản lý khách sạn quản lý thông tin đặt phòng, quản lý tình trạng phòng và thanh toán các dịch vụ liên quan đến khách sạn Đề tài yêu cầu sử dụng các công nghệ và ngôn ngữ phù hợp, đảm bảo tính bảo mật và ổn định của hệ thống

Trang 6

3 Nội dung chính của đồ án:

Quá trình xây dựng website quản lý đặt phòng: - Thu thập thông tin tài liệu liên quan và khảo sát thực tế - Phân tích thiết kế các chức năng của hệ thống

- Phân tích thiết kế cơ sở dữ liệu - Xây dựng hệ thống website - Kiểm thử phần mềm

- Hoàn thành báo cáo tổng hợp

4 Các sản phẩm dự kiến:

- Website quản lý đặt phòng khách sạn - File báo cáo hoàn chỉnh

5 Ngày giao đồ án: 10/10/2023 6 Ngày nộp đồ án: 21/01/2024

Đà Nẵng, ngày tháng năm 2024

Trang 7

i

Lời đầu tiên, em xin gởi lời cảm ơn chân thành đến quý thầy cô đã giúp đỡ chúng

em thực hiện đề tài này Đặc biệt là ThS Trần Bửu Dung đã tận tình giúp đỡ chúng

em trong xuất quá trình thực hiện đề tài tốt nghiệp này Đồng thời, chúng em cũng xin cảm ơn quý thầy cô thuộc Khoa Công nghệ số - Trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng đã truyền đạt những kiến thức cần thiết và những kinh nghiệm để em có thể thực hiện tốt đề tài này Đặc biệt, em xin gởi lời cảm ơn chân

thành tới TS Hoàng Thị Mỹ Lệ cùng toàn thể các thầy cô đã giúp đỡ chúng em rất

nhiều trong quá trình học tập và công việc Trong quá trình thực hiện đề tài, do kiến thức và thời gian còn hạn chế nên không thể tránh khỏi những sai sót Vì vậy em mong quý thầy, cô thông cảm và góp ý để em có thể hoàn thiện đề tài Và những lời góp ý đó có thể giúp chúng em có thể tránh được những sai sót sau này

Em xin chân thành cảm ơn!

Trang 8

Em/ Chúng em xin cam đoan : 1 Những nội dung trong luận văn này do chúng em thực hiện dưới sự hướng dẫn

của cô ThS Trần Bửu Dung 2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công

trình ,thời gian, địa điểm công bố 3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, chúng em

xin chịu hoàn toàn trách nhiệm

Sinh viên thực hiện

Lê Bá Nhật

Trang 9

iii

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN i

NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ii

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

a Đối tượng nghiên cứu 2

b Phạm vi nghiên cứu 2

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

4 Giải pháp công nghệ 2

5 Cấu Trúc đồ án 3

Chương 1: CƠ SỞ LÝ THUYẾT 4

1.1 Tổng quan giới thiệu về Golang 4

1.1.1 Giới thiệu về Golang 4

1.1.2 Ưu điểm 5

1.1.3 Nhược điểm 5

1.2 Tổng quan giới thiệu về React 6

1.2.1 Giới thiệu về React 6

1.2.2 Ưu điểm 6

1.2.3 Nhược điểm 7

1.3 Tổng quan giới thiệu PostgreSQL 7

1.3.1 Giới thiệu về PostgreSQL 7

1.3.2 Ưu điểm 9

1.3.3 Nhược điểm 10

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 11

2.1 Khảo sát yêu cầu 11

2.1.1 Hoạt động nghiệp vụ 11

2.1.2 Liệt kê người dùng và yêu cầu 11

2.2 Phân tích hệ thống 12

Trang 10

2.6.2 Thiết kế bảng cơ sở dữ liệu 33

Chương 3: XÂY DỰNG CHƯƠNG TRÌNH 41

3.1 Công cụ xây dựng chương trình 41

3.1.1 Visual Studio Code 41

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57

TÀI LIỆU THAM KHẢO 58

Trang 11

Hình 1.2 Giới thiệu về React JS 6

Hình 1.3 Giới thiệu về PostgreSQL 7

Hình 2.14 Quản lý hóa đơn 29

Hình 2.15 Quản lý doanh thu 30

Hình 2.16 Quản lý tài khoản 31

Hình 2.17 Sơ đồ ERD 32

Hình 2.18 Mô hình chức năng đặt phòng 32

Hình 2.19 Bảng nhân viên 33

Trang 12

Hình 3.3 Giao diện đăng ký 44

Hình 3.4 Giao diện đăng nhập 46

Hình 3.5 Giao diện trang chủ 47

Hình 3.6 Giao diện danh sách phòng 48

Hình 3.7 Giao diện thông tin đặt phòng 49

Hình 3.8 Giao diện phòng đã đặt 49

Hình 3.9 Giao diện chỉnh sửa trang cá nhân 50

Hình 3.10 Giao diện nhân viên xác nhận đặt phòng 50

Hình 3.11 Giao diện nhân viên xác nhận thanh toán 51

Hình 3.12 Giao diện hóa đơn sau khi xác nhận thanh toán 52

Hình 3.13 Giao diện quản lý thông tin khách hàng 53

Hình 3.14 Giao diện quản lý thông tin nhân viên 53

Hình 3.15 Giao diện quản lý thông tin phòng 54

Hình 3.16 Giao diện quản lý thông tin dịch vụ 54

Hình 3.17 Giao diện quản lý thông tin tài khoản 55

Hình 3.18 Giao diện quản lý doanh thu từng ngày 55

Hình 3 19 Giao diện quản lý doanh thu theo tuần 56

Hình 3 20 Giao diện quản lý doanh thu theo tháng 56

Trang 13

vii

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

STT Chữ viết tắt Mô tả Nghĩa tiếng việt

một ngôn ngữ lập trình được sáng tạo và thiết kế bởi các nhân viên của Google

hệ đối tượng

thư viện JavaScript mã nguồn mở được phát triển bởi Facebook

Trang 14

MỞ ĐẦU

Thực tế hiện nay, việc quản lý khách sạn vẫn còn tồn tại nhiều vướng mắc và khó khăn Các khách sạn thường sử dụng các công cụ quản lý phòng và đặt phòng như bảng tính hoặc sổ tay để ghi lại thông tin của khách hàng và phòng trống Tuy nhiên, phương pháp này không hiệu quả và dễ xảy ra sai sót trong việc quản lý phòng và đặt phòng

Với sự phát triển không ngừng của ngành du lịch và khách sạn, việc sử dụng website quản lý phòng và đặt phòng trở nên cần thiết hơn bao giờ hết Website quản lý phòng và đặt phòng sẽ giúp cho các khách sạn tăng cường hiệu quả quản lý, giảm thiểu thời gian và chi phí và cải thiện trải nghiệm của khách hàng

Ngoài ra, với sự phổ biến của kênh bán hàng trực tuyến, một số khách sạn đã thực hiện việc đặt phòng trực tuyến Tuy nhiên, các phương thức đặt phòng trực tuyến hiện nay vẫn còn khá phức tạp và không đồng nhất Do đó, việc sử dụng website quản lý phòng và đặt phòng có tích hợp một cổng thanh toán trực tuyến giúp cải thiện trải nghiệm mua sắm của khách hàng và giúp các khách sạn thuận tiện hơn trong việc quản lý và khai thác dịch vụ đặt phòng của mình

Đề tài "xây dựng website quản lý đặt phòng khách sạn" là một đề tài vô cùng thú vị và hữu ích Website này được phát triển để giúp các khách sạn quản lý việc thuê và đặt phòng một cách dễ dàng và tiện lợi hơn

1 Mục tiêu đề tài

Đề tài "Xây dựng website quản đặt phòng khách sạn" nhằm giúp các khách sạn và nhà nghỉ quản lý việc thuê và đặt phòng dễ dàng hơn, góp phần nâng cao hiệu quả làm việc và cải thiện trải nghiệm của khách hàng Nó sẽ cung cấp một công cụ quản lý hiệu quả, giúp giảm thiểu sai sót và tiết kiệm thời gian và chi phí của các doanh nghiệp trong ngành khách sạn và du lịch

Mục tiêu cụ thể của đề tài này bao gồm: − Thiết kế và phát triển website quản lý đặt phòng khách sạn đáp ứng nhu cầu và yêu cầu của khách hàng và doanh nghiệp trong ngành khách sạn và du lịch

− Đưa ra một giải pháp quản lý phòng và đặt phòng tối ưu, giảm thiểu các sai sót xảy ra trong quá trình quản lý

− Tăng cường khả năng quản lý và giảm thiểu chi phí vận hành của các khách sạn và nhà nghỉ, cải thiện hiệu quả kinh doanh của họ

Trang 15

− Cải thiện trải nghiệm của khách hàng, giúp khách hàng dễ dàng tìm kiếm thông tin, đặt phòng nhanh chóng và thanh toán trực tuyến một cách an toàn và thuận tiện Do đó, một trong mục tiêu quan trọng của đề tài là xây dựng một website quản lý phòng và đặt phòng khách sạn hiệu quả, giúp tối ưu hoá quy trình quản lý, tăng tốc độ đặt phòng và thanh toán, giúp cho các doanh nghiệp trong ngành khách sạn và du lịch có thể cạnh tranh được với các đối thủ khác trên thị trường

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

Đối tượng nghiên cứu của đề tài "xây dựng website quản lý đặt phòng khách sạn" là các khách sạn, nhà nghỉ, các cơ sở lưu trú và các chủ doanh nghiệp trong lĩnh vực ngành du lịch và khách sạn

Cụ thể, đối tượng nghiên cứu trong đề tài này sẽ bao gồm những người quản lý, nhân viên lễ tân, nhân viên quản lý phòng và tài chính của các cơ sở lưu trú Ngoài ra, đối tượng nghiên cứu cũng sẽ bao gồm các khách hàng sử dụng dịch vụ đặt phòng khách sạn, bao gồm các chuyên gia trong lĩnh vực du lịch, nhân viên công ty du lịch, các nhóm tham quan, và khách du lịch cá nhân

b Phạm vi nghiên cứu

Khách sạn Vinpearl - 341 Trần Hưng Đạo, An Hải Bắc, quận Sơn Trà, thành phố Đà Nẵng

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

− Nghiên cứu tài liệu và khảo sát thị trường: Tổng hợp các nghiên cứu liên quan đến website quản lý đặt phòng khách sạn đã được công bố trước đó Đồng thời, đánh giá nhu cầu sử dụng của khách hàng và doanh nghiệp trong ngành khách sạn và du lịch − Thiết kế và phát triển website: Xác định các yêu cầu hệ thống, đưa ra các giải pháp thiết kế hệ thống Xây dựng và phát triển website quản lý đặt phòng khách sạn trên nhiều nền tảng, bao gồm desktop, web và thiết bị di động

− Kiểm thử hệ thống: Tiến hành kiểm thử website, đảm bảo tính năng và độ tin cậy của hệ thống

− Đánh giá, cải tiến và triển khai: Tiến hành đánh giá các kết quả đạt được và đưa ra các phương án cải tiến, nâng cao chất lượng website Triển khai website và hướng dẫn sử dụng cho khách hàng và doanh nghiệp

4 Giải pháp công nghệ

− Hệ thống quản trị cở sở dữ liệu: PostgreSQL − Nền tảng, ngôn ngữ lập trình: Reactjs, Golang

Trang 16

5 Cấu Trúc đồ án

Cấu trúc đồ án bao gồm những phần sau:

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

Tìm hiểu, giới thiệu tổng quát các kiến thức về ngôn ngữ lập trình Golang - Reactjs, và hệ quản trị cơ sở dữ liệu PostgreSQL

Chương 2: Phân tích thiết kế hệ thống

Phân tích các tác nhân và chức năng của từng tác nhân của hệ thống Thiết kế sơ đồ use-case, sơ đồ hoạt động, sơ đồ ERD Thiết kế cơ sở dữ liệu Xây dựng kịch bảng cho từng use-case hệ thống

Chương 3: Xây dựng chương trình

Xây dựng giao diện và chức năng của hệ thống

Kết luận và Hướng phát triển

Kết luận chung cho các chương trong đồ án Trình bày những vấn đề đã giải quyết đồng thời trình bày hướng phát triển

Trang 17

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

1.1 Tổng quan giới thiệu về Golang

1.1.1 Giới thiệu về Golang

Hình 1.1 Giới thiệu về ngôn ngữ Golang

Golang (Go Language) là một ngôn ngữ lập trình được sáng tạo và thiết kế bởi các nhân viên của Google Tuy nhiên, Golang tồn tại như một dự án mã nguồn mở chứ không thuộc về quyền sở hữu của Google Golang được xây dựng để việc lập trình trở nên dễ đọc, đơn giản, hiệu quả và đạt được hiệu suất cao

- Golang còn được biết đến như là một ngôn ngữ static typed Điều này có nghĩa là mọi thứ thuộc về Golang đều phải có kiểu dữ liệu và nó trái ngược với các ngôn ngữ dynamic typed như Python hoặc Javascript

- Golang tương tự như Java hay C++ bởi nó cũng là một ngôn ngữ được sử dụng cho mục đích lập trình Tuy nhiên, tính đơn giản chính là điểm khiến cho Golang trở nên khác biệt so với các ngôn ngữ lập trình khác Nó sở hữu những cú pháp khá tinh gọn và có mức độ tương đồng rất lớn với C++ Do đó, việc học Golang không còn là điều khó khăn nếu bạn đã quá quen thuộc với C++

- Golang cũng có nhiều điểm chung với Java đặc biệt là khả năng xây dựng và phát triển các ứng dụng cross-platform Điều này giúp các lập trình viên sử dụng Golang dễ dàng hòa nhập được vào cộng đồng lập trình cho dù nó là ngôn ngữ "sinh sau đẻ muộn"

- Golang đến từ tên miền của website chính thức là Golang.org, giúp việc tìm kiếm thông tin về ngôn ngữ lập trình Golang trở nên đơn giản hơn

Trang 18

1.1.2 Ưu điểm

- Hiệu suất cao: + Golang được tối ưu hóa cho hiệu suất, với thời gian biên dịch nhanh và mã máy hiệu quả

+ Có garbage collector hiệu quả, giúp quản lý bộ nhớ một cách hiệu quả mà không làm ảnh hưởng đến hiệu suất

- Đa nhiệm nhẹ: + Hỗ trợ đa nhiệm nhẹ (goroutines) giúp xử lý hàng nghìn goroutines mà không làm suy giảm hiệu suất

- Xử lý đồng thời (Concurrency): + Cung cấp các cơ chế xử lý đồng thời thông qua goroutines và channels, giúp dễ dàng thực hiện các tác vụ đa nhiệm và xử lý sự kiện

- Tính đơn giản và dễ đọc: + Cú pháp đơn giản và có cấu trúc rõ ràng giúp làm cho mã nguồn dễ đọc và bảo trì

- Kiểm soát rõ ràng về gói và phạm vi: + Quản lý các phạm vi thông qua cách sử dụng gói (package) giúp kiểm soát mã nguồn và đảm bảo tính sắp xếp

- Hỗ trợ tự động đa kênh (Garbage Collection) + Golang có garbage collector tích hợp giúp tự động quản lý bộ nhớ, giảm gánh nặng cho người lập trình

1.1.3 Nhược điểm

- Không hỗ trợ Generics (đa hình tham số): + Mặc dù đã có các cải tiến trong các phiên bản mới, nhưng Golang vẫn chưa hỗ trợ đầy đủ tính năng Generics, điều này có thể làm tăng độ phức tạp của mã nguồn trong một số trường hợp

- Thiếu mô hình kế thừa truyền thống: + Golang không hỗ trợ mô hình kế thừa truyền thống của các ngôn ngữ như Java hoặc C++ Thay vào đó, nó sử dụng các interfaces để đạt được mục tiêu tương tự

- Cộng đồng chưa lớn như một số ngôn ngữ khác: + So với một số ngôn ngữ khác như Java hoặc Python, cộng đồng Golang có vẻ nhỏ hơn, điều này có thể làm giảm sức mạnh của việc chia sẻ và tái sử dụng mã nguồn

- Thư viện của Golang không phong phú bằng một số ngôn ngữ khác:

Trang 19

+ Mặc dù càng ngày càng có nhiều thư viện được phát triển, nhưng so với một số ngôn ngữ khác, thư viện của Golang có thể chưa phong phú

1.2 Tổng quan giới thiệu về React

1.2.1 Giới thiệu về React

Hình 1.2 Giới thiệu về React JS

- React (còn được gọi là Reactjs hay React.js) là một Thư viện javascript được tạo ra bởi sự cộng tác giữa Facebook và Instagram Nó cho phép những nhà phát triển web tạo ra giao diện người dùng nhanh chóng Phần Views của Reactjs thường được hiển thị bằng việc chủ yếu dung các component mà chứa các component cụ thể hoặc các thẻ HTML Một trong những đặc trưng duy nhất của Reactjs là việc render dữ liệu không những có thể thực hiện ở tầng server mà còn ở tầng client - Nó cũng sử dụng khái niệm là Virtual DOM (DOM ảo) Virtual DOM tạo ra bản cache cấu trúc dữ liệu của ứng dụng trên bộ nhớ Sau đó, ở mỗi vòng lặp, nó liệt kê những thay đổi và sau đó là cập nhật lại sự thay đổi trên DOM của trình duyệt một cách hiệu quả Điều này cho phép ta viết các đoạn code như thể toàn bộ trang được render lại dù thực tế là Reactjs chỉ render những component hay subcomponent nào thực sự thay đổi

1.2.2 Ưu điểm

- Hiệu suất cao: + ReactJS sử dụng Virtual DOM để tối ưu hóa hiệu suất bằng cách cập nhật chỉ những phần cần thiết của DOM thực sự

+ Component-Based: + Phát triển dựa trên kiến trúc component, giúp quản lý mã nguồn dễ dàng, tái sử dụng linh hoạt và phát triển mô-đun

- JSX - Cú pháp gần với HTML: + JSX giúp việc viết mã nguồn trở nên dễ đọc và dễ hiểu hơn, đồng thời giúp kiểm soát tốt hơn với HTML

- Thư viện mạnh mẽ:

Trang 20

+ React có một cộng đồng lớn và phát triển nhanh chóng, điều này dẫn đến sự xuất hiện của nhiều thư viện hỗ trợ và công cụ phát triển (ví dụ như Redux, React Router)

- Hỗ trợ cộng đồng lớn: + Được sử dụng rộng rãi và có cộng đồng đông đảo, giúp giải quyết vấn đề nhanh chóng và có nhiều tài nguyên học tập

- React Native: + Cho phép phát triển ứng dụng di động sử dụng React Native, chia sẻ mã nguồn giữa ứng dụng web và ứng dụng di động

1.2.3 Nhược điểm

- Học khái niệm mới: + Cho những người mới học, có thể cần một thời gian để làm quen với khái niệm component và JSX

- Chỉ giải quyết phần giao diện người dùng: + React giải quyết chỉ một phần của vấn đề, chủ yếu tập trung vào giao diện người dùng, vì vậy bạn cần sử dụng thêm thư viện hoặc framework khác để xử lý các phần khác của ứng dụng như routing hoặc quản lý trạng thái toàn cục - Có quá nhiều lựa chọn:

+ Với nhiều thư viện và công cụ khác nhau, có thể làm cho việc lựa chọn trở nên khó khăn và tốn thời gian

- Tích hợp lược đồ phức tạp: + Trong một số trường hợp, việc tích hợp React vào dự án hiện tại có thể đòi hỏi công sức nhiều hơn so với việc sử dụng một framework đầy đủ tính năng - Nhược điểm của JSX:

+ Mặc dù JSX mang lại nhiều lợi ích, nhưng cũng có thể làm tăng độ phức tạp của mã nguồn và có thể khó đọc đối với những người mới học

1.3 Tổng quan giới thiệu PostgreSQL

1.3.1 Giới thiệu về PostgreSQL

Hình 1.3 Giới thiệu về PostgreSQL

Trang 21

+ PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ-đối tượng (object- relational database management system) có mục đích chung, hệ thống cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay.

+ PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phòng khoa học máy tính Berkeley, Đại học California

+ PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX Tuy nhiên, PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows

khả dụng theo license của PostgreSQL, một license nguồn mở tự do Theo đó, bạn sẽ được tự do sử dụng, sửa đổi và phân phối PostgreSQL dưới mọi hình thức

+ PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi có tính ổn định cao Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác

+ PostgreSQL hoạt động như một hệ quản trị dữ liệu mang tính mở, phù hợp để mọi doanh nghiệp khai thác Đây là một hệ quản trị tương thích với hầu hết các nền tảng, ứng dụng đa ngôn ngữ, phần mềm phổ biến

+ Ngày nay, PostgreSQL là một phần quan trọng của ngành dữ liệu GIS cho tổ chức chính phủ, ngành ngân hàng, thương mại, công nghệ web, PostgreSQL hoàn toàn không bị quản lý bởi bất kỳ tổ chức nào Tuy vậy, việc không bị quản lý bởi bất kỳ tổ chức nào đôi khi lại là yếu điểm của PostgreSQL

+ Kiểu dữ liệu:+ Nguyên hàm: Số nguyên, số, chuỗi, Boolean+ Cấu trúc: Date/Time, Array, Phạm vi, UUID+ Document: JSON/JSONB, XML, Key-value (Hstore)+ Hình học: Điểm, Đường thẳng, Vòng tròn, Đa giác+ Tùy chỉnh: Composite, Các kiểu tùy chỉnh

+ Toàn vẹn dữ liệu:+ UNIQUE, NOT NULL+ Primary Keys

+ Foreign Keys+ Ràng buộc loại trừ+ Khóa hàm số/ Explicit Locks, Khóa khuyến nghị/ Advisory Locks+ Đồng quy, hiệu suất:

Trang 22

+ Lập danh mục: B-tree, Multicolumn, Expressions, Partial+ Lập danh mục nâng cao: GiST, SP-Gist, KNN Gist, GIN, BRIN, Bloom filters

+ Trình lập kế hoạch / trình tối ưu hóa truy vấn phức tạp, quét index-only, thống kê số liệu trên nhiều cột

+ Giao tác, Giao tác dạng nest (thông qua lưu điểm)+ Điều khiển đồng thời nhiều phiên bản (MVCC)+ Truy vấn đọc song song

+ Phân vùng bảng+ Tất cả các mức độ giao dịch độc lập được xác định trong tiêu chuẩn SQL, bao gồm cả Serializable

+ Độ tin cậy, phục hồi sau thảm hoạ+ Ghi nhật ký ghi trước (Write-ahead Logging - WAL)+ Replication: Không đồng bộ, Đồng bộ, Logical+ Khôi phục điểm-theo-thời gian (Point-in-time-recovery - PITR), active standbys

+ Không gian bảng+ Bảo mật

+ Xác thực: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate và các hình thức khác

+ Hệ thống kiểm soát truy cập mạnh mẽ+ Bảo mật cấp độ cột và hàng

+ Khả năng mở rộng:+ Phương pháp lưu trữ+ Ngôn ngữ thủ tục: PL / PGSQL, Perl, Python (và nhiều ngôn ngữ khác)+ Trình wrapper dữ liệu ngoài: kết nối với các cơ sở dữ liệu hoặc luồng khác với giao diện SQL chuẩn

+ Và nhiều tiện ích mở rộng cung cấp chức năng bổ sung, bao gồm cả PostGIS+ Tìm kiếm văn bản:

+ Hỗ trợ các bộ ký tự quốc tế, ví dụ: thông qua ICU collations+ Tìm kiếm văn bản đầy đủ

1.3.2 Ưu điểm

+ Dễ sử dụng+ Cho phép chạy các trang web, ứng dụng web động với LAMP

Trang 23

+ Lưu nhật ký đã viết trước đó để sử dụng như một cơ sở dữ liệu với khả năng sửa lỗi tốt

+ Có sẵn mã nguồn miễn phí theo giấy phép nguồn mở, cho phép chỉnh sửa và triển khai tùy theo nhu cầu

+ Có khả năng đối tượng hóa dữ liệu+ Được hỗ trợ bởi một cộng đồng đông đảo và nhiều kinh nghiệm+ Giảm thiểu việc bảo trì hệ thống

1.3.3 Nhược điểm

người dùng khi muốn tiếp cận với đầy đủ tính năng

tốc độ nên sẽ yêu cầu nhiều công việc hơn so với MySQL

Trang 24

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Khảo sát yêu cầu

2.1.3.2 Yêu cầu của nhân viên

- Nhận đặt phòng: Tiếp nhận và xác nhận thông tin đặt phòng - Check-in và check-out: Thực hiện quy trình nhận phòng và trả phòng - Cung cấp thông tin: Hỗ trợ khách hàng với thông tin về dịch vụ, tiện ích và địa điểm

2.1.3.3 Yêu cầu của quản lý ( Admin)

- Quản lý đặt phòng: Theo dõi tình trạng đặt phòng, quản lý số lượng phòng - Quản lý nhân sự: Gán và quản lý nhiệm vụ của nhân viên, xác nhận lịch làm việc

- Báo cáo và thống kê: Xem và phân tích dữ liệu về doanh thu, tỉ lệ lấp đầy phòng

Trang 25

- Quản lý hệ thống: Cài đặt và cấu hình hệ thống - Quản lý người dùng: Tạo, chỉnh sửa và xóa tài khoản người dùng - Bảo mật hệ thống: Đảm bảo an toàn thông tin và quản lý quyền truy cập

- Khách hàng + Đăng nhập + Đăng ký + Cập nhật thông tin + Tìm và đặt phòng + Yêu cầu các dịch vụ phòng + Thực hiện thanh toán - Nhân viên Lễ tân

+ Đăng nhập + Đăng ký + Cập nhật thông tin + Xác nhận đặt phòng và check-in khách hàng + Cung cấp thông tin về phòng và dịch vụ + Thực hiện thủ tục check-out

+ In hóa đơn đặt phòng cho khách hàng - Quản lý (Admin)

+ Quản lý thông tin nhân viên + Quản lý thông tin khách hàng + Quản lý dịch vụ

+ Quản lý thông tin phòng + Quản lý thông tin đặt phòng + Quản lý hóa đơn

+ Quản lý doanh thu

Trang 26

+ Quản lý tài khoản + Phân quyền chức năng cho các tài khoản người dùng

− Xử lý: Bước 1: Khách hàng khởi chạy chương trình Bước 2: Khách hàng nhập thông tin tài khoản và mật khẩu đã được đăng ký Bước 3: Nhấn nút “Đăng nhập”

Bước 4: Hệ thống kiểm tra và đi tới giao diện trang chủ nếu đăng kí thành công hoặc hiển thị thanh thông báo “đăng nhập lỗi” nếu sai tài khoản hoặc mật khẩu

Trang 27

2.3.1.2 Tìm phòng và thanh toán

− Vào: Trang chủ của trang web − Ra: Màn hình các thao tác − Xử lý:

Bước 1: Khách hàng đăng nhập vào hệ thống hoặc tạo tài khoản mới Bước 2 Tìm kiếm phòng dựa trên ngày nhận và trả phòng, số lượng khách, và các yêu cầu khác

Bước 3: Xem danh sách các phòng và chọn loại phòng mong muốn Bước 4: Nhập thông tin đặt phòng và xác nhận giá

Bước 5: Chọn phương thức thanh toán và thực hiện thanh toán an toàn Bước 6: Nhận xác nhận đặt phòng và thông tin chi tiết qua email hoặc ứng dụng di động

2.3.2 Nhân viên lễ tân

2.3.2.1 Đăng nhập

- Vào: Tên đăng nhập, mật khẩu đăng nhập - Ra: Hiển thị màn hình trang chủ hoặc thống báo “Đăng nhập lỗi” nếu sai mật khẩu

- Xử lý: Bước 1: Lễ tân khởi chạy chương trình Bước 2: Lễ tân nhập thông tin tài khoản và mật khẩu đã được cung cấp Bước 3: Nhấn nút “Đăng nhập”

Bước 4: Hệ thống kiểm tra và đi tới giao diện trang chủ nếu đăng kí thành công hoặc hiển thị thanh thông báo “đăng nhập lỗi” nếu sai tài khoản hoặc mật khẩu

2.3.2.2 Xác nhận đặt phòng

- Vào: Click vào đường dẫn “Quản lý đặt phòng ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Nhân viên kích chuột vào đường dẫn “Quản lý đặt phòng” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách đặt phòng của khách hàng hiện có tại khách sạn bao gồm xác nhận đặt phòng, xác nhận thanh toán, hủy

Bước 3: Nhân viên chọn một trong các thao tác và bắt đầu sử dụng

Trang 28

Bước 4: Bấm nút “Xác nhận đặt phòng” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.2.3 Xác nhận thanh toán

- Vào: Click vào đường dẫn “Quản lý đặt phòng ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Nhân viên kích chuột vào đường dẫn “Quản lý đặt phòng” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách đặt phòng của khách hàng hiện có tại khách sạn bao gồm xác nhận đặt phòng, xác nhận thanh toán, hủy

Bước 3: Nhân viên chọn một trong các thao tác và bắt đầu sử dụng Bước 4: Bấm nút “Xác nhận thanh toán” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.2.4 Check-in và check out

Bước 1: Nhân viên lễ tân đăng nhập vào hệ thống Bước 2: Kiểm tra danh sách đặt phòng và xác nhận thông tin với khách hàng Bước 3: Thực hiện quy trình check-in với việc cung cấp thẻ phòng và thông tin về dịch vụ khác

Bước 4: Ghi chú về các yêu cầu đặc biệt của khách hàng Bước 5: Thực hiện quy trình check-out, xác nhận thanh toán và gửi hóa đơn qua email

Bước 1: Quản lý khởi chạy chương trình Bước 2: Quản lý nhập thông tin tài khoản và mật khẩu đã được cung cấp Bước 3: Nhấn nút “Đăng nhập”

Bước 4: Hệ thống kiểm tra và đi tới giao diện trang chủ nếu đăng kí thành công hoặc hiển thị thanh thông báo “đăng nhập lỗi” nếu sai tài khoản hoặc mật khẩu

Trang 29

2.3.3.2 Cập nhật thông tin quản lý phòng

- Vào: Click vào đường dẫn “ quản lý Phòng ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Kiểm quản lý kích chuột vào đường dẫn “ quản lý Phòng” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của các phòng hiện có tại khách sạn bao gồm thêm, sửa, xóa

Bước 3: Quán lý chọn một trong các thao tác và bắt đầu sử dụng Bước 4: Bấm nút “Lưu” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.3.3 Cập nhật thông tin nhân viên

- Vào: Click vào đường dẫn “Quản lý nhân viên ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Kiểm quản lý kích chuột vào đường dẫn “Quản lý nhân viên” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách nhân viên hiện có tại khách sạn bao gồm thêm, sửa, xóa

Bước 3: Quán lý chọn một trong các thao tác và bắt đầu sử dụng Bước 4: Bấm nút “Lưu” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.3.4 Cập nhật thông tin khách hàng

- Vào: Click vào đường dẫn “Quản lý khách hàng ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Kiểm quản lý kích chuột vào đường dẫn “Quản lý khách hàng” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách khách hàng hiện có tại khách sạn bao gồm thêm, sửa, xóa

Bước 3: Quán lý chọn một trong các thao tác và bắt đầu sử dụng Bước 4: Bấm nút “Lưu” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.3.5 Cập nhật thông tin dịch vụ

- Vào: Click vào đường dẫn “Quản lý dịch vụ ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Kiểm quản lý kích chuột vào đường dẫn “Quản lý dịch vụ”

Trang 30

Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách dịch vụ hiện có tại khách sạn bao gồm thêm, sửa, xóa

Bước 3: Quán lý chọn một trong các thao tác và bắt đầu sử dụng Bước 4: Bấm nút “Lưu” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.3.6 Cập nhật thông tin đặt phòng

- Vào: Click vào đường dẫn “Quản lý đặt phòng ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Kiểm quản lý kích chuột vào đường dẫn “Quản lý đặt phòng” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách đặt phòng của khách hàng hiện có tại khách sạn bao gồm xác nhận đặt phòng, xác nhận thanh toán, hủy

Bước 3: Quán lý chọn một trong các thao tác và bắt đầu sử dụng Bước 4: Bấm nút “Lưu” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.3.7 Cập nhật thông tin hóa đơn

- Vào: Click vào đường dẫn “Quản lý hóa đơn ” - Ra: Màn hình các thao tác

- Xử lý: Bước 1: Kiểm quản lý kích chuột vào đường dẫn “Quản lý hóa đơn” Bước 2: Hệ thống hiển thị giao diện với các thao tác dành cho thông tin của danh sách hóa đơn hiện có tại khách sạn bao gồm xem chi tiết, sửa, xóa Bước 3: Quán lý chọn một trong các thao tác và bắt đầu sử dụng

Bước 4: Bấm nút “Lưu” để lưu kết quả và nút “Thoát” để rời khỏi giao diện

2.3.3.8 Cập nhật thông tin tài khoản

- Vào: Tên đăng nhập, họ tên, mật khẩu - Ra: Tài khoản người dùng

- Xử lý: Bước 1: Quản trị viên chọn khách sạn, khu vực cần thêm người dùng Bước 2: Nhập thông tin tên đăng nhập, họ tên và mật khẩu của tài khoản Bước 3: Bấm nút “Hoàn tất” để lưu kết quả

2.3.3.9 Cập nhật các tài khoản người dùng

- Vào: Tên đăng nhập, họ tên, mật khẩu

Trang 31

- Ra: Tài khoản người dùng - Xử lý:

Bước 1: Quản trị viên chọn khách sạn, khu vực cần thêm người dùng Bước 2: Nhập thông tin tên đăng nhập, họ tên và mật khẩu của tài khoản Bước 3: Bấm nút “Hoàn tất” để lưu kết quả

Trang 32

Hình 2.4 Đăng ký khách hàng

Trang 33

2.4.1.3 Tìm kiếm và đặt phòng

Hình 2.5 Tìm kiếm đặt phòng

Trang 34

2.4.2 Nhân viên lễ tân

2.4.2.1 Đăng nhập

Hình 2.6 Đăng nhập nhân viên

Trang 35

2.4.2.2 Xác nhận đặt phòng

Hình 2.7 Xác nhận đặt phòng

Ngày đăng: 20/09/2024, 19:37