Tải bản đầy đủ (.docx) (127 trang)

XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH SẠN ĐỒ ÁN CÔNG NGHỆ PHẦN MỀM CHUYÊN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.91 MB, 127 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TP.HCMKHOA: HỆ THỐNG THÔNG TIN VÀ VIẾN THÁM</b>

<b>BÁO CÁO ĐỒ ÁN CÔNG NGHỆ PHẦN MỀM CHUYÊNNGÀNH: CÔNG NGHỆ THÔNG TIN</b>

<b>ĐỀ TÀI: XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH SẠN</b>

<b>Giảng viên hướng dẫn: ThS. Phạm Trọng HuynhSinh viên thực hiện: Nguyễn Văn Trung </b>

<b>Mã số sinh viên: 0850080108Lớp: 08_ĐH_CNPM</b>

<b>Khóa: 2019-2023</b>

<b>TP. Hồ Chí Minh, tháng 5 năm 2023</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TP.HCMKHOA: HỆ THỐNG THÔNG TIN VÀ VIẾN THÁM</b>

<b>BÁO CÁO ĐỒ ÁN CÔNG NGHỆ PHẦN MỀM CHUYÊNNGÀNH: CÔNG NGHỆ THÔNG TIN</b>

<b>ĐỀ TÀI: XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH SẠN</b>

<b>Giảng viên hướng dẫn: ThS. Phạm Trọng HuynhSinh viên thực hiện: Nguyễn Văn Trung </b>

<b>Mã số sinh viên: 0850080108Lớp: 08_ĐH_CNPM</b>

<b>Khóa: 2019-2023</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Ngày nay, các khách sạn resort đã ứng dụng cơng nghệ vào quản lý giúp tiết kiệm chi phí và tối ưu quy trình nhờ số hóa. Trên thị trường có quá nhiều phần mềm quản lý dành cho khách sạn, resort. Nào là phần mềm online, offline với các mức chi phí chênh lệch đáng kể khiến khơng ít chủ khách sạn, resort phải đau đầu để chọn lựa. Phần mềm quản lý khách sạn (Hotel Management System) là phần mềm ứng dụng dành cho khách sạn, khu nghỉ dưỡng và các loại hình kinh doanh lưu trú khác. Phần mềm này sẽ hỗ trợ chủ đơn vị kinh doanh trong các công việc check in, check out, quản lý đặt phịng, tình trạng phịng và các dịch vụ khác liên quan. Không chỉ vậy, phần mềm quản lý khách sạn cịn hỗ trợ các cơng việc khác cho người quản lý như quản lý thu-chi, báo cáo doanh thu hằng ngày, quản lý khách hàng, thống kê dự báo.

Trong bài báo cáo này, em sẽ giới thiệu về đề tài : ”Nghiên cứu và xây dựng phần mềm quản lý khách sạn” của em, bao gồm các tính năng hỗ trợ việc vận hành khách sạn, thiết kế và triển khai sản phẩm, và các kết quả kiểm thử sản phẩm. Em cũng sẽ đề xuất những cải tiến và phát triển sản phẩm trong tương lai để giúp cho sản phẩm của tôi phù hợp với nhu cầu của khách hàng và xu hướng phát triển trong thời đại hiện nay.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Để có thể hồn thành đồ án Cơng nghệ phần mềm thành công, em vô cùng biết ơn và xin gửi lời cảm ơn đến ban lãnh đạo nhà trường: trường Đại học Tài nguyên và Môi trường Tp. HCM cùng quý thầy cô khoa Hệ thống thông tin và Viễn Thám đã tạo điều kiện thuận lợi nhất để em có thể hồn thành mẫu đồ án Cơng nghệ phần mềm.

Đặc biệt em xin gửi lời tri ân đến thầy Phạm Trọng Huynh là giảng viên hướng dẫn đã truyền đạt trực tiếp cho em những điều cần thiết và quan trọng trong quá trình thực hiện đồ án Công nghệ phần mềm. Trong quá trình thực hiện đồ án chắc hẳn em sẽ có nhiều vấn đề cịn thiếu sót, em rất mong nhận được những sự cảm thơng và góp ý để có thể hoàn thiện bản thân hơn.

Một lần nữa em xin chân thành cảm ơn!

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>(của giảng viên hướng dẫn tại khoa)</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>(của giảng viên phản biện)</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

1.1 Yêu cầu bài toán...1

1.4 Phương pháp xây dựng phát triển phần mềm...5

1.5 Kết quả đạt được mong muốn:...8

Chuong 2: Cơ sở lý thuyết...9

2.1 Ngôn ngữ thiết kế UML...9

2.2 Ngơn ngữ lập trình C#...10

2.3 Net Framework...11

2.4 Windown Form...12

Chương 3: Cài đặt thực nghiệm...13

3.1 Xác định và mơ hình hóa u cầu...13

3.1.1 Mơ tả tổng thể...15

3.2.2 Chức năng hệ thống:...16

3.1.3 Đặc tả yêu cầu hệ thống...21

