Luận văn Tốt nghiệp: Tìm hiểu và phân tích bài toán quản lí khách sạn - Nguyễn Kim Anh

pdf 75 trang huongle 3240
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Tốt nghiệp: Tìm hiểu và phân tích bài toán quản lí khách sạn - Nguyễn Kim Anh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_van_tot_nghiep_tim_hieu_va_phan_tich_bai_toan_quan_li_k.pdf

Nội dung text: Luận văn Tốt nghiệp: Tìm hiểu và phân tích bài toán quản lí khách sạn - Nguyễn Kim Anh

  1. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh LUẬN VĂN TỐT NGHIỆP KHOA CÔNG NGHỆ THÔNG TIN Đề tài: Tìm hiểu và phân tích bài toán quản lý khách sạn Đỗ Thị Liên - Lớp TH40 Trang 1
  2. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh LỜI NÓI ĐẦU Để quán triệt nguyên tắc " HỌC ĐI ĐÔI VỚI HÀNH ", nhằm tạo điều kiện cho sinh viên làm quen với thực tế, có được cái nhìn tổng hợp, giúp cho sinh viên chúng em hạn chế được sự bỡ ngỡ khi ra trường, hàng năm nhà trường tổ chức cho sinh viên đi thực tập tại các cơ sở theo nội dung ngành nghề đào tạo. Đây là điều kiện thuận lợi giúp chúng em phát huy được năng lực bản thân cũng như khả năng áp dụng lý thuyết được trang bị ở trường vào thực tế. Công nghệ thông tin đã có những bước phát triển mạnh mẽ. Máy tính điện tử không còn là phương tiện quý hiếm mà đang ngày một gần gũi với con người. Đứng trước sự bùng nổ thông tin, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hoá các hoạt động tác nghiệp của đơn vị mình. Mức độ hoàn thiện tuỳ thuộc vào quá trình phân tích và thiết kế hệ thống. Từ nhu cầu nêu trên, trong thời gian thực tập tốt nghiệp em đã sử dụng vốn kiến thức ít ỏi của mình tìm hiểu và phân tích bài toán quản lý khách sạn. Nó chỉ mang tính chất thử nghiệm để học hỏi, trao đổi kinh nghiệm và làm quen với thực tế. Đề tài gồm các phần: Phần I: Tổng quan bài toán Phần II: Cài đặt hệ thống Kết luận và Hướng phát triển Tài liệu tham khảo Phụ lục Tuy đã rất cố gắng học hỏi dựa trên kiến thức đã học và thực tế tại khách sạn nhưng do khả năng và thời gian có hạn nên cuốn báo cáo của em không thể tránh khỏi những thiếu sót. Em kính mong quý Thầy cô cùng bạn bè thông cảm và góp ý để em kịp thời lấp kín những lỗ hổng kiến thức và chương trình đạt hiệu quả cao hơn. Em xin chân thành cảm ơn Cô Nguyễn Kim Anh đã hết lòng chỉ bảo để em hoàn thành đồ án này. Nha Trang, tháng 08 / 2003 Sinh viên thực hiện Đỗ Thị Liên Đỗ Thị Liên - Lớp TH40 Trang 2
  3. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Phần I TỔNG QUAN BÀI TOÁN Chương I: NHIỆM VỤ, MỤC TIÊU VÀ KHẢO SÁT BÀI TOÁN Đỗ Thị Liên - Lớp TH40 Trang 3
  4. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh I. Nhiệm vụ và mục tiêu của bài toán 1. Nhiệm vụ của bài toán - Tìm hiểu cơ cấu tổ chức của Khách sạn Minh Hoàng - Tìm hiểu nhiệm vụ và qui trình thực hiện công việc tại Khách sạn - Khảo sát tình hình thực tế của Khách sạn - Áp dụng các kiến thức về Cơ sở dữ liệu và Phân tích - thiết kế hệ thống thông tin quản lý để xây dựng chương trình quản lý Khách sạn tự động thực hiện một số công việc bằng máy tính có thể thay thế một phần công việc cho con người. 2. Mục tiêu của bài toán Nghiên cứu và thử nghiệm bài toán Phân tích - Thiết kế hệ thống thông tin quản lý. Từ đó phân tích thiết kế cài đặt chương trình Quản lý Khách sạn. II. Khảo sát bài toán 1. Vài nét về khách sạn Minh Hoàng Khách sạn Minh Hoàng xây dựng và sử dụng vào năm 1996 do ông Đào Hoàng Hải làm chủ. Khách sạn nằm tại số 2A Củ chi - Đồng đế - Nha Trang. Do kinh phí có hạn nên Khách sạn đi vào hoạt động với qui mô tương đối nhỏ. Khách sạn gồm 5 tầng ( tổng cộng 30 phòng). Tầng trệt gồm phòng tiếp tân, phòng giám đốc Tiền sảnh rộng rãi, có khuôn viên đậu xe. Tầng trên cùng có lợi thế là có chỗ nghỉ mát cho khách, khách có thể trò chuyện tại đó. Khách sạn có 3 loại phòng, tất cả các phòng đều có đầy đủ tiện nghi như: Ti vi, tủ lạnh, Telephone Đội ngũ cán bộ nhân viên rất nhiệt tình và lịch sự, vui vẻ chỉ dẫn cho khách khi khách có yêu cầu (trong giới hạn cho phép). Khách sạn nằm gần mặt đường thuận tiện cho việc đi lại và đó chính là tuyến đường xuyên ra biển. Khách đến nghỉ tại khách sạn sẽ cảm thấy thoải mái và dễ chịu. Khách sạn luôn luôn quan tâm nâng cấp chất lượng phục vụ. Các quý khách và các đơn vị có nhu cầu ở khách sạn thì có thể liên hệ trực tiếp hoặc qua số máy: 058.832220. Rất hân hạnh được phục vụ và đón tiếp quý vị đến ở khách sạn chúng tôi. 2. Cơ cấu tổ chức của khách sạn SƠ ĐỒ TỔ CHỨC GIÁM ĐỐC PHÒNG PHÒNG PHÒNG TIẾP TÂN BẢO VỆ PHỤC VỤ Giám đốc Khách sạn Đỗ Thị Liên - Lớp TH40 Trang 4
  5. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Có nhiệm vụ quản lý trực tiếp khách sạn, mọi vấn đề của khách sạn đều phải thông qua giám đốc và giám đốc có quyền quyết định tất cả mọi thông tin xử lý trong khách sạn. Phòng tiếp tân Có nhiệm vụ hoàn thành công việc đăng ký, giao phòng cho khách và nhận lại phòng, lập phiếu thanh toán và thu tiền của khách, nhận những yêu cầu của khách, giới thiệu và giải đáp những thắc mắc của khách. Phòng bảo vệ Bảo vệ có nhiệm vụ giữ xe, khuân hành lý và giữ gìn an ninh trật tự trong khách sạn. Theo dõi các thiết bị của khách sạn và chịu trách nhiệm về hệ thống ánh sáng. Phòng phục vụ Kiểm tra và dọn vệ sinh phòng. Phục vụ ăn, uống, giặt ủi đưa đón khách bằng xe của khách sạn khi khách có yêu cầu. Ghi vào sổ thuê của khách: Ngày 20/12/2002 Mã sổ: A201 Mã sổ: A202 Phòng: 201 Phòng: 202 Nguyễn Đình Lập Nguyễn Trung Khánh CMND: 125001413 CMND125003534 Ngô Đăng nghĩa Lê Đình Thái CMND: 125006768 CMND:125006554 Quê quán: Thái Bình Quê quán: Bắc Ninh h h h h 9 15/12/2002 - 18 20/12/2002 09 14/12/2002 - 15 20/12/2002 Ghi vào sổ dịch vụ STT PHÒNG DỌN NGƯỜI DỌN TIME DỌN GHI CHÚ 1 205 Thu Yêu cầu không dọn 2 201 Qúi 15h 3 101 Hà 9h30 Có giặt ủi Ghi vào phiếu thanh toán Khách sạn Minh Hoàng Số Đỗ Thị Liên - Lớp TH40 Trang 5
  6. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh PHIẾU THANH TOÁN TIỀN Họ tên khách: Ngày đến.: Giờ đến : Số phòng: Ngày đi: Giờ đi: NGÀY TIỀN TỔNG Phòng Nước Đthoại Giặt ủi Ăn Dvkhác SỐ TIỀN TỔNG CỘNG Tổng số tiền bằng chữ: Ngày tháng năm KHÁCH GIÁM ĐỐC TIẾP TÂN (Ký) (Ký) (Ký) 3. Đặc tả bài toán Một khách sạn cần tự động hoá trong việc quản lý. Sau khi tìm hiểu, khảo sát hiện trạng em nắm được những thông tin sau: Quản lý khách hàng: Mỗi khách hàng của khách sạn đều được khách sạn quản lý những thông tin sau: Họ tên, giới tính, địa chỉ, điện thoại_Fax(nếu có), E_mail(nếu có), số CMND_Passport (hoặc các văn bằng khác có hình), quốc tịch. Nếu khách hàng là công chức thì quản lý thêm các thông tin sau: Tên cơ quan, địa chỉ cơ quan, E_mail cơ quan. Nếu khách hàng là vợ chồng thì phải có giấy đăng ký kết hôn. Quản lý phòng: Các phòng của khách sạn được quản lý dựa vào phòng số, loại phòng, giá cơ bản. Khách sạn gồm có ba loại phòng 1,2 ,3 tương ứng với giá như sau 150.000đ, 200.000đ, 250.000đ (trong đó có 10% VAT). Ngoài ra mỗi phòng còn được trang bị các tiện nghi, nên tiện nghi cũng được quản lý theo mã tiện nghi, tên tiện nghi. Còn trang bị tiện nghi theo phòng được quản lý dựa vào phòng số, mã tiện nghi và số lượng tiện nghi trong từng phòng. Quản lý đăng ký _ thuê phòng: Tất cả các thông tin đăng ký thuê phòng đều được quản lý dựa trên số đăng ký, họ tên khách đăng ký, ngày đến, giờ đến, ngày đi, giờ đi, giá thuê, số lượng người lớn, số lượng trẻ em và số tiền đặt cọc. Quản lý thông tin nhận phòng: Đỗ Thị Liên - Lớp TH40 Trang 6
  7. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Khách sạn quản lý những thông tin sau: Số nhận phòng, họ tên người nhận phòng, ngày nhận, giờ nhận. Tất cả thông tin nhận phòng đều dựa vào thông tin đăng ký thuê phòng đã khai báo trước đó. Vì khách hàng có đăng ký mới được nhận phòng theo đúng thông tin mà khách đã đăng ký. Quản lý việc trả phòng: Dựa trên thông tin đăng ký thuê phòng và thông tin nhận phòng, việc trả phòng được khách sạn quản lý các thông tin sau: Số trả phòng, ngày trả, giờ trả, họ tên người trả (có thể trả phòng trước thời hạn đăng ký). Nếu khách hàng muốn gia hạn thêm thời gian ở tại khách sạn thì phải tiến hành làm thủ tục đăng ký lại. Bên cạnh việc trả phòng của khách thì khách sạn sẽ kiểm kê số trang thiết bị trong phòng. Quản lý thông tin huỷ đăng ký: Cũng như việc quản lý các công việc trên thì việc huỷ đăng ký được quản lý các thông tin sau: Số huỷ đăng ký, ngày huỷ đăng ký, giờ huỷ đăng ký, họ tên người huỷ đăng ký. Quản lý nhân viên phục vụ tại khách sạn: Tất cả những nhân viên làm việc tại khách sạn đều được quản lý các thông tin sau: Họ nhân viên, Tên nhân viên, Chức vụ của nhân viên. Ngoài ra khách sạn còn quản lý thông tin về dịch vụ: tên dịch vụ; tiện nghi. Tại khách sạn có nhiều loại dịch vụ như: điện thoại, ăn uống, giặt ủi, đưa đón khách, chuyên chở đồ cho khách (khi khách yêu cầu) Quy trình quản lý: Khi khách hàng có nhu cầu ở khách sạn thì khách hàng có thể liên hệ với khách sạn để tiến hành làm thủ tục đăng ký phòng hoặc khách hàng có thể làm thủ tục thuê và nhận phòng để ở ( trường hợp phòng còn trống ). Có hai hình thức liên hệ: đến trực tiếp, qua điện thoại. Khi khách hàng làm thủ tục đăng ký thì khách hàng phải khai báo đầy đủ thông tin về mình cũng như thông tin về cơ quan (nếu có) khi Bộ phận Lễ tân (BPTL) yêu cầu. Hầu hết khách hàng đều phải đặt cọc một số tiền nhất định dựa vào loại phòng mà mình đã đăng ký. Trường hợp các đại lý thuê phòng của khách sạn thì đại lý sẽ cử đại diện đến khách sạn làm thủ tục đăng ký. Việc quản lý thông tin các đại lý sẽ được quản lý như thông tin cơ quan hoặc công ty, thông tin về người đại diện sẽ được quản lý như thông tin của công chức hay nhân viên của cơ quan đó. Trong thời gian trước ngày nhận phòng tối thiểu là 1 tuần các khách hàng đăng ký theo đoàn phải gửi cho khách sạn bảng bố trí phòng ở của các thành viên để khách sạn phân bố phòng cho hợp lý. Khi khách hàng đến nhận phòng thì ngoài số tiền đặt cọc, khách hàng phải gửi cho BPLT CMND_Passport ( hoặc các văn bằng có hình còn thời hạn sử dụng ). BPLT căn cứ vào đó để kiểm tra lại thông tin khi khách đăng ký phòng. Sau khi kiểm tra xong BPLT sẽ chỉ trả lại các văn bằng này khi khách hàng làm xong thủ tục trả phòng. Sau đó BPLT sẽ kiểm tra lại tình trạng phòng để tiến hành giao phòng cho khách. Nếu khách không đồng ý thì làm thủ tục đổi phòng cho khách ( nếu còn phòng trống ). Trong thời gian ở khách sạn, khách có thể sử dụng các loại dịch vụ, yêu cầu phục vụ. Đỗ Thị Liên - Lớp TH40 Trang 7
  8. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Mọi yêu cầu sẽ do BPLT đảm nhiệm và đáp ứng trong phạm vi hoạt động của khách sạn. Khách hàng sử dụng dịch vụ chưa thanh toán thì Bộ phận dịch vụ sẽ ghi hoá đơn nợ và chuyển đến BPLT tính vào hoá đơn tổng. Sau khi đặt phòng khách có thể huỷ đăng ký và phải bồi thường cho khách sạn theo quy định đã thoả thuận. Vì thế tiền đặt cọc là phải có trước khi nhận phòng. Để tránh rủi ro thì số tiền đặt cọc phải lớn hơn hay bằng số tiền phải bồi thường. Tuy nhiên trước 7 ngày nhận phòng khách huỷ đăng ký không phải bồi thường. Khi hết thời hạn thuê phòng như đã đăng ký thì khách phải trả phòng cho khách sạn. Khi khách làm thủ tục trả phòng, BPLT sẽ kiểm tra lại tình trạng phòng, tổng hợp lại các hoá đơn sử dụng dịch vụ chưa thanh toán trong thời gian khách ở khách sạn. sau khi tổng hợp in ra hoá đơn tổng để khách thanh toán và trả lại CMND_Passport cho khách. Hình thức thanh toán ở khách sạn chủ yếu bằng tiền mặt (tiền Việt nam_VNĐ). Ghi chú: Giá phòng có thể thay đổi theo mùa, khách quen và trẻ em. Công việc tin học hoá nhằm đáp ứng: 1. Thông tin về khách hàng Danh sách khách hàng (DSKH) ở tại khách sạn DSKH đăng ký thuê phòng DSKH huỷ đăng ký Tra cứu thông tin khách hàng Tra cứu thông tin nhân viên 2. Đối với các dịch vụ của khách sạn Hoá đơn sử dụng dịch vụ Hoá đơn tổng hợp 3. Cập nhật các thông tin Danh mục phòng Danh mục các dịch vụ Danh mục nhân viên 4. Thanh toán tiền phòng và các loại tiền dịch vụ khác. Chương II: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN Đỗ Thị Liên - Lớp TH40 Trang 8
  9. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh I. Cơ sở lý thuyết 1. Các khái niệm cơ bản - Cơ sở dữ liệu: Là một tập hợp các bảng dữ liệu có quan hệ với nhau sao cho cấu trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách biệt với chương trình ứng dụng bên ngoài, đồng thời nhiều người dùng khác nhau cũng như nhiều ứng dụng khác nhau có thể cùng khai thác và chia xẻ một cách chọn lọc lúc cần. - Thực thể: Là hình ảnh cụ thể của một đối tượng trong hệ thống thông tin quản lý. Một thực thể xác định Tên và các thuộc tính. - Thuộc tính: Là một yếu tố dữ liệu hoặc thông tin của thực thể ấy. - Lớp thực thể: Là các thực thể cùng thuộc tính. - Lược đồ quan hệ: Tập các thuộc tính của một quan hệ. Lược đồ một quan hệ gồm các thuộc tính của thực thể cùng với các mệnh đề ràng buộc. VD: Lược đồ một quan hệ R = = ( A1:D1,A2:D2, , An :Dn , M) Trong đó: R là một lược đồ quan hệ Ai : tên thuộc tính Di : miền xác định của thuộc tính M : mệnh đề ràng buộc Nội dung của một lược đồ quan hệ gọi là các bộ. - Các phép toán tối thiểu: * Tìn kiếm dữ liệu theo tiêu chuẩn đã chọn, không làm thay đổi trạng thái cơ sở dữ liệu. * Thay đổi cấu trúc cơ sở dữ liệu. * Thay đổi nội dung cơ sở dữ liệu. * Xử lý, tính toán trên cơ sở dữ liệu. 2. Khái niệm phụ thuộc dữ liệu và các dạng chuẩn - Một thuộc tính gọi là phụ thuộc vào các thuộc tính khác khi giá trị của thuộc tính này phụ thuộc vào giá trị của thuộc tính kia. Sự phụ thuộc này có thể là gián tiếp hay trực tiếp. - Một quan hệ bao giờ cũng có một nhóm thuộc tính mà giá trị của chúng qui định giá trị của các thuộc tính khác, nhóm thuộc tính đó gọi là khoá. - Với một quan hệ tuỳ vào các phụ thuộc của các thuộc tính vào khoá có trong đó mà ta phân chia các quan hệ đó thành các dạng chuẩn khác nhau. Các dạng chuẩn cơ bản: * Dạng chuẩn 1 * Dạng chuẩn 2 * Dạng chuẩn 3 Các dữ liệu lưu trữ dưới dạng chuẩn 3 tránh được hiện tượng dư thừa dữ liệu, tạo cho dữ liệu có tính độc lập cao. Các quan hệ nếu chưa ở dạng chuẩn 3 sẽ được phân rã thành các quan hệ nhỏ hơn có dạng chuẩn 3. 3. Khái niệm chỉ dẫn và khoá chỉ dẫn Đỗ Thị Liên - Lớp TH40 Trang 9
  10. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Để có thể tìm kiếm thông tin nhanh theo một tiêu chuẩn nào đó chúng ta tạo ra các thông tin chỉ dẫn theo tiêu chuẩn đó. Các thông tin chỉ dẫn là các thông tin giúp ta tìm kiếm dữ liệu nhanh. Các thông tin này gọi là khoá chỉ dẫn. Khoá chỉ dẫn có thể là 1 trường hoặc nhiều trường trong trường hợp này phải chỉ ra thứ tự. Với cách tạo ra khoá theo tiêu chuẩn nào đó ta có thể tìm kiếm dữ liệu nhanh theo tiêu chuẩn đó. 4. Mục tiêu và tính ưu việt của mô hình quan hệ - Cho một lược đồ dữ liệu dễ sử dụng, mô hình đơn giản, người dùng không cần biết cấu trúc vật lý của dữ liệu. Tiện lợi cho người dùng cuối không chuyên tin học. - Tăng cường tính độc lập của dữ liệu, đặc biệt là độc lập vật lý. - Cho một khả năng có một ngôn ngữ thao tác bậc cao. - Tối ưu việc tìm kiếm dữ liệu trong cơ sở dữ liệu, hệ quản trị tự tìm cách truy nhập. - Cải thiện nâng cao toàn vẹn dữ liệu và bảo mật dữ liệu. - Có thể phục vụ cho nhiều chương trình ứng dụng. - Có cơ sở toán học phong phú chắc chắn: * Lý thuyết quan hệ * Dạng chuẩn có độ bền vững và đầy đủ thông tin II. Công cụ phát triển 1. Lựa chọn công cụ Do tính chất của cơ sở dữ liệu của bài toán chương trình này sử dụng ngôn ngữ lập trình Visual Basic 6.0 trong việc tạo giao diện và chương trình chính, kết hợp với Microsoft Access 97 tạo cơ sở dữ liệu. Chương trình chạy trên nền Win95/ Win98. Visual Basic là ngôn ngữ lập trình thông dụng trên Windows. Visual Basic 6.0 hỗ trợ quản lý Cơ sở dữ liệu và Internet, đặc biệt là quản lý cơ sở dữ liệu. Visual Basic có nhiều tính năng mới. Các điều khiển mới cho phép ta viết các chương trình ứng dụng kết hợp các giao diện, cách xử lý và tính năng của Office 97 và trình duyệt Web Internet Explorer. Mặt khác, khi dùng Visual Basic sẽ tiết kiệm thời gian và công sức so với các ngôn ngữ lập trình khác khi xây dựng cùng một ứng dụng. Visual Basic gắn liền với khái niệm lập trình trực quan (Visual), nghĩa là khi thiết kế chương trình ta nhìn thấy ngay kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Đây là thuận lợi lớn so với các ngôn ngữ lập trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng về màu sắc, kích thước và hình dáng của các đối tượng có mặt trong ứng dụng. Bên cạnh đó, Visual Basic còn hỗ trợ tính năng kết nối môi trương dữ liệu Access, SQL, Việc liên kết dữ liệu có thể thực hiện bằng nhiều cách. Trong đó thiết kế DataEnvironment là một điểm mới trong VB 6.0. Nó dùng để quản lý một cách trực quan việc kết nối một cơ sở dữ liệu. Nghĩa là khi ta có một thiết kế DataEnvironment trong ứng dụng thì ta có thể quản lý tất cả các thông tin gắn liền với kết nối ở một nơi, chứ không phải như những kỹ thuật cổ điển nhúng thông tin kết nối trong CSDL trong chương trình. Chương trình "Quản lý khách sạn" là chương trình quản lý cơ sở dữ liệu (lưu trữ, tra cứu ) tại khách sạn. Do đó việc dùng ngôn ngữ VB 6.0 là thích hợp. 2. Môi trường làm việc Đỗ Thị Liên - Lớp TH40 Trang 10
  11. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh - Hệ thống máy tính chủ yếu được sử dụng hiện nay tại các khách sạn là máy PC. - Đa số người sử dụng trên thực tế đã làm quen với tin học với hệ điều hành Windows. - Hệ thống chương trình quản lý khách sạn sẽ rất tiện dụng khi chạy trên môi trường mạng. Tuy nhiên nó vẫn có thể cài trên máy lẻ, áp dụng với những cơ sở chưa ứng dụng mạng máy tính trong quản lý. III. Tổng quan lý thuyết Đây là chương trình quản lý thực hiện tin học hoá vào trong lĩnh vực quản lý khách sạn mà trước đây họ vẫn quản lý theo lối thủ công. Cơ sở dữ liệu của bài toán này được phân tích và thiết kế theo phương pháp MERISE (Methode pour Rassembler les Idees Sans Effort: Các phương pháp để tập hợp các ý tưởng không cần cố gắng ). - Một số mặt mạnh của phương pháp Merise là có cơ sở khoa học vững chắc, hiện tại nó là một trong những phương pháp phân tích được dùng nhiều ở Pháp và Châu Âu khi phải phân tích và thiết kế các hệ thống lớn. Là phương pháp dung thiết kế một hệ quản trị cơ sở dữ liệu hoàn hảo từ những yêu cầu cơ bản ban đầu, giúp từng bước cảm nhận và hoàn thành hệ thống thông tin một cách logic. Tuy nhiên phương pháp này cũng có một số nhược điểm là cồng kềnh, do đó để giải quyết các áp dụng nhỏ , việc áp dụng phương pháp này nhiều lúc đưa đến việc kéo dài thời gian, nặng nề không đáng có. 1. Phương pháp phân tích Merise Là phương pháp khảo sát và thực hiện tin học hoá cho các hệ thống quản lý. Đặc trưng của phương pháp này là xem xét, tách biệt dữ liệu và xử lý đảm bảo tính khách quan trong quá trình phân tích và cung cấp đầy đủ các mô hình để diễn đạt các bước cập nhật. Hệ thống bao gồm dữ liệu và xử lý được biểu diễn ở ba mức: - Mức quan niệm - Mức tổ chức ( logic ) - Mức vật lý * Mức quan niệm dữ liệu: Là mức cảm nhận đầu tiên để xác định hệ thống thông tin, ở mức này cần trả lời câu hỏi: Hệ thống thông tin cần những yếu tố gì? Chức năng ra sao? Gồm những dữ liệu nào và qui tắc như thế nào? * Mức tổ chức: Là mức tổng hợp các yếu tố đã nhận diện ở mức quan niệm. Trong một tổng thể vận động cần phải trả lời được các câu hỏi: Ai làm? Làm ở đâu và khi nào? * Mức vật lý: Là mức chi tiết. Về dữ liệu cần có các quan hệ cụ thể, có một ngôn ngữ lập trình cụ thể. Về xử lý cần có đầy đủ các đặc tả cho từng thủ tục chương trình, có sự tham khảo ngôn ngữ trong chương trình này. Bảng tóm tắt các mô hình sử dụng để biểu diễn cho mức cảm nhận theo phương pháp Merise: Mức mô tả Các khái niệm sử dụng Đỗ Thị Liên - Lớp TH40 Trang 11
  12. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Dữ liệu Xử lý Quan niệm Mô hình quan niệm dữ liệu Mô hình quan niệm xử lý Logic Mô hình logic dữ liệu Mô hình logic xử lý Vật lý Mô hình vật lý dữ liệu Mô hình vật lý xử lý 2. Hệ quản trị cơ sở dữ liệu Microsoft Access Microsoft Access là một hệ quản trị cơ sở dữ liệu tương tác với người sử dụng chạy trên môi trường Windows, nó tăng thêm sức mạnh trong công tác tổ chức và tìm kiếm thông tin. Các qui tắc kiểm tra dữ liệu , giá trị mặc định, khuôn nhập dữ liệu của MS Access hoàn toàn đáp ứng yêu cầu. Khả năng kết nối và công cụ truy vấn mạnh của nó giúp ta tìm kiếm thông tin một cách nhanh chóng. 3. Mục đích yêu cầu người sử dụng a. Nhu cầu thực tế Trên thực tế nhu cầu xem xét thông tin về một vấn đề nào đó tại một thời điểm đối với người quản lý, nhà lãnh đạo rất cần thiết. Các thông tin này là một trong nhiều phần nhỏ trong hệ thống dữ liệu đầy đủ. Các dữ liệu cần xem xét chỉ được quan tâm theo một khía cạnh nào đó mà thôi. Tại mỗi lúc các thông tin mà người sử dụng cần biết là rất khác nhau. Thông tin có thể là nhắn gọn hoặc đầy đủ tuỳ thuộc vào yêu cầu cụ thể của người sử dụng. Việc xem xét theo dõi các thông tin tại một thời điểm bất kỳ có ý nghĩa rất lớn. Chúng cho phép người quản lý theo dõi được việc quản lý thường xuyên đối với các nhân viên đang làm việc tại khách sạn. b. Bài toán đặt ra Cho phép người sử dụng chọn và tra cứu thông tin khách hàng trong khách sạn một cách thân thiện và nhanh chóng nhất. Cho phép người sử dụng có thể bổ sung hoặc sửa đổi thông tin khách hàng một cách nhanh chóng nếu được nhận quyền tương ứng như vậy. Hệ thống tự động kiểm tra và tính tổng các khoản tiền dịch vụ và tiền phòng mà khách phải trả khi người sử dụng nhập vào ngày - giờ trả phòng đồng thời hệ thống in ra phiếu thanh toán cho khách. Khi đến thuê phòng thì hệ thống sẽ cho biết danh sách các phòng còn trống và từng loại phòng trong khách sạn. IV. Tình hình hiện trạng của khách sạn Do giới hạn về kinh phí đầu tư cũng như cơ cấu tổ chức của khách sạn tương đối nhỏ nên tất cả mọi công việc đều thao tác bằng tay. Khách sạn có một máy tính chỉ dùng để soạn thảo văn bản và in các mẫu đơn, mẫu phiếu thanh toán. Nhưng hiện tại thì máy tính rất ít được sử dụng do các nhân viên trong khách sạn chưa làm quen nhiều với máy tính. Các nhân viên trong khách sạn chủ yếu ghi chép bằng tay, chỉ có kế toán làm những công việc liên quan đến máy tính nhưng rất hạn chế. Khách sạn không sử dụng Đỗ Thị Liên - Lớp TH40 Trang 12
  13. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh máy tính thường xuyên nên Giám đốc chưa có kế hoạch cho nhân viên đi học thêm tin học ứng dụng và mua thêm máy tính mới. Khách sạn có một máy điện thoại tổng đài với ba line được nối với điện thoại tất cả các phòng. Đồng thời máy tổng đài được nối với một máy in có tác dụng in ra các cuộc gọi trong khách sạn. Phòng tiếp tân căn cứ vào đây để cộng vào khoản tiền thanh toán cho khách khi khách trả phòng. Với bài toán quản lý này tôi sẽ viết chương trình điều khiển việc quản lý khách sạn bằng máy tính nhằm mục đích giảm được tời gian cho nhân viên ở phòng tiếp tân và có thể giảm được lượng nhân viên làm việc ở phòng này. Bài toán chủ yếu xoay quanh các thông tin ở phòng tiếp tân, còn các phòng khác do thông tin và công việc không nhiều nên không đi sâu vào từng chi tiết. Bài toán quản lý Khách sạn bằng máy tính phần nào thay thế được một phần công việc cho nhân viên ở phòng tiếp tân đồng thời tạo điều kiện giúp cho nhân viên trong Khách sạn tiếp xúc và làm quen với máy tính. Thực hiện cơ chế tự động hoá trong các khâu quản lý bằng máy tính. Do vậy nhân viên không phải thực hiện công việc ghi chép mà chỉ làm công việc giải đáp thắc mắc của khách và nghe điện thoại. Chính vì vậy đã giúp khách sạn giảm một khoản tiền nhất định chi trả lương và giúp cho nhân viên tiếp tân không phải vất vả như làm bằng tay nữa đồng thời tập làm quen với máy tính, đưa tin học vào ứng dụng rộng rãi. Chương III: MÔ HÌNH HOÁ DỮ LIỆU 1. Mô hình quan niệm dữ liệu Đỗ Thị Liên - Lớp TH40 Trang 13
  14. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Mô hình quan niệm dữ liệu là sự mô tả của hệ thống thông tin độc lập với các lựa chọn môi trường để cài đặt, là công cụ cho phép người phân tích thể hiện dữ liệu của hệ thống ở mức quan niệm. Mô hình này cũng là cơ sở để trao đổi giữa những người phân tích và người yêu cầu thiết kế hệ thống. Nhiều kiểu mô hình quan niệm dữ liệu đã được nghiên cứu, phương pháp Merise sử dụng mô hình thực thể - mối kết hợp, là một mô hình xuất phát từ lý thuyết cơ sở dữ liệu nên từ đây có thể thiết kế được cơ sở dữ liệu dạng chuẩn cao. Với bài toán "Quản lý khách sạn" thì mô hình quan niệm được mô tả như sau: Hình trang sau: MÔ HÌNH QUAN NIỆM DỮ LIỆU Đỗ Thị Liên - Lớp TH40 Trang 14
  15. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh HUỶ ĐK NHÂN VIÊN (1,1) Ngày huỷ Mã NV ĐĂNG KÝ Giờ huỷ Tên NV TNGHI Chức vụ NV Số ĐK Mã TN Ngày đến (1.n) (1,n) Tên TN Giờ đến (1,n) Ngày đi (1,n) DỊCH VỤ Giờ đi SDDV Mã DV Tiền đcọc Tên DV SLNL Số (1,n) SLTE KHÁCH HÀNG Ngày SD Đơn giá Mã KH Tiền trả trước Họ tên KH TTHBỊ Ngày sinh Giới tính (1,1) (1,1) VC-CQ Số Địa chỉ lượng Điện thoại_Fax VỢ CHỒNG E_mail (1,n) NPHÒNG SốCMND_PP GDKKH Quốc tịch Ngày nhận CƠ QUAN Giờ nhận (1,n) Mã CQ Tên CQ ĐCCQ (1,1) ĐThoại_ PHÒNG (1,n) CÔNG CHỨC Fax CQ E_mail TRẢ PHÒNG Chức vụ CQ Mã P Loại P Giá cơ_ Ngày trả (1,1) bản Giờ trả (1,n) CC-CQ 2. Mô hình tổ chức dữ liệu Đỗ Thị Liên - Lớp TH40 Trang 15
  16. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Mô hình tổ chức dữ liệu của hệ thống là lược đồ cơ sở dữ liệu của hệ thống. Đây là bước trung gian chuyển đổi giữa mô hình quan niệm dữ liệu (gần với người sử dụng) và mô hình vật lý dữ liệu (mô hình trong máy), chuẩn bị cho việc cài đặt hệ thống. Các lược đồ quan hệ trong mô hình tổ chức dữ liệu có được từ sự biến đổi mô hình quan niệm dữ liệu. Áp dụng các qui tắc biến đổi ta có các lược đồ quan hệ của bài toán: KHÁCH HÀNG ( Mã KH, Họ Tên KH, Giới tính, Địa chỉ, Ngày sinh, Đthoại_ Fax,E_mail, CMND_PP, Quốc tịch ). PHÒNG ( Mã P, Loại P, Giá cơ bản ). TNGHI ( Mã TN, Tên TN ). TTHBỊ ( Mã P, Mã TN, Số lượng ). DỊCH VỤ ( Mã DV, Tên DV ). CƠ QUAN ( Mã CQ, Tên CQ, ĐCCQ, ĐT_Fax CQ, E_mail CQ ). CÔNG CHỨC ( Mã KH, Mã CQ, Chức vụ). VỢ CHỒNG ( Mã KH, Mã CQ, Họtên VC, GDKKH ). NHÂN VIÊN ( Mã NV, Tên NV ). ĐĂNG KÝ ( Số DK, Ngày DK, Mã KH, Ngày đến, Giờ đến, Ngày đi, Giờ đi, Mã P, SLNL, SLTE, Tiền đặt cọc ). HUỶĐK( Số DK, Mã KH, Ngày huỷ, Giờ huỷ ). NPHÒNG ( Số DK,Mã KH, Mã P, Ngày nhận, Giờ nhận ). TRẢ PHÒNG ( Số ĐK, Mã KH, Ngày trả, Giờ trả ). SDDV ( Số, Số DK, Mã KH, Ngày sử dụng, Mã DV, Mã NV, Đơn giá DV, Tiền trả trước ). 3. Mô hình vật lý dữ liệu Là mô hình của dữ liệu được cài đặt trên máy vi tính dưới một hệ quản trị cơ sở dữ liệu nào đó. Ứng với mỗi lược đồ quan hệ trong mô hình tổ chức dữ liệu, dữ liệu được cài đặt thành một tệp cơ sở dữ liệu gồm các cột: tên trường, kiểu dữ liệu, độ lớn và phần ràng buộc dữ liệu. Với bài toán "Quản lý khách sạn" thì mô hình hoá dữ liệu được cài đặt trên máy dưới hệ quản trị cơ sở dữ liệu "Visual Basic 6.0 kết nối với Microsoft Access97". Ứng với mỗi lược đồ quan hệ trong mô hình tổ chức dữ liệu, dữ liệu được cài đặt dưới dạng bảng_Table như sau: KHÁCH HÀNG ( Mã KH, Họ Tên KH, Giới tính, Địa chỉ, Ngày sinh, Đthoại_ Fax,E_mail, CMND_PP, Quốc tịch ). Đỗ Thị Liên - Lớp TH40 Trang 16
  17. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Field Name Data Type Fiel Size Validation Rule Mã KH (K) Text 9 Len()=9 Họ tên KH Text 30 Ngày sinh Date/Time Short date Giới tính Yes / No Yes Nam;Nữ Địa chỉ Text 50 Đthoại_Fax Number 10 E_mail Text 30 Số CMND_PP Text 10 Quốc tịch Text 30 Mã KH: Mã khách hàng= Ngày + Tháng + Năm (2 số cuối của năm) + 3 ký tự là Số thứ tự. Ví dụ: M ã KH 010203001 Họ tên KH Trần Thị Mỹ Trang Giới tính No Địa chỉ Nha Trang _ Khánh Hoà Đthoại_Fax 813602 E_mail mt2000@Yahoo.com SốCMND_PP 225461250 Quốc tịch Việt Nam PHÒNG (Mã P, Loại P, Giá cơ bản). Field Name Data Type Field Size Validation Rule Mã P (K) Text 3 Len()=3 Loại P Text 1 Giá cơ bản Number 6 Mã P: Mã phòng có 3 ký tự = STT(lầu) +STT(phòng) Ví dụ: Mã phòng Loại phòng Giá cơ bản 101 1 150000 VNĐ 201 2 200000 VNĐ TNGHI (Mã TN, Tên TN) Đỗ Thị Liên - Lớp TH40 Trang 17
  18. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Field Name Data Type Field Size Validation Rule Mã TN (K) Text 2 Len()=2 Tên TN Text 25 Mã TN: Mã tiện nghi = Số thứ tự tiện nghi Tên TN: Tên tiện nghi Ví dụ Mã tiện nghi Tên tiện nghi 01 Máy lạnh 02 Tủ lạnh TTHBỊ (Mã P, Mã TN, Số lượng) Field Name Data Type Field Size Validation Rule Mã P (K) Text 3 Lookup(PHÒNG) Mã TN (K) Text 2 Lookup(TNGHI) Số lượng Number 2 TTHBỊ: Trang thiết bị trong phòng Ví dụ: Mã phòng Mã tiện nghi Số lượng 101 01 5 202 02 3 DỊCH VỤ (Mã DV, Tên dịch vụ) Field Name Data Type Field Size Validation Rule Mã DV (K) Text 2 Len()=2 Tên dịch vụ Text 25 Mã DV: Mã dịch vụ gồm 2 ký tự là số thứ tự dịch vụ Ví dụ: Mã dịch vụ Tên dịch vụ 01 Ăn 02 Giặt ủi CƠQUAN (Mã CQ, tên CQ, ĐCCQ, Đthoại _Fax CQ, E_mail CQ) Đỗ Thị Liên - Lớp TH40 Trang 18
  19. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Field Name Data Type Field Size Validation Rule Mã CQ (K) Text 3 Len() =3 Tên CQ Text 30 ĐCCQ Text 50 ĐT_Fax CQ Number 10 Len()=10 E_mail CQ Text 30 Mã CQ: Mã cơ quan là số thứ tự cơ quan trong vùng ĐCCQ: Địa chỉ cơ quan Ví dụ: Mã cơ quan 001 Tên cơ quan Công ty TNHH Sao Mai Địa chỉ cơ quan Bà Rịa - Vũng Tàu ĐT_Fax Cơ quan 058867298 E_mail cơ quan Saomai@hcm.vnn.vn CÔNG CHỨC (Mã CQ, Mã KH, chức vụ) Field Name Data Type Field Size Validation Rule Mã CQ (K) Text 3 Lookup(CƠ QUAN) Mã KH (K) Text 9 Lookup(KHACHHANG) Chức vụ Text 30 Chức vụ: công chức đại diện cho cơ quan đến thuê phòng có chức vụ gì Ví dụ: Mã cơ quan Mã khách hàng Chức vụ 001 150203001 Phó phòng 002 160103002 Trợ lý ĐĂNGKÝ (Số DK, ngày DK, Mã KH, ngày đến, giờ đến, ngày đi , giờ đi, Mã P, SLNL, SLTE, Tiền đặt cọc) Số DK: Số đăng ký = Ngày + Tháng + Năm(đầy đủ) + số thứ tự đăng ký trong ngày. SLNL: số lượng người lớn SLTE: số lượng trẻ em Đỗ Thị Liên - Lớp TH40 Trang 19
  20. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Field Name Data Type Field Size Validaion Rule Số DK (K) Text 10 Len()=10 Ngày đăng ký Date/Time Short date >=Date() Mã KH (K) Text 9 Lookup(KHÁCHHÀNG) Ngày đến Date/Time Short date >=Date() Giờ đến Date/Time Short date Ngày đi Date/Time Short date >=Ngày đến Giờ đi Date/Time Short date Mã P (K) Text 3 Lookup(PHÒNG) SLNL Number 1 SLTE Number 1 Tiền đặt cọc Number 6 Ví dụ: Số đăng ký 1502200301 1003200302 Ngày đăng ký 15/02/2003 10/03/2003 Mã khách hàng 150203001 100303002 Ngày đến 17/02/2003 10/03/2003 Giờ đến 8:00 10:30 Ngày đi 22/02/2003 15/03/2003 Giờ đi 12:00 2:30 Mã phòng 101 202 Số lượng người lớn 1 1 Số lượng trẻ em 0 1 Tiền đặt cọc 150000 200000 VỢ CHỒNG (Mã CQ, Mã KH, GDKKH) Field Name Data Type Field Size Validation Rule Mã CQ (K) Text 3 Lookup(CƠQUAN) Mã KH (K) Text 9 Lookup(KHÁCHHÀNG) GDKKH (K) Date/Time Năm <1985 GDKKH: Giấy đăng ký kết hôn. Đỗ Thị Liên - Lớp TH40 Trang 20
  21. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh NHÂN VIÊN (Mã NV, Tên NV, Chức vụ NV) Field Name Data Type Field Size Validation Rule Mã NV (K) Text 2 Len()=2 Tên NV Text 7 Chức vụ NV Text 30 Mã NV: Mã nhân viên = số thứ tự của nhân viên trong khách sạn. Ví dụ: Mã nhân viên 01 02 Tên nhân viên Hà Thắm Chức vụ NV Tiếp tân Phục vụ HUỶĐK (Số DK, Mã KH, ngày huỷ, giờ huỷ) Field Name Data Type Field Size Validation Rule Số DK (K) Text 11 Lookup(ĐĂNGKÝ) Mã KH (K) Text 9 Lookup(KHÁCHHÀNG) Ngày huỷ Date/Time Short date >=Date() Giờ huỷ Date/Time Short date Số huỷ đăng ký = Số đăng ký. Ví dụ: Số huỷ đăng ký Mã khách hàng Ngày huỷ Giờ huỷ 12012003001 120103001 15/02/2003 10:00 15022003002 120103002 17/02/2003 12:00 NPHÒNG (Số DK, Mã KH, ngày nhận, giờ nhận) Field Name Data Type Field Size Validation Rule Số DK (K) Text 10 Lookup(ĐĂNGKÝ) Mã KH (K) Text 9 Lookup(KHÁCHHÀNG) Ngày nhận Date/Time >= Ngày đăng ký Giờ nhận Date/Time Đỗ Thị Liên - Lớp TH40 Trang 21
  22. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh NPHÒNG: Nhận phòng từ việc đăng ký phòng Ví dụ: Số đămg ký Mã khách hàng Ngày nhận Giờ nhận 1202200301 120203001 15/02/2003 10:00 1502200302 120203002 17/02/2003 15:30 SDDV (Số, Số DK, Mã KH, Ngày sử dụng, Mã DV, Mã NV, Đơn giá DV, Tiền trả trước). Field Name Data Type Field Size Validation Rule Số (K) Text 10 Số DK (K) Text 10 Lookup(ĐĂNGKÝ) Ngày sử dụng Date/Time Short date >=Date() Mã DV (K) Text 2 Lookup(DỊCHVỤ) Mã NV (K) Text 2 Lookup(NHÂNVIÊN) Đơn giá DV Number 6 Tiền trả trước Number 6 Mã KH (K) Text Short date Lookup(KHÁCHHÀNG) Số = Ngày+Tháng+Năm+ STT sử dụng dịch vụ trong ngày. Ví dụ: Số Số đăng ký Mã KH Ngày sử Mã Đơn giá Tiền trả dụng DV DV trước 1502200301 15022003001 150203001 15/02/2003 01 100 000 100 000 1702200301 17022003002 170203002 17/02/2003 02 200 000 0 TRẢPHÒNG (Số DK, Mã KH, ngày trả, giờ trả) Field Name Data Type Field Size Validation Rule Số ĐK (K) Text 10 Lookup(ĐĂNGKÝ) Mã KH (K) Text 9 Lookup(KHÁCHHÀNG) Ngày trả Date/Time Short date >=Date() Giờ trả Date/Time Short date Ví dụ: Số đăng ký Mã khách hàng Ngày trả Giờ trả 1502200301 150203001 20/02/2003 12:00 1702200302 170203002 22/02/2003 12:00 Đỗ Thị Liên - Lớp TH40 Trang 22
  23. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 4.TỪ ĐIỂN DỮ LIỆU STT TÊN TRƯỜNG KIỂU KÍCH THƯỚC DIỄN GIẢI 1 MAKH Text 9 Mã khách hàng 2 HOTENKH Text 40 HọTên khách hàng 3 GIOITINH Yes/No Giới tính 4 DIACHI Text 50 Địa chỉ 5 DTHOAI_FAX Number 10 Điện thoại_ Fax 6 E_MAIL Text 30 E_mail 7 SOCMNDPP Text 10 Số chứng minh nhân dân_Passport 8 QUOCTICH Text 3 Quốc tịch 9 MANV Text 2 Mã nhân viên 10 TENNV Text 30 Tên nhân viên 11 MADV Text 2 Mã dịch vụ 12 TENDV Text 7 Tên dịch vụ 13 MACQ Text 3 Mã cơ quan 14 TENCQ Text 30 Tên cơ quan 15 DCCQ Text 50 Địa chỉ cơ quan 16 DT_FAXCQ Number 10 Điện thoại _fax cơ quan 17 E_MAILCQ Text 25 E_mail cơ quan 18 GDKKH Date/Number Giấy đăng ký kết hôn 19 CHUCVU Text 30 Chức vụ 20 SO Text Số 21 NGAYSD Date/Time Ngày sử dụng 22 DONGIA Number 6 Đơn giá 23 TIENTTRUOC Number 6 Tiền trả trước 24 SODK Text 11 Số đăng ký 25 NGAYDK Date/Time Ngày đăng ký 26 NGAYDEN Date/Time >=Date() Ngày đến 27 GIODEN Date/Time Giờ đến 28 NGAYDI Date/Time Ngày đi 29 GIODI Date/Time Giờ đi 30 SLNL Number 1 Số lượng người lớn 31 SLTE Number 1 Số lượng trẻ em 32 TIENDATCOC Number 6 Tiền đặt cọc 33 NGAYHUY Date/Time >=Date() Ngày huỷ 34 GIOHUY Date/Time Giờ huỷ 35 NGAYNHAN Date/Time >=Date() Ngày nhận 36 GIONHAN Date/Time Giờ nhận 37 NGAYTRA Date/Time Ngày trả Đỗ Thị Liên - Lớp TH40 Trang 23
  24. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 38 GIOTRA Date/Time Giờ trả 39 MATN Text 2 Mã tiện nghi 40 TENTN Text 25 Tên tiện nghi 41 SOLUONG Number Số lượng 42 MAP Text 3 Mã phòng 43 LOAIP Text 1 Loại phòng 44 GIACOBAN Number 6 Giá cơ bản 45 NGAYSINH Date/Time Short date Ngày sinh 46 CHUCVUNV Text 30 Chức vụ nhân viên 47 SODK Text 10 Số đăng ký Chương IV: Đỗ Thị Liên - Lớp TH40 Trang 24
  25. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh MÔ HÌNH HOÁ XỬ LÝ Trongmột hệ thống thông tin bao gồm hai thành phần chính: Dữ liệu và xử lý dữ liệu. Dữ liệu mang sắc thái tĩnh còn xử lý mang sắc thái động của hệ thống. I. Mô hình thông lượng Nhằm xácđịnh các luồng thông tin trao đổi giữa các bộ phận trong hệ thống thông tin quản lý. - Tác nhân: Là một người hay một bộ phận tham gia vào hoạt động của hệ thống thông tin quản lý. Có hai loại tác nhân: Tác nhân bên trong hệ thống gọi là tác nhân trong và tác nhân bên ngoài hệ thống gọi là tác nhân ngoài. - Tác nhân trong: Được biểu diễn bằng một vòng tròn, tác nhân ngoài được biểu diễn bằng một hình chữ nhật, bên trong ghi tên của tác nhân. - Thông lượng: Là dòng thông tin truyền giữa hai tác nhân, được biểu diễn bằng một mũi tên đi từ tác nhân này đến tác nhân kia. TÁC NHÂN NGOÀI TÁC NHÂN TRONG Mô hình thông lượng thông tin của bài toán này là toàn bộ các dòng thông lượng giữa các tác nhân bên trong hệ thống. Có một tác nhân ngoài (KHÁCH HÀNG) và hai tác nhân trong (BỘ PHẬN LỄ TÂN và BỘ PHẬN DỊCH VỤ). Mô hình thông lượng thông tin được thể hiện như sau: Đỗ Thị Liên - Lớp TH40 Trang 25
  26. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Yêu cầu đăng ký phòng Trả lời yêu cầu đăngký phòng Yêu cầu đăng thuê phòng BỘ PHẬN Tr y lời ả Trả lời yêu cầu đăng thuê LỄ TÂN c Yêu êuc Yêu cầu nhận phòng ầu hoáđ ầu Trả lời yêu cầu nhận phòng hoáđ ầu Yêu cầu trả phòng ơn s ơn Trả lời yêu cầu trả phòng s ơn KHÁCH ử dụng dịchvụchdụng ử ử dụng dịchvụchdụng ử Yêu cầu thanh toán hoá đơn tổng HÀNG Trả lời yêu cầu thanh toán hoá đơn tổng ưa thanh thanh toán ưa ưa thanh toán thanh ưa Yêu cầu sử dụng dịch vụ BỘ PHẬN Trả lời yêu cầu sử dụng dịch vụ Yêu cầu thanh toán hoá đơn dịch vụ DỊCH VỤ Trả lời yêu cầu thanh toán hoá đơn Đỗ Thị Liên - Lớp TH40 Trang 26
  27. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh II. Mô hình quan niệm xử lý 1. Khái niệm Mô hình quan niệm xử lý là mô hình nhằm xác định hệ thống làm những công việc gì, chức năng gì. Các chức năng này có liên hệ với nhau như thế nào. Tại sao có những công việc này. Trong mô hình này trả lời các câu hỏi WHAT, WHY? 2. Biến cố Biến cố là một sự kiện xảy ra cho hệ thống thông tin, có thể xuất hiện bên trong hay bên ngoài hệ thống, tạo phản ứng cho hệ thống thông tin qua một công việc nào đó. Một biến cố bao giờ cũng tạo ra một biến cố mới hay dữ liệu mới. Người ta dùng một hình elip trong đó ghi tên biến cố để chỉ một biến cố. Biến cố A Biến cố B CÔNG VIỆC NO YES Biến cố C Biến cố D 3. Công việc Công việc hay còn gọi là một Quy tắc quản lý, là một xử lý nhỏ nhất mà hệ thống thực hiện khi xuất hiện một biến cố trong hệ thống thông tin quản lý. Một công việc hoạt động có thể thành công hay không, trong mỗi trường hợp công việc sinh ra biến cố khác nhau. Để mô tả một công việc, người ta dùng một hình chữ nhật trong đó ghi tên công việc nửa trên và nửa còn lại chia làm hai phần, phần ghi chữ NO cho trường hợp thực hiện không thành công, phần ghi chữ YES cho trường hợp thực hiện thành công. Có hai phương thức kích hoạt bởi nhiều biến cố cho một công việc: AND, OR. Phương thức AND: Khi tất cả các biến cố cùng xảy ra thì mới kích hoạt công việc. Phương thức OR: Khi một trong những biến cố xảy ra thì đã kích hoạt được công việc. Đỗ Thị Liên - Lớp TH40 Trang 27
  28. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 4. Danh sách các tác vụ trong bài toán Quản lý khách sạn 1. Nhận đăng ký - T.phòng 11. Bàn giao phòng 2. Kiểm tra phòng 12. Yêu cầu đổi phòng 3. Kiểm tra thông tin khách hàng 13. Sử dụng dịch vụ 4. Nhập thông tin kháh hàng 14. In hoá đơn sử dụng dịch vụ 5. Nhập thông tin đăng ký -thuê phòng 15. Thanh toán hoá đơn sử dụng dịch vụ 6. Yêu cầu huỷ đăng ký phòng 16. Yêu cầu trả phòng 7. Yêu cầu nhận phòng đã đăng ký 17. Kiểm tra lại tình trạng phòng 8. Kiểm tra thông tin đăng ký phòng 18. In hoá đơn tổng hợp 9. Nhập thông tin nhận phòng 19. Thanh toán hoá đơn tổng hợp 10. Kiểm tra tình trạng phòng 5. Mô hình quan niệm xử lý Đỗ Thị Liên - Lớp TH40 Trang 28
  29. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Có nhu cầu về (5) phòng ở ĐĂNG KÝ - THUÊ PHÒNG NO YES Đăng ký bị từ Đăng ký được chối chấp nhận KIỂM TRA PHÒNG NO YES Còn phòng Hết phòng trống trống KIỂM TRA T.TIN KHÁCH HÀNG NO YES Thông tin khách Thông tin khách hàng đã có hàng chưa có NHẬP T.TIN KHÁCH HÀNG YES Thông tin khách hàng đã nhập NHẬP T.TIN ĐĂNG KÝ - THUÊ YES T. tin đăng ký - thuê đã nhập (1 ) Đỗ Thị Liên - Lớp TH40 Trang 29
  30. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Trước thời hạn (1 ) nhận phòng YÊU CẦU HUỶ ĐĂNG KÝ PHÒNG YES Huỷ đăng ký Tới thời hạn được chấp nhận nhận phòng YÊU CẦU NHẬN PHÒNG YES Yêu cầu được chấp nhận KTTT ĐÃ ĐĂNG KÝ YES Thông tin đã được chấp nhận NHẬP THÔNG TIN NHẬN PHÒNG YES Thông tin nhận phòng đã nhập KIỂM TRA TÌNH TRẠNG PHÒNG YES Tình trạng phòng đã kiểm tra (2 ) Đỗ Thị Liên - Lớp TH40 Trang 30
  31. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh (2 ) BÀN GIAO PHÒNG NO YES Không hài Phòng đã được nhận lòng về phòng YÊU CẦU ĐỔI PHÒNG NO YES (3) SỬ DỤNG DỊCH VỤ YES Dịch vụ đã được sử dụng IN HOÁ ĐƠN SỬ DỤNG DỊCH VỤ YES Số tiền Hoá đơn sử dụng dịch vụ đã in THANH TOÁN HOÁ ĐƠN DỊCH VỤ NO YES Hoá đơn chưa Hoá đơn đã thanh toán thanh toán (4) Đỗ Thị Liên - Lớp TH40 Trang 31
  32. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Hết hạn sử (3 ) Còn thời hạn dụng phòng sử dụng phòng YÊU CẦU TRẢ PHÒNG YES Trả phòng được chấp nhận KT LẠI TÌNH TRẠNG PHÒNG YES Tiền thuê phòng Phòng đã được kiểm tra (4 ) AND IN HOÁ ĐƠN TỔNG HỢP YES Hoá đơn tổng đã được in THANH TOÁN HOÁ ĐƠN TỔNG YES Hoá đơn tổng đã được thanh toán (5 ) Đỗ Thị Liên - Lớp TH40 Trang 32
  33. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh III. Mô hình tổ chức xử lý Với mô hình này, người phân tích sẽ đặt các công việc trong mô hình quan niệm vào từng nơi làm việc cụ thể của môi trường thật và xác định rõ các công việc do ai làm, làm khi nào và làm theo phương thức nào. Một hệ thống thông tin được phân chia thành nhiều bộ phận, mỗi bộ phận này được gọi là nơi làm việc (gồm: vị trí, con người, trang thiết bị ở đó). Phương thức làm việc bao gồm thủ công (do con người trực tiếp thao tác trên đối tượng) và tự động ( do máy tính thực hiện). 1. Bảng công việc Trước khi thiết kế mô hình tổ chức xử lý, ta phải lập một bảng được gọi là bảng công việc ( hay là bảng thủ tục chức năng ). STT TÊN CÔNG VIỆC NƠI THỰC PHƯƠNG CHU KỲ HIỆN THỨC 1 Nhận Đ.ký - T.phòng Bộ phận lễ tân Tự động L.ngay 2 Kiểm tra phòng Bộ phận lễ tân Tự động L.ngay 3 Kiểm tra TT khách hàng Bộ phận lễ tân Thủ công L.ngay 4 Nhập TT khách hàng Bộ phận lễ tân Thủ công L.ngay 5 Nhập TT Đký-Tphòng Khách hàng Thủ công L.ngay 6 Y/c huỷ đăng ký Khách hàng Thủ công L.ngay 7 Y/c nhận phòng đã Đký Bộ phận lễ tân Tự động L.ngay 8 Kiểm tra TT Đký phòng Bộ phận lễ tân Thủ công L.ngay 9 Nhập TT nhận phòng Bộ phận lễ tân Thủ công L.ngay 10 Kiểm tra tình trạng phòng Bộ phận lễ tân Thủ công L.ngay 11 Bàn giao phòng Khách hàng Thủ công L.ngay 12 Y/c đổi phòng Khách hàng Thủ công L.ngay 13 Sử dụng dịch vụ Bộ phận dịch vụ Tự động L.ngay 14 In hóa đơn SDDV Khách hàng Thủ công L.ngay 15 Thanh toán hoá đơn dịch vụ Khách hàng Thủ công L.ngay 16 Y/c trả phòng Bộ phận lễ tân Thủ công L.ngay 17 Kiểm tra lại T.trạng phòng Bộ phận lễ tân Tự động L.ngay 18 In hoá đơn tổng hợp Khách hàng Thủ công L.ngay 19 Thanh toán hoá đơn tổng Khách hàng Thủ công L.ngay 2. Mô hình tổ chức xử lý Là mô hình liên hoàn các biến cố, thủ tục chức năng được đặt tại vị trí làm việc cụ thể. Đỗ Thị Liên - Lớp TH40 Trang 33
  34. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh KHÁCH HÀNG BỘ PHẬN LỄ TÂN BỘ PHẬN DỊCH VỤ (5) Có nhu c ầu về phòng ở ĐĂNG KÝ - THUÊ NO YES Đăng ký thuê bị từ chối Đăng ký thuê được chấp nhận Hết ph òng KIỂM TRA PHÒNG trống NO YES Còn phòng Thông tin khách trống hàng chưa có KTTTKHÁCHHÀNG NO YES Đã có thông tin khách hàng NHẬP TT ĐĂNG KÝ YES Thông tin đăng ký đã nhập (1) Đỗ Thị Liên - Lớp TH40 Trang 34
  35. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh KHÁCH HÀNG BỘ PHẬN LỄ TÂN BỘ PHẬN DỊCH VỤ (1) Trước thời hạn nhận phòng HUỶ ĐĂNG KÝ Huỷ đăng ký YES được chấp nhận Tới thời hạn nhận phòng Yêu cầu được Y/C NHẬN PHÒNG chấp nhận YES KTTT ĐÃ ĐĂNG KÝ YES Thông tin đăng ký đã kiểm tra NHẬP TT N. PHÒNG YES Thông tin nhận phòng đã nhập (2 ) Đỗ Thị Liên - Lớp TH40 Trang 35
  36. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh KHÁCH HÀNG BỘ PHẬN LỄ TÂN BỘ PHẬN DỊCH VỤ (2 ) KTTTR PHÒNG YES Phòng đã kiểm tra BÀN GIAO PHÒNG NO YES Chưa hài lòng (3 ) về phòng ở Phòng đã được nhận Y/C Đ ỔI PHÒNG Dịch vụ đã sử NO YES dụng IN HOÁ ĐƠN SỬ DỤNG DỊCH VỤ YES YES Hoá đơn dịch S ố tiền vụ đã được in Hoá đơn Dvụ TTOÁN HOÁ ĐƠN đã thanh toán NO YES Hoá đơn Dvụ chưa thanh toán (4 ) Đỗ Thị Liên - Lớp TH40 Trang 36
  37. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh KHÁCH HÀNG BỘ PHẬN LỄ TÂN BỘ PHẬN DỊCH VỤ Còn th ời hạn Hết hạn thuê thuê phòng phòng (3 ) Y/C TRẢ PHÒNG YES Trả phòng được chấp nhận KT.TTR. PHÒNG YES TTR phòng đã được kiểm tra IN HOÁ ĐƠN TỔNG Số tiền YES Hoá đơn tổng đã được in THANH TOÁN H.ĐƠN YES Hoá đơn tổng hợp đã thanh toán (5 ) Đỗ Thị Liên - Lớp TH40 Trang 37
  38. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IV. Mô hình vật lý xử lý Với mô hình tổ chức xử lý đã có , người phân tích sẽ tiến hành xem xét, biến các thủ tục chức năng thành các đơn vị chương trình. Ứng với mỗi đơn vị chương trình mà ta đã đặc tả chi tiết để chuẩn bị cho việc cài đặt chương trình. Một chương trình bao gồm các đơn vị tổ chức xử lý ( là một tập hợp các thủ tục chức năng có liên quan với nhau và được thực hiện liền mạch nhằm thực hiện một quy tắc quản lý nào đó ). Có hai cách tiếp cận để tổ chức các đơn vị xử lý: 1. Tiếp cận theo không gian của các thủ tục chức năng (vị trí làm việc): Cách tiếp cận này thì các thủ tục chức năng cùng một nơi làm việc được gom thành các đơn vị tổ chức xử lý. 2. Tiếp cận theo từng chức năng: Theo cách này thì các thủ tục chức năng giống nhau tổ chức thành các đơn vị tổ chức xử lý. Trong bài toán này để tự động hoá công tác quản lý bao gồm: Bộ phận lễ tân, Bộ phận dịch vụ. Ta có thể tổ chức theo hai cách khác nhau. Cách 1: CHƯƠNG TRÌNH QUẢN LÝ KHÁCH SẠN BỘ PHẬN LỄ TÂN BỘ PHẬN DỊCH VỤ - Nhập số liệu - Nhập số liệu - In báo cáo - In báo cáo Cách 2: CHƯƠNG TRÌNH QUẢN LÝ KHÁCH SẠN NHẬP SỐ LIỆU IN BÁO CÁO - Thông tin khách hàng - Danh sách khách hàng - Đăng ký thuê phòng - Danh sách khách đăng ký - Nhận phòng - Danh sách khách nhận - Sử dụng dịch vụ phòng - Hoá đơn thanh toán Đỗ Thị Liên - Lớp TH40 Trang 38
  39. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart (IPO: Input - Processing - Output) IPO Chart Số: 1 Môđun: NHẬP THÔNG TIN KHÁCH HÀNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho KHACHHANG Input: Thông tin khách hàng Output: Thông tin khách hàng ghi vào bảng KHACHHANG Xử lý: Nhập thông tin của khách hàng Tìm thông tin của khách hàng trong bảng KHACHHANG If không tìm thấy Then Thêm thông tin khách hàng vào bảng KHACHHANG Else Cập nhật lại thông tin khách hàng đã có trong bảng KHACHHANG End If IPO Chart Số: 2 Môđun: NHẬP THÔNG TIN ĐĂNG KÝ -THUÊ PHÒNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho DANGKY Input: Thông tin đăng ký - thuê phòng Output: Thông tin đăng ký - thuê phòng ghi vào bảng DANGKY Xử lý: Nhập thông tin của đăng ký -thuê phòng Tìm thông tin của đăng ký - thuê phòng trong bảng DANGKY If không tìm thấy Then Thêm thông tin đăng ký - thuê phòng trong bảng DANGKY Else Cập nhật lại thông tin đăng ký - thuê phòng đã có trong bảng DANGKY End If Đỗ Thị Liên - Lớp TH40 Trang 39
  40. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số: 3 Môđun: NHẬP THÔNG TIN ĐĂNG KÝ -THUÊ PHÒNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho NHANPHONG Input: Thông tin đăng ký - thuê phòng Output: Thông tin nhận phòng ghi vào bảng NHANPHONG Xử lý: Nhập thông tin của nhận phòng Tìm thông tin nhận phòng trong bảng NHANPHONG If không tìm thấy Then Thêm thông tin nhận phòng trong bảng NHANPHONG Else Cập nhật lại thông tin nhận phòng đã có trong bảng NHANPHONG End If IPO Chart Số: 4 Môđun: HUỶ ĐĂNG KÝ PHÒNG ĐÃ ĐĂNG KÝ Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Huỷ đăng ký phòng sau khi đã đăng lý- thuê phòng Input: Yêu cầu huỷ đăng ký phòng, đăng ký - thuê phòng Output: Phòng yêu cầu huỷ Xử lý: Nhập yêu cầu huỷ đăng ký phòng Lấy thông tin đăng ký - thuê phòng từ DANGKY sao cho: Thời gian = Thời gian đăng ký Số phòng = Số phòng yêu cầu huỷ đăng ký phòng Khách hàng =Khách hàng huỷ đăng ký phòng If không có được thông tin theo yêu cầu Then Phòng yêu cầu huỷ đăng ký phòng đã được đăng ký - thuê phòng hoặc đã nhận Else Phòng được đổi = Phòng yêu cầu đổi; Cập nhật lại thông tin DANGKY End if Đỗ Thị Liên - Lớp TH40 Trang 40
  41. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số: 5 Môđun: NHẬP THÔNG TIN TRẢ PHÒNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho TRAPHONG Input: Thông tin trả phòng Output: Thông tin trả phòng ghi vào bảng TRAPHONG Xử lý: Nhập thông tin trả phòng Tìm thông tin trả phòng trong bảng TRAPHONG If không tìm thấy Then Thêm thông tin trả phòng trong bảng TRAPHONG Else Cập nhật lại thông tin trả phòng đã có trong bảng TRAPHONG End If IPO Chart Số : 6 Môđun: NHẬP THÔNG TIN TIỆN NGHI Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho TIEN NGHI Input: Thông tin tiện nghi Output: Thông tin tiện nghi ghi vào bảng TNGHI Xử lý: Nhập thông tin tiện nghi Tìm thông tin trả phòng trong bảng TNGHI If không tìm thấy Then Thêm thông tin tiện nghi trong bảng TNGHI Else Cập nhật lại thông tin tiện nghi đã có trong bảng TNGHI End If Đỗ Thị Liên - Lớp TH40 Trang 41
  42. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số : 7 Môđun: NHẬP THÔNG TIN TRANG THIẾT BỊ Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho T.THIET BI Input: Thông tin về trang thiết bị Output: Thông tin trang thiết bị ghi vào bảng T.THIET BI Xử lý: Nhập thông tin trang thiết bị Tìm thông tin trang thiết bị trong bảng T.THIET BI If không tìm thấy Then Thêm thông tin trang thiết bị trong bảng T.THIET BI Else Cập nhật lại thông tin trang thiết bị đã có trong bảng T.THIET BI End If IPO Chart Số : 8 Môđun: NHẬP THÔNG TIN CƠ QUAN Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho COQUAN Input: Thông tin về cơ quan Output: Thông tin cơ quan ghi vào bảng COQUAN Xử lý: Nhập thông tin cơ quan Tìm thông tin cơ quan trong bảng COQUAN If không tìm thấy Then Thêm thông tin cơ quan trong bảng COQUAN Else Cập nhật lại thông tin cơ quan đã có trong bảng COQUAN End If Đỗ Thị Liên - Lớp TH40 Trang 42
  43. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số : 9 Môđun: NHẬP THÔNG TIN DỊCH VỤ Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho DICHVU Input: Thông tin về dịch vụ Output: Thông tin dịch vụ ghi vào bảng DICHVU Xử lý: Nhập thông tin dịch vụ Tìm thông tin dịch vụ trong bảng DICHVU If không tìm thấy Then Thêm thông tin dịch vụ trong bảng DICHVU Else Cập nhật lại thông tin dịch vụ đã có trong bảng DICHVU End If IPO Chart Số : 10 Môđun: NHẬP THÔNG TIN SỬ DỤNG DỊCH VỤ Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho SDDV Input: Thông tin về dịch vụ Output: Thông tin sử dụng dịch vụ ghi vào bảng SDDV Xử lý: Nhập thông tin dịch vụ Tìm thông tin dịch vụ trong bảng SDDV If không tìm thấy Then Thêm thông tin sử dụng dịch vụ trong bảng SDDV Else Cập nhật lại thông tin sử dụng dịch vụ đã có trong bảng SDDV End If Đỗ Thị Liên - Lớp TH40 Trang 43
  44. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số : 11 Môđun: NHẬP THÔNG TIN NHÂN VIÊN Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho NHANVIEN Input: Thông tin về nhân viên Output: Thông tin nhân viên ghi vào bảng NHANVIEN Xử lý: Nhập thông tin nhân viên Tìm thông tin nhân viên trong bảng NHANVIEN If không tìm thấy Then Thêm thông tin nhân viên trong bảng NHANVIEN Else Cập nhật lại thông tin nhân viên đã có trong bảng NHANVIEN End If IPO Chart Số : 12 Môđun: NHẬP THÔNG TIN CÔNG CHỨC Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho CONGCHUC Input: Thông tin về công chức Output: Thông tin nhân viên ghi vào bảng CONGCHUC Xử lý: Nhập thông tin công chức Tìm thông tin công chức trong bảng CONGCHUC Lấy MAKH là khoá chính của bảng KHACHHANG, làm khoá ngoại đồng thời làm khoá chính của bảng CONGCHUC If không tìm thấy Then Thêm thông tin công chức trong bảng CONGCHUC Else Cập nhật lại thông tin công chức đã có trong bảng CONGCHUC End If Đỗ Thị Liên - Lớp TH40 Trang 44
  45. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số : 13 Môđun: NHẬP THÔNG TIN VỢ CHỒNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho VOCHONG Input: Thông tin về vợ chồng Output: Thông tin vợ chồng ghi vào bảng VOCHONG Xử lý: Nhập thông tin vợ chồng Tìm thông tin vợ chồng trong bảng VOCHONG Lấy MAKH là khoá chính của bảng KHACHHANG, làm khoá ngoại đồng thời làm khoá chính của bảng VOCHONG If không tìm thấy Then Thêm thông tin vợ chồng trong bảng VOCHONG Else Cập nhật lại thông tin vợ chồng đã có trong bảng VOCHONG End If IPO Chart Số : 14 Môđun: NHẬP THÔNG TIN PHÒNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho PHONG Input: Thông tin về phòng Output: Thông tin phòng ghi vào bảng PHONG Xử lý: Nhập thông tin phòng Tìm thông tin phòng trong bảng PHONG If không tìm thấy Then Thêm thông tin phòng trong bảng PHONG Else Cập nhật lại thông tin phòng đã có trong bảng PHONG End If Đỗ Thị Liên - Lớp TH40 Trang 45
  46. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh IPO Chart Số : 15 Môđun: NHẬP THÔNG TIỀN PHÒNG Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Tính tiền phòng Input: Số phòng, giá tiền phòng, ngày thuê, ngày trả Output: Số tiền phòng khách phải trả Xử lý: Nhập thông tin khách đã đăng ký - thuê phòng Nhập số phòng cần tính tiền If Số phòng=Phòng đăng ký trả Then Số ngày ở = Ngày trả phòng - Ngày thuê phòng Số tiền phòng = giá phòng * Số ngày ở Else If Có đăng ký thuê Then Nhập thông tin về đăng ký trả phòng Tính tiền phòng Else Thông báo lỗi End If End If IPO Chart Số : 16 Môđun: NHẬP THÔNG PHIẾU THANH TOÁN Hệ thống: QUẢN LÝ KHÁCH SẠN Mục tiêu: Đưa ra phiếu thanh toán cho khách Input: Thông tin về khách, về tiền phòng, về dịch vụ Output: In ra phiếu thanh toán cho khách Xử lý: Nhập thông tin cần thiết về khách, dịch vụ, tiền phòng Nhập số phòng cần thanh toán tiền If Số phòng=Phòng đăng ký trả Then Cho bảng thống kê các khoản tiền dịch vụ và tiền phòng Số tiền khách thanh toán = Tổng số tiền các khoản dịch vụ trong những ngày khách đã thuê + tiền phòng trong các ngày lại. In ra phiếu thanh toán tiền cho khách Else If Là phòng có đăng ký thuê Then Nhập thông tin về trả phòng Đỗ Thị Liên - Lớp TH40 Trang 46
  47. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Cho bảng thống kê các khoản tiền dịch vụ và tiền phòng Số tiền khách thanh toán = Tổng số tiền các khoản dịch vụ trong những ngày khách đã thuê + tiền phòng trong các ngày lại. In ra phiếu thanh toán Else Không in ra phiếu thanh toán End If End If Đỗ Thị Liên - Lớp TH40 Trang 47
  48. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Chương V: AN TOÀN DỮ LI ỆU I. Tại sao phải phải đặt vấn đề an toàn dữ liệu Những sự cố có thể xảy ra: - Đĩa cứng bị hỏng - Máy bị nhiễm Virus - Mất điện đột ngột - Thay đổi quên không lưu Đối với hệ thống có lượng lớn thì việc cập nhật lại dữ liệu đã mất tốn rất nhiều thời gian và bất tiện. Để khắc phục sự mất mát dữ liệu do sự cố thì chúng ta phải tổ chức công tác an toàn dữ liệu. II. Các phương pháp tổ chức an toàn dữ liệu Tuỳ thuộc vào công tác tin học hoá trên thực tế ở từng nơi ta có thể áp dụng một trong các phương pháp hoặc áp dụng đồng thời các phương pháp sau: 1. Backup số liệu - Phương pháp này rất đơn giản có thể áp dụng với bất cứ nơi nào. - Các số liệu được ghi lưu ra đĩa mềm hoặc ra các đĩa cứng khác. Công việc ghi luư được làm theo một định kỳ nào đó. Định kỳ càng ngắn thì lượng dữ liệu được đảm bảo càng lớn. Việc định kỳ tuỷ thuộc vào lượng dữ liệu có được cập nhật thường xuyên hay không. Định kỳ đó phải đảm bảo lượng dữ liệu bị mất (không khôi phục được vì chưa ghi lưu) tại một thời điểm nào đó càng ít càng tốt. - Các dữ liệu bị hỏng sẽ được khôi phục lại từ bản sao nếu chúng đã được ghi lưu. Nếu dữ liệu không được ghi lưu thường xuyên thì lượn dữ liệu này là không nhiều. Vì vậy công việc ghi lưu phải được tiến hành thường xuyên, phải bảo quản tốt các đĩa lưu trữ các bản sao. 2. Dùng hai ổ đĩa theo chế độ soi gương - Phương pháp này áp dụng với mạng máy tính nó đòi hỏi hai oỏ đĩa hoàn toàn giống nhau. - Theo cơ chế này chúng ta cũng làm việc với một ổ đĩa như bình thường. Hai ổ đĩa này sẽ tự động cập nhật dữ liệu của nhau. Trong đó một ổ đĩa sẽ sử dụng để làm việc hàng ngày, ổ còn lại chỉ để lưu trữ dữ liệu như một bản sao. Khi có sự cố xảy ra ổ đĩa này thì ta vẫn còn dữ liệu trên ổ khác. - Có hai cơ chế: * Cơ chế MIRRORING: dùng hai ổ đĩa giống nhau với một Card điều khiển. * Cơ chế DUPLEXING: dùng hai ổ đĩa giống nhau với một Card điều khiển cho hai ổ đó. - Phương pháp này, dữ liệu được lưu thành hai bản hoàn toàn tự động, người dung không càn quan tâm tới việc sao lưu. Dữ liệu khi đươ cập nhật luôn được lưu thành hai bản. Đỗ Thị Liên - Lớp TH40 Trang 48
  49. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 3. Dùng hai file server với môi trường mạng máy tính - Dữ liệu được ghi đồng thời vào hai file server, 2 file server luôn ghi lưu dữ liệu của nhau. Với phương pháp này dữ liệu được cập nhật luôn được lưu thành hai bản khác nhau. Khi có sự cố trên một file ta sẽ làm việc với file còn lại. Đỗ Thị Liên - Lớp TH40 Trang 49
  50. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh PHẦN II CÀI ĐẶT HỆ THỐNG Đỗ Thị Liên - Lớp TH40 Trang 50
  51. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Chương I: MÔ TẢ HỆ THỐNG I. Giới thiệu ngôn ngữ Như đã đề cập trong Phần I, việc lựa chọn ngôn ngữ để cài đặt chương trình em đã sử dụng ngôn ngữ lập trình Visual Basic 6.0. Để biết nhiều hơn về ngôn ngữ này chúng ta hãy tìm hiểu nó qua một số nội dung sau: 1. Tổng quan về ngôn ngữ Visual Basic, con đường nhanh nhất và đơn giản nhất để tạo những ứng dụng cho Microsoft Windows. Bất kể bạn là một nhà chuyên nghiệp hay là người mới lập trình Windows. Visual Basic cung cấp cho bạn một tập hợp các công cụ hoàn chỉnh để nhanh chóng phát triển các ứng dụng. Vậy Visual Basic là gì? - Thành phần "Visual" nói đến phương thức dùng để tạo giao diện đồ hoạ người sử dụng (GUI). Thay vì viết những dòng mã để mô tả sự xuất hiện và vị trí những thành phần giao diện, ta chỉ cần thêm vào những đối tượng đã định nghĩa trước ở vị trí nào đó trên màn hình. - Thành phần "Basic" nói đến ngôn ngữ "BASIC" _(Beginners All Purpose Symbolic Instruction Code) một ngôn ngữ được dùng bởi nhiều nhà lập trình hơn bất cứ một ngôn ngữ nào khác trong lịch sử máy tính. Visual Basic được phát triển trên ngôn ngữ BASIC. Ngôn ngữ lập trình Visual Basic không chỉ là Visual Basic mà hệ thống lập trình Visual Basic_ những ứng dụng bao gồm Microsoft Exel, Microsoft Access và nhiều ứng dụng Windows khác đều cùng sử dụng một ngôn ngữ. Mặc dù mục đích của chúng ta là tạo ra những ứng dụng nhỏ cho bản thân hay một nhóm, một hệ thống các công ty lớn hoặc thậm chí phân phối những ứng dụng ra toàn cầu qua Internet. Visual Basic là công cụ là mà bạn cần. Những chức năng truy xuất dữ liệu cho phép ta tạo ra những cơ sở dữ liệu, những ứng dụng front-end, những thành phần phạm vi Server-side cho hầu hết các dạng thức cơ sở dữ liệu phổ biến, bao gồm SQL server và những cơ sở dữ liệu mức Enterprise khác. Những kỹ thuật ActiveX cho phép ta dùng những chức năng được cung cấp từ những ứng dụng khác như chương trình xử lý văn bản, bảng tính và những ứng dụng Windows khác. Khả năng Internet làm cho nó dễ dàng cung cấp cho việ thêm vào những tài liệu và ứng dụng qua Internet hoặc Intranet từ bên trong ứng dụng của bạn hoặc tạo những ứng dụng Internet server. Ứng dụng của bạn kết thúc là một file.Exe thật sự. Nó dùng một máy ảo Visual Basic để bạn tự do phân phối ứng dụng. Đỗ Thị Liên - Lớp TH40 Trang 51
  52. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 2. Cấu trúc của một ứng dụng Một ứng dụng thực ra là một tập các chỉ dẫn trực tiếp đến máy tính để thi hành một hoặc nhiều tác vụ . Cấu trúc của một ứng dụng là phương pháp trong đó các chỉ dẫn được tổ chức, đó là nơi mà chỉ dẫn được lưu giữ và thi hành theo một trình tự nhất định. Vì một ứng dụng Visual Basic, trên cơ bản là một đối tượng, cấu trúc mã đóng để tượng trưng cho các mô hình vật lý. Bằng việc định nghĩa những đối tượng chúa mã và dữ liệu. Form tượng trưng cho những thuộc tính, quy định, cách xuất hiện và cách xử lý. Mỗi Form trong một ứng dụng, có một quan hệ Module form (.frm) dùng để chứa mã của nó. Mỗi module chứa những thủ tục, sự kiện, đoạn mã. Form có thể chứa nhiều điều khiển. Tương ứng với mỗi điều khiển trên form có một tập hợp các thủ tục sự kiện trong module đó. Một thủ tục để đáp ứng những sự kiện trong những đối tượng khác nhau phải được đặt trong cùng module chuẩn ( với tên có đuôi.BAS). Một lớp module (.cls) được dùng để tạo những đối tượng, có mà có thể được gọi từ những thủ tục bên trong ứng dụng. Coi module chuẩn như một điều khiển vì nó chỉ chứa mã. 3. Chúng ta có thể làm gì với Visual Basic 1) Tạo giao diện người sử dụng: Giao diện người sử dụng có lẽ là thành phần quan trọng nhất đối với một ứng dụng. Đối với người sử dụng, giao diện chính là ứng dụng; họ không cần quan tâm đến thành phần mã thực thi bên dưới. Ứng dụng của ta có được phổ biến hay không phụ thuộc vào giao diện. 2) Sử dụng những điều khiển chuẩn của Visual Basic: Sử dụng những điều khiển ấy để lấy thông tin mã của người sử dụng nhập vào và để hiển thị kết xuất trên màn hình. Ví dụ: hộp văn bản, nút lệnh, hộp danh sách 3) Lập trình với đối tượng: Những đối tượng là thành phần chính để lập trình Visual Basic. Đối tượng có thể là form, điều khiển, cơ sở dữ liệu. 4) Lập trình với phần hợp thành: Khi cần sử dụng khả năng tính toán của Microsoft Excel, định dạng một tài liệu sử dụng thanh công cụ của Microsoft Word, lưu trữ và xử lý đữliệuùng Microsoft Jet Tất cả những điều này có thể thực hiện bằng cách xây dựng những ứng dụng sử dụng thành phần ActiveX. Tuy nhiên người sử dụng có thể tạo ActiveX riêng. 5) Đáp ứng những sự kiện phím và con chuột: Sử dụng phím nóng, rê và thả chuột như tính năng của OLE 6) Làm việc với văn bản đồ hoạ: Xử lý văn bản, chèn hình theo ý muốn. 7) Gỡ rối và quản lý lỗi 8) Xử lý ổ đĩa thư mục và file: Qua phương thức cũ là lệnh Open, Write# và một tập hợp những công cụ mới như FSO (File System Object). 9) Thiết kế cho việc thi hành và tính tương thích: Chia xẻ hầu hết những tính năng ngôn ngữ cho ứng dụng. 10) Phân phối ứng dụng: Sau khi tạo xong một ứng dụng ta có thể tự do phân phối cho bất kỳ ai. Ta có thể phân phối trên đĩa, trên CD, trên mạng Đỗ Thị Liên - Lớp TH40 Trang 52
  53. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 4. Tóm tắt ngôn ngữ 4.1 Biến: Được dùng để lưu tạm thời nnhững giá trị tính toàn trong quá trình xử lý chương trình. Cách khai báo: Dim As Có thể không cần khai báo kiểu biến. Lúc này biến sẽ có kiểu Variant. Quy tắc đặt tên biến: - Tên biến có chiều dài tối đa 255 ký tự - Phải bắt đầu bằng một chữ cái - Không đặt các khoảng trống và các ký hiệu (+, - ) trong tên biến - Không được trùng với từ khoá của ngôn ngữ - Tránh đặt tên trùng nhau - Nên khai báo biến trước khi dùng Phạm vi sử dụng biến: Tuỳ thuộc vào cách bạn khai báo và chỗ bạn đặt dòng lệnh khai báo biến. - Nếu bạn khai báo trong phần General, biến có thể được dùng ở bất kỳ đoạn lệnh nào trong form và cũng chỉ mất đi khi nào form được giải phóng khỏi bộ nhớ. - Nếu bạn khai báo giữa dòng Sub và End Sub của mã lệnh thì biến chỉ tồn tại và dùng được trong phạm vi hai dòng đó mà thôi. Biến như vậy gọi là biến riêng hay biến nội bộ (local). Khi kết thúc công việc xử lý này biến cũng sẽ mất và giá trị của nó cũng không còn nữa. - Nếu bạn dùng từ khoá Public thay cho Dim để khai báo biến, biến sẽ tồn tại trong suốt thời gian thực hiện chương trình và có thể sử dung trong bất kỳ đoạn lệnh nào trong chương trình. Biến như vậy được gọi là biến chung hay biến toàn cục (global). - Bạn có thể dùng từ khoá Private để khai báo các biến riêng như Dim. Có thể dung từ khoá Static thay cho Dim nếu bạn muốn sử dụng lại đoạn lệnh mà biến vẫn còn giữ lại giá trị của lầ thực hiện trước. 4.2 Các kiểu dữ liệu trong Visual Basic Khi bạn khai báo một biến trong chương trình tức là bạn đã định ra một khoảng bộ nhớ để lưu giá trị, khoảng bộ nhớ đó lớn hay nhỏ tuỳ thuộc vào biến đó có kiểu gì. Vậy bạn phải xác định kiểu biến cho phù hợp với các giá trị mà bạn định đặt vào.Visual Basic cho phép bạn khai báo biến với những kiểu dữ liệu chuẩn sau: Tên kiểu Kích thước Khoảng giá trị Byte 1 byte 0 tới 255 (tức chỉ có thể gán cho biến các giá trị nhỏ nhất là 0 và lớn nhất là 255) Integer 2 byte -32768 tới 32767 Long 4 byte -2.147.483.648 tới 2.147.483.647 Single 4 byte -3,402823E38 tới -1,401298E-45 1,401298E-45 tới 3,402823E38 Double 8 byte -1,79769313486231E308 tới -4,9406564541247E-324 4,94065645841247E-324 tới 1,79769313486231E308 Đỗ Thị Liên - Lớp TH40 Trang 53
  54. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Currency 8 byte -922337203685477,5808 tới 922337203685477,5807 Boolean 2 byte True or False Date 8 byte 1 tháng giêng năm 100 đến 31 tháng 12 năm 9999; thời gian từ 0:00:00 tới 23:59:59 String 1 cho mỗi ký tự Có thể lên tới 231 ký tự (khoảng 2 tỉ) Variant 16 byte + 1 byte Null, Error, bất kỳ kiểu số nào có giá trị trong khoảng cho mỗi ký tự Double hay bất kỳ nội dung text nào Ký hiệu Exx phía sau số có nghĩa là nhân với 10xx. Trên đây là những kiểu dữ liệu chuẩn mà Visual Basic đã định nghĩa sẵn. Tuy nhiên trong khi lập trình nó cũng cho phép bạn có thể định nghĩa thêm những kiểu dữ liệu mới. Ví dụ: Trong một chương trình bạn cần lưu những thông tin về các nhân viên trong một cơ quan nào đó để xử lý. Mỗi nhân viên cần lưu các thông tin: Họ tên, Tuổi, Nghề nghiệp, Địa chỉ. Bạn có thể khai báo như sau: Type Nhanvien Hoten As String * 25 Tuoi As Integer Nghenghiep As String * 20 Diachi As String * 40 End Type Kiểu dữ liệu như kiểu Nhanvien trên gọi là kiểu bản ghi ( record ). Cú pháp: Public|Private Type Tên kiểu End Type Cách truy xuất các trường trong một biến kiểu bản ghi, cách thức giống như truy xuất các property trong một đối tượng. Chẳng hạn: Dim nguoi As Nhanvien Nguoi.Hoten = "Nguyen Van A" Nguoi.Tuoi = 30 Nguoi.Nghenghiep = "Kỹ thuật viên" Nguoi.Diachi = " Trung tâm tin học" Cách khai báo mảng (Array) Mảng là một dãy các giá trị cùng kiểu với nhau, có cùng một cái tên và truy xuất thông qua một con số gọi lầ chcỉ số của mảng ( index). Khai báo: Dim|Private|Public|Static Tên (số phần tử) As Kiểu Hoặc Dim|Private|Public Tên (phần tử đầu To phần tử cuối ) As Kiểu Truy xuất theo cú pháp: Tên(chỉ số)= giá trị Ví dụ: Dim AInt(10) As Integer ' Mảng AInt gồm 11 phần tử AInt(1) = 100 ' Gán phần tử thứ hai trong mảng Aint giá trị 100 Đỗ Thị Liên - Lớp TH40 Trang 54
  55. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Hay các property List và ItemData của ListBox và ComboBox cũng chính là các mảng. List là mảng chuỗ ký tự, ItemData là mảng các số nguyên. 4.3 Các toán tử trong Visual Basic 4.3.1 Các toán tử tính toán Toán tử Ý nghĩa Ví dụ + Cộng hai số hạng với nhau X=Y + 1 Có thể dùng để cộng hai chuỗi St = "Visual" + "Basic" - Trừ hai số hạng X=Y - 1 * Nhân hai số hạng X=Y * 2 / Chia, trả về kiểu số thực Dim X As Single, Dim Y As Integer X=1 / 2 , Y = 1 / 2 'sai \ Chia lấy nguyên X=3 \ 2 'X sẽ nhận giá trị 1 Mod Chia lấy dư X= 7 mod 3 ' X sẽ nhận giá trị 4 ^ Lấy luỹ thừa X=Y ^ 3 4.3.2 Các toán tử so sánh ( luôn trả về kiểu luận lý: Boolean) Toán tử Ý nghĩa > So sánh xem số thứ nhất có lớn hơn số thứ hai không So sánh xem hai số có khác nhau không >= So sánh xem số thứ nhất có lớn hơn hoặc bằng số thứ hai không Then If Then Đỗ Thị Liên - Lớp TH40 Trang 55
  56. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 'Nếu biểu thức luận lý là True 'nếu biểu thức luận lý là True thì thực hiện đoạn lệnh này 'thì thực hiện đoạn lệnh này End If Else 'Ngược lại thì thực hiện đoạn lệnh sau End If 2.Cấu trúc tuyển Select Case Cú pháp : Select Case Case Case  Case Else 'Có thể không cần xét đến mệnh đề này  End Select 4.4.2 Cấu trúc lặp 1. Cấu trúc Do Loop Cú pháp 1: Do While ' Trong khi biểu thức điều kiện đúng thì ' thực hiện các câu lệnh này Loop ' Quay trở về dòng Do While để kiểm tra lại Cú pháp 2: Do ' Thực hiện các câu lệnh đến khi nào điều kiện Loop Until ' Đúng (= True hay khác 0) 2.Cấu trúc For Next Cú pháp : For Biến = Giá trị đầu To Giá trị cuối  Step khoảng tăng  Next Biến Chú ý : Trong trường hợp này Giá trị đầu > Giá trị cuối. Đỗ Thị Liên - Lớp TH40 Trang 56
  57. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 4.5 Hằng, thủ tục, hàm 1. Hằng (constant) Cú pháp:  Public Private Const  As Kiểu = Trong đó : Const là từ khoá Giá trị cũng có thể là một biểu thức nhưng các số hạng trong biểu thức đó phải là các hằng đã khai báo hay các giá trị cụ thể: Ví dụ: Const conPi=3.14 Const conPi2 = conPi * 2 Const myDate = #March 8 1997# ' Khaibáo hằng myDate chứa ngày 8/3/97 Hoặc để đặt cách canh cho một nhãn (Label) bạn phải nhớ ba giá trị: 0 canh trái, 1 canh phải, 2 canh giữa. Tuy nhiên cũng có thể đặt ra ba hằng có tên như sau: Left bằng 0, Right bằng 1, Center bằng 2. 2. Thủ tục (module) Cách định nghĩa một thủ tục Một thủ tục trước khi sử dụng nó phải được định nghĩa. Dùng từ khoá Sub để khai báo như sau: Private/ Public Sub (Tham số) End Sub - Các method cũng chính là các thủ tục mà luôn gắn với đối tượng - Các phần mã viết để xử lý cho một sự kiện xảy ra là các thủ tục trong chương trình Thủ tục có truyền tham số Khi một thủ tục được gọi mà có truyền thêm một số giá trị vào, các giá trị này được gọi là các tham số của thủ tục đó. Để làm điều này, khi khai báo thủ tục bạn cần ghi thêm nó sẽ nhận bao nhiêu tham số bằng cú pháp sau: Private/ Public Sub ( As , ) Ví dụ: Các thủ tục như: Xoá, Thêm, Lưu, Thoát, Sửa hầu như xảy ra trên các Form của chương trình. Chúng có cùng cú pháp: Private Sub Object_Click() End Sub Hoặc thủ tục: Private Sub Object_KeyPress(KeyAscii As Integer) End Sub 3. Hàm (module) Khái niệm: Hàm là một đơn thể trong chương trình, tính năng giống như thủ tục nhưng khác ở chỗ sau khi thực hiện phần lệnh của nó sẽ trả về một giá trị kết quả. Khi muốn sử dụng hàm, bạn cần biết tên hàm, nó cần những tham số nào và nó trả về kết quả kiểu nào. Visual Basic có định nghĩa sẵn một số hàm. Đỗ Thị Liên - Lớp TH40 Trang 57
  58. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Cú pháp :  Private| Public Function (Tham số As Kiểu) As Tên hàm = Giá trị trả về End Function Dùng lệnh Exit Sub để thoát khỏi thủ tục, Exit Function để thoát khỏi hàm. Một số hàm xử lý tính toán trong VB Tên hàm Ý nghĩa Abs (số) Trả về giá trị tuyệt đối của con số truyền vào Sin (số) Trả về sin của một góc, số: Góc cần lấy sin, góc tính bằng radian. Radian = độ *Pi/180 Cos (số) Trả về Cos của một góc Tan (số) Trả về tang của một góc Atn (số) Trả về artang của một góc Int (số) Trả về phần nguyên của một con số, nếu số là âm Int sẽ trả về con số Fix (số) nguyên đầu tiên nhỏ hơn hoặc bằng con số đó; Fix trả về con số nguyên lớn hơn hoặc bằng con số đó. VD: Int (-8.4) _ -9, Fix (-8.4) _ -8 Sgn (số) Trả về một con số nguyên cho biết dấu của con số truyền vào. Cụ thể: số>0 trả về 1, số = 0 trả về 0, số <0 trả về -1. Sqr (số) Trả về căn bậc hai của số Lưu ý: - Có thể dùng hàm như một số hạng trong một biểu thức - Có thể dùng hàm như một tham số trong câu lệnh gọi hàm hay thủ tục khác Hàm chuyển đổi kiểu chuỗi và số Tên hàm Ý nghĩa Val (chuỗi) Hàm trả về một con số tương ứng với chuỗi truyền vào. Chuỗi phải là một chuỗi gồm các ký số hợp lệ. Hàm tự động bỏ qua các khoảng trống. Khi gặp ký tự không phải ký tự số thì dừng ngay. Khi chuỗi ghi một con số có phần lẻ thập phân. Val chỉ nhận ra phần thập phân đó dựa vào dấu chấm. VD: X = Val (123.5) ' X bằng 123.5 Str (số) Hàm trả về một chuỗi ký tự biểu diễn con số truyền vào. Chuỗi trả về luôn có một ký tự đầu tiên ghi dấu trong trường hợp số âm hoặc một khoảng trống trong trường hợp số dương. Hàm chuyển đổi giữa các kiểu dữ liệu Hàm chuyển đổi Đổi sang kiểu Hàm chuyển đổi Đổi sang kiểu Cbool Boolean Cbyte Byte CLng Long Đỗ Thị Liên - Lớp TH40 Trang 58
  59. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Ccur Currency CSng Single Cdate Date CStr String Cdbl Double Cvar Variant Cint Integer CVErr Error Ví dụ: Một số Hàm đã được dùng trong chương trình như 1) Hàm MsgBox dùng để hiện hộp thông báo lên màn hình Cú pháp: MsgBox (Thông báo, các button , tiêu đề) Trong đó: Thông báo: là một chuỗi ký tự ghi nội dung thông báo. Có thể dài tối đa 1024 ký tự và có thể có nhiều dòng (dùng ngắt dòng Chr(13)) Các button: dùng để quy định thông báo này gồm những nút nào và trình bày icon nào. Phần này được quy định bằng các hằng đặt sẵn. Ví dụ: vbOkOnly _ trình bày duy nhất nút Ok, vbCritical_trình bày icon Tiêu đề: Chuỗi quy định tiêu đề cho hộp đối thoại, nếu không có tham số này Visual Basic sẽ mặc nhiên lấy tên chương trình làm tiêu đề. 2) Function Test_day(ngay As string ) As boolean trong mođun được trình bày ở phần phụ lục. 3) Các hàm Ucase(String), Cint(số), Trim(string), IsNumeric(string), Len(string) 5. ADO đối tượng không thể thiếu trong ứng dụng cơ sở dữ liệu ADO(Dữ liệu đối tượng ActiveX - ActiveX Data Object) là giao diện dựa trên đối tượng cho công nghệ dữ liệu mới nổi gọi là OLED DB. Ta dùng ADO không chỉ để truy cập dữ liệu thông qua trang Web mà còn có thể dùng nó để lấy dữ liệu từ ứng dụng viết bằng Visual Basic. Đối tượng Connection của ADO để kết nối với nguồn dữ liệu. Dùng phương thức Open của đối tượng Connection để thiết lập kết nối với nguồn dữ liệu. Để thông báo cho ADO cách nối với nguồn dữ liệu, ta phải cung cấp thông tin dưới dạng chuỗi kết nối (dùng thuộc tính ConnectionString) của ODBC. ADO hỗ trợ một số kiểu con trỏ. Đối tượng Recordset của ADO để thao tác với dữ liệu. Là phương pháp truy cập thông tin được trả về từ trình cung cấp dữ liệu. Ở đây ta dùng trình cung cấp Microsoft Jet OLE DB. Đối với trình cung cấp Jet, chuỗi kết nối là đường dẫn và tập tin MDB. Đỗ Thị Liên - Lớp TH40 Trang 59
  60. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh II. Sơ đồ thiết kế MENU HỆ THỐNG CẬP NHẬT BÁO BIỂU TRA CỨU THOÁT KHÁCH HÀNG CƠ QUAN ĐĂNG KÝ HUỶ Đ.KÝ NHẬN PHÒNG SDDV PHÒNG TRẢ PHÒNG DỊCH VỤ NHÂN VIÊN Đỗ Thị Liên - Lớp TH40 Trang 60
  61. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Chương II: CÀI ĐẶT CH ƯƠNG TRÌNH I. Thiết kế cơ sở dữ liệu trong Access - Chương trình sử dụng cơ sở dữ liệu của Microsoft Access 97 được kết nối với Visual Basic 6.0 bằng điều khiển Data Environment - Tên File của cơ sở dữ liệu: "Lien.mdb" 1. Các Table đã được tạo trong bài toán Table_KHACHHANG Table_HUYDK Table_PHONG Table_DANGKY Table_NPHONG Table_DICHVU Table_TRAPHONG Table_TNGHI Table_SDDV Table_CONGCHUC Table_COQUAN Table_TTBI Tuy nhiên, do giới hạn chúng ta chỉ điểm qua một số bảng sau Table_KHACHHANG, Table_ DANGKY: Đỗ Thị Liên - Lớp TH40 Trang 61
  62. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 2. Ràng buộc ĐỐI TƯỢNG RÀNG BUỘC TOÀN VẸN Ràng buộc khoá chính KHACHHANG MAKH là khoá chính COQUAN MACQ là khoá chính PHONG MAP là khoá chính DICHVU MADV là khoá chính TNGHI MATN là khoá chính DANGKY MAKH, SoDK, MAP là khoá chính HUYDK MAKH, SoDK là khoá chính NPHONG MAKH, SoDK là khoá chính TRAPHONG SDDV NHANVIEN MaNV là khoá chính TTHBI CONGCHUC MaKH, MaCQ là khoá chính Ràng buộc khoá ngoại CONGCHUC MACQ là khoá ngoại tham chiếu từ bảng COQUAN Đỗ Thị Liên - Lớp TH40 Trang 62
  63. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh 3. Mối quan hệ giữa các bảng Dùng công cụ Relationships của MS Access để thiết lập mối quan hệ giữa các bảng 4. Cài đặt chương trình Sau đây là một số thủ tục được thực hiện trong chương trình Thủ tục mở kết nối dữ liệu Sub Open_mdb() Dim db_name, str As String db_name = App.Path & "\Lien.mdb" str = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & db_name & "" DE1.CN1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & db_name & "" DE1.CN1.Open cn.Open str End Sub Hàm kiểm tra ngày tháng Public Function Test_Day(ngay As String) As Boolean Dim KTNgay As Integer Dim so Đỗ Thị Liên - Lớp TH40 Trang 63
  64. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh so = CInt(Val(Trim(Right(ngay, 4)))) KTNgay = CInt(Val(Left(ngay, 2))) If CInt(Val(Trim(Right(ngay, 4)))) 12 Then MsgBox "Ngay thang khong hop le. Vui long nhap lai", vbOKOnly + vbExclamation, "Thong bao" Test_Day = False Else Select Case CInt(Val(Trim(Mid(ngay, 4, 2)))) Case 1, 3, 5, 7, 8, 10, 12 If KTNgay 31 Then MsgBox " Thang " & Mid(ngay, 4, 2) & " co 31 ngay", vbOKOnly + vbExclamation, "Thong bao" Test_Day = False Else Test_Day = True End If Case 2 If KTNgay 29 Then MsgBox " ngay khong hop le", vbOKOnly + vbExclamation, "Thong bao" Test_Day = False Else If namnhuan(Right(ngay, 4)) = False Then If KTNgay > 28 Then MsgBox "Nam " & Right(ngay, 4) & " thang 2 co 28 ngay. Vui long nhap lai", vbOKOnly + vbExclamation, "Thong bao" Test_Day = False End If Else Test_Day = True End If End If Case Else If KTNgay 30 Then MsgBox "Ngay khong hop le! thang " & (Mid(ngay, 4, 2)) & _ Đỗ Thị Liên - Lớp TH40 Trang 64
  65. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh " chi co 30 ngay. Vui long nhap lai.", vbOKOnly + vbExclamation, "Thong bao" Test_Day = False Else Test_Day = True End If End Select End If End Function Thủ tục đăng ký thuê phòng Input : THÔNG TIN ĐĂNG KÝ THUÊ PHÒNG Output : Thông tin đăng ký thuê phòng ghi vào bảng DANGKY Xử lý: Private Sub Luu_Du_Lieu() Dim rs As New ADODB.Recordset Dim rs1 As New ADODB.Recordset Dim str If Trim(txtSoDK) = "" Or Trim(txtMaKH) = "" Or Trim(txtMaP) = "" Then MsgBox "Chu y: MaKH, SoDK, MaP khong duoc trong", vbOKOnly + vbExclamation, "Thong bao" Me.MousePointer = 0 Exit Sub End If Test_NULL str = "select*from PHONG where MaP='" & Trim(txtMaP) & "'" rs1.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If txtMaP = rs1!MaP Then rs1.Update rs1.Close str = "select*from Dangky where SoDK='" & Trim(txtSoDK) & "' " rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If rs.EOF = True Then rs.AddNew rs!MaKH = txtMaKH rs!soDK = txtSoDK rs!NgayDK = txtNgayDK rs!MaP = txtMaP rs!Ngayden = txtNgayden rs!Gioden = txtGioden rs!Ngaydi = txtNgaydi rs!Giodi = txtGiodi rs!SLNL = txtSLNL Đỗ Thị Liên - Lớp TH40 Trang 65
  66. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh rs!SLTE= txtSLTE rs!Giathue = txtGiathue rs!Tiencoc = txtTiencoc rs.Update rs.Close Else Dim kiemtra If txtSoDK = rs! SoDK Then kiemtra = MsgBox(" Khach hang co So dang ky [" & txtSoDK & "]da ton tai. Neu ban muon SUA thong tin khach hang thi bam Yes", vbYesNo + vbQuestion, "Thong bao") If kiemtra = vbNo Then Exit Sub Else rs!MaKH = txtMaKH rs!SoDK = txtSoDK rs!NgayDK = txtNgayDK rs!MaP = txtMaP rs!Ngayden = txtNgayden rs!Gioden = txtGioden rs!Ngaydi = txtNgaydi rs!Giodi = txtGiodi rs!SLNL = txtSLNL rs!SLTE = txtSLTE rs!Giathue = txtGiathue rs!Tiencoc = txtTiencoc rs.Update End If End If End If End If Lock_Text Display_Listview cmdNEW.SetFocus Me.MousePointer = 0 End Sub Hàm kiểm tra ngày đến Private Function KTNgayden(Ngayden As String) As Boolean Dim rs As New ADODB.Recordset Dim str str = " select * from Dangky where SoDK='" & Trim(txtSoDK.Text) & "'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If rs.EOF = True Then Đỗ Thị Liên - Lớp TH40 Trang 66
  67. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh If txtNgayDK = "" Then MsgBox " Ban chua nhap ngay dang ky ! ", vbOKOnly + vbExclamation, "Thong bao" KTNgayden = False txtNgayDK.SetFocus Exit Function Else If CDate(Ngaythang(Ngayden)) = [" & txtNgayDK & "] ", vbOKOnly + vbExclamation, "Thong bao" KTNgayden = False Else KTNgayden = True End If End If Else If CDate(Ngaythang(Ngayden)) = [" & txtNgayDK & "] ", vbOKOnly + vbExclamation, "Thong bao" KTNgayden = False Else KTNgayden = True End If End If End Function II. Thiết kế giao diện Có lẽ khâu quan trọng nhất trong lập trình là thiết kế. Sau khi thiết kế giao diện, bạn cần thiết kế cấu trúc chương trình. Cách thiết kế khác nhau sẽ dẫn đến các hoạt động khác nhau và bảo trì theo đó cũng khác nhau. Code trong VB được tổ chức theo dạng cây phân nhánh. Một ứng dụng thông thường chứa một hoặc nhiều mô-đun. Mỗi biểu mẫu có một mô-đun, có thêt có thêm những mô-đun chuẩn chứa những đoạn chương trình dùng chung và cũng có thể có thêm mô-đun lớp. Có hai loại giao diện chính SDI (giao diện đơn tài liệu - single document interface) và MDI (giao diện đa tài liệu - multiple document interface). Ví dụ : Notepad là một ví dụ của SDI, Microsoft Excel - Microsoft Word là những MDI. Dưới đây là một số Form của chương trình Đỗ Thị Liên - Lớp TH40 Trang 67
  68. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Form_Main Form _Khachhang Đỗ Thị Liên - Lớp TH40 Trang 68
  69. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Form _DANGKY Form_NHANPHONG Đỗ Thị Liên - Lớp TH40 Trang 69
  70. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Đỗ Thị Liên - Lớp TH40 Trang 70
  71. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Đỗ Thị Liên - Lớp TH40 Trang 71
  72. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Kết luận Mặc dù đã rất cố gắng tìm hiểu công việc " Quản lý khách sạn " nhưng không sao tránh khỏi những thiếu sót. Mong quý Thầy , Cô và các bạn đóng góp ý kiến để em rút ra được nhiều kinh nghiệm quý báu khi bước vào cuộc sống mới. Quá trình khảo sát, phân tích - thiết kế và cài đặt bàitoán quản lý khách sạn cơ bản đã hoàn thành những công việc sau: - Cập nhật, lưu trữ, thêm thông tin: * Khách hàng đăng ký thuê phòng * Khách hàng nhận phòng * Khách hàng huỷ đăng ký * Khách hàng sử dụng dịch vụ * Khách hàng trả phòng * Thông tin nhân viên trong khách sạn - Báo biểu: * Danh mục phòng * Danh sách khách hàng đăng ký thuê phòng * Danh sách khách hàng nhận phòng * Danh sách khách hàng sử dụng dịch vụ - Tra cứu: * Thông tin khách hàng * Thông tin nhân viên của khách sạn * Hoá đơn dịch vụ * Hoá đơn tổng hợp Bài toán được thiết kế và cài đặt bằng ngôn ngữ Visual Basic cho phép chạy trên môi trường Windows do đó kế thừa được những tính năng mạnh của Windows như: - Cho một giao diện thân thiện với người sử dụng - Chạy theo chế độ đa nhiệm - In ấn nhanh chóng và thuận lợi Bài toán quản lý khách sạn này chủ yếu là áp dụng với khách sạn có quy mô tương đối nhỏ, do đặc thù của mỗi khách sạn nên công tác quản lý với mỗi khách sạn là khác nhau. Ở đây em chỉ tìm hiểu về công tác quản lý của khách sạn Minh hoàng nên chương trình này chủ yếu áp dụng cho công tác quản lý của khách sạn mà thôi. Do thời gian hạn chế và trình độ hiểu biết của bản thân chưa nhiều nên việc phân tích thiết kế và cài đặt bài toán quản lý khách sạn chưa hoàn thiện như một phần mềm quản lý. Nó mang tính chất học hỏi, trao đổi và bắt đầu làm quen với thực tế. Nhưng qua đợt thực tập này, em đã học hỏi được nhiều kinh nghiệm trong quá trình phân tích thiết kế và cài đặt một chương trình quản lý, đồng thời cũng bổ sung kiến thức cho bản thân. Em xin chân thành cảm ơn Cô Nguyễn Kim Anh đã tận tình giúp đỡ để em hoàn thành đồ án của mình. Em cũng bày tỏ lòng biết ơn sâu sắc tới quý Thầy Cô khoa Công nghệ thông tin trường Đại học Bách khoa Hà nội, các Thầy Cô khoa Công nghệ thông Đỗ Thị Liên - Lớp TH40 Trang 72
  73. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh tin trường Đại học Thuỷ sản đã chỉ dạy trong suốt khoá học. Tôi cảm ơn các bạn đã đóng góp ý kiến và động viên để tôi hoàn thành đồ án này. Hướng phát triển - Chương trình chỉ mới cho phép nhân viên trong khách sạn tiếp cận hệ thống. Nên hướng là cần phải phân quyền sử dung hệ thống cho khách có thể tiếp cận với hệ thống. - Mở rộng bài toán cho nhiều khách sạn riêng biệt - Thống kê danh sách khách hàng theo khoảng thời gian nào đó - Đưa ra doanh thu cho khách sạn trong khoảng thời gian nhất định - Ngoài ra để chương trình được tối ưu hơn, ta có thể xây dựng thêm hệ thống cung cấp thông tin về phòng, giá cả và cho phép đặt phòng qua mạng. Đỗ Thị Liên - Lớp TH40 Trang 73
  74. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Tài liệu tham khảo 1 - " Microsoft Visual Basic & Lập trình cơ sở dữ liệu 6.0 ", Nguyễn Thị Ngọc Mai (chủ biên), Nhà xuất bản lao động -Xã hội. 2 - " Những bài thực hành cơ sở dữ liệu Visual Basic căn bản ", Ks. Đinh Xuân Lâm, Nhà xuất bản thống kê. 3 - " Bài giảng Microsoft Access ", Ths.Nguyễn Đình Thuân 4 - "Bài giảng cơ sở dữ liệu & phân tích và thiết kế hệ thống thông tin quản lý ", Ths. Nguyễn Hữu Trọng. 5 - " Phân tích thiết kế hệ thống thông tin quản lý ", Ths. Đinh Thế Hiển, Nhà xuất bản thống kê - 2000. 6 - " Một số bài luận văn tốt nghiệp " của anh chị các khoá trước. Đỗ Thị Liên - Lớp TH40 Trang 74
  75. Đồ án tốt nghiệp Gvhd: Nguyễn Kim Anh Phụ lục 1. Cài đặt Visual Basic 6.0 Sử dụng chương trình Setup, ta có thể cài đặt Visual Basic trên máy tính. Chương trình Setup cài đặt VB và các thnàh phần khác từ đĩa CD vào đĩa cứng. Chương trình này còn cài đặt các tập tin cần thiết để xem tài liệu trên đĩa CD MSDN (Microsoft Developer Network). Ta không thể thi hành VB bằng cách chỉ copy các tập tin từ đĩa CD-ROM vào đĩa cứng. Ta phải dùng chương trình Setup để giải nén và cài đặt các tập tin vào thư mục thích hợp. a. Cấu hình cài đặtVB 6.0 - Microsoft Windows 95 trở lên hoặc Microsoft Windows NT Workstation 4.0 trở lên. - Bộ vi xử lý 486DX / 66MHz trở lên - Một ổ đĩa CD-ROM - Màn hình VGA hoặc màn hình độ phân giải cao được hỗ trợ bởi Microsoft Windows. - 16 MB RAM cho Win95, 32MB RAM cho Win NT Workstation - Một thiết bị chuột hoặc các thiết bị trỏ tương thích b. Đọc tập tin Readme Tập tin này liệt kê các sửa đổi trên tài liệu của VB từ khi nó được phát hành. Kiểm tra phần đầu của tập tin này để nắm được thông tin mới, chi tiết về cài đặt VB. c. Quá trình cài đặt - Đặt đĩa CD-ROM vào ổ đĩa CD-ROM - Dùng lệnh thích hợp với môi trường hệ điều hành để thi hành chương trình Setup chứa trong thư mục gốc của đĩa số 1. Chẳng hạn với Win 98, chọn Start Run nhập vào E:\Setup (giả sử E là tên ổ đĩa CD trên máy để cài đặt). - Chọn Install Visual Basic 6.0 - Lần lượt làm theo những hướng dẫn trên màn hình d. Khởi động Visual Basic Sau khi đã hoàn tất thủ tục cài đặt, ta có thể khởi động VB bằng cách sử dụng nút Start trên thanh công việc của Windows. Nếu hệ thống hỗ trợ AutoPlay, ta có thể khởi động VB bằng cách đặt đĩa VB vào ổ đĩa. 2. Cài đặt Microsoft Access 97 Microsoft Acces 97 nằm trong bộ Microsoft Office 97. Đưa đĩa CD chứa bộ Office 97 vào máy và thực hiện lệnh Setup để bắt đầu quá trình cài đặt. Nên chọn mục Custom để cài đầy đủ bộ Access. Đỗ Thị Liên - Lớp TH40 Trang 75