Đồ án Xây dựng chương trình quản lý khách sạn theo mô hình Server/Client bằng Visual Basic

Tài liệu Đồ án Xây dựng chương trình quản lý khách sạn theo mô hình Server/Client bằng Visual Basic: MỤC LỤC Giới thiệu 1 PHẦN I :Phân tích hệ thống chương trình QLKS 2 I.Phân tích đánh giá hiện trạng 3 I.1.Khảo sát hiện trạng 3 I.2.Mục tiêu xây dựng chương trình QLKS 4 I.3.Đặc tả bài toán 5 I.4.Mô hình quản lý 7 I.5.Qui trình quản lý 8 II.Mô hình hóa dữ liệu 10 II.1.Mô hình quan niệm dữ liệu 10 II.2.Mô hình tổ chức dữ liệu 16 II.3.Mô hình vật lý dữ liệu 17 III.Mô hình hóa xử lýthông tin 22 III.1.Mô hình thông lượng 22 III.2.Mô hình quan niệm xử lý 23 III.3.Mô hình tổ chức xử lý 26 III.4.Mô hình vật lý xử lý 30 III.4.1 Hệ thống các đơn vị tổ chức xử lý 30 III.4.2 Thiết kế IPO CHART 31 PHẦN II :NỘI DUNG CHƯƠNG TRÌNH 36 I.Giới thiệu các nét chính của ngôn ngữ VISUAL BASIC 36 II.Mô hình client – server 37 III.Một số giao diện – mã lệnh (code) chính trong chương trình 45 PHẦN III :Kết luận – hướng phát triển 61 PHẦN IV :Một số biểu mẫu in của chương trình...