3.2 Thiết kế cơ sở dữ liệu...72

3.2.1 Yêu cầu chức năng...72

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

3.4.3 Mơ hình dữ liệu chi tiết...74

3.2.4 Danh sách các bảng dữ liệu trong sơ đồ...74

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Hình 6: Mơ hình luồng sự kiện đặt phịng...22

Hình 7: Biểu đồ tuần tự chức năng đặt phịng...23

Hình 8: Biểu đồ tuần tự chức năng quản lý tầng...24

Hình 9: Biểu đồ xử lý luồng sự kiện quản lý tầng...25

Hình 10: Biểu đồ tuần tự quản lý phịng...29

Hình 11: Biểu đồ xử lý luồng sự kiện quản lý phịng...29

Hình 12: Biểu đồ xử lý luồng quản lý đặt phịng...33

Hình 13: Biểu đồ tuần tự quản lý sản phẩm...37

Hình 14: Biểu đồ xử lý luồng quản lý sản phẩm...37

Hình 15: Biểu đồ xử lý luồng quản lý thiết bị...41

Hình 16: Biểu đồ xử lý luồng quản lý thiết bị trong phịng...44

Hình 17: Biểu đồ xử lý luồng quản lý khách hàng...48

Hình 18: Biểu đồ tuần tự quản lý nhân viên...52

Hình 19: Biểu đồ xử lý luồng quản lý nhân viên...52

Hình 20: Biểu đồ xử lý luồng quản lý dịch vụ...56

Hình 21: Biểu đồ xử lý luồng quản lý tài khoản...60

Hình 22: Biểu đồ xử lý luồng đăng nhập/ đăng xuất...63

Hình 23: Biểu đồ thống kê...66

Hình 24: Biểu đồ tuẩn tự quản lý phịng...68

Hình 25: Biểu đồ xử lý luồng quản lý phịng...69

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Hình 42: Màn hình danh mục thiết bị trong phịng...107

Hình 43: Mơ hình Client - Server...109

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Bảng 1: Mục đích tài liệu...13

Bảng 2: Thuật ngữ...13

Bảng 3: Chức năng hệ thống...16

Bảng 4: Thông tin chức năng đặt phịng...21

Bảng 5: Thơng tin chức năng quản lý danh mục tầng...23

Bảng 6: Dòng sự kiện chức năng quản lý danh mục tầng...25

Bảng 7: Dòng sự kiện phụ chức năng quản lý danh mục tầng...27

Bảng 8: Thông tin chức năng Quản lý loại phòng...28

Bảng 9: Dòng sự kiện chức năn quản lý loại phòng...30

Bảng 10: Dòng sự kiện phụ quản lý loại phịng...32

Bảng 11: Thơng tin chức năng quản lý đặt phòng...32

Bảng 12: Dòng sự kiện chức năng quản lý đặt phòng...34

Bảng 13: Dòng sự kiện phụ quản lý đặt phịng...35

Bảng 14: Thơng tin chức năng quản lý sản phẩm...36

Bảng 15: Dòng sự kiện chức năng quản lý sản phẩm...38

Bảng 16: Dòng sự kiện phụ quản lý sản phẩm...40

Bảng 17: Thông tin chức năng quản lý thiết bị...40

Bảng 18: Dịng sự kiện chính quản lý thiết bị...41

Bảng 19: Dòng sự kiện phụ quản lý thiết bị...43

Bảng 20: Thơng tin chức năng quản lý thiết bị trong phịng...44

Bảng 21: Dịng sự kiện chính quản lý thiết bị trong phòng...45

Bảng 22: Dòng sự kiện phụ quản lý thiết bị trong phịng...47

Bảng 23: Thơng tin chức năng quản lý khách hàng...47

Bảng 24: Dịng sự kiện chính quản lý khách hàng...49

Bảng 25: Dòng sự kiện phụ quản lý khách hàng...51

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Bảng 28: Dòng sự kiện phụ quản lý nhân viên...55

Bảng 29: Thông tin chức năng quản lý dịch vụ...55

Bảng 30: Dịng sự kiện chính quản lý dịch vụ...57

Bảng 31: Dòng sự kiện phụ quản lý dịch vụ...59

Bảng 32: Thơng tin chức năng quản lý tài khoản...59

Bảng 33: Dịng sự kiện chính quản lý tài khoản...60

Bảng 34: Dịng sự kiện phụ quản lý tài khoản...62

Bảng 35: Thông tin chức năng Đăng nhập/ đăng xuất...62

Bảng 36: Dịng sự kiện chính đăng nhập/ đăng xuất...63

Bảng 37: Thông tin chức năng chuyển phịng...64

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Bảng 69: Mơ tả quản lý danh mục sản phẩm...94

Bảng 70: Mô tả quản lý danh mục loại phịng...95

Bảng 71: Mơ tả quản lý danh mục khách hàng...97

Bảng 72: Mô tả quản lý danh mục nhân viên...98

Bảng 73: Mơ tả quản lý danh mục phịng...100

Bảng 74: Mô tả quản lý danh mục dịch vụ...102

