Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
1,54 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM 🙢★🙠 BÁO CÁO ĐỒ ÁN MÔN HỌC ĐỒ ÁN Đề tài: XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH SẠN BẰNG QT FRAMEWORK Giảng viên hướng dẫn: Hoàng Văn Hà Nhóm sinh viên thực hiện: Đặng Đình Quyền Anh 17520227 Trần Trung Hiếu 17520484 TP HỒ CHÍ MINH, 01/2021 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… ………………, ngày …… tháng …… năm 2020 Người nhận xét (Kí ghi rõ họ tên) CHƯƠNG 1: THÔNG TIN CHUNG 1.1 Đặt vấn đề Sự phát triển ngàng công nghệ thông tin làm cho việc quản lý hệ thống thông tin trở nên tiện lợi, an tồn, có tính tự động hóa cao Trong số phải nói đến hệ thống quản lý khách sạn Đó cơng việc phức tạp, có lưu lượng thơng tin quản lý lớn Tồn hoạt động khách sạn đặt trả phòng, quản lý phòng, quản lý nhân viên, quản lý khách, thống kê, kế toán, hoạt động dịch vụ khác, địi hỏi phải nhanh chóng, xác chất lượng phục vụ cao đáp ứng nhu cầu khách sạn đại, phù hợp với phát triển chung Tuy nhiên qua thời gian tìm hiểu chúng em nhận thấy việc quản lý khách sạn nói chung chưa đáp ứng yêu cầu khách hàng nhà quản lý Các khách sạn có số lượng phịng khách đến nhiều Số phịng cho th lên tới hàng trăm phịng Có loại phịng giành cho người, có loại người (phịng gia đình), số người th phịng tối đa lên tới hàng trăm chí hàng nghìn người Vì cần phải cải tiến tích cực quy trình nghiệp vụ với áp dụng công nghệ thông tin đại, cần xây dựng mơ hình phù hợp, tiện lợi cho khách sạn nhằm đem lại hiệu kinh doanh cao 1.2 Các hạn chế vấn đề tồn Thứ nhất, nhiều khó khăn việc tiếp cận với công nghệ giải vấn đề nghiệp vụ Thứ hai, cần tích hợp thêm phần mềm tiện ích giải nghiệp vụ phức tạp Thứ ba, tài liệu khảo sát bước đầu cịn chưa đầy đủ, xác phụ thuộc nhiều vào lựa chọn kỹ thuật thu thập yêu cầu khách hàng Thứ tư, trình độ chun mơn tin học thành viên tổ chức thiếu đồng Thứ năm, chưa cụ thể hóa phạm vi hệ thống phân loại yêu cầu cịn mơ hồ quy trình thiết kế Cuối cùng, chưa hiểu rõ hết yêu cầu phi chức mà khách hàng mong muốn 1.3 Các nội dung nghiên cứu thực Bắt đầu tìm hiểu nghiệp vụ cách khảo sát khách sạn lân cận khu vực; khảo sát ứng dụng đặt phòng khách sạn, quản lý khách sạn thị trường; tìm hiểu quy trình quản lý khách sạn từ quy mơ nhỏ, vừa đến lớn Tìm hiểu công nghệ để tạo phần mềm: Qt Framework, Mircosoft SQL Server, Hệ điều hành Ubuntu, … Tìm hiểu cách quản lý database phù hợp với ứng dụng quản lý khách sạn chức liên quan Tìm hiểu cách thức quản lý phận nhân viên cơng ty từ giám đốc, phó giám đốc, phịng tài phịng nhân sự, phận quản lý, phận lễ tân, phục vụ, bảo vệ, … CHƯƠNG 2: CÁC KIẾN THỨC, CÔNG NGHỆ NỀN TẢNG 2.1 Tổng quan Qt Qt framework đa tảng cơng cụ tiện ích để tạo giao diện người dùng đồ họa tạo ứng dụng chạy nhiều tảng phần cứng khác thay đổi codebase giữ tốc độ khả ứng dụng native Qt phát triển The Qt Company phân phối với giấy phép thương mại giấy phép mã nguồn mở LGPL Qt hỗ trợ đa dạng loại trình biên dịch, bao gồm trình biên dịch GCC C++, đồng thời cung cấp công cụ Qt Quick ngôn ngữ lập trình khai báo gọi QML cho phép dùng Javascript để xây dựng logic Với Qt Quick, việc phát triển ứng dụng cho thiết bị di động trở nên nhanh chóng hơn, đạt hiệu tốt 2.2 Kiến trúc phần mềm Qt 2.2.1 Các khái niệm • Giao diện trừu tượng hồn chỉnh: Ngày từ lần phát hành, Qt sở hữu riêng cơng cụ paint engine, có khả giả lập giao diện tảng khác widget vẽ Qt có lớp phụ thuộc vào tảng cụ thể nên dễ dàng chuyển đối từ tảng sang tảng khác • Signal Slot: Một cấu trúc ngơn ngữ giới thiệu Qt nhằm mục đích giao tiếp đối tượng, giúp dễ dàng thực observer pattern tránh boilerplate code Các widget gửi signal chứa thơng tin kiện đến slots control khác • Metaobject compiler: Viết tắt “moc”, công cụ chạy mã nguồn chương trình Qt Nó thơng dịch macro từ code C++, dùng để sinh code C++ bổ sung Qt sử dụng metaobject để cung cấp tính lập trình mà khơng hỗ trợ C++ như: signal, slots, asynchronous function… • Language Binding: Qt sử dụng với ngơn ngữ khác ngồi C++ Python, Javascript, C# Rust thông qua Language binding 2.2.2 Các module Module Qt Core Qt GUI Qt QML Qt Network Qt SQL Mô tả Module chứa lớp sử dụng module khác, bao gồm: xử lý luồng, hệ thống kiện, xử lý I/O… Module giao diện trung tâm, phụ thuộc vào OpenGL Module cho ngôn ngữ QML Javascript Hỗ trợ chức liên quan đến mạng như: TCP, UDP, HTTP, SSL, … Chứa lớp cho việc tích hợp CSDL sử dụng SQL 2.3 Cơng cụ • Qt Creator: IDE đa tảng cho C++ QML • Qt Designer: cơng cụ kèm có chức thiết kế GUI tích hợp vào Qt Creator dụng cơng cụ độc lập • QMake: cơng cụ đa tảng hỗ trợ phát sinh build script, giúp tự động tạo Makefiles cho việc phát triển dự án nhiều tảng khác • Ngồi cịn cơng cụ hỗ trợ khác như: Qt Assistant, Qt Linguist, MOC… CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG 3.1 Tổng quan khảo sát ứng dụng liên quan 3.1.1 KWHotel Phần mềm quản lý khách sạn KWHotel, phát triển KalWare cho khách sạn vừa nhỏ, bao gồm chức năng: Lịch phòng, Dịch vụ, Ăn uống, Báo cáo, Quản lý phòng, … Đánh giá: Phần phát triển từ lâu nên công nghệ sử dụng cũ, giao diện màu sắc chưa hợp lý 3.2 Các sơ đồ 3.2.1 Sơ đồ usecase Danh sách Actor: • Nhân viên • Quản lý • Giám đốc 3.2.1.1 Đăng nhập Use case Tác nhân Mô tả Điều kiện tiên Đăng nhập Nhân Viên, Quản lý, Giám Đốc Người dùng đăng nhập vào hệ thống Luồng kiện Luồng thay - Tác nhân Nhập tài khoản mật Nhấn nút đăng nhập Nhập sai tài khoản mật Hệ thống - Chuyển hướng vào hình - Báo sai tài khoản mật 3.2.1.2 Đặt phịng Use case Tác nhân Mơ tả Điều kiện tiên Luồng kiện Đặt phòng Nhân Viên, Quản lý, Giám Đốc Đặt phòng theo yêu cầu khách hàng Đã đăng nhập - Tác nhân Chọn phòng Chọn ngày checkin checkout Thêm dịch vụ - Hệ thống Hiển thị giá phòng Cập nhật tổng tiền - Nhấn Lưu - - Luồng thay Phòng người khác đặt - Cập nhật tổng phí dịch vụ tổng tiền Lưu phiếu đặt phòng vào CSDL Hiển thị thông báo yêu cầu chọn lại 3.2.1.3 Thêm khách hàng Use case Tác nhân Mô tả Điều kiện tiên Thêm khách hàng Nhân Viên, Quản lý, Giám Đốc Tạo thông tin khách hàng Đã đăng nhập Luồng kiện - Luồng thay Tác nhân Nhập thông tin khách hàng Nhấn Lưu Nhập thiếu thông tin bắt buộc Hệ thống - Lưu thông tin khách hàng vào sở liệu Từ chối lưu đưa thơng báo 3.2.1.4 Tạo phịng Use case Tác nhân Mơ tả Điều kiện tiên Tạo phòng Quản lý, Giám Đốc Thêm phòng vào danh sách phòng Đã đăng nhập - Luồng kiện - Luồng thay Tác nhân Nhập tên phòng (số phòng) Chọn loại phòng Chọn đồ dùng phòng Nhấn Lưu Nhập thiếu thông tin bắt buộc Hệ thống - Lưu thông tin phịng vào CSDL Từ chối lưu đưa thơng báo 3.2.1.5 Thêm tài khoản Use case Tác nhân Mô tả Thêm tài khoản Giám Đốc Tạo thông tin nhân viên tài khoản đăng nhập Điều kiện tiên Đã đăng nhập Luồng kiện - Luồng thay - Tác nhân Nhập thông tin nhân viên Thêm ảnh đại diện Nhập username password Nhấn Lưu Nhập thiếu thơng tin bắt buộc Nhập trùng username có sẵn hệ thống Hệ thống - Lưu thông tin khách hàng vào sở liệu - Từ chối lưu đưa thông báo Từ chối lưu đưa thông báo - 3.2.4 Sơ đồ yêu cầu nghiệp vụ 3.2.4.1 Lập danh mục phòng 3.2.4.2 Lập phiếu thuê phòng 3.2.4.3 Chỉnh sửa 3.2.5 Giao diện 3.2.5.1 Lịch phòng 3.2.5.2 Đặt phòng 3.2.5.3 Dịch vụ 3.2.5.4 Khách hàng 3.2.5.5 Thêm khách hàng 3.2.5.6 Danh sách phòng 3.2.5.7 Tạo phòng 3.2.5.8 Danh sách đồ dùng 3.2.5.9 Loại phòng 3.2.5.10 Thêm loại phòng 3.2.5.11 Loại dịch vụ 3.2.5.12 Tài khoản 3.2.5.13 Thêm tài khoản 3.3 Các áp dụng framework/lib tìm hiểu vào ứng dụng 3.3.1 Qt QML Qt QML module cung cấp framework cho việc phát triển ứng dụng thư viện với ngơn ngữ QML Nó định nghĩa cung cấp API cho phép nhà phát triển ứng dụng mở rộng ngôn ngữ QML với custom type tích hợp QML với Javascript C++ Module Qt QML cung cấp QML API C++ API 3.3.2 Mơ hình Model/View Qt chứa lớp hiển thị phần tử cách sử dụng kiến trúc Model/View để quản lý mối quan hệ liệu cách hiển thị đến người dùng Đối tượng Model giao tiếp với nguồn liệu cung cấp giao diện cho thành phần khác kiến trúc Bản chất việc giao tiếp phụ thuộc vào nguồn liệu mà model thực Đối tượng View chứa Model Indexes từ đối tượng Model Đó tham chiếu đến phần tử liệu Bằng cách cung cấp Model Indexes đến model, View nhận phần tử liệu từ nguồn liệu CHƯƠNG 4: THỬ NGHIỆM, ĐÁNH GIÁ 4.1 Mơi trường thử nghiệm • Mơi trường phát triển ứng dụng: o Hệ điều hành: Microsoft Windows 10 o Hệ quản trị sở liệu: Microsoft SQL Server o Framework: Qt Framework o Công cụ xây dựng ứng dụng: Qt Creator 4.13.1 • Mơi trường triển khai ứng dụng: o Hệ điều hành: Microsoft Windows 10, Ubuntu 20.04 o Hệ quản trị sở liệu: Microsoft SQL Server 4.2 Kết thử nghiệm CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt Đã thiết kế giao diện người dùng, sở liệu, với chức bản: lập phiếu thuê phòng, quản lý lịch phòng, quản lý dịch vụ, phòng, khách hàng, loại phòng, loại dịch vụ,… Bảng đánh giá chi tiết phần mềm: STT Chức Mức độ hồn thành (%) Ghi Đặt phịng 90% Hiện thị giao diện đặt phòng thu thập đủ thơng tin khách hàng Lịch phịng 80% Hiển thị đươc thơng tin tình trạng phòng khách sạn Tra cứu phòng 100% Với mục tương ứng có chức tìm kiếm liệu theo quy ước cho trước hoạt động tốt Quản lý dịch vụ 90% Tổng hợp đầy đủ tất dịch vụ khách hàng sử dụng khách sạn; có lọc cơng cụ tìm kiếm để tìm thơng tin cần thiết Quản lý khách hàng 95% Lưu trữ đầy đủ thông tin khách hàng sử dụng lọc để tìm kiếm theo tên khách hàng Thêm khách hàng 100% Thêm khách hàng với đầy đủ thông tin cần thiết Quản lý danh sách phòng 90% Hiện thị đầy đủ thông tin phịng khách sạn từ tên, loại phịng, mơ tả, Quản lý danh sách đồ dùng 70% Thông tin đồ dùng sơ xài, cần bổ sung thêm giá trị đền bù khách làm hỏng đồ dùng Quản lý loại phòng 80% Giao diện quản lý loại phịng cịn thiếu số thơng đặc điểm phịng 10 Quản lý tài khoản 100% Hồn thành đầy đủ chức đăng nhập, phân quyền truy cập cho chức vụ từ nhân viên, quản lý giám đốc 5.2 Hạn chế hướng phát triển • Phát triển giao diện cách trực quan sinh động giúp người dùng dễ dàng thao tác với phần mềm • Cải tiến chức phần mềm cách tối ưu nhằm tối ưu hóa tài ngun người dùng phần mềm • Hiện phần mềm giúp đỡ phận khách sạn có quy mơ vừa nhỏ giải nghiệp vụ trực tiếp khách sạn • Phát triển tính booking cho khách hàng mở rộng quy mơ thành hệ thống • Phát triển CSDL nhằm cung ứng toàn cho hệ thống khách sạn ... nói đến hệ thống quản lý khách sạn Đó cơng việc phức tạp, có lưu lượng thơng tin quản lý lớn Tồn hoạt động khách sạn đặt trả phòng, quản lý phòng, quản lý nhân viên, quản lý khách, thống kê,... sát khách sạn lân cận khu vực; khảo sát ứng dụng đặt phòng khách sạn, quản lý khách sạn thị trường; tìm hiểu quy trình quản lý khách sạn từ quy mơ nhỏ, vừa đến lớn Tìm hiểu cơng nghệ để tạo phần. .. cầu khách sạn đại, phù hợp với phát triển chung Tuy nhiên qua thời gian tìm hiểu chúng em nhận thấy việc quản lý khách sạn nói chung chưa đáp ứng yêu cầu khách hàng nhà quản lý Các khách sạn