doc69 trang | Chia sẻ: hunglv | Lượt xem: 1174 | Lượt tải: 3download
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án Xây dựng chương trình quản lý khách sạn theo mô hình Server/Client bằng Visual Basic, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MUÏC LUÏC Giôùi thieäu 1 PHAÀN I :Phaân tích heä thoáng chöông trình QLKS 2 I.Phaân tích ñaùnh giaù hieän traïng 3 I.1.Khaûo saùt hieän traïng 3 I.2.Muïc tieâu xaây döïng chöông trình QLKS 4 I.3.Ñaëc taû baøi toaùn 5 I.4.Moâ hình quaûn lyù 7 I.5.Qui trình quaûn lyù 8 II.Moâ hình hoùa döõ lieäu 10 II.1.Moâ hình quan nieäm döõ lieäu 10 II.2.Moâ hình toå chöùc döõ lieäu 16 II.3.Moâ hình vaät lyù döõ lieäu 17 III.Moâ hình hoùa xöû lyùthoâng tin 22 III.1.Moâ hình thoâng löôïng 22 III.2.Moâ hình quan nieäm xöû lyù 23 III.3.Moâ hình toå chöùc xöû lyù 26 III.4.Moâ hình vaät lyù xöû lyù 30 III.4.1 Heä thoáng caùc ñôn vò toå chöùc xöû lyù 30 III.4.2 Thieát keá IPO CHART 31 PHAÀN II :NOÄI DUNG CHÖÔNG TRÌNH 36 I.Giôùi thieäu caùc neùt chính cuûa ngoân ngöõ VISUAL BASIC 36 II.Moâ hình client – server 37 III.Moät soá giao dieän – maõ leänh (code) chính trong chöông trình 45 PHAÀN III :Keát luaän – höôùng phaùt trieån 61 PHAÀN IV :Moät soá bieåu maãu in cuûa chöông trình 62 Lôøi giôùi thieäu T rong nhöõng naêm gaàn ñaây, du lòch laø moät trong nhöõng ngaønh coù toác ñoä taêng tröôûng cao nhaát caû nöôùc. Raát nhieàu khaùch saïn ñöôïc phaùt trieån, ñoåi môùi lieân tuïc vaø nhanh choùng theo ñaø phaùt trieån cuûa xaõ hoäi caû veà qui moâ vaø chaát löôïng. Hieän nay, caùc Khaùch saïn phaûi tröïc tieáp tieáp nhaän vaø quaûn lyù moät khoái löôïng raát lôùn vaø thöôøng xuyeân caùc loaïi khaùch, keøm theo ñoù laø haøng loaït caùc loaïi dòch vuï phaùt sinh ña daïng cuûa khaùch, do ñoù coâng vieäc quaûn lyù hoaït ñoäng kinh doanh khaùch saïn laø ngaøy caøng lôùn vaø phöùc taïp hôn. Hôn nöõa, coâng taùc quaûn lyù khoâng chæ quaûn lyù veà con soá maø thoâng qua noù phaûi ruùt ra ñöôïc moät caùch nhanh choùng tình hình bieán ñoäng cuûa thò tröôøng, nhu caàu ngöôøi tieâu duøng, khaû naêng ñaùp öùng… ñeå töø ñoù ñònh höôùng, laäp keá hoaïch cho coâng vieäc kinh doanh. Ñaây laø kho döõ lieäu raát lôùn, khoâng theå löu tröõ vaø xöû lyù moät caùch thuû coâng nhö tröôùc ñaây maø caàn phaûi tin hoïc hoaù, cuï theå laø xaây döïng moät chöông trình tin hoïc ñeå quaûn lyù thoáng nhaát vaø toaøn dieän hoaït ñoäng kinh doanh cuûa khaùch saïn. Chöông trình Quaûn Lyù Khaùch Saïn ñöôïc vieát baèng ngoân ngöõ Visual Basic theo moâ hình Server/Client laø chöông trình thöïc hieän moät soá coâng vieäc veà vaán ñeà quaûn lyù cuûa khaùch saïn nhö quaûn lyù veà phoøng, quaûn lyù veà dòch vuï, quaûn lyù khaùch ñaêng kyù vaø thueâ phoøng… vôùi CSDL söû duïng laø Microsoft Access. Nhôø söï taän taâm theo saùt höôùng daãn cuûa thaày Nguyeãn Höõu Troïng, trong böôùc ñaàu em ñaõ nghieân cöùu vaø vaän duïng kieán thöùc ñaõ hoïc ñeå xaây döïng ñöôïc chöông trình quaûn lyù ñaùp öùng töông ñoái moät soá caùc yeâu caàu ñaët ra nhö treân. Tuy nhieân do kieán thöùc coøn haïn cheá neân chöông trình chaéc chaén khoâng traùnh khoûi caùc thieáu soùt, vì vaäy em raát mong ñöôïc söï goùp yù nhaéc nhôû cuûa caùc thaày coâ vaø cuûa caùc baïn ñeå coù theå töøng böôùc xaây döïng chöông trình ngaøy caøng hoaøn thieän vaø hieäu quaû hôn. Em xin chaân thaønh caûm ôn caùc Thaày Coâ vaø Khoa ñaõ taïo dieàu kieän cho chuùng em hoaøn taát ñeà taøi naøy. PHAÀN I : PHAÂN TÍCH & THIEÁT KEÁ HEÄ THOÁNG CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN Coù nhieàu phöông phaùp phaân tích vaø thieát keá heä thoáng thoâng tin hieän ñaïi. ÔÛ ñaây em choïn phöông phaùp MERISE. MERISE ñöôïc dòch laø “Caùc phöông phaùp ñeå taäp hôïp caùc yù töôûng khoâng caàn coá gaéng” vieát taéc töø cuïm töø Methode pour Rassembler les Idees Sans Effort. Ñaëc tröng cuûa phöông phaùp MERISE laø xem xeùt, taùch bieät döõ lieäu vaø xöû lyù ñaûm baûo tính khaùch quan trong quaù trình phaân tích vaø cung caáp ñaày ñuû caùc moâ hình ñeå dieãn ñaït caùc böôùc caäp nhaät. Heä thoáng bao goàm döõ lieäu vaø xöû lyù ñöôïc bieåu dieãn ôû ba möùc: - Möùc quan nieäm (Concept): laø möùc caûm nhaän ñaàu tieân ñeå xaùc ñònh heä thoáng thoâng tin, ôû möùc naøy caàn xaùc ñònh caâu hoûi: Heä thoáng thoâng tin caàn nhöõng yeáu toá gì? Chöùc naêng ra sao? Goàm nhöõng döõ lieäu naøo vaø qui taéc quaûn lyù nhö theá naøo? - Möùc toå chöùc (Orgarization): laø möùc toång hôïp caùc yeáu toá ñaõ nhaän dieän ôû möùc quan nieäm. Trong moät toång theå vaän ñoäng caàn traû lôøi caùc caâu hoûi: Ai laøm? Laøm ôû ñaâu vaø khi naøo? - Möùc vaät lyù (Physic): laø möùc chi tieát. Veà döõ lieäu caàn coù caùc quan heä cuï theå, coù moät ngoân ngöõ laäp trình cuï theå. Veà xöû lyù caàn coù ñaày ñuû caùc ñaëc taû cho töøng thuû tuïc chöông trình, coù söï tham khaûo ngoân ngöõ trong chöông trình naøy. Caùc böôùc phaùt trieån cuûa quaù trình xaây döïng heä thoáng thoâng tin: -Böôùc phaân tích: +Xaùc ñònh vaán ñeà. +Nghieân cöùu hieän traïng cuûa toå chöùc. +Nghieân cöùu khaû thi +Xaây döïng saùch hôïp ñoàng traùch nhieäm -Böôùc thieát keá: goàm: +Thieát keá toång theå +Thieát keá chi tieát -Böôùc thöïc hieän: +Caøi ñaët heä thoáng vaøo maùy. +Khai thaùc vaø thích öùng. I. PHAÂN TÍCH ÑAÙNH GIAÙ HIEÄN TRAÏNG I.1- KHAÛO SAÙT HIEÄN TRAÏNG Khi khaûo saùt qui trình hoaït ñoäng cuûa moät khaùch saïn, ta naém ñöôïc caùc thoâng tin nhö sau: 1/ Ñoái töôïng khaùch: khaùch thueâ phoøng coù hai daïng: - Khaùch ñi taäp theå: laø moät nhoùm nhieàu ngöôøi (ñöôïc goïi thoáng nhaát laø khaùch ñoaøn) thuoäc moät toå chöùc hay doanh nghieäp naøo ñoù (goïi chung laø ñôn vò). Moät ñôn vò coù theå coù nhieàu ñoaøn khaùch löu truù taïi khaùch saïn trong caùc thôøi ñieåm khaùc nhau. - Khaùch ñi leû (goïi laø khaùch vaõng lai) : laø loaïi khaùch khoâng thuoäc moät ñôn vò naøo. Taïi caùc thôøi ñieåm khaùc nhau, moät ngöôøi khaùch coù theå laø khaùch vaõng lai hay coù theå naèm trong moät ñoaøn naøo ñoù. Moät ngöôøi khaùch coù theå hoaëc laø khaùch trong nöôùc, hoaëc laø quoác teá. Ñoái vôùi moät khaùch saïn, vieäc phaân ra loaïi khaùch laø raát quan troïng vì döïa vaøo ñoù, khaùch saïn coù phöông thöùc toå chöùc, hoaït ñoäng moät caùch thích hôïp, ñaëc bieät laø cheá ñoä haäu maõi ñoái vôùi töøng loaïi khaùch. Khi chöa coù chöông trình quaûn lyù khaùch saïn, vieäc xöû lyù thoâng tin moät ñoaøn khaùch, moät ñôn vò hay moät vò khaùch naøo ñoù caàn toán raát nhieàu thôøi gian. 2/ Ñoái töôïng phoøng: Nhaân vieân leã taân sau khi nhaän khaùch vaøo phoøng seõ theo doõi khaùch treân sô ñoà phoøng. Sô ñoà phoøng laø moät tôø giaáy moâ taû vò trí cuûa töøng phoøng trong khaùch saïn. Phoøng coù khaùch seõ ñöôïc ñaùnh daáu hay ghi kyù hieäu. Thoâng tin veà khaùch ôû trong moãi phoøng seõ ñöôïc ghi laïi treân soå nhaät kyù. Haøng ngaøy khaùch saïn seõ löu laïi sô ñoà phoøng cuûa moãi ngaøy ñeå laøm baùo caùo. Do yeâu caàu phaûi luoân luoân naém ñöôïc thoâng tin cuûa töøng phoøng trong khaùch saïn taïi baét cöù thôøi ñieåm naøo vì vaäy khi moät phoøng coù söï bieán ñoäng (khaùch chuyeån phoøng, bôùt khaùch trong phoøng,..) phaûi vieát laïi raát khoù khaên. 3/ Söû duïng dòch vuï: Khi khaùch löu truù trong khaùch saïn thöôøng hay söû duïng caùc dòch vuï nhö: ñieän thoaïi, fax, thueâ xe, massage, aên, nöôùc uoáng,. . . Nhaân vieân khaùch saïn phaûi ghi nhaän laïi caùc phaùt sinh naøy ñeå laøm baùo caùo hay thanh toaùn vôùi khaùch sau naøy. Thoâng thöôøng trong moät khaùch saïn boä phaän phoøng (ñaêng kyù, phaân phoøng, traû phoøng) do nhaân vieân leã taân phuï traùch, coøn phaàn cung caáp dòch vuï cho khaùch laïi do boä phaän khaùc ñaûm traùch. Caùc boä phaän naøy tuy taùch rôøi nhau nhöng laïi coù quan heä raát chaët cheõ vì ñoái töôïng phuïc vuï ñeàu laø khaùch thueâ phoøng. Qua quan saùt tröïc tieáp hoaït ñoäng taïi khaùch saïn, em nhaän thaáy toaøn boä caùc coâng vieäc nhö ñeà caäp ôû treân ñeàu ñöôïc nhaäp thuû coâng baèng tay vaø löu taïm thôøi treân giaáy, sau ñoù môùi ñöôïc nhaäp rôøi raïc vaøo maùy tính. Cuoái ngaøy vaø cuoái thaùng, nhaân vieân phuï traùch söû duïng phaàn meàm baûng tính Excel ñeå taïo caùc baùo caùo toång hôïp veà taøi chính vaø quaûn trò. Vaø khi caàn thoâng tin veà moät khaùch haøng hay dòch vuï, vieäc tìm kieám thöôøng raát khoù khaên. Keát quaû laø ñôn vò phaûi toán nhieàu nhaân löïc vaø thôøi gian ñeå caäp nhaät vaø xöû lyù döõ lieäu. Laõnh ñaïo ñôn vò raát khoù kieåm tra vaø chæ ñaïo chính xaùc caùc hoaït ñoäng kinh doanh cuûa ñôn vò mình. I.2 - MUÏC TIEÂU XAÂY DÖÏNG CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN Kinh doanh khaùch saïn goàm hai hoaït ñoäng chính laø cho thueâ phoøng vaø kinh doanh caùc loaïi dòch vuï coù lieân quan. Muïc tieâu xaây döïng chöông trình quaûn lyù khaùch saïn bao goàm caùc noäi duïng sau: -Toå chöùc thoáng nhaát moät heä thoáng cô sôû döõ lieäu nhaèm löu giöõ thoáng nhaát toaøn boä döõ lieäu veà hoaït ñoäng cuûa khaùch saïn nhö : khaùch haøng, phoøng oác, nhöõng dòch vuï keøm theo ñeå phuïc vuï cho coâng taùc quaûn lyù. -Tin hoïc hoùa coâng taùc quaûn lyù khaùch haøng. -Tin hoïc hoùa caùc qui trình ñaêng kyù, nhaän phoøng vaø quaûn lyù phoøng. -Tin hoïc hoùa vieäc cung caáp caùc loaïi dòch vuï cho khaùch. -Tin hoïc hoùa vieäc thanh toaùn cho khaùch. -Toång hôïp vaø laäp caùc baùo caùo veà: thueâ phoøng, hieän traïng phoøng, coâng suaát buoàng, doanh thu khaùch saïn, nhaø haøng vaø dòch vuï. -Söû duïng moâ hình Server/Client ñeå chuyeân bieät hoaù coâng vieäc: chöông trình quaûn lyù Khaùch saïn caøng hieäu quaû hôn vì moãi Client laø nôi tieáp nhaän caùc luoàng döõ lieäu khaùc nhau töông öùng vôùi töøng phaàn haønh ñöôïc giao vaø hoaøn toaøn ñoäc laäp vôùi nhau trong thao taùc trong khi maùy chuû Server laø nôi duy nhaát chöùa cô sôû döõ lieäu do caùc Client cung caáp vaø chòu traùch nhieäm xöû lyù, toång hôïp caùc döõ lieäu ñaõ coù . Nhö vaäy moâ hình Server/Client seõ laøm cho toaøn boä chöông trình vöøa thoáng nhaát vöøa coù söï ñoäc laäp giöõa töøng loaïi coâng vieäc. I.3- ÑAËC TAÛ BAØI TOAÙN Nhö vaäy caên cöù vaøo hieän traïng vaø muïc tieâu caàn giaûi quyeát, chöông trình quaûn lyù khaùch saïn seõ quaûn lyù vaø xöû lyù caùc nhoùm thoâng tin nhö sau : 1/ Ñoái töôïng quaûn lyù: -Quaûn lyù khaùch: Naém ñöôïc caùc thoâng tin caù nhaân cuûa töøng khaùch thueâ phoøng : Hoï teân, ñòa chæ, soá CMND. Vôùi khaùch quoác teá caàn quaûn lyù theâm hoä chieáu, quoác tòch,. . . Naém ñöôïc caùc thoâng tin cuûa töøng ñoaøn khaùch: teân ñoaøn, ñôn vò, ñòa chæ, tel, fax, taøi khoaûn, maõ soá thueá cuûa toå chöùc ñôn vò ñoù. Soá löôïng vaø chi tieát töøng vò khaùch cuûa töøng ñoaøn. -Quaûn lyù phoøng: Moãi phoøng caàn quaûn lyù thoâng tin: soá phoøng, loaïi phoøng, giaù phoøng, ngaøy giôø ñaêng kyù, ngaøy giôø nhaän phoøng, ngaøy giôø traû phoøng. . . -Quaûn lyù haøng hoùa dòch vu: Teân haøng hoùa, dòch vuï, soá löôïng, giaù, ñaëc ñieåm, nôi cung caáp, quaù trình thanh toaùn, . . . 2/ Thieát keá giao dieän ñeå nhaäp caùc nghieäp vuï khaùch saïn sau: a) Ñaêng kyù khaùch: Khaùch tröôùc khi thueâ phoøng ñeàu phaûi laøm thuû tuïc ban ñaàu laø ñaêng kyù phoøng. Trong muïc naøy nhaân vieân leã taân seõ caäp nhaät caùc thoâng tin vaøo maùy tính ñeå quaûn lyù nhö sau: -Ñoaøn: maõ soá ñoaøn, teân ñoaøn, ngaøy nhaän phoøng döï kieán, soá löôïng phoøng caàn thueâ, ñôn vò. Neáu ñôn vò laàn ñaàu ñeán thueâ phaûi nhaäp caùc thoâng tin veà ñôn vò: maõ soá ñôn vò, teân ñôn vò, ñòa chæ, ñieän thoaïi,….chöông trình cho pheùp truy tìm moät ñôn vò naøo ñoù ñaõ töøng löu truù taïi khaùch saïn tröôùc ñoù. Thoâng tin chi tieát töøng ngöôøi khaùch trong ñoaøn. -Khaùch: nhaäp teân khaùch, maõ soá khaùch, soá cmnd, ñòa chæ, hoä chieáu, quoác tòch...neáu laø khaùch môùi. Neáu laø khaùch cuõ, chöông trình seõ töï ñoäng doø tìm thoâng qua khoaù coù theå laø maõ soá, soá cmnd, teân, soá hoä chieáu cuûa khaùch. b) Phaân phoøng: boá trí töøng vò khaùch vaøo caùc phoøng. Moãi phoøng coù theå coù nhieàu khaùch. c) Thieát keá sô ñoà phoøng. d) Quaûn lyù phoøng (xem thoâng tin phoøng, ñoåi phoøng, traû phoøng, in hoùa ñôn phoøng). c) Giao dieän nhaäp caùc dòch vuï cho khaùch. e) Quaûn lyù khaùch ñoaøn f) Quaûn lyù vieäc thanh toaùn tieàn phoøng vaø dòch vuï g) Tìm kieám caùc thoâng tin veà khaùch haøng vaø dòch vuï. I.4. MOÂ HÌNH QUAÛN LYÙ Do ñaëc thuø kinh doanh cuûa mình, khaùch saïn thöôøng ñöôïc chia laøm hai boä phaän : khaùch saïn vaø nhaø haøng. Khaùch saïn quaûn lyù phoøng vaø caùc dòch vuï keøm theo nhö ñieän thoaïi, Fax, thueâ xe, hoäi tröôøng,. . . Nhaø haøng duøng ñeå quaûn lyù caùc dòch vuï aên uoáng, giaët laø, . . . Vò trí vaø chöùc naêng taùc nghieäp cuûa hai boä phaän treân laø khaùc nhau töông ñoái roõ reät. Trong khi ñoù boä phaän quaûn lyù chung phaûi quaûn lyù bao quaùt toaøn boä hoaït ñoäng cuûa hai boä phaän treân do ñoù chöông trình quaûn lyù khaùch saïn ñöôïc toå chöùc theo moâ hình Meï – Con laø thích hôïp. Moâ hình naøy goàm coù moät Server vaø 2 Client, trong ñoù cô sôû döõ lieäu ñöôïc ñaët taïi boä phaän quaûn lyù ñoùng vai troø nhö moät Server coù noäi dung laø theo doõi vaø toång hôïp baùo caùo soá lieäu töø CSDL. Boä phaän khaùch saïn laø moät Client duøng ñeå caäp nhaät khaùch thueâ phoøng vaø caùc dòch vuï lieân quan. Boä phaän nhaø haøng laø moät Client duøng ñeå caäp nhaät caùc dòch vuï aên uoáng vaø nhaø haøng khaùc. Giöõa Server vaø Client ñöôïc noái vôùi nhau baèng moät maïng LAN söû duïng caùp maïng thoâng qua Hub trung taâm. Moâ hình quaûn lyù khaùch saïn qua maïng ñöôïc bieåu dieãn nhö sau: SERVER -Löu tröõ CSDL cuûa khaùch saïn. -Quaûn lyù thoâng tin. -Toång hôïp xöû lyù döõ lieäu do 2 Client khaùch saïn vaø nhaø haøng cung caáp. -Caáp phaùt quyeàn truy caäp, . . CLIENT KHAÙCH SAÏN Caäp nhaäp döõ lieäu : -Ñaët phoøng. -Phaân phoøng -Nhaäp dòch vuï khaùch saïn -Traû phoøng vaø thanh toaùn, . . CLIENT NHAØ HAØNG Caäp nhaäp döõ lieäu : - Nhaäp caùc dòch vuï nhaø haøng - Quaûn lyù danh muïc haøng,. . . I.5 - QUI TRÌNH QUAÛN LYÙ NHÖ SAU Khaùch thueâ phoøng laøm thuû tuïc ñaêng kyù ñaët phoøng, nhaân vieân khaùch saïn (leã taân) caên cöù vaøo yeâu caàu cuûa khaùch veà loaïi phoøng, ngaøy baét ñaàu thueâ, soá löôïng phoøng neáu ñaùp öùng ñöôïc thì löu vaøo trong maùy tính. Phaàn naøy coù theå truy tìm nhanh ñöôïc caùc khaùch haøng ñaõ töøng löu truù taïi khaùch saïn. Khi khaùch ñeán thueâ phoøng, neáu laø khaùch ñoaøn ñaõ laøm thuû tuïc ñaët phoøng töø tröôùc, leã taân laøm caùc thuû tuïc ñeå tieáp nhaän khaùch vaø phaân boå phoøng cho töøng khaùch trong ñoaøn. Neáu laø khaùch laõng lai chöa ñaët phoøng tröôùc thì leã taân laøm luoân thuû tuïc ñaët phoøng ñoàng thôøi boá trí phoøng ngay cho khaùch. Khi phaân boå vaøo phoøng phaûi thöïc hieän cho döùt ñieåm cho töøng ñoaøn. Nhieàu ngöôøi coù theå ñöôïc phaân cuøng moät phoøng. Trong khi khaùch löu truù, boä phaän Leã taân phaûi caäp nhaät taát caû caùc dòch vuï phaùt sinh cuûa khaùch nhö : ñieän thoaïi, fax, giaët uûi, . . .ñeå löu vaø maùy tính. Boä phaän nhaø haøng cuõng seõ caäp nhaät caùc chi phí cuûa khaùch veà: aên, uoáng,. . .döõõ lieäu seõ ñöôïc löu duy nhaát treân maùy chuû ñeå khi traû phoøng seõ chæ thanh toaùn taïi quaày leã taân. Neáu khaùch coù yeâu caàu thay ñoåi sang phoøng khaùc (chuyeån phoøng). Chöông trình phaûi töï ñoäng chuyeån taát caû caùc dòch vuï phaùt sinh cuûa khaùch sang phoøng môùi. Taïi baát cöù thôøi ñieåm naøo, neáu khaùch yeâu caàu phaûi lieät keâ taát caû caùc chi phí phaùt sinh veà dòch vuï maø khaùch thueâ phoøng ñaõ söû duïng. Khi khaùch traû phoøng, Khaùch saïn phaûi lieät keâ taát caû caùc chi phí cuûa khaùch trong khi löu ôû khaùch saïn vaø in hoùa ñôn tính tieàn. Ñoái vôùi khaùch vaõng lai, phaûi in ra baûng keâ dòch vuï ñaõ söû duïng. Ñoái vôùi khaùch ñoaøn, phaûi lieät keâ taát caû caùc dòch vuï söû duïng chung cho caû ñoaøn vaø cuûa rieâng töøng vò khaùch trong ñoaøn. Vaø ñeå chöông trình hoaït ñoäng ñöôïc an toaøn treân maïng vaø coù tính baûo maät, ngöôøi quaûn trò CSDL seõ caáp phaùt cho moãi nhaân vieân söû duïng moät teân vaø maät khaåu khi söû duïng chöông trình. II. MOÂ HÌNH HOÙA DÖÕ LIEÄU II.1 - MOÂ HÌNH QUAN NIEÄM DÖÕ LIEÄU Moâ hình quan nieäm döõ lieäu laø söï moâ taû döõ lieäu cuûa heä thoáng thoâng tin ñoäc laäp vôùi caùc löïa choïn moâi tröôøng caøi ñaët; laø coâng cuï cho pheùp ngöôøi phaân tích theå hieän döõ lieäu cuûa heä thoáng ôû möùc quan nieäm. Moâ hình naøy cuõng laø cô sôû ñeå trao ñoåi giöõa ngöôøi phaân tích vaø ngöôøi yeâu caàu thieát keá heä thoáng. Phöông phaùp MERISE söû duïng moâ hình thöïc theå – moái keát hôïp. Sau khi phaân tích veà hieän traïng vaø yeâu caàu cuûa xöû lyù döõ lieäu trình baøy ôû phaàn treân, ta thieát laäp moâ hình quan nieäm döõ lieäu cuûa heä thoáng thoâng qua vieäc moâ taû caùc thöïc theå cho töøng ñoái töôïng quaûn lyù: II.1.1 MOÂ TAÛ CAÙC THÖÏC THEÅ: KHAÙCH HAØNG: thöïc theå naøy moâ taû thoâng tin caù nhaân cuûa khaùch thueâ phoøng. Moãi ngöôøi khaùch coù moät maõ soá rieâng duy nhaát. Moät khaùch haøng coù theå ñi leû (vaõng lai) hay ñi theo ñoaøn (coù theå nhieàu ñoaøn khaùc nhau) hay coù nhieàu laàn löu truù taïi khaùch saïn nhöng chæ coù moät maõ soá. Khaùch haøng -Maõ KH -Teân KH -Ñieän thoaïi KHAÙCH VN: löu thoâng tin cuûa khaùch trong nöôùc (khaùch Vieät Nam). Khaùch VN -CMND KHAÙCH QTEÁ : Khaùch thueâ phoøng neáu laø khaùch quoác teá thì ngoaøi vieäc löu caùc thoâng tin nhö maõ soá, hoï teân coøn löu thoâng tin veà hoä chieáu cuûa khaùch. Khaùch QT -Soá hoä chieáu -Ngaøy caáp -Thôøi haïn ÑÔN VÒ: Moãi ñôn vò coù moät maõ soá. Moät ñôn vò coù theå coù nhieàu ñoaøn taïi caùc thôøi ñieåm khaùc nhau. Ñôn vò -Maõ ñôn vò -Teân ñôn vò -Ñieän thoaïi -Taøi khoaûn -Maõ soá thueá ÑOAØN: Moãi laàn ñaêng kyù ñaët phoøng (duø laø khaùch ñi leû hay ñi theo ñoaøn) ñeàu ñöôïc xem laø moät ñoaøn. Moãi ñoaøn ñeàu coù moät maõ soá rieâng ñeå quaûn lyù. Nhieàu ñoaøn coù theå cuøng moät ñôn vò. ÑOAØN -Maõ ñoaøn -Teân Ñoaøn -Ngaøy ñaët phoøng -Ngaøy nhaän phoøng -Soá löôïng phoøng ñaët -Soá löôïng khaùch trong ñoaøn PHOØNG: Danh muïc caùc phoøng cho thueâ cuûa khaùch saïn. Moãi moät phoøng ñeàu coù moät maõ soá ñoù chính laø soá phoøng thöïc teá cuûa khaùch saïn. Phoøng Maõ phoøng Loaïi phoøng -Maõ phoøng -Loaïi phoøng 101 102 … Ñôn Ñoâi … Maõ soá phoøng ñöôïc taïo nhö sau: soá taàng + soá phoøng. Ví duï: phoøng soá 10 taàng 1 coù maõ soá phoøng nhö sau: 110 TÆNH: löu danh muïc tænh/ thaønh phoá chính trong caû nöôùc. Tænh Maõ tænh Tænh -Maõ tænh -Tænh 04 08 Haø noäi TPHCM NÖÔÙC: löu danh muïc caùc nöôùc treân theá giôùi. Aùp duïng ñoái vôùi khaùch quoác teá. Nöôùc Maõ nöôùc Teân nöôùc -Maõ nöôùc -Teân nöôùc 01 84 Myõ Vieät nam DÒCH VUÏ: moâ taû danh muïc caùc loaïi dòch vuï cuûa khaùch saïn vaø nhaø haøng nhö: ñieän thoaïi, fax, thueâ xe, giaët uûi, aên, nöôùc uoáng. . . Dòch vuï Maõ dv Teân dv DVT -Maõ dòch vuï -Teân dòch vuï -ÑVT 001 002 003 Thueâ xe Fax Ñieän thoaïi Laàn Cuoäc Cuoäc LOAÏI DV: moâ taû tích chaát loaïi dòch vuï cuûa khaùch saïn thuoäc loaïi naøo: phoøng, dòch vuï hay nhaø haøng. Loaïi DV Maõ loaïi Teân loaïi -Maõ loaïi -Teân loaïi PH DV NH Phoøng Dòch vuï Nhaø haøng ÑAËT PHOØNG: Moãi khaùch phaûi ñaët phoøng tröôùc khi nhaän phoøng. Moái quan heä ñaët phoøng duøng ñeå löu thoâng tin ñaët phoøng cho töøng khaùch. Moãi ngöôøi khaùch ñaët phoøng ñeàu coù moät maõ ñaët phoøng. Khoâng coù khaùch ñaët phoøng naøo coù truøng maõ ñaët phoøng. Ñaët phoøng theå hieän moái quan heä keát hôïp giöõa thöïc theå ÑOAØN, KHAÙCH HAØNG vaØ SÖÛ DUÏNG PHOØNG. Ñaët phoøng Maõ ñp Nhaän phoøng -Maõ Ñp -Nhaän phoøng 111111 111112 111113 x x x ¨ SÖÛ DUÏNG PHOØNG: söû duïng phoøng duøng ñeå löu caùc khaùch haøng thöïc söï thueâ phoøng. Söû duïng phoøng -Maõ Ñp -Ngaøy nhaän phoøng -Giôø nhaän phoøng -Ngaøy traû phoøng -Giôø traû phoøng -Giaù phoøng -Traû phoøng SÖÛ DUÏNG DÒCH VUÏ: Khaùch thueâ phoøng thöôøng söû duïng caùc dòch vuï cuûa khaùch saïn. Moái keát hôïp söû duïng dòch vuï ñöôïc sinh ra töø moái keát hôïp giöõa thöïc theå dòch vuï vaø moái quan heä söû duïng phoøng, duøng ñeå löu caùc laàn söû duïng dòch vuï cuûa töøng khaùch haøng ñang söû duïng phoøng. Söû duïng dòch vuï -Maõ söû duïng dòch vuï -Dieãn giaûi -Ngaøy sddv -Soá löôïng -Giaù THANH TOAÙN PHOØNG: Thöïc theå naøy löu thoâng tin quaù trình thanh toaùn tieàn phoøng cuûa khaùch, noù ñöôïc sinh ra töø moái quan heä söû duïng phoøng. Khaùch coù theå thanh toaùn tieàn phoøng laøm nhieàu ñôït. Thanh toaùn phoøng -Maõ thanh toaùn phoøng -Ngaøy thanh toaùn -Phieáu TT -Tieàn thanh toaùn THANH TOAÙN DÒCH VUÏ: ñöôïc sinh ra töø moái keát hôïp söû duïng dòch vuï,ï löu thoâng tin quaù trình thanh toaùn tieàn söû duïng dòch vuï. Thanh toaùn DV -Maõ thanh toaùn DV -Ngaøy thanh toaùn -Phieáu TT -Tieàn thanh toaùn II.1.2 MOÂ HÌNH QUAN NIEÄM DÖÕ LIEÄU BAØI TOAÙN QUAÛN LYÙ KHAÙCH SAÏN: Khaùch haøng -Maõ KH -Teân KH -Ñieän thoaïi Phoøng -Maõ phoøng -Loaïi phoøng Nöôùc -Maõ nöôùc -Teân nöôùc Khaùch QT -Soá hoä chieáu -Ngaøy caáp -Thôøi haïn Dòch vuï -Maõ dòch vuï -Teân dòch vuï -Ñôn vò tính Ñ-ÑV (1,n) Tænh Maõ tænh Teân tænh KQT-N (1,n) (1,n) Ñoaøn -Maõ ñoaøn -Teân Ñoaøn -Ngaøy ñaët phoøng -Ngaøy nhaän phoøng -Slöôïng phoøng ñaët -Slöôïng khaùch Ñaët Phoøng -Maõ ñaët phoøng -Nhaän phoøng â (1,n) Ttoaùn phoøng -Maõ TTPH -Ngaøy TT -Phieáu TT -Tieàn TT Söû duïng Phoøng -Maõ ñaët phoøng -Ngaøy nhaän phoøng -Giôø nhaän phoøng -Ngaøy traû phoøng -Giôø traû phoøng -Giaù phoøng -Traû phoøng â â KVN-T Sduïng dòch vuï -Masddv -Ngaøy sddv -Dieãn giaûi -Soá löôïng -Giaù â â (1,1) (1,n) (1,1) (1,n) (1,n) Ñôn vò -Maõ ñôn vò -Teân ñôn vò -Ñieän thoaïi -Taøi khoaûn -Maõ soá thueá Ttoaùn Dvuï -Maõ TTDV -Ngaøy TT -Phieáu TT -Tieàn TT (1,n) Loaïi DV -Maõ loaïi -Teân loaïi DV-LDV (1,n) (1,1) Khaùch VN -CMND Ñoaøn Khaùch â (1,1) (1,n) (1,n) (1,1) Ñ-T (1,n) (1,1) (1,n) II.2 - MOÂ HÌNH TOÅ CHÖÙC DÖÕ LIEÄU Moâ hình toå chöùc döõ lieäu cuûa heä thoáng laø löôïc ñoà cô sôû döõ lieäu cuûa heä thoáng. Ñaây laø böôùc trung gian chuyeån ñoåi giöõa moâ hình quan nieäm döõ lieäu vaø moâ hình vaät lyù döõ lieäu (moâ hình trong maùy tính), chuaån bò cho caøi ñaët heä thoáng. Sau ñaây laø löôïc ñoà quan heä cuûa baøi toaùn quaûn lyù khaùch saïn: PHONG (Maphong, Loaiphong) KHACHHANG (MaKH, TenKH, Dienthoai) KHACH_VN (MaKH, CMND, Maõ tænh) KHACH_QT (Maõ KH, Sohochieu, Ngaycap, Thoihan, Manuoc) TINH (Matinh, Tentinh) NUOC (Manuoc, Tennuoc) DONVI (Madonvi, Tendonvi, Dienthoai, Masothue, Taikhoan, Matinh) DOAøN (Madoan, Tendoan, Ngaydp, Ngaynp, SL_Phd, SL_khach, Madonvi,) DOAN_KHACH (Makh, Madoan) DATPHONG (Madp, Makh, Madoan , nhanphong) SUDUNGPHONG (Madp, Maphong, Ngaynp, Gionp, Ngaytp, Giotp, Giaphong, Traphong) THANHTOANPHONG (MaTTPH, Madp, NgayTT, PhieuTT, TienTT) DICHVU (Madv, Tendv, Dvt, Maloai) LOAIDV (Maloai, Tenloai) SUDUNGDV (Masddv, ïMadp, Ngaysddv, Soluong, Dongia, Madvï) THANHTOANDV (MaTTDV, Masddv, NgayTT, PhieuTT, TienTT) II.3 - MOÂ HÌNH VAÄT LYÙ DÖÕ LIEÄU Moâ hình vaät lyù döõ lieäu laø moâ hình cuûa döõ lieäu ñöôïc caøi ñaët treân maùy tính döôùi moät heä quaûn trò cô sôû döõ lieäu naøo ñoù. Trong chöông trình naøy laø heä quaûn trò CSDL Access. ÖÙng vôùi moãi löôïc ñoà quan heä trong moâ hình toå chöùc döõ lieäu ñöôïc caøi ñaët thaønh moät baûng döõ lieäu cô sôû (Table). ÔÛ ñaây ta chæ trình baøy caùc yeáu toá chính cuûa Table bao goàm caùc coät: Teân tröôøng, kieåu döõ lieäu, ñoä lôùn vaø raøng buoäc toaøn veïn döõ lieäu. PHONG (Maphong, Loaiphong) PHONG Field name Data type Field size Validation Rule Maphong (K) Text 3 Len()=3 Loaiphong Text 15 Maphong: Maõ soá phoøng laø soá phoøng cuûa khaùch saïn Loaiphong: laø loaïi phoøng nhö: ñôn, ñoâi, ñaëc bieät, . . KHACHHANG (MaKH, TenKH, Dienthoai) KHACH HANG Field name Data type Field size Validation Rule MaKH (K) Text 12 Len()=12 TenKH Text 30 Dienthoai Text 10 Makh: Maõ khaùch haøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Makh=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") KHACH_VN (MaKH, CMND, Maõ tænh) KHACH_VN Field name Data type Field size Validation Rule MaKH (K) Text 12 Len()=12 CMND Text 10 Matinh Text 2 Len()=12 KHACH_QT (Maõ KH, Sohochieu, Ngaycap, Thoihan, Manuoc) KHACH_QT Field name Data type Field size Validation Rule MaKH (K) Text 12 Len()=12 Sohochieu Text 15 Ngaycap Date <date() Thoihan Byte Manuoc Text 3 Len()=3 TINH (Matinh, Tentinh) TINH Field name Data type Field size Validation Rule Matinh (K) Text 2 Len()=2 Tentinh Text 20 Matinh: Maõ tænh NUOC (Manuoc, Tennuoc) NUOC Field name Data type Field size Validation Rule Manuoc(K) Text 3 Len()=3 Tennuoc Text 20 Manuoc: Maõ nöôùc, ñaùnh soá theo thöù töï chöõ caùi cuûa quoác gia Tennuoc: teân nöôùc hay quoác gia. DONVI (Madonvi, Tendonvi, Dienthoai, Masothue, Taikhoan, Matinh) DONVI Field name Data type Field size Validation Rule Madonvi (K) Text 12 Len()=12 Tendonvi Text 30 Dienthoai Text 10 Masothue Text 15 Taikhoan Text 12 Matinh Text 2 Len()=2 Madonvi: Maõ ñôn vò coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Madonvi=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") DOAøN (Madoan, Tendoan, Ngaydp, Ngaynp, SL_Phd, SL_khach, Madonvi,) DOAøN Field name Data type Field size Validation Rule Madoan (K) Text 12 Len()=12 Tendoan Text 30 Ngaydp Date Ngaynp Date SL_Phd Byte SL_khach Byte Madonvi Text 12 Madoan: Maõ ñoaøn coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Madoan=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") DOAN_KHACH (Makh, Madoan) DOAN_KHACH Field name Data type Field size Validation Rule Makh (K) Text 12 Len()=12 Madoan (K) Text 12 Len()=12 DATPHONG (Madp, Makh, Madoan , nhanphong) DATPHONG Field name Data type Field size Validation Rule Madp (K) Text 12 Len()=12 MaKH (K) Text 12 Len()=12 Madoan (K) Text 12 Len()=12 Nhanphong Yes/No Madp: Maõ ñaët phoøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Madp=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") Nhanphong: coù giaù trò laø yes khi khaùch nhaän phoøng. SUDUNGPHONG (Madp, Maphong, Ngaynp, Gionp, Ngaytp, Giotp, Giaphong, Traphong) SUDUNGPHONG Field name Data type Field size Validation Rule Madp (K) Text 12 Len()=12 Maphong Text 3 Len()=3 Ngaynp Date Gionp Date Ngaytp Date Giotp Date Giaphong Number Single Traphong Yes/No Madp: Maõ ñaët phoøng Maphong: soá phoøng thueâ Ngaynp: Ngaøy nhaän phoøng thöïc teá Gionp: giôø nhaän phoøng thöïc teá Ngaytp: Ngaøy traû phoøng thöïc teá Gionp: giôø traû phoøng thöïc teá Traphong: coù giaù trò laø Yes khi khaùch traû phoøng THANHTOANPHONG (MaTTPH, Madp, NgayTT, PhieuTT, TienTT) THANHTOANPHONG Field name Data type Field size Validation Rule MaTTPH(K) Text 12 Len()=12 Madp (K) Text 12 Len()=12 NgayTT Date PhieuTT Text 5 TienTT Number Single Maõ thanh toaùn phoøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Maõ TT phoøng=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") DICHVU (Madv, Tendv, Dvt, Maloai) DICHVU Field name Data type Field size Validation Rule Madv (K) Text 3 Len()=3 Tendv Text 20 Dvt Text 10 Maloai Text 2 Len()=2 Madv: Maõ dòch vuï goàm 3 kyù töï ñöôïc qui ñònh nhö sau : 001:phoøng; 002:ñieän thoaïi; 003:fax, . . . . Maloai: maõ loaïi dòch vuï LOAIDV (Maloai, Tenloai) LOAIDV Field name Data type Field size Validation Rule Maloai (K) Text 2 Len()=2 Tenloai Text 20 Maloai: Maõ loaïi goàm 2 kyù töï ñöôïc qui ñònh nhö sau : PH:phoøng; DV:dòch vuï; NH:nhaø haøng Tenloai: teân loaïi dòch vuï: Phoøng, dòch vuï, nhaø haøng SUDUNGDV (Masddv, ïMadp, Ngaysddv, Soluong, Dongia, Madvï) SUDUNGDV Field name Data type Field size Validation Rule Masddv (K) Text 12 Len()=12 Madp (K) Text 12 Len()=12 Ngaysddv Date Soluong Number Single Dongia Number Single Madv Text 3 Masddv: Maõ söû duïng dv coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Masddv=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") Ngaysddv: ngaøy söû duïng dòch vuï. THANHTOANDV (MaTTDV, Masddv, NgayTT, PhieuTT, TienTT) THANHTOANDV Field name Data type Field size Validation Rule MaTTDV (K) Text 12 Len()=12 Masddv(K) Text 12 Len()=12 NgayTT Date PhieuTT Text 5 TienTT Number Single III- MOÂ HÌNH HOÙA XÖÛ LYÙ III.1 - MOÂ HÌNH THOÂNG LÖÔÏNG : Nhaèm muïc ñích xaùc ñònh caùc luoàng thoâng tin trao ñoåi giöõa caùc boä phaän trong heä thoáng thoâng tin quaûn lyù. Moâ hình thoâng löôïng cuûa baøi toaùn quaûn lyù khaùch saïn ñöôïc bieåu dieãn nhö sau: Ban giaùm ñoác (1) Khaùch haøng Quaûn lyù phoøng (2) Leã taân (3) (3) (3) (5) Quaûn lyù Nhaø haøng Khaùch haøng - Leã taân : (1) Yeâu caàu ñaët phoøng, söû duïng dòch vuï, thanh toaùn tieàn (2) Traû lôøi yeâu caàu ñaët phoøng, söû duïng dòch vuï, thanh toaùn tieàn Leã taân – quaûn lyù phoøng: (3) Yeâu caàu giao phoøng cho khaùch. (4) Thoâng baùo hieän traïng phoøng. Leã taân – quaûn lyù nhaø haøng: (5) Yeâu caàu cung caáp dòch vuï nhaø haøng (6) Thoâng baùo tình hình cung caáp dòch vuï nhaø haøng Ban giaùm ñoác – Leã Taân: (7) Yeâu caàu baùo caùo doanh thu. (8) Traû lôøi yeâu caàu baùo caùo. III.2. MOÂ HÌNH QUAN NIEÄM XÖÛ LYÙ a/ Moâ hình quan nieäm xöû lyù: Muïc ñích nhaèm xaùc ñònh heä thoáng goàm nhöõng chöùc naêng gì ? Vaø caùc chöùc naêng naøy lieân heä vôùi nhau hö theá naøo ? ÔÛ möùc naøy chöa quan taâm caùc chöùc naêng ñoù ai laøm, laøm khi naøo vaø laøm ôû ñaâu. Danh saùch caùc coâng vieäc: Ñaêng kyù ñaët phoøng Ghi thoâng tin khaùch ñaët phoøng Boá trí vaø giao phoøng cho khaùch Ghi nhaän caùc dòch vuï khaùch söû duïng Khaùch traû phoøng Thanh toaùn tieàn phoøng vaø dòch vuï Baùo caùo doanh thu vaø quaûn trò Moâ hình quan nieäm xöû lyù: Ñaêng kyù ñaët phoøng Yes No Khaùch haøng Thoâng baùo khoâng nhaän Thoâng baùo nhaän Ghi thoâng tin khaùch Yes Coù thoâng tin khaùch ñaët phoøng (1) Giao phoøng cho khaùch Yes No Huyû nhaän phoøng In sô ñoà phoøng Khaùch söû duïng dòch vuï KS vaø NH Yes Traû phoøng Yes Ghi nhaän dòch vuï Khaùch yeâu caàu traû phoøng (1) In Baùo caùo doanh thu Yes No Haøng ngaøy Giao ban giaùm ñoác Khoâng coù doanh thu ngaøy In Baùo caùo thaùng Yes Doanh thu ñoaøn, toång hôïp dt Coâng suaát buoàng, danh saùch ñoaøn Cuoái thaùng Thanh toaùn tieàn Yes No In hoaù ñôn phoøng vaø dòch vuï In thoâng baùo nôï cho khaùch III.3. MOÂ HÌNH TOÅ CHÖÙC XÖÛ LYÙ Muïc tieâu laø xaùc ñònh roõ coâng vieäc do ai laø, laøm ôû ñaâu, laøm khi naøo vaø laøm theo phöông thöùc naøo. ÔÛ möùc naøy caùc coâng vieäc trong moâ hình quan nieäm xöû lyù ñöôïc gaén vaøo töøng nôi laøm vieäc cuï theå cuûa moâi tröôøng thöïc. III.3.1. Baûng coâng vieäc: Stt Teân coâng vieäc Nôi thöïc hieän Phöông thöùc Taàn suaát Chu kyø 1 Ñaêng kyù ñaët phoøng Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 2 Ghi thoâng tin khaùch ñaët phoøng Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 3 Boá trí vaø giao phoøng cho khaùch Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 4 Ghi nhaän caùc dòch vuï khaùch söû duïng Leã taân, nhaø haøng Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 5 Khaùch traû phoøng Khaùch haøng Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 6 Thanh toaùn tieàn phoøng vaø dòch vuï Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 7 Baùo caùo doanh thu vaø quaûn trò Ban Quaûn lyù Töï ñoäng 1 laàn/ng/thg 1 ng, thg III.3.1. Moâ hình toå chöùc xöû lyù: Moâ hình toå chöùc xöû lyù laø moâ hình lieân hoaøn caùc bieán coá, coâng vieäc vaø caùc bieán coá, coâng vieäc naøy ñöôïc ñaët taïi vò trí laøm vieäc cuï theå. Nhöõng bieán coá khoâng xuaát phaùt töø moät nôi laøm vieäc naøo ta ñaët treân ñöôøng phaân caùch giöõa hai nôi laøm vieäc. Moâ hình toå chöùc xöû lyù chöông trình khaùch saïn. KHAÙCH HAØNG LEÃ TAÂN NHAØ HAØNG BAN QL Ñaêng kyù ñaët phoøng Yes No Yeâu caàu ñaët phoøng Thoâng baùo nhaän Giao phoøng cho khaùch Yes No Ghi thoâng tin khaùch Yes Coù thoâng tin khaùch ñaët phoøng Khaùch söû duïng phoøng Khaùch khoâng thueâ phoøng (1) Khoâng ñaùp öùng ñöôïc In sô ñoà phoøng KHAÙCH HAØNG LEÃ TAÂN NHAØ HAØNG BAN QL Ghi nhaän dòch vu KS Yes (1) Baùo caùo doanh thu ngaøy Traû phoøng Yes Khaùch yeâu caàu traû phoøng Thanh toaùn tieàn Yes No Xuaát hoaù ñôn phoøng vaø dòch vuï In thoâng baùo nôï cho khaùch 2 Khaùch söû duïng dòch vuï KS-NH Ghi nhaän dòch vu NH Yes (1) KHAÙCH HAØNG LEÃ TAÂN NHAØ HAØNG BAN QL In Baùo caùo doanh thu No Yes Haøng ngaøy Giao boä phaän keá toaùn Khoâng coù doanh thu ngaøy In Baùo caùo thaùng Yes In Doanh thu ñoaøn, toång hôïp dt,… In Coâng suaát buoàng, danh saùch ñoaøn,… Cuoái thaùng 2 4. MOÂ HÌNH VAÄT LYÙ XÖÛ LYÙ Töø moâ hình toå chöùc xöû lyù ñaõ coù, ta bieán caùc thuû tuïc chöùc naêng (coâng vieäc) töï ñoäng thaønh caùc ñôn vò chöông trình. ÖÙng vôùi moãi ñôn vò chöông trình ta vieát moät ñaëc taû chi tieát ñeå chuaån bò cho vieäc laäp trình. Trong chöông trình quaûn lyù khaùch saïn naøy, theo caùch tieáp caän khoâng gian, vò trí laøm vieäc vaø chöùc naêng cuûa töøng boä phaän, chöông trình ñöôïc toå chöùc thaønh 3 chöông trình nhoû taïi 3 nôi: quaày leã taân, quaày nhaø haøng vaø phoøng quaûn lyù chung. Trong ñoù cô sôû döõ lieäu ñaët taïi phoøng quaûn lyù ñoùng vai troø moät Server. CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN THEO MOÂ HÌNH -B/caùo doanh thu -B/caùo coâng suaát buoàng -B/caùo toång hôïp khaùch -B/keâ toång hôïp doanh thu -In Sô ñoà phoøng Heä thoáng: -Ñaêng kyù ngöôøi duøng -Thieát keá sô ñoà phoøng -Sao löu CSDL -Chuyeån naêm laøm vieäc . . . SERVER: CSDL CLIENT: NHAØ HAØNG -Nhaäp dòch vuï nhaø haøng. -Quaûn lyù xuaát nhaäp haøng vaø dòch vu.ï CLIENT: LEÃ TAÂN -Ñaêng kyù ñaët phoøng -Nhaäp thoâng tin khaùch -Phaân phoøng -Quaûn lyù phoøng (chuyeån phoøng, traû phoøng) -Nhaäp dòch vuï KS IPO CHART a) IOP Chart Thieát keá sô ñoà phoøng : ñeå deã daøng theo doõi khaùch thueâ phoøng, moãi khaùch saïn ñeàu theå hieän hieän traïng phoøng baèng sô ñoà phoøng. Trong sô ñoà phoøng moãi phoøng öùng vôùi moät nuùt. Phoøng coù khaùch thì nuùt seõ coù maøu saùng. Khi caàn xem thoâng tin phoøng naøo chæ caàn nhaán chuoät vaøo phoøng coù maøu saùng. Do töøng khaùch saïn coù toång soá phoøng vaø söï boá trí vò trí caùc phoøng khaùc nhau neân seõ coù sô ñoà phoøng khaùc nhau. Coâng vieäc ñaàu tieân khi söû duïng chöông trình khaùch saïn laø taïo moät form ñeå thieát keá hay boá trí caùc phoøng cho thueâ cuûa khaùch saïn theo vò trí cuûa caùc phoøng trong khaùch saïn. Khi thieát keá xong, maùy seõ töï ñoäng ghi nhôù ñeå söû duïng sau naøy. IOP Chart Soá : 01 Vaøo : Table Phoøng Goïi : None Goïi bôûi : Main Menu (server) Ra : Phoøng Modun : Thieát keá sô ñoà phoøng Ngaøy :01/01/2000 Heä thoáng : Server Ngöôøi laäp :ABC Muïc tieâu : Thieát keá sô ñoà phoøng. Xöû lyù : -Taïo moät Form chöùa khoaûng 150 CommandButton vaø cho aån (Visible=false). -Khi Load form seõ ñoïc laàn löôït töøng baûn ghi cuûa Table Phoøng ñeå: .Gaùn maõ phoøng cho thuoäc tính Cation cuûa CommandButton .Cho thuoäc tính Visible cuûa CommandButton laø True. -Duøng chuoät di chuyeån caùc CommandButton tôùi vò trí mong muoán. -Löu thieát keá : gaùn toaï ñoä left, top hieän haønh cuûa töøng CommandButton vaøo töøng baûn ghi töông öùng trong Table Phoøng. b) IOP Chart Ñaët phoøng : modun nhaäp thoâng tin khaùch ñaët phoøng. Khi khaùch chính thöùc ñaët phoøng, ta duøng form naøy ñeå caäp nhaát thoâng tin cho ñoaøn vaø töøng khaùch trong ñoaøn. IOP Chart Soá : 02 Vaøo : Table ñaët phoøng, ñoaøn, ñôn vò, khaùch haøng Goïi bôûi : Main Menu (Client leã taân) Goïi : Tìm kieám khaùch Ra : Ñaët phoøng Modun : Ñaët phoøng Ngaøy :01/01/2000 Heä thoáng : Client Leã taân Ngöôøi laäp :NHLong Muïc tieâu : Nhaäp thoâng tin khaùch ñaët phoøng. Xöû lyù : Taïo moät Form ñaët phoøng. Trong Form naøy taïo caùc combo box choïn ñôn vò, tænh, quoác tòch ñeå caäp nhaäp thoâng tin cho moät ñoaøn vaø caùc khaùch haøng coù trong ñoaøn. Maõ soá ñoaøn, maõ ñaët phoøng, maõ khaùch haøng môùi coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: =Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") Taïo moät DataGrid ñeå chöùa taïm thôøi danh saùch caùc vò khaùch ñi chung ñoaøn. Trong Form naøy cho pheùp doø tìm töï ñoäng moät vò khaùch trong hoaëc ngoaøi nöôùc ñaõ ñöôïc löu tröôùc ñoù trong CSDL baèng khoaù laø CMND, soá hoä chieáu hay teân, tænh. c) IOP Chart phaân phoøng: modun boá trí töøng khaùch trong ñoaøn vaøo töøng phoøng. IOP Chart Soá : 03 Ra : Ñaët phoøng, söû duïng phoøng Vaøo : Table ñaët phoøng, phoøng, söû duïng phoøng Goïi bôûi : Main Menu (Client leã taân) Goïi : Sô ñoà phoøng Modun : Phaân phoøng Ngaøy :01/01/2000 Heä thoáng : Client Leã taân Ngöôøi laäp : NHLong Muïc tieâu : Boá trí khaùch vaøo phoøng. Xöû lyù : Trong Form naøy goàm moät DataGrid chöùa danh saùch khaùch ñaët phoøng (nguoàn laáy töø Query Datphong coù ñieàu kieän Nhanphong=No). Moät DataGrid chöùa taïm caùc khaùch haøng ñöôïc choïn ra cho moãi phoøng, sau moõi laàn nhaän phoøng seõ töï ñoäng bò xoaù. Moät Combo duøng ñeå hieän soá phoøng. Khi boá trí xong phoøng naøo thì nhöõng Record ñöôïc choïn vaøo cuøng 1 phoøng trong Table “Dat phong” seõ coù Nhanphong=Yes ñoàng thôøi Table “Su dung Phong” seõ ñöôïc theâm töøng aáy record vôùi cuøng töông öùng maõ ñaët phoøng. d) IOP Chart Phoøng: modun hieän thò thoâng tin cuûa moät phoøng, thöïc hieän caùc taùc vuï: nhaäp dòch vuï khaùch saïn, chuyeån vaø traû phoøng. IOP Chart Soá : 04 Vaøo : Table phoøng, söû duïng phoøng, söû duïng dv. Goïi : Sô ñoà phoøng Goïi bôûi : Sô ñoà phoøng (Client leã taân) Ra : söû duïng phoøng, söû duïng dv Modun : Phoøng Ngaøy :01/01/2000 Heä thoáng : Client Leã taân Ngöôøi laäp : NHLong Muïc tieâu : Xem thoâng tin phoøng vaø nhaäp dv khaùch saïn, chuyeån vaø traû phoøng. Xöû lyù : Trong Form naøy goàm MSFlexGrid chöùa danh saùch khaùch coù trong phoøng. Moät DataGrid chöùa caùc dòch vuï maø khaùch ñaõ söû duïng, coù theå choïn xem caùc dòch vuï cuûa töøng vò khaùch hay caû phoøng. -Taïo moät command button chuyeån taát caû khaùch vaø dòch vuï töø phoøng naøy sang phoøng khaùc. -Taïo moät command button chuyeån moät vò khaùch cuøng dòch vuï sang phoøng khaùc. -Taïo moät command button thöïc hieän chöùc naêng traû phoøng. -Taïo muïc choïn in: cho pheùp in rieâng tieàn phoøng hoaëc in dòch vuï hoaëc ñoàng thôøi caû hai. e) IOP Chart Quaûn lyù ñoaøn : modun quaûn lyù ñoaøn. IOP Chart Soá : 05 Ra : söû duïng phoøng, söû duïng dv. Goïi bôûi : Main Menu Goïi : Nhaäp dòch vuï ñoaøn Vaøo : Table ñoaøn, ñôn vò, khaùch haøng, söû duïng phoøng, söû duïng dv Modun : Quaûn lyù ñoaøn Ngaøy :01/01/2000 Heä thoáng : Server, Client Leã taân Ngöôøi laäp :NHLong Muïc tieâu : Quaûn lyù thoâng tin ñoaøn. Xöû lyù : Taïo moät Form quaûn lyù ñoaøn. Trong Form naøy taïo 2 VscrollBar ñeå choïn thaùng vaø naêm caàn xem. -Taïo coâng cuï tìm kieám moät ñoaøn hay ñôn vò naøo ñoù. -Taïo 3 DataGrid: .DataGrid ñoaøn: chöùa danh saùch caùc ñoaøn ñaõ choïn theo thôøi gian: SQLlocdoan mthang, mnam, mtendoan, mdonvi DE.Commands.Item("Qdoan").CommandText =”Select From Qdoan Where (month(ngaydknp)=mthang) and (year(ngaydknp)=mnam) and (tendoan=mtendoan) and (tendv=mdonvi)” Griddsdoan.DataMember = "Qdoan" .DataGrid DSKh: chöùa danh saùch khaùch cuûa ñoaøn ñöôïc choïn .DataGrid sddv: chöùa caùc dòch vuï ñaõ söû duïng cuûa töøng ñoaøn ñöôïc choïn. -Taïo moät command button ñeå in dòch vuï cuûa ñoaøn -Taïo moät command button cho pheùp traû phoøng caû ñoaøn -Taïo moät command button ñeå nhaäp dòch vuï cho caû ñoaøn. PHAÀN II: NOÄI DUNG CHÖÔNG TRÌNH (SÖÛ DUÏNG NGOÂN NGÖÕ VISUAL BASIC) I- Giôùi thieäu caùc neùt chính cuûa ngoân ngöõ VISUAL BASIC Visual Basic laø moät ngoân ngöõ thaûo chöông hoaøn thieän vaø hoaït ñoäng theo kieåu ñieàu khieån bôûi söï kieän ( Event - Driven programming language ) nhöng laïi raát gioáng ngoân ngöõ thaûo chöông coù caáu truùc ( Structured programming language ) Noù cuøng hoã trôï caùc caáu truùc : Caáu truùc IF … THEN … ELSE Caùc caáu truùc laëp (Loops) Caáu truùc reõ nhaùnh ( Select Case ) Haøm ( Function ) vaø chöông trình con ( Subroutines ) Visual Basic ñöa ra phöông phaùp laäp trình môùi, naâng cao toác ñoä laäp trình. Cuõng nhö caùc ngoân ngöõ khaùc, moãi phieân baûn môùi cuûa Visual Basic ñeàu chöùa ñöïng nhöõng tính naêng môùi chaúng haïn Visual Basic 2.0 boå sung caùch ñôn giaûn ñeå ñieàu khieån caùc cô sôû döõ lieäu maïnh nhaát coù saün, Visual Basic 4.0 boå sung theâm phaàn hoã trôï phaùt trieãn 32-bit vaø baét ñaåu chuyeån sang thaønh moät ngoân ngöõ laäp trình höôùng ñoái töôïng ñaày ñuû, ñeán Visual Basic 6.0 hoã trôï nhieàu tính naêng maïnh chaúng haïn OLE DB ñeå laäp trình döõ lieäu. Caùc laäp trình vieân ñaõ coù theå duøng Visual Basic 6.0 ñeå töï môû roäng Visual Basic . Visual Basic coù saün caùc coâng cuï nhö : caùc hoäp vaên baûn ,caùc nuùt leänh, caùc nuùt tuøy choïn, caùc hoäp kieåm tra, caùc hoäp lieät keâ, caùc thanh cuoän, caùc hoäp thö muïc vaø taäp tin ... Coù theå duøng caùc khung keû oâ ñeå quaûn lyù döõ lieäu theo daïng baûng, lieân laïc vôùi caùc öùng duïng Windows khaùc, truy caäp caùc cô sôû döõ lieäu goïi chung laø ñieàu khieån thoâng qua coâng ngheä OLE cuûa Microsoft. Visual Basic coøn hoã trôï cho vieäc laäp trình baèng caùch hieän taát caû tính chaát cuûa ñoái töôïng moãi khi ta ñònh duøng ñeán noù. Ñaây laø ñieåm maïnh cuûa caùc ngoân ngöõ laäp trình hieän ñaïi. Caùc böôùc thieát keá moät öùng duïng Visual Basic: Xaây döïng caùc cöûa soå maø ngöôøi duøng seõ thaáy. Quyeát ñònh nhöõng söï kieän maø caùc ñieàu khieån treân cöûa soå seõ nhaän ra. Vieát caùc thuû tuïc söï kieän cho caùc söï kieän ñoù (caùc thuû tuïc con khieán cho caùc thuû tuïc söï kieän ñoù laøm vieäc ). Caùc noäi dung dieãn ra khi öùng duïng ñang chaïy : Visual Basic giaùm saùt caùc cöûa soå vaø caùc ñieàu khieån trong töøng cöûa soå cho taát caû moïi söï kieän maø töøng ñieàu khieån coù theå nhaän ra (caùc chuyeån ñoäng chuoät, caùc thao taùc nhaép leân chuoät, di chuyeån, caùc goõ phím...) Khi Visual Basic phaùt hieän moät söï kieän , neáu khoâng coù moät ñaùp öùng taïo saün cho söï kieän ñoù, Visual Basic seõ xem xeùt öùng duïng ñeå kieåm tra ngöôøi duøng ñaõ vieát thuû tuïc cho söï kieän ñoù hay chöa. Neáu ñaõ vieát roài , Visual Basic seõ thi haønh vaø hình thaønh neân thuû tuïc söï kieän ñoù vaø quay trôû laïi böôùc ñaàu tieân. Neáu chöa vieát thuû tuïc söï kieän , Visual Basic seõ chôø söï kieän keá tieáp roài quay veà böôùc ñaàu tieân. Caùc böôùc naøy quay voøng cho ñeán khi öùng duïng keát thuùc. Sau khi ñaõ tìm hieåu theá naøo laø hoaït ñoäng theo kieåu ñieàu khieån bôûi söï kieän vaø caùc hoå trôï cuûa Visual Basic, chuùng ta seõ thaáy ñaây laø moät coâng cuï laäp trình deå chòu vaø coù xu höôùng trôû thaønh moâi tröôøng laäp trình hoaøn haûo cho nhöõng naêm saép tôùi . II- MOÂ HÌNH CLIENT – SERVER 1/ Giôùi thieäu moâ hình Client – Server : Moâ hình Client - Server laø moät kyõ thuaät tính toaùn, trong ñoù Client ñôn giaûn laø moät ñoái töôïng caàn ñöôïc phuïc vuï, thoâng thöôøng laø caùc öùng duïng caàn ñeán döõ lieäu hay dòch vuï töø chöông trình khaùc vaø Server laø ñoái töôïng phuïc vuï nhöõng yeâu caàu ñoù do nhieàu Client gôûi ñeán. Moãi khi caàn ñöôïc phuïc vuï, Client seõ taïo moät caàu noái ñeán Server vaø gôûi yeâu caàu noù caàn. Sau khi ñaõ ñaït ñöôïc söï phuïc vuï, Client seõ ngaét caàu noái vaø trôû veà traïng thaùi nhö moät chöông trình bình thöôøng . Vieäc öùng duïng moâ hình Client - Server seõ laøm giaûm chi phí, ñoàng thôøi laøm taêng toác ñoä, ñieàu naøy raát caàn thieát trong vieäc truy caäp döõ lieäu. 2/ Moâ hình Client – Server : Caùc moâ hình caên baûn sau: a) One – tier model: Moâ hình Chöông trình öùng duïng (Application Programing) phaûi laøm taát caû caùc coâng vieäc nhö theâm vaøo, xoùa, caäp nhaät, thay ñoåi chæ muïc treân döõ lieäu vaø hieån thò keát quaû cho ngöôøi duøng. Ñoøi hoûi ngöôøi duøng phaûi hieåu bieát nhieàu veà caáu truùc leänh do ñoù chöông trình öùng duïng phaûi xöû lyù nhieàu coâng vieäc vaø trôû neân naëng neà. b) Two – tier model Moâ hình -Application Programing : cung caáp moät giao dieän thaân thieän ñeå thoâng qua ñoù ngöôøi duøng coù theå thöïc hieän caùc thao taùc treân döõ lieäu maø khoâng caàn phaûi bieát nhieàu veà caáu truùc leänh. -Database Server : laø caùc Server nhö Oracle server, SQL server ... thöïc hieän caùc yeâu caàu gôûi tôùi töø phía Application Programing thoâng qua caùc caâu leänh SQL vaø traû keát quaû veà cho Application Programing, Application Programing hieån thò keát quaû cho ngöôøi duøng. Ta thaáy, soá löôïng coâng vieäc ñaõ ñöôïc chia xeû giöõa Application Programing vaø Database Server neân ngöôøi duøng deã söû duïng hôn. c) Three – tier model Moâ hình Moâ hình 3 lôùp hay coøn goïi laø moâ hình n lôùp. Trong ñoù lôùp Client laø moät chöông trình raát nhoû, chæ chöùa vöøa ñuû maõ ñeå thöïc hieän vieäc giao tieáp vôùi ngöôøi duøng moät caùch thaân thieän. Moâ hình naøy coøn ñöôïc goïi laø moâ hình n lôùp vì lôùp giöõa bao goàm nhieàu thaønh phaàn, moãi thaønh phaàn coù taùc duïng rieâng ñeå trao ñoåi vôùi lôùp Client vaø lôùp Server thaät. 3/ Truy caäp döõ lieäu trong Visual Basic : Moâ hình minh hoaï söï truy caäp döõ lieäu trong VB Trong chöông trình quaûn lyù khaùch saïn naøy, em söû duïng moâ hình 3 lôùp vôùi phöông phaùp truy caäp ADO (ActiveX Data Object). ADO laø phöông phaùp truy caäp döõ lieäu thoâng qua OLE DB. Ñeán VB 6 thì ñaây ñöôïc xem nhö laø phöông phaùp truy caäp döõ lieäu chuû yeáu. Noù ñöôïc hoå trôï maïnh baèng caùc thaønh phaàn môùi coù ghi chuù (OLE DB). Vieäc hieån thò döõ lieäu cuõng nhö caùc taäp hôïp keát quaû traû veà ñeàu tieän lôïi. Caùc thaønh phaàn cuûa ADO: 4/ Caùch keát noái döõ lieäu thoâng qua OLE DB trong VB : a/ Keát noái vôùi CSDL: Caùc böôùc thöïc hieän thoâng qua giao dieän: Taïi cöûa soå döï aùn ñang laøm vieäc vaøo menu Project / More ActiveX Designers. . .-> Data Environment, hoäp thoaïi hieän ra nhö sau: Ñaët teân cho keát noái Connection1 baèng caùch nhaán chuoät vaøo bieåu töôïng (Properties Windows), ñieàn teân vaøo muïc Name. Choïn vaø nhaán chuoät phaûi taïi teân keát noái, choïn Properties töø menu taét, khi ñoù hoäp thoaïi Data Link Properties xuaát hieän nhö hình beân. Töø ñaây ta choïn moät trong caùc kieåu cung caáp söï truy caäp döõ lieäu ñeán caùc CSDL khaùc nhau. Ñeå keát noái vôùi CSDL Microsoft Access 97 ta choïn Microsoft Jet 3.51 OLE DB Provider vaø nhaán Next>>. Hoäp thoaïi tieáp theo hieän ra ñeå ta cung caáp ñöôøng daãn vaø teân cuûa CSDL muoán keát noái. Neáu CSDL ñaët taïi maùy khaùc thì ñöôøng daãn xaùc ñònh nhö sau: \\\ Ñeå kieåm tra vieäc keát noái tôùi CSDL coù thaønh coâng hay khoâng ta nhaán vaøo nuùt Test Connection. Neáu thoâng baùo hieän ra “Test Connection succeeded” laø ta ñaõ keát noái ñöôïc, ngöôïc laïi ta phaûi kieåm tra xem ñöôøng daãn vaø teân CSDL ñaõ nhaäp ñuùng chöa. Tröôøng hôïp CSDL ñöôïc baûo veä baèng maät khaåu, ñeå truy caäp ñöôïc ta phaûi thöïc hieän nhö sau: -Töø hoäp thoaïi Data Link Properties vaøo Tab All. -Choïn doøng Jet OLEDB: Database Password roài nhaán nuùt Edit Value… -Cung caáp maät khaåu cuûa CSDL taïi muïc Property Value roài nhaán OK ñeå hoaøn thaønh. b/ Ñoái töôïng Command : Ñoái töôïng Command laø thaønh phaøn raát quan troïng cuûa ADO. Noù cho pheùp ñònh nghóa moät recordset ñöôïc laáy töø caùc Table/Query trong moät Database hay töø caâu leänh SQL. Ñeå taïo moät command töø Deconnect, ta choïn bieåu töôïng Add Command töø hoäp thoaïi DE(Data Environment), hoäp thoaïi xuaát hieän nhö hình döôùi: -Command Name: ñaët teân cho Command -Connection: choïn keát noái cho Command -Source of Data: nguoàn döõ lieäu, coù theå laø: .Database Object: choïn ñoái töôïng CSDL, coù theå laø table, view (query) hay moät thuû tuïc. Ñònh nghóa moät command teân Khachhang söû duïng nguoàn döõ lieäu töø moät Table teân Khachhang .SQL Statement: xaây döïng caâu leänh SQL Ñònh nghóa moät command teân Qsudungphong töø caâu leänh SQL söû duïng nguoàn döõ lieäu laø Query Qsudungphong coù tham soá ñi keøm. Khi ñònh nghóa moät Command coù söû duïng caâu leänh SQL, ta coù theå söû duïng tham soá (parameters) ñeå truyeàn giaù trò cho Command xöû lyù. Ngoaøi ra trong Command ta coù theå thieát laäp moái quan heä môùi, nhoùm thuoäc tính vaø ñaëc bieät taïo ra caùc Command con (child command) cuûa noù. III- Giao dieän – Maõ leänh (Code) cuûa moät soá modun trong chöông trình QLKS 1. Form thieát keá – boá trí sô ñoà phoøng Maõ leänh: Dim cmdso As Integer Private Sub cmdluu_Click() Dim i With DE.rsPhong .Open If .RecordCount > 0 Then i = 1 .MoveFirst Do While Not (.EOF) If cmdphong(i).Visible Then .Fields("x") = cmdphong(i).Left .Fields("y") = cmdphong(i).Top .MoveNext i = i + 1 End If Loop End If .Close End With End Sub ‘---------------------------------------------------------- Private Sub cmdphong_Click(Index As Integer) cmdso = Index End Sub ‘---------------------------------------------------------- Private Sub Form_Load() cmdso = 1 Dim i With DE.rsPhong .Open If .RecordCount > 0 Then i = 1 .MoveFirst Do While Not (.EOF) cmdphong(i).Visible = True cmdphong(i).Caption = .Fields("maphong") .MoveNext i = i + 1 Loop End If .Close End With End Sub ‘---------------------------------------------------------- Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdphong(cmdso).Move X, Y End Sub ‘---------------------------------------------------------- Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) txtxy.Text = X & "," & Y End Sub 2. Form boá trí (giao) phoøng cho khaùch: Maõ leänh: Dim i Private Sub cmdbot_Click() With DE.rsTmp_chonph If .RecordCount > 0 Then .Delete i = i - 1 End If End With End Sub ‘---------------------------------------------------------- Private Sub cmdcat_Click() Unload Me End Sub ‘---------------------------------------------------------- Private Sub Cmdnhanphong_Click() Dim madp With DE.rsTmp_chonph If .RecordCount > 0 Then i = 0 .MoveFirst Do While Not (.EOF) madp = .Fields("madp") 'Update [nhan phong]=yes cua Query dat phong With DE.rsQdatphong If .RecordCount > 0 Then .MoveFirst Do While Not (.EOF) If .Fields("madp") = madp Then .Fields("nhanphong").Value = 1 Exit Do Else .MoveNext End If Loop End If End With 'Update table su dung phong With DE.rsSudungphong .Open .AddNew .Fields("madp") = madp .Fields("maphong") = Dcbophong.Text .Fields("ngaynp") = txtngaynhan.Text .Fields("gionp") = txtgionhan.Text .Fields("giaphong") = txtgiaphong.Text .Update .Close End With .Delete .MoveNext Loop End If End With DE.rsQdatphong.Requery Griddp.DataMember = "Qdatphong" Griddp.Refresh 'Update table phong With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbophong.Text Then .Fields("CK") = 1 End If .MoveNext Loop End With End Sub ‘---------------------------------------------------------- Private Sub Cmdsodo_Click() openphong = True Load frmsodoph frmsodoph.Show End Sub ‘---------------------------------------------------------- Private Sub cmdthem_Click() Dim madp If DE.rsQdatphong.RecordCount > 0 Then madp = Griddp.Columns(4) With DE.rsTmp_chonph If .RecordCount > 0 Then .MoveFirst Do While Not (.EOF) If .Fields("madp") = madp Then MsgBox "§· chän kh¸ch nµy råi", vbCritical, "" Exit Sub Else .MoveNext End If Loop End If i = i + 1 .AddNew .Fields("stt") = i .Fields("tenkh") = Griddp.Columns(0) .Fields("CMND") = Griddp.Columns(3) .Fields("madp") = Griddp.Columns(4) End With End If End Sub ‘---------------------------------------------------------- Private Sub Dcbophong_LostFocus() Dim tim As Boolean tim = False With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbophong.Text Then tim = True Exit Do Else .MoveNext End If Loop If Not tim Then MsgBox "Kh«ng cã phßng nµy", vbCritical, "L­u ý" Dcbophong.SetFocus End If End With End Sub ‘---------------------------------------------------------- Private Sub Form_Load() txtngaynhan.Text = Date txtgionhan.Text = Time i = 0 End Sub ‘---------------------------------------------------------- Private Sub gridchon_Click() cmdbot.Enabled = True End Sub ‘---------------------------------------------------------- Private Sub Griddp_Click() cmdthem.Enabled = True End Sub ‘---------------------------------------------------------- Private Sub txtgionhan_Click() txtgionhan.Text = Time End Sub ‘---------------------------------------------------------- Private Sub txtgionhan_LostFocus() If Not IsDate(txtgionhan.Text) Then MsgBox "NhËp giê sai", vbCritical, "L­u ý" txtgionhan.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtngaynhan_Click() txtngaynhan.Text = Date End Sub ‘---------------------------------------------------------- Private Sub txtngaynhan_LostFocus() If Not IsDate(txtngaynhan.Text) Then MsgBox "NhËp ngµy sai", vbCritical, "L­u ý" txtngaynhan.SetFocus End If End Sub 3. Form thoâng tin phoøng: Maõ leänh: Dim st, sdnut As Boolean Dim timsp As Boolean Private Sub cmdcat_Click() openphong = True Unload Me If sdnut Then Unload frmsodoph Load frmsodoph frmsodoph.Show End If End Sub ‘---------------------------------------------------------- Private Sub cmdchuyenkh_Click() If MsgBox("Coù chuyeån khaùch naøy sang phoøng khaùc khoâng?", vbYesNo, "Chuyeån khaùch", 0, 0) = vbYes Then If timsp And (Dcbsoph.Text "") And (txttenkh.Text "") Then sdnut = True With DE.rsChuyentraphong .Open .MoveFirst Do While Not (.EOF) If (.Fields("maphong") = lbsp.Caption) And (.Fields("madp") = txtmadp.Text) Then .Fields("maphong") = Dcbsoph.Text .Update Exit Do Else .MoveNext End If Loop .Close End With 'Update table phong, ñaùnh daáu phoøng coù khaùch With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbsoph.Text Then .Fields("CK") = 1 Exit Do Else .MoveNext End If Loop End With '---------------------------------------- fgrid.Col = 1: fgrid.Text = "" fgrid.Col = 2: fgrid.Text = "" Else MsgBox "Khoâng chuyeån ñöôïc, haõy kieåm tra laïi", vbCritical, "Löu yù" End If End If End Sub ‘---------------------------------------------------------- Private Sub cmdchuyenphong_Click() If timsp And (Dcbsoph.Text "") Then sdnut = True DE.Qsudungphong (Dcbsoph.Text) If DE.rsQsudungphong.RecordCount > 0 Then DE.rsQsudungphong.Close If MsgBox("Phoøng naøy ñaõ coù khaùch, coù chuyeån sang khoâng?", vbYesNo, "Chuyeån phoøng", 0, 0) = vbYes Then Chuyenphong End If Else DE.rsQsudungphong.Close Chuyenphong End If Else MsgBox "Khoâng coù phoøng naøy", vbCritical, "L­u ý" End If End Sub ‘---------------------------------------------------------- Private Sub cmdInhd_Click() Dim tde, mtenkh tde = " Chi tieát Hoaù ñôn phoøng " & lbsp.Caption If Optall Then Imgtim_Click End If If optph Then mtenkh = "%" + txttenkh.Text + "%" SQLph sophong, mtenkh DE.Commands.Item("Qsudungdv").CommandText = st Gridsddv.DataMember = "Qsudungdv" DE.rsQsudungdv.Close End If If optdv Then mtenkh = "%" + txttenkh.Text + "%" SQLdv sophong, mtenkh DE.Commands.Item("Qsudungdv").CommandText = st Gridsddv.DataMember = "Qsudungdv" DE.rsQsudungdv.Close End If rpthdphong.Title = tde rpthdphong.Show End Sub ‘---------------------------------------------------------- Private Sub cmdnhapdv_Click() 'Update table su dung dv If txtmadp.Text "" Then With DE.rsSudungdv .Open .AddNew .Fields("masddv") = Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") .Fields("ngaysddv") = txtngay.Text .Fields("madp") = txtmadp.Text .Fields("madv") = txtmadv.Text .Fields("diengiai") = txtdiengiai.Text .Fields("soluong") = Val(txtsl.Text) .Fields("dongia") = Val(txtdongia.Text) .Update .Close End With Imgtim_Click Else MsgBox "Chöa choïn khaùch", vbCritical, "Löu yù" End If End Sub ‘---------------------------------------------------------- Private Sub cmdtraphong_Click() If MsgBox("Coù traû phoøng naøy khoâng?", vbYesNo, "Traû phßng", 0, 0) = vbYes Then 'Update table phong sdnut = True With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = sophong Then .Fields("CK") = 0 Exit Do Else .MoveNext End If Loop End With '---------------------------------------- With DE.rsChuyentraphong .Open .MoveFirst Do While Not (.EOF) If .Fields("maphong") = lbsp.Caption Then .Fields("ngaytp") = txtngaytra.Text .Fields("giotp") = txtgiotra.Text .Fields("traphong") = 1 End If .MoveNext Loop .Close End With cmdcat_Click End If End Sub ‘---------------------------------------------------------- Private Sub cmdxoa_Click() Dim masddv masddv = Gridsddv.Columns(8) With DE.rsSudungdv .Open .MoveFirst Do While Not (.EOF) If .Fields("masddv") = masddv Then .Delete Exit Do Else .MoveNext End If Loop .Close End With Imgtim_Click End Sub ‘---------------------------------------------------------- Private Sub Dcbdv_LostFocus() Dim tim As Boolean tim = False With DE.rsDichvu .MoveFirst Do While Not (.EOF) If (.Fields("tendv") = Dcbdv.Text) Or (Dcbdv.Text = "") Then txtmadv.Text = .Fields("madv") tim = True Exit Do Else .MoveNext End If Loop If Not tim Then MsgBox "Khoâng coù dv naøy", vbCritical, "L­u ý" Dcbdv.SetFocus End If End With End Sub ‘---------------------------------------------------------- Private Sub Dcbsoph_Click(Area As Integer) cmdchuyenphong.Enabled = True cmdchuyenkh.Enabled = True End Sub ‘---------------------------------------------------------- Private Sub Dcbsoph_LostFocus() timsp = False With DE.rsPhong .MoveFirst Do While Not (.EOF) If (.Fields("maphong") = Dcbsoph.Text) Or (Dcbsoph.Text = "") Then timsp = True Exit Do Else .MoveNext End If Loop If Not timsp Then MsgBox "Khoâng coù phoøng naøy", vbCritical, "L­u ý" Dcbsoph.SetFocus End If End With End Sub ‘---------------------------------------------------------- Private Sub fgrid_Click() fgrid.Col = 1 txttenkh.Text = fgrid.Text fgrid.Col = 3 txtmadp.Text = fgrid.Text End Sub ‘---------------------------------------------------------- Private Sub Form_Load() Dim i, j sdnut = False txtngay.Text = Date lbsp.Caption = sophong fgrid.Row = 0 fgrid.ColWidth(0) = 0: fgrid.ColWidth(1) = 2500: fgrid.Col = 1: fgrid.Text = " Teân Khaùch haøng" fgrid.ColWidth(2) = 1300: fgrid.Col = 2: fgrid.Text = "CMND/HC" i = 1 With DE.rsQsudungphong .MoveFirst txttendoan.Text = .Fields("tendoan") & " - " & .Fields("tendonvi") If .Fields("tentinh") "" Then txtdiachi.Text = .Fields("tentinh") Else txtdiachi.Text = " " End If txtngaynp.Text = .Fields("ngaynp") txtgionp.Text = .Fields("gionp") Do While Not (.EOF) fgrid.Row = i fgrid.Col = 1: fgrid.Text = .Fields("tenkh") fgrid.Col = 2: fgrid.Text = .Fields("cmnd") fgrid.Col = 3: fgrid.Text = .Fields("madp") .MoveNext i = i + 1 Loop .Close End With 'Laáy thoâng tin veà söû duïng dòch vuï Imgtim_Click End Sub ‘---------------------------------------------------------- Public Sub SQLsddv(soph, mtenkh) st = "" st = st + "Select *" st = st + " From Qsudungdv" st = st + " Where maphong Like " + """" + soph + """" st = st + " and tenkh Like " + """" + mtenkh + """" End Sub ‘---------------------------------------------------------- Public Sub SQLdv(soph, mtenkh) st = "" st = st + "Select *" st = st + " From Qsudungdv" st = st + " Where maphong Like " + """" + soph + """" st = st + " and tenkh Like " + """" + mtenkh + """" st = st + " and tendv " + """" + "Phßng" + """" End Sub ‘---------------------------------------------------------- Public Sub SQLph(soph, mtenkh) st = "" st = st + "Select *" st = st + " From Qsudungdv" st = st + " Where maphong Like " + """" + soph + """" st = st + " and tenkh Like " + """" + mtenkh + """" st = st + " and tendv Like " + """" + "Phßng" + """" End Sub ‘---------------------------------------------------------- Private Sub Gridsddv_Click() cmdxoa.Enabled = True End Sub Private Sub imghien_Click() txttenkh.Text = "" Imgtim_Click End Sub ‘---------------------------------------------------------- Private Sub Imgtim_Click() Dim mtenkh mtenkh = "%" + txttenkh.Text + "%" SQLsddv sophong, mtenkh DE.Commands.Item("Qsudungdv").CommandText = st Gridsddv.DataMember = "Qsudungdv" DE.rsQsudungdv.Close End Sub ‘---------------------------------------------------------- Public Sub Chuyenphong() 'Update table phong With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbsoph.Text Then .Fields("CK") = 1 End If If .Fields("maphong") = lbsp.Caption Then .Fields("CK") = 0 End If .MoveNext Loop End With '---------------------------------------- With DE.rsChuyentraphong .Open .MoveFirst Do While Not (.EOF) If .Fields("maphong") = lbsp.Caption Then .Fields("maphong") = Dcbsoph.Text End If .MoveNext Loop .Close End With lbsp.Caption = Dcbsoph.Text End Sub ‘---------------------------------------------------------- Private Sub txtdongia_LostFocus() If Not IsNumeric(txtdongia.Text) Then MsgBox "Nhaäp sai kieåu döõ lieäu", vbCritical, "Löu yù" txtdongia.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtgiotra_Click() txtgiotra.Text = Time End Sub ‘---------------------------------------------------------- Private Sub txtgiotra_LostFocus() If Not IsDate(txtgiotra.Text) Then MsgBox "Nhaäp giôø sai", vbCritical, "Löu yù" txtgiotra.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtngay_Click() txtngay.Text = Date End Sub ‘---------------------------------------------------------- Private Sub txtngaytra_Click() txtngaytra.Text = Date End Sub ‘---------------------------------------------------------- Private Sub txtngaytra_LostFocus() If Not IsDate(txtngaytra.Text) Then MsgBox "Nhaäp ngaøy sai", vbCritical, "Löu yù" txtngaytra.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtsl_LostFocus() If Not IsNumeric(txtsl.Text) Then MsgBox "Nhaàp soá löôïng khoâng ñuùng kieåu", vbCritical, "Löu yù" txtsl.SetFocus End If End Sub PHAÀN IV : KEÁT LUAÄN – HÖÔÙNG PHAÙT TRIEÅN I. KEÁT LUAÄN Baèng vieäc xaây döïng chöông trình Quaûn Lyù Khaùch saïn theo moâ hình Server/Client, seõ giuùp cho caùc boä phaän nhö leã taân, nhaø haøng töï ñoäng hoùa phaàn lôùn coâng vieäc cuûa mình, laøm taêng naêng suaát vaø hieäu quaû coâng vieäc. Treân cô sôû ñoù giuùp ban giaùm ñoác nhanh choùng kieåm tra, toång hôïp, laáy keát quaû ñeå naém baét ñöôïc dieãn bieán khaùch haøng, khaû naêng ñaùp öùng nhu caàu töø ñoù ñeà ra caùc quyeát ñònh, phöông aùn kinh doanh kòp thôøi nhaát. Toùm laïi, nhôø söï höôùng daãn nhieät tình cuûa thaày Nguyeãn Höõu Troïng vaø söï coá gaéng cuûa baûn thaân, chöông trình Quaûn Lyù Khaùch saïn ôû treân ñöôïc hoaøn thaønh, töông ñoái ñaùp öùng ñöôïc nhu caàu caäp nhaät, truy vaán thoâng tin nhanh choùng vaø giaûi quyeát ñöôïc vieäc toå chöùc nhaát quaùn cô sôû döõ lieäu trong löu tröõ thoâng tin. Tuy nhieân chöông trình vaãn coøn nhöôïc ñieåm , thieáu soùt caàn ñöôïc hoaøn thieän trong thôøi gian tôùi. Em raát mong nhaän ñöôïc söï goùp yù cuûa caùc Thaày Coâ vaø caùc baïn quan taâm ñeán vaán ñeà naøy. II. HÖÔÙNG PHAÙT TRIEÅN Ngoaøi vieäc tieáp tuïc naâng caáp vaø hoaøn thieän chöông trình Quaûn Lyù Khaùch saïn hieän nay. Trong höôùng tôùi, chöông trình Quaûn Lyù Khaùch saïn seõ ñöôïc boå sung ñeå keát noái töï ñoäng hoaëc baùn töï ñoäng vôùi chöông trình keá toaùn cuûa Khaùch saïn vì nhö hieän nay chöa lieân keát ñöôïc. Ngoaøi ra chöông trình seõ xaây döïng theâm phaàn quaûn lyù cô sôû vaät chaát, quaûn lyù qui trình phuïc vuï buoàng, phoøng cuûa Khaùch saïn, quaûn lyù coâng taùc nhaäp xuaát haøng cuûa boä phaän Nhaø haøng. MOÄT SOÁ BIEÅU MAÃU IN RA GIAÁY CUÛA CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN 1. Baûng keâ söû duïng dòch vuï vaø nhaø haøng cuûa khaùch cho töøng phoøng: BAÛNG KEÂ DÒCH VUÏ ÑAÕ SÖÛ DUÏNG Phoøng:……………… Loaïi:…………………………… Ngaøy nhaän phoøng:…………………… Ngaøy traû:………………… Stt Ngaøy sd Giôø sd Teân khaùch Teân dòch vuï SL Ñôn giaù Thaønh tieàn 1 10/06/03 17:10 Nguyeãn V/ A Giaët uûi 1 2000 2000 2 12/06/03 8:12 Leâ Ñöùc Bình Aên saùng 1 3000 3000 3 12/06/03 14:30 Leâ Ñöùc Bình Thueâ xe 1 3000 3000 Coäng 8000 Phí dòch vuï (5%) 400 Thueá VAT (10%) 880 Coäng tieàn phaûi traû 9280 Leã Taân Ngaøy in: 10:30:25am, 20/05/2003 2. Baûng keâ chi tieát söû duïng dòch vuï vaø nhaø haøng moät ñoaøn: BAÛNG KEÂ DÒCH VUÏ ÑAÕ SÖÛ DUÏNG Teân ñoaøn khaùch:. ……………………..Ñôn vò:……………………… Ngaøy nhaän phoøng:…………………….Ngaøy traû:…………………… Soá löôïng khaùch theo ñoaøn:……………Soá löôïng phoøng sd:………… Stt Ngaøy sd Giôø sd SP Teân khaùch Teân dòch vuï SL Ñôn giaù Thaønh tieàn 1 10/06/03 17:10 101 Nguyeãn V/ A Giaët uûi 1 2000 2000 2 12/06/03 8:12 102 Leâ Ñöùc Bình Aên saùng 1 3000 3000 3 12/06/03 14:30 102 Leâ Ñöùc Bình Thueâ xe 1 3000 3000 Coäng Phí dòch vuï (5%) Thueá VAT (10%) Coäng tieàn phaûi traû 8000 400 880 9280 Leã Taân Ngaøy in: 10:30:25am, 20/05/2003 3. Baùo caùo coâng suaát buoàng: thoáng keâ toång soá khaùch, tæ leä töøng loaïi khaùch vaø coâng suaát buoàng cuûa töøng ngaøy trong thaùng theo baûng: BAÙO CAÙO COÂNG SUAÁT BUOÀNG THAÙNG : MM/20YY Ngaøy Toång soá Khaùch Phaân loaïi khaùch Coâng suaát buoàng Ñoaøn Vaõng lai Trong nöôùc Quoác teá Sk % Sk % Sk % Sk % Sp % 1 40 30 75 10 25 40 100 0 0 25 60 2 35 30 60 … … … … … … … … … … … … 30 31 TC 4. Toång hôïp doanh thu: phoøng, nhaø haøng, dòch vuï cuûa töøng ngaøy trong thaùng. BAÙO CAÙO TOÅNG HÔÏP DOANH THU THAÙNG : MM/20YY NGAØY KHAÙCH SAÏN NHAØ HAØNG DÒCH VUÏ COÄNG 1 2 3 4 … … … … … 30 31 Coäng 5. Baùo caùo toång hôïp khaùch theo töøng ñoaøn: theå hieän doanh thu cuûa töøng ñoaøn trong thaùng. BAÙO CAÙO TOÅNG HÔÏP DOANH THU THAÙNG : MM/20YY KHAÙCH ÑOAØN stt Teân ñoaøn Ñôn vò Ngaøy Doanh thu Coäng Nhaän Traû Khaùch saïn Nhaø haøng Dòch vuï 1 2 3 … … … … … … … … … Toång coäng: d/ In baûng keâ chi tieát cho töøng loaïi dòch vuï: lieät keâ töøng loaïi dòch vuï ñaõ baùn trong thaùng theo baûng sau: BAÛNG KEÂ CHI TIEÁT DOANH THU (Töø ngaøy ñeán ngaøy) TEÂN DÒCH VUÏ: Ngaøy Dòch vuï Dieãn giaûi Ñvt Soá löôïng Ñôn giaù Thaønh tieàn 1/5/03 1/5/03 2/5/03 … … … … … … Toång coäng:

Các file đính kèm theo tài liệu này:

  • docBao cao do an.doc
  • rarMã nguồn.rar
  • ppttrinhbay.ppt
Tài liệu liên quan