Bảng 75: Mô tả quản lý danh mục tài khoản...104

Bảng 76: Mô tả quản lý danh mục thiết bị...106

Bảng 77: Mô tả quản lý danh mục thiết bị trong phòng...108

Bảng 78: Thành phần hệ thống...110

Bảng 79: Kết quả thực hiện...110

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>Chương 1: Giới thiệu</b>

<b>1.1 u cầu bài tốn</b>

Khơng phải lúc nào bạn cũng trực tiếp có mặt tại khách sạn của mình để kiểm sốt doanh thu hơm nay tại khách sạn ra sao, hoạt động hiệu quả không? Trong khi đó các hoạt động tiếp nhận khách hàng và sử dụng dịch vụ hay kiếm tiền mỗi ngày đều do nhân viên thực hiện. Nếu chỉ trực tiếp nhận thơng tin và ghi vào sổ sách thì rất khó để có thể kiểm sốt doanh thu một cách chính xác bởi khó để biết rằng nhân viên thu ngân có tính tốn sai hay khơng. Để quản lý nhân viên có hiệu quả thật sự rất khó khăn. Theo phản ánh của một số chủ kinh doanh thì rất nhiều trường hợp nhân viên thường lợi dụng lỗ hổng trong quản lý để gian lận tiền của khách sạn. Vì thế quản lý nhân viên ln là vấn đề đau đầu không riêng bất cứ chủ kinh doanh khách sạn nào. Để quản lý nhân viên được sát sao hơn bạn cần dành nhiều thời gian tại khách sạn để theo dõi cũng như chỉ đạo công việc của họ. Giám sát nhân viên thông qua camera cũng là một giải pháp rất hiệu quả nhằm giảm thiểu tối đa khả năng gian lận. Bên cạnh đó, trong quá trình kinh doanh khách sạn của mình bạn nên giao nhiệm vụ rõ ràng và kiểm tra và đánh giá hiệu suất công việc của mỗi nhân viên ra sao. Ngoài ra việc báo cáo doanh thu được hiển thị theo các tiêu chí thời gian/lợi nhuận/dịch vụ/số phịng th/nhân viên bạn khơng chỉ có thể nắm rõ hoạt động của khách sạn mà còn dễ dàng lập kế hoạch đặt phòng trong tương lai.

Nếu bạn là chủ của một chuỗi khách sạn trên thị trường thì việc sử dụng phần mềm để quản lý chúng là điều cực kỳ cần thiết. Việc này cho phép bạn truy cập thông tin nhanh, thuận tiện và dễ dàng hơn, nắm bắt được tình hình của từng chi nhánh, chi nhánh nào đang đông khách, chi nhánh nào tạo được lợi nhuận cao,… Hơn thế nữa, một tiện ích rất lớn khi sử dụng giải pháp quản lý khách sạn bằng phần mềm chính là việc bạn có thể truy cập mọi thông tin bất cứ khi nào, từ bất cứ nơi đâu, mà khơng cần phải có mặt ở khách sạn để quản lý. Kết hợp với sử dụng phần mềm, mọi lịch sử thao tác của nhân viên đều được ghi nhận nhờ đó kiểm sốt được việc kinh doanh khách sạn có hiệu quả hay có

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

thiếu sự trung thực không? Điều này giúp bạn quản lý và hỗ trợ cho nhân viên được chuyên nghiệp hơn. Hơn nữa, tiện ích mà phần mềm mang lại cịn giúp chủ khách sạn kiểm sốt được những sai lệch, từ đó tìm ra ngun nhân và cách khắc phục. Quản lý khách sạn bằng phần mềm giúp cho việc quản lý phòng và đặt phòng của khách sạn. Chỉ với vài thao tác đơn giản trên máy tính, hóa đơn sẽ được in ra ngay tại máy pos. Những hóa đơn được in ra sẽ bao gồm đầy đủ những thơng tin về tên phịng, dịch vụ, số khách đặt phịng, giá thanh tốn,… Điều này sẽ giúp cho nhân viên của bạn làm việc nhanh chóng và tránh khỏi nhầm lẫn. Khách hàng cũng sẽ cảm thấy ưng ý về thái độ và linh hoạt trong quá trình sắp xếp phịng. Từ đó làm cho doanh số cũng như lượng khách hàng tăng lên đáng kể.

Nghiên cứu yêu cầu nghiệp vụ về hoạt động vận hành của các khách sạn, em đã nghiên

<b>cứu và tìm hiểu để xây dựng đề tài Xây dựng phần mềm quản lý Khách sạn. Phần mềm</b>

này là thứ cơ bản và cần thiết nhất cho việc vận hành và phát triển cho Khách sạn. Phần mềm sẽ cơ bản giải quyết đươc các vấn đề nêu trên và giúp chủ doanh nghiệp quản lý chặt chẽ cơng việc kinh doanh của mình.

<b>1.2 Mục tiêu</b>

Mục đích của đề tài này sẽ là nghiên cứu xây dựng nên một hệ thống hỗ trợ cho người dùng các hoạt động cơ bản trong việc quản lý và vận hành khách sạn một cách chi tiết và hiệu quả với các chức năng như

<b>- Đăng nhập / đăng xuất</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>- Quản lý phòng- Quản lý đặt phòng- Quản lý sản phẩm- Quản lý thiết bị</b>

<b>- Quản lý thiết bị trong phòng- Quản lý nhân viên</b>

<b>- Quản lý khách hàng- Quản lý dịch vụ- Quản lý tài khoản</b>

<b>- Thống kê - xuất file Excel, Word, CSV, PDF 1.3 Đối tượng nghiên cứu</b>

<b>1.3.1 Kế hoạch khảo sát</b>

− Khảo sát hiện trạng cơ sở hạ tầng công nghệ thông tin tại cơ sở cần xây dựng phần mềm.

− Khảo sát yêu cầu phần mềm.

− Lấy ý kiến đóng góp xây dựng theo yêu cầu của khách hàng

<b>1.3.2 Phương pháp khảo sát</b>

− Khảo sát bằng thực nghiệm tại cơ sở muốn xây dựng phần mềm

− Phỏng vấn khách hàng về phương thức hoạt động của khách sạn, các yêu cầu và quy định.

− Theo dõi quá trình làm việc vận hành của khách sạn trong khoảng thời gian nhất định, các yêu cầu nghiệp vụ về quản lý cũng như quá trình vận hành hằng ngày. − Dựa vào ý kiến của khách hàng để sửa đổi và bổ sung.

<b>1.3.3 Kết quả khảo sát - Hiện trạng về tổ chức:</b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>+ Vị trí: Khách sạn Caravelle Sài gòn tại 19-23 Lam Sơn Square, phường Bến Nghé, </b>

Quận 1, Thành phố Hồ Chí Minh

<b>+Nhân sự: Quản lý khách sạn, Nhân viên khách sạn+Khách hàng: Khách hàng sử dụng phòng tại khách sạn</b>

<b>- Hiện trạng tin học:</b>

+ Phần mềm: Visual Studio, SQL Server, Draw.IO + Phần cứng: Máy in, máy chủ

+ Trình độ tin học:

 Quản lý khách sạn: MOS Specialist  Nhân viên khách sạn: MOS Expert + Hiện trạng nghiệp vụ - Danh sách các chức năng: − Thay đổi mật khẩu − Đăng nhập – đăng xuất

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>− Quản lý tài khoản</b>

<b>− Thống kê – Xuất Excel, Word, CSV, PDF− Cơ cấu tổ chức:</b>

+ Quản lý khách sạn: Điều hành và theo dõi không thường trực hoạt động khách sạn bằng phương thức quan sát trực tiếp. Ra quyết định thay đổi quy định khách sạn.

+ Nhân viên khách sạn: Vận hành khách sạn dưới sự quản lý của Quản lý khách sạn. Nhận các nhiệm vụ, công việc của Quản lý giao cho.

<b>1.4 Phương pháp xây dựng phát triển phần mềmMơ hình thác nước </b>

Sử dụng mơ hình thác nước (WaterFall).

<i>Hình 1: Mơ hình Waterfall</i>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Mơ hình thác nước là một mơ hình có tính trình tự trong phát triển phần mềm. Nó</b>

chú trọng vào sự phát triển logic và lần lượt trong suốt vòng đời phát triển phần mềm (software development life cycle-SDLC), trong đó những pha (phase) ở phía trước phải được hoàn thành trước khi những pha tiếp theo có thể bắt đầu. Mỗi pha trong mơ hình thác nước có vai trị khác nhau trong SDLC.

<b>Mơ hình thác nước được giới thiệu trong một bài báo của Winston Royce vào</b>

năm 1970. Mặc dù sự phổ biến của mơ hình này đã giảm nhiều trong vài năm trở lại đây khi các phương pháp linh hoạt (Agile) xuất hiện, tuy nhiên mơ hình thác nước vẫn đang được ưa chuộng bởi nhiều kỹ sư CNTT vì tính logic và tuần tự của mơ hình này.

<b>5 pha của mơ hình thác nước </b>

Waterfall Model – Mơ hình thác nước bao gồm 5 pha chính, lần lượt là: Xây dựng phần mềm quản lý quán khách sạn

<b>− Phân tích yêu cầu: Các kỹ sư IT sẽ phải thu thập tất cả các yêu cầu cần thiết, sau</b>

đó sẽ hội ý để hiểu đúng những yêu cầu. Cuối cùng, các kỹ sư sẽ cần phải tìm hiểu xem những yêu cầu này có phù hợp để kiểm thử ở các bước tiếp theo hay không.

<b>− Thiết kế hệ thống: Dựa vào những yêu cầu, các kỹ sư IT sẽ thiết kế hệ thống, ghi</b>

lại những yêu cầu về phần cứng/phần mềm và sau đó họ sẽ ghi chú lại phần thiết kế

<b>− Triển khai: Dựa vào ghi chú thiết kế, các kỹ sư IT sẽ tạo ra chương trình hoặc</b>

codes, sau đó tích hợp codes lại cho pha kế tiếp. Cuối cùng, họ kiểm thử đơn vị phần code này.

<b>− Kiểm thử hệ thống: Ở phần này, các kỹ sư IT sẽ kiểm thử toàn bộ hệ thống để</b>

xem các đơn vị có vận hành trơn tru khơng, sau đó họ sẽ hồn thiện báo cáo kiểm thử.

<b>− Vận hành và duy trì: Ở phần cuối, sau khi chắc chắn đã sửa hết lỗi, các kỹ sư IT</b>

sẽ tiến hành chạy thử phần mềm và đưa vào sử dụng, sau đó fix các lỗi phát sinh

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

trong tương lai (nếu có). Quá trình này bao gồm cả việc phát triển phần mềm để có thể tích hợp thêm nhiều tính năng trong tương lai.

<b>Ưu điểm và nhược điểm Ưu điểm </b>

Mô hình thác nước có một vài ưu điểm như sau: o Dễ dàng triển khai và quy trình dễ hiểu

o Với những dự án nhỏ, mơ hình thác nước hoạt động hiệu quả và cho kết quả rất tốt. o Vì quá trình phát triển rất chặt chẽ, do đó chất lượng mỗi phần và cả dự án sẽ rất

Tuy nhiên, mơ hình thác nước cũng cịn 1 vài nhược điểm sau:

Do pha đầu tiên là phân tích u cầu, nên sẽ khơng thể thay đổi u cầu ở các pha tiếp theo trong mơ hình Xây dựng phần mềm quản lý khách sạn

o Mơ hình thác nước không phù hợp để triển khai với những dự án dài và phức tạp, có nhiều sự thay đổi trong yêu cầu

o Khó di chuyển qua lại giữa các pha. Ví dụ, nếu phần mềm chuẩn bị bước vào pha kiểm thử và có sự thay đổi ở u cầu thì sẽ rất khó để quay lại và thay đổi. Việc quay lại sẽ ngốn một khoảng thời gian và công sức rất lớn của team phát triển o Rủi ro cao hơn. Do quá trình kiểm thử trong mơ hình thác nước xuất hiện gần cuối,

các chiến thuật để giảm thiểu rủi ro không được triển khai từ sớm.

o Trong khi ở những mơ hình linh hoạt, quá trình kiểm thử diễn ra song song với q trình phát triển do đó việc giảm thiểu rủi ro hiệu quả hơn rất nhiều

<b>Khi nào nên sử dụng? </b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Mơ hình thác nước nên được sử dụng khi:

<b>− Dự án ngắn và đơn giản: Như đã trình bày ở trên, các dự án dài và phức tạp</b>

thường đòi hỏi các bước phải được thực hiện đồng thời cùng với kiểm thử để tiết kiệm thời gian, trong khi ở mơ hình thác nước thì các bước và thứ tự đã cố định, do đó sẽ tốn nhiều thời gian để sửa chữa và hoàn thành hơn

− Những yêu cầu cố định, không thay đổi thường xuyên và dễ hiểu − Tài nguyên phong phú và các thành viên có chuyên môn kỹ thuật tốt

<b>1.5 Kết quả đạt được mong muốn:</b>

Xây dựng demo nên một hệ thống quản lý khách sạn để hỗ trợ quá trình vận hành và quản lý khách sạn với các chức năng cơ bản cần thiết của nghiệp vụ quản lý khách sạn.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>Chuong 2: Cơ sở lý thuyết</b>

<b>2.1 Ngơn ngữ thiết kế UML</b>

Ngơn ngữ mơ hình hóa thống nhất (tiếng Anh: Unified Modeling Language, viết tắt thành UML) 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.

Mục đích của ngơn ngữ UML là:

− Mơ hình hố các hệ thống bằng cách sử dụng các khái niệm hướng đối tượng − Thiết lập sự liên hệ từ nhận thức của con người đến các sự kiện cần mơ hình hố − Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp với nhiều ràng

buộc khác nhau

− Tạo một ngơn ngữ mơ hình hố có thể sử dụng được bởi người và máy. UML hỗ trợ phân rã hệ hướng đối tượng dựa trên cấu trúc tĩnh và hành vi động của hệ thống.

UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements). Tập hợp các phần tử mơ hình tạo thành các sơ đồ UML (UML diagrams). Có các loại sơ đồ UML chủ yếu sau:

 Sơ đồ lớp (Class Diagram)

 Sơ đồ đối tượng (Object Diagram)

 Sơ đồ tình huống sử dụng (Use Cases Diagram)  Sơ đồ trình tự (Sequence Diagram)

 Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)  Sơ đồ trạng thái (State Machine Diagram)

 Sơ đồ thành phần (Component Diagram)  Sơ đồ hoạt động (Activity Diagram)  Sơ đồ triển khai (Deployment Diagram)

 Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>2.2 Ngôn ngữ lập trình C# </b>

C# là một ngơn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft và được phê chuẩn bởi European Computer Manufacturers Association (ECMA) và International Standards Organization (ISO).

C# được phát triển bởi Anders Hejlsberg và team của ông trong khi phát triển .Net Framework.

C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.

<i>Hình 2: Ngơn ngữ lập trình C#</i>

<b>Đặc trưng của ngơn ngữ lập trình C# là gì?</b>

 C# là ngơn ngữ đơn giản

C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class).

Ngơn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

 C# là ngơn ngữ hiện đại

Điều gì làm cho một ngơn ngữ hiện đại? Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại. C# chứa tất cả những đặc tính trên. Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trên phức tạp và khó hiểu. Tuy nhiên, cũng đừng lo lắng chúng ta sẽ dần dần được tìm hiểu những đặc tính qua các nội dung khố học này.

 C# là một ngơn ngữ lập trình thuần hướng đối tượng

Lập trình hướng đối tượng (OOP: Object-oriented programming) là một phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên.

 C# là một ngơn ngữ ít từ khóa

C# là ngơn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử dụng để mơ tả thơng tin. Chúng ta có thể nghĩ rằng một ngơn ngữ có nhiều từ khóa thì sẽ mạnh hơn. Điều này khơng phải sự thật, ít nhất là trong trường hợp ngơn ngữ C#, chúng ta có thể tìm thấy rằng ngơn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào.

<b>2.3 Net Framework</b>

.NET Framework là một thư việc class có thể được sử dụng với một ngôn ngữ .NET để thực thi việc thao tác chuỗi cho đến phát sinh ra các web động (ASP.NET), phân tích XML và reflection. Framework được tổ chức thành các tập hợp namespace để nhóm các class có cùng chức năng với nhau.

.NET framework là một nền tảng phát triển phần mềm do Microsoft phát triển. Framework này tạo ra các ứng dụng chạy trên nền tảng Windows. Phiên bản đầu tiên của .NET framework được phát hành vào năm 2002. Phiên bản đó được gọi là .Net framework 1.0. .NET framework đã đi một chặng đường dài kể từ đó, và phiên bản hiện tại là 4.7.1. .NET framework có thể được sử dụng để tạo cả những ứng dụng dựa trên biểu

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

mẫu (Form-based) và dựa trên Web (Web-based). Các web service cũng có thể được phát triển bằng cách sử dụng .NET framework. Framework cũng hỗ trợ các ngơn ngữ lập trình khác nhau như Visual Basic và C#. Vì vậy, các nhà phát triển có thể lựa chọn ngôn ngữ để phát triển ứng dụng cần thiết.

<b>2.4 Windown Form</b>

Winform là thuật ngữ mô tả một ứng dụng được viết dùng .NET FrameWorrk và có giao diện người dùng Windows Forms. Mỗi màn hình windows cung cấp một giao diện giúp người dùng giao tiếp với ứng dụng. Giao diện này được gọi là giao diện đồ họa (GUI) của ứng dụng. Là các ứng dụng windows chạy trên máy tính – mã lệnh thực thi ngay trên máy tính: Microsoft, Word, Excel, Access, Calculator, yahoo, Mail… là các ứng dụng Windows Forms.

<i>Hình 3: Winform</i>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>Chương 3: Cài đặt thực nghiệm</b>

<b>3.1Xác định và mơ hình hóa u cầuMục đích tài liệu</b>

<i>Bảng 1: Mục đích tài liệu</i>

<b>Người sử dụngMục đích</b>

<b>Nhóm phát triển hệ thống</b> Để hiểu các chức năng và đặc tính của hệ thống được phát triển (hiểu được những yêu cầu người dùng nào mà hệ thống đáp ứng). Và sử dụng trong quá trình thiết kế hệ thống

<b>Nhóm kiểm thử</b> Phục vụ xây dựng tài liệu test và test chức năng hệ thống (system test)

<b>Nhóm khách hàng</b> Xem trước các chức năng và đặc tính của hệ thống. Đưa ra yêu cầu chỉnh sửa để

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

 Quản lý tài khoản

 Thống kê - Xuất Word, Excel, PDF, CSV

Phần mềm tập trung xây dựng các chức năng để phù hợp cho việc hoạt động quản lý và vận hành cơ bản của một khách sạn. Tuy nhiên, việc thanh toán online, Quản lý nhập xuất nguyên vật liệu, quản lý kho, ứng dụng mobile,.. sẽ không được đưa ra trong

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

phạm vi của đề tài. Các chức năng và luồng nghiệp vụ cơ bản sẽ được thực hiện trong phạm vi của đề tài.

<b>Mô tả tài liệu</b>

Tài liệu bao gồm 4 phần chính

Phần 1: Giới thiệu chung: giới thiệu tổng quan về tài liệu

Phần 2: Mô tả tổng thể: mô tả tổng quan hệ thống cần xây dựng

Phần 3: Đặc tả yêu cầu hệ thống: đặc tả các yêu cầu chức năng và phi chức năng của hệ

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>3.2.2 Chức năng hệ thống</b>

<b>:</b>

<i>Bảng 3: Chức năng hệ thống</i>

STT Mức độ ưu tiên Mô tả Module 1: Quản lý nhân viên FR-001 1

Chức năng này sử dụng cho việc quản lý các thông tin cá nhân của nhân viên để thuận tiện trong việc quản lý phịng. Phịng đó nhân viên nào đang công tác phục vụ. Thông tin lưu trữ bao gồm họ tên, ngày sinh, giới tính, chứng minh thư.

Tác nhân: Quản lý Module 2: Quản lý phịng

FR-002 1 Lưu tất cả thơng tin của các phịng. Cho biết phịng đó thuộc tầng nào, phòng vip hay là phòng thường đã có khách hay là phòng trống. Sử dụng những dịch vụ và sản phẩm gì trong q trình sử dụng phịng.

Tác nhân: Quản lý Module 3: Quản lý dịch vụ

FR-003 1 Lưu trữ lại thông tin các dịch vụ khác nhau của khách sạn. Bao gồm dịch vụ ăn uống và dịch vụ cho thuê thiết bị để phục vụ cho nhu cầu cần thiết. Hiển thị thông tin chi tiết như: giá cả, số lượng, tên dịch vụ, …..

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Tác nhân: Quản lý Module 5: Đăng nhập / Đăng xuất

FR-005 1 Nhân viên hay quản lý cần đăng nhập vào hệ thống để sử dụng. Tùy vào mỗi loại tài khoản sẽ được cấp quyền truy cập và chức năng tương ứng.

Tác nhân: Nhân viên, Quản lý Module 6: Quản lý đặt phòng

FR-006 1 <sub>Chức năng này sử dụng cho việc quản lý và lưu trữ tất cả</sub> các phiếu đặt phòng bao gồm phịng theo đồn và phịng lẻ. Quản lý thơng tin về khách hàng, nhân viên, loại phòng, dịch vụ, giá cả, số lượng, ngày đặt, ngày ra của khách hàng đảm bảo việc tính tốn về doanh thu và sắp xếp logic phòng một cách hiệu quả

Tác nhân: Quản lý Module 7: Quản lý khách hàng

FR-007 2

Chức năng này sử dụng cho việc quản lý các thông tin cá nhân của khách hàng đến đặt phịng theo đồn hoặc phịng lẻ. Thơng tin lưu trữ bao gồm họ tên, ngày sinh, giới tính, chứng minh thư.

Tác nhân: Quản lý Module 8: Quản lý thiết bị

FR-008 3

Chức năng này sử dụng cho việc quản lý các thông tin các thiết bị của khách sạn bao gồm thông tin thiết bị và đơn giá của từng thiết bị

Tác nhân: Quản lý

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Module 9: Quản lý thiết bị trong phòng

FR-009 2 <sub>Chức năng này sử dụng cho việc quản lý các thông tin các</sub> thiết bị đang được sử dụng trong phòng của khách sạn. Dễ dàng trong việc quản lý đầu ra và đầu vào và số lượng hàng hóa của khách sạn và phục vụ cho việc quản lý kho

Tác nhân: Quản lý Module 10: Quản lý loại phòng

FR-010 2 <sub>Chức năng này sử dụng cho việc quản lý các thông tin các</sub> loại phịng hiện có của khách sạn. Dễ dàng và thuận tiên trong việc giúp khách hàng có thể lựa chọn loại phòng phù hợp với khả năng của khách hàng.

Tác nhân: Quản lý Module 11: Quản lý sản phẩm

FR-011 2 Lưu trữ lại thông tin các sản phẩm khác nhau của khách sạn.

Các sản phẩm đa dạng bao gồm các món thức uống, thức ăn nhanh, các loại thực phẩm đa dạng để phục vụ đa số khách hàng từ người già cho tới trẻ em.

Tác nhân: Quản lý Module 12: Lập phiếu đặt phòng

FR-12 1 Chức năng này sử dụng cho việc đặt phịng theo đồn và đặt phịng lẻ. Dùng để lưu trữ thông tin về các đặt phịng của

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

khách hàng. Thơng tin này bao gồm thơng tin khách hàng, loại phịng, ngày đến và ngày đi, giá cả và các yêu cầu khác của khách hàng.

Tác nhân: Quản lý, nhân viên Module 13: Đặt phịng theo đồn

FR-013 1 Chức năng này sử dụng cho việc đặt phịng theo đồn. Đặt một lúc nhiều phòng và sử dụng nhiều dịch vụ và sản phẩm khác nhau cho mỗi phòng được đặt

Tác nhân: Quản lý, nhân viên Module 14: Đặt phòng lẻ

FR-014 1 Chức năng này sử dụng cho việc đặt phòng khách lẻ. Đặt một phòng duy nhất sử dụng nhiều dịch vụ và sản phẩm khác nhau cho mỗi phòng được đặt

Tác nhân: Quản lý, nhân viên Module 15: Chuyển phòng

FR-015 1 Chức năng này sử dụng cho việc chuyển phòng. Khi chuyển phịng sẽ lưu thơng tin của phịng hiện tại sau đó chuyển qua một phịng trống theo u cầu của khách hàng

Tác nhân: Quản lý, nhân viên Module 16: Quản lý dịch vụ

FR-016 3 Lưu trữ lại thông tin các dịch vụ khác nhau của khách sạn. Các dịch vụ đa dạng bao gồm các dịch vụ thu đổi ngoại tệ, xe đưa đón sân bay, bơi bốn mùa, để phục vụ đa số khách

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

hàng từ người già cho tới trẻ em. Tác nhân: Quản lý

Module 17: Thống kê doanh thu bán hàng

FR-017 2 <sub>Thống kê doanh thu theo ngày, tháng tùy vào nhu cầu của</sub> người sử dụng. Xuất file Excel theo dữ liệu lưới hiển thị. Tác nhân: Quản lý

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>Mơ hình người dùng hệ thống</b>

<i>Hình 5: Mơ hình người dùng hệ thống</i>

<b>3.1.3 Đặc tả yêu cầu hệ thống Đặt phịng </b>

<b> 1. Thơng tin chức năng</b>

<i>Bảng 4: Thơng tin chức năng đặt phịng</i>

<b>Đặt phịng </b>

<b>Mơ tả</b> Nhân viên, quản lý ghi nhận thông tin danh sách các phòng, loại phòng, sản phẩm dịch vụ mà khách hàng yêu cầu.

<b>Tác nhân</b> Quản lý khách sạn, Nhân viên

<b>Điều kiện trước</b> Quản lý và nhân viên khách sạn phải đăng nhập thành công vào hệ thống

<b>Điều kiện sau</b> Thơng tin của phịng trống khơng được

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

trùng với phòng đã được đặt trước đó

<b>Ngoại lệ</b>

<b>Các yêu cầu đặc biệt</b> Các trường dữ liệu đưa vào phải đáp ứng cơ bản các thông tin bắt buộc

<b>2. Biểu đồ luồng xử lý chức năng (DFD):</b>

a) Biểu đồ xử lý luồng sự kiện

<i>Hình 6: Mơ hình luồng sự kiện đặt phịng</i>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

b) Biểu đồ tuần tự chức năng đặt phòng

<i>Hình 7: Biểu đồ tuần tự chức năng đặt phòng</i>

<b>Quản lý danh mục tầng</b>

<b>1.Thông tin chung chức năng:</b>

<i>Bảng 5: Thông tin chức năng quản lý danh mục tầng</i>

Quản lý danh mục tầng

<b>Mô tả</b> Lưu tất cả thông tin của các tầng (cho phép thao tác thêm tầng, sửa thơng tin tầng, xóa tầng, lưu thơng tin, tìm kiếm và xuất các loại file thống kê danh sách

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

tầng hiện tại của khách sạn).

<b>Các yêu cầu đặc biệt</b> Tầng đang có phịng trong trạng thái hoạt động không được phép thao tác loại bỏ

<b>2. Biều đồ luồng xử lý chức năng</b>

a) Biểu đồ tuần tự chức năng

<i>Hình 8: Biểu đồ tuần tự chức năng quản lý tầng</i>

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

b) Biểu đồ luồng xử lý chức năng (DFD)

<i>Hình 9: Biểu đồ xử lý luồng sự kiện quản lý tầng</i>

D1: Thông tin về Tầng (ID Tầng, Mã tầng, Tên tầng). D2: Nhập thông tin các trường của tầng

D3: Lưu thông tin tầng mới D4: Load lại danh mục tầng D5: Thông báo thành cơng D6: D5

<b>3. Mơ tả dịng sự kiện chính (Basic Flow)</b>

<i>Bảng 6: Dòng sự kiện chức năng quản lý danh mục tầng</i>

<b>Hành động của tác nhânPhản ứng của hệ thốngThêm mới tầng vào danh mục tầng</b>

1. Quản lý mở danh mục tầng đã được lưu

trữ trong danh mục 2. Hệ thống sẽ hiển thị giao diện để quản lý thực hiện

3. Hệ thống yêu cầu quản lý cung cấp các

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<b>2.</b>Quản lý cung cấp thông tin mà hệ

<b>Xóa tầng trong danh mục tầng </b>

1. Quản lý chọn tầng muốn ngừng hoạt

động trong danh mục <sub>2. Hệ thống sẽ kiểm tra tầng đó có</sub> phịng đang hoạt động hay khơng. 3. Nếu tầng đó có phịng thí q trình

xóa sẽ khơng được thực thi.

4. Nếu tầng khơng có phịng hoạt động thì q trình xóa được thực thi, thông báo thành công và cập nhật

2. Hệ thống Load thông tin tầng đã được lưu trước đó

6. Hệ thống lưu lại thơng tin đã được quản lý cung cấp – cập nhật lại danh sách tầng trong danh mục và thông báo thành cơng

<b>Tìm kiếm thơng tin món tầng trong danh mục</b>

</div>

×