管理信息系統mis——賓館管理系統_第1頁
管理信息系統mis——賓館管理系統_第2頁
管理信息系統mis——賓館管理系統_第3頁
管理信息系統mis——賓館管理系統_第4頁
管理信息系統mis——賓館管理系統_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、前言一、作業背景本文根據管理信息系統課程要求而做。課程作業要求如下:用管理信息系統開發工具(例如PowerBuilder、Delphi、Visual Foxpro、Access等)開發一個實用的中小型管理信息系統。 1)根據課程設計時間選擇適當規模大小的設計課題。采用專業實習的調研內容作為課程設計選題。 2)根據合理的進度安排,按照系統開發的流程及方法,踏實地開展課程設計活動。 3)課程設計過程中,根據選題的具體需求,在開發各環節中撰寫相關的技術文檔,最后提交詳細的課程設計報告。 4)開發出可以運行的管理信息系統,通過上機檢查。二.選題說明1.基本思路近年來,賓館業迅猛發展,市場的競爭日趨激烈

2、,全面提高賓館的軟件管理水準,已成為賓館業發展的當務之急。傳統的管理方法已經不能適應現代社會的需要,因此采用電腦管理業務、財務等諸多環節已成為推動賓館業迅速發展的先決條件,賓館客房管理信息系統是各大中小型賓館所需要使用的一個管理系統。以提高其經營管理效率。2.作業目標根據現代賓館服務行業特點,開發一個實用性強的賓館管理系統,以提高賓館管理的效率。三、工作業績1、主要工作進行賓館管理信息系統的開發。2、主要收獲依靠現代化的計算機信息處理技術來管理賓館,從而改變傳統的管理方法使得辦公人員每天要處理的事務繁多,重復性的工作使其效率較低、各類客戶信息收集不齊全;分類、歸檔不合理,以至于造成查找困難的狀

3、況,使得賓館管理科學化。3、自我評定優 良 中 及格 不及格第一章 概述根據我國賓館業的統計分析表明:在現代的賓館服務行業中,由于客戶流量增長,傳統的管理方法使得辦公人員每天要處理的事務繁多,重復性的工作使其效率較低;各類客戶信息收集不齊全;分類、歸檔不合理,以至于造成查找困難;保存方式不科學,使得資料、文件受損,影響使用效果和時間。針對這種情況,各賓館管理人員已意識到使用計算機管理信息系統的重要性,因此他們迫切需要開發一個賓館客房管理信息系統來進行管理工作。第二章 用戶需求分析2.1系統的可行性分析從賓館的具體情況出發,經過多方面調研、討論,本賓館客房管理信息系統,從技術上,經濟上,管理上均

4、已具備實施的基本條件。2.1.1技術可行性Win2000/NT/XP操作系統的穩定性,安全性可滿足用戶的要求。后臺的數據庫使用ACCESS 2000,開發工具微軟公司的VISUAL BASIC6.0, 具有良好的升級潛力和可維護性。這些軟件在大型MIS開發中已被大量應用,技術上都比較成熟,可根據用戶需要,十分方便的增減模塊,直觀的圖形用戶界面,簡潔的操作流程,無須專業電腦知識即可迅速上手。因此技術上是可行的。2.1.2經濟可行性費用:本系統要求的計算機配置并不高(奔騰II及以上處理器。64M內存及以上,硬盤空間100M以上),設備的安裝調試工作簡單,PB軟件的價格不高,操作簡單,對用戶進行少量

5、的培訓工作就可以使用戶熟練的使用本系統,因而培訓費用較低。收益:賓館前臺使用本系統后,提高了核對效能,相對的差錯也大大減少;即工作人員的工作效率大大提高了,工作時間大大節省了,從而間接為賓館創造了可觀的經濟效益,減少管理費用的支出,避免了不必要的人工錯誤;還提高了工作人員的素質,有利于管理方式與體制的合理改革,保證賓館客房管理的可持續發展。因而在經濟上是可行的。2.1.3.管理可行性建立管理信息系統是行業發展的必然要求,賓館領導對科技的管理非常重視。使管理和業務流程信息化,是管理信息現代化的第一步。而員工對此更是表現出極大的熱情和期望。因為該系統的實施將很大程度上降低他們的手工作業量,還會減少

6、他們在工作上的失誤,提高工作效率。因此,本系統在管理上是可行的。2.2詳細調查開發本系統的要求來自對原傳統管理模式的不滿,不管是手工系統還是正在運行的計算機系統。由于存在的問題充斥各個方面,內容分散,甚至含糊不清,這就要求我們進行詳細分析,并在原管理模式的基礎上提出系統開發方案。本系統是一個虛擬的管理信息系統,不存在原運行系統。業務流程分析是對業務功能分析的進一步細化,業務流程分析的結果是給出業務流程圖。業務流程圖反映了實際的業務活動。它不僅是系統分析人員進行更深入系統分析的依據,而且也是系統分析人員,管理人員,業務操作人員,系統設計人員進行溝通的工具。可以直接在業務流程圖上擬出能夠由計算機實

7、現的部分,明確系統的邊界,使計算機處理與人工業務處理的接口清晰,分析組織的業務流程是否合理,刪除重復的,不合理的環節,明確整個業務流程,為以后的分析與設計打下良好的基礎。因此,為了能夠反映賓館內部各部門之間的聯系程度,其主要業務和他們在業務過程中所承擔的工作,根據賓館客房管理的特點和賓館的實際情況,賓館的業務流程圖如圖1所示:通過現行業務流程圖對現行系統進行分析,客人流量多,需要的服務多,致使管理的過程不好控制,效率不高。我們通過計算機來實現前臺操作員的一些業務,讓電腦來代為運作,可以提高效率,減輕人的工作量。我們系統的工作就是把傳統的管理模式換為人機交互操作,從上圖分析可以明確系統的邊界,把

8、不必要的人工操作從系統中刪除。首先我們可以在電腦上實現房態的查詢,了解房間的占用情況,這樣可為工作人員減少查詢的時間,提高管理的效率。另外,客人可以預定房間也可以臨時住宿,當客人預定房間后,可根據其預定的房間號入住,這樣就為客人避免了來到本地臨時找住處的麻煩,為客人節省了時間,提高了工作效率,同時也為賓館帶來了一定的經濟效益。如果客人為散客,到前臺進行登記,即可入住。提高了賓館的管理效率,使得賓館的組織結構向著扁平化方向發展,用最少的人力物力作盡可能多的工作。2.3系統邏輯方案的提出數據流程圖數據流程分析是數據和數據流程分析工作的最后一步,該工作是對系統中的數據進行輸入輸出、存儲、傳遞、轉換等

9、分析。數據流程分析的結果是給出數據流程圖。數據流程圖是描述系統邏輯模型的主要工具,我們采取結構化分析的方法繪制數據流程圖。針對現在賓館業的發展需求,在業務流程圖的基礎上,我們得到了數據流程圖2:數據詞典系統數據詞典(DDDate Dictionary)是描述數據流程圖中所有數據流、數據存儲、處理功能等卡片的集合。數據詞典提供一個可定義的不依賴于應用程序的存儲區域,用于創建擴展的屬性集和描述數據的內容與外觀。其內容包括四種條目:數據流,數據元素、數據存儲和數據加工。建立完善的數據詞典是對所整理數據的一種分析歸檔方式,為下一步建立數據庫和處理數據做準備。在系統分析階段,數據詞典有著重要的作用,它包

10、含著系統的詳細信息。一般來說,系統分析人員應把不便于在數據流程圖上注明而系統分析應該獲得,對整個系統開發以至將來系統運行與維護時必需的信息盡可能放入數據詞典。數據詞典:“數據元素”條目數據元素是數據流組成的最小單位,是無法再細分的數據流。它直接反應事物的某一特征。其描述需要以下信息:數據元素名、類型、長度、取值范圍、相關的數據元素及數據結構。 數據元素系統名: 賓館客房管理 編號:條目名: 標準編號 別名:屬于數據流:客房信息存儲處:客房檔案 數據元素結構:代碼類型 取值范圍字符 000000-999999(由數字組成的字符串)簡要說明:客房都有唯一的編號。修改記錄:編寫Xxx日期2008年6

11、月審核xxx日期2008年6月數據詞典:“數據存儲”條目數據存儲是數據結構保存的地方。一個數據存儲詞條應有以下幾項內容:數據存儲名、簡述、輸入數據、輸出數據、數據存儲組織、記錄數、記錄組成。 數據存儲系統名: 賓館客房管理 編號:D3條目名: 定房表 別名:存儲組織每個預訂客房一條記錄記錄數:約20主關鍵字:服務編號記錄組成:項名: 訂房編號 顧客姓名 客房編號 入住日期 結算日期長度 6 6 8 2 8簡要說明:修改記錄:編寫xxx日期2008年6月審核xxx日期2008年6月第三章 系統軟件設計3.1系統功能模塊設計圖 3.2數據庫設計針對一般賓館管理信息系統的需求,通過對賓館管理工作過程

12、的內容和數據流程分析,設計如下面所示的數據項和數據結構:1客房標準信息,包括的數據項有:標準編號,標準名稱,房間面積,床位數量,住房單價,是否有空調,電視,電話,單獨衛生間等。2客房信息,表格的數據項有:客房編號,客房種類,客房位置,客房單價,備注等。3訂房信息,包括的數據項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣,備注等。4結算信息,包括的數據項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣,結算時間,備注等。由此可以設計賓館管理信息系統頂層圖和賓館管理信息系統關聯圖(E-R圖)。

13、客房標準信息表 roomtype列名數據類型可否為空說明typeid varcharNOT NULL標準編號typenamevarcharNOT NULL標準名稱areanumericNULL房間面積bednumnumericNULL床位數量hairconditionvarcharNULL是否有空調htelephonevarcharNULL是否有電話htelevisionvarcharNULL是否有電視htoiletvarcharNULL是否有獨立衛生間pricenumericNULL單價3.2.2 客房信息表 rooms列名數據類型可否為空說明roomnovarcharNOT NULL客房編

14、號roomtypevarcharNOT NULL客房種類roompositionvarcharNULL客房位置roompricenumericNULL單價putupvarcharNOT NULL是否被預定roommemotextNULL備注 訂房信息表 booking列名數據類型可否為空說明booknovarcharNOT NULL訂房編號customnamevarcharNOT NULL顧客姓名customidvarcharNOT NULL身份證號碼roomnovarcharNOT NULL客房編號indatevarcharNULL入住日期discountnumericNULL折扣inmem

15、otextNULL備注checkdatedatetimeNULL結算日期ammountnumericNULL金額第四章 系統詳細設計及實現經過系統分析,有關數據庫結構的所有后臺工作已經完成。現在將通過賓館管理信息系統中各個功能模塊的實現,講解如何使用Visual Basic來編寫數據庫系統的客戶端程序。4.1 賓館系統Hotel-MIS工程項目的創建 啟動Visual Basic后,單擊FileNew Project菜單,在工程模板中選擇Standsard EXE,Visual Basic將自動產生一個Form窗體,屬性都是缺省設置。這里我們刪除這個窗體,單擊FileSaveProject菜單

16、,將這個工程項目命名為HotelMIS。4.2賓館管理信息系統主窗體設計這個項目我們使用多文檔界面,單擊VB軟件工具欄中ADD MDI Form按鈕,生成一個窗體,在這個窗體上添加所有的控件,創建好的窗體如下:4.3公用模塊設計 在Visual Basic中可以用公用模塊來存放整個工程項目公用的函數,過程和全局變量等。這樣可以極大的提高代碼的效率。在項目資源管理器中為項目添加一個Module,保存為Module bas。下面就可以開始添加需要的代碼了。由于系統中各個功能模塊都將頻繁使用數據庫中的各個數據,因此需要一個公用的數據操作函數,用以執行各種SQL語句。 ExecuteSQL函數有兩個參

17、數:SQL和MsgString。其中SQL用來存放需要執行的SQL語句,MsgString用來返回執行的提示信息。函數執行時,首先判斷SQL語句中包含的內容,當執行查詢操作時,ExecuteSQL函數將返回一個與函數同名的記錄集對象(Recordset),所有滿足條件的記錄包含在對象中,當執行如刪除、更新、添加等操作時,不返回記錄集對象。在ExecuteSQL函數中使用了ConnectString函數,這個函數用來連接數據庫 4.4 用戶管理模塊設計與實現 用戶管理模塊主要實現:1 用戶登錄。2 添加用戶。3 修改用戶密碼。4.4 .1 用戶登陸設計與實現 用戶登錄窗體中放置了二個文本框(Te

18、xtBox),用來輸入用戶名和用戶密碼:二個按鈕(CommandButton)用來確定或者取消登錄:三個標簽(Label)用來標示窗體的信息系統啟動后,將首先出現如下圖,用戶首先輸入用戶名,然后輸入密碼。如果用戶3次輸入密碼不正確,將退出程序。用戶如果沒有輸入用戶名和用戶密碼,將出現消息框提示,如果輸入的用戶名在用戶表中沒有找到,將提示重新輸入用戶名,文本框txtusername將重新獲得輸入焦點。如果用戶輸入的密碼不正確,文本框txtpassword將重新獲得輸入焦點。用戶登錄成功,全局變量ok將被賦值為true。一旦三次輸入密碼均不正確,全局變量ok將被賦值為false。公用模塊中的mai

19、n()過程將根據ok的值來決定是退出,還是進入系統。4.4 .2 添加用戶設計與實現 進入系統后,選擇菜單“系統|添加用戶”,就可以添加用戶,出現添加用戶的窗體在這個窗體中放置了二個文本框,用來輸入密碼和確認密碼,二個按鈕用來確定是否修改密碼,二個標簽用來標示文本框的內容, 一旦輸入完畢,系統將首先查詢數據庫中與新建用戶名相同的記錄,如果有相同記錄將提示用戶重新輸入用戶名。當確定數據庫中沒有相同的用戶名,并且二次輸入密碼一致時,將把該條記錄添加到數據庫中。4.4 .3 修改密碼設計與實現 在這個窗體中放置了二個文本框,用來輸入密碼和確認密碼,二個按鈕按鈕用來確定是否修改密碼,二個標簽用來標示文

20、本框的內容,如下圖,4.5 客房標準管理模塊設計與實現 賓館在運行中需要設置不同的客房標準來適應不同消費水平顧客的需要。對于每個客房標準,有不同的硬件設施和服務。客房標準管理模塊主要實現如下功能: 1添加客房標準。2修改客房標準。 3 刪除客房標準。添加客房標準模塊設計與實現 在窗體放置多個文本框,用來輸入客房標準基本信息,多個下拉式文本框選擇不同的硬件設施;兩個按鈕用來確定是否添加客房標準信息;多個標簽用來提示文本框中需要輸入的內容 ,如下圖:Option Explicit'是否改動過記錄,ture為改過Dim mblChange As BooleanDim mrc As ADODB

21、.RecordsetPublic txtSQL As StringPrivate Sub cboItem_Change(Index As Integer) '有變化設置gblchange mblChange = TrueEnd SubPrivate Sub cboItem_Click(Index As Integer) Dim sSql As String Dim MsgText As String Dim mrcc As ADODB.Recordset '初始化員工名稱和ID If Index = 0 Then txtSQL = "select typename,p

22、rice from roomtype where typename='" & Trim(cboItem(0) & "'" Set mrcc = ExecuteSQL(txtSQL, MsgText) If Not mrcc.EOF Then txtItem(2) = mrcc!price cmdSave.Enabled = True Else MsgBox "請先建立客房標準!", vbOKOnly + vbExclamation, "警告" cmdSave.Enabled = False E

23、xit Sub End If mrcc.Close End If Exit SubEnd SubPrivate Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) EnterToTab KeyCode End SubPrivate Sub cmdExit_Click() If mblChange And cmdSave.Enabled Then If MsgBox("保存當前記錄的變化嗎?", vbOKCancel + vbExclamation, "警告"

24、;) = vbOK Then '保存 Call cmdSave_Click End If End If Unload MeEnd SubPrivate Sub cmdSave_Click() Dim intCount As Integer Dim sMeg As String Dim mrcc As ADODB.Recordset Dim MsgText As String For intCount = 0 To 3 If Trim(txtItem(intCount) & " ") = "" Then Select Case intCou

25、nt Case 0 sMeg = "客房編號" Case 1 sMeg = "客房位置" End Select sMeg = sMeg & "不能為空!" MsgBox sMeg, vbOKOnly + vbExclamation, "警告" txtItem(intCount).SetFocus Exit Sub End If Next intCount If gintRmode = 1 Then txtSQL = "select * from rooms where roomNO='&q

26、uot; & Trim(txtItem(0) & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox "已經存在此客房編號的記錄!", vbOKOnly + vbExclamation, "警告" txtItem(0).SetFocus Exit Sub End If mrc.Close End If If gintRmode = 2 Then '先刪除已有記錄 txtSQL = "delete fr

27、om rooms where roomNO='" & Trim(txtItem(0) & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) End If '再加入新記錄 txtSQL = "select * from rooms" Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(txtItem(0) mrc.Fields(1) = Trim(cboItem(0) For intCo

28、unt = 1 To 2 If Trim(txtItem(intCount) & " ") = "" Then mrc.Fields(intCount + 1) = Null Else mrc.Fields(intCount + 1) = Trim(txtItem(intCount) End If Next intCount mrc.Fields(4) = " " mrc.Fields(5) = Trim(txtItem(3) mrc.Update mrc.Close If gintRmode = 1 Then For int

29、Count = 0 To 3 txtItem(intCount) = "" Next intCount mblChange = False If flagRedit Then Unload frmRoom frmRoom.txtSQL = "select * from rooms" frmRoom.Show End If ElseIf gintRmode = 2 Then Unload Me If flagRedit Then Unload frmRoom End If frmRoom.txtSQL = "select * from rooms

30、" frmRoom.Show End IfEnd SubPrivate Sub Form_Load() Dim sSql As String Dim intCount As Integer Dim MsgText As String Dim mrcc As ADODB.Recordset If gintRmode = 1 Then Me.Caption = Me.Caption & "添加" '初始化物資名稱 txtSQL = "select DISTINCT typename from roomtype" Set mrc =

31、ExecuteSQL(txtSQL, MsgText) If Not mrc.EOF Then Do While Not mrc.EOF cboItem(0).AddItem Trim(mrc.Fields(0) mrc.MoveNext Loop cboItem(0).ListIndex = 0 Else MsgBox "請先進行客房標準設置!", vbOKOnly + vbExclamation, "警告" cmdSave.Enabled = False Exit Sub End If mrc.Close ElseIf gintRmode = 2 T

32、hen Set mrcc = ExecuteSQL(txtSQL, MsgText) If mrcc.EOF = False Then With mrcc txtItem(0) = .Fields(0) For intCount = 1 To 2 If Not IsNull(.Fields(intCount + 1) Then txtItem(intCount) = .Fields(intCount + 1) End If Next intCount txtItem(3) = .Fields(5) txtSQL = "select DISTINCT typename from roo

33、mtype" Set mrc = ExecuteSQL(txtSQL, MsgText) If Not mrc.EOF Then Do While Not mrc.EOF cboItem(0).AddItem Trim(mrc.Fields(0) mrc.MoveNext Loop cboItem(0).ListIndex = 0 Else MsgBox "請先進行客房標準設置!", vbOKOnly + vbExclamation, "警告" cmdSave.Enabled = False Exit Sub End If mrc.Close

34、End With End If mrcc.Close Me.Caption = Me.Caption & "修改" End If mblChange = FalseEnd SubPrivate Sub Form_Unload(Cancel As Integer) gintRmode = 0End SubPrivate Sub txtItem_Change(Index As Integer) '有變化設置gblchange mblChange = TrueEnd SubPrivate Sub txtItem_GotFocus(Index As Integer)

35、 txtItem(Index).SelStart = 0 txtItem(Index).SelLength = Len(txtItem(Index) End SubPrivate Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub載入窗體時,將首先通過變量gintTmode判斷是添加還是修改。如果是添加狀態,文本框將清除內容,窗體有提示信息;如果是修改狀態,將選擇顯示當前的記錄。用戶輸入內容完畢后,單擊cmdSave按鈕將觸發Click事件,事

36、件包括:程序首先對是否輸入內容進行判斷,然后進行格式判斷。程序將判斷是否有重復編號的記錄,然后添加數據到數據庫中。最后根據狀態來顯示相應的信息:如果是添加狀態,將提示添加成功,然后重新顯示并清空所有文本框,以便繼續添加記錄;如果處于虛空狀態,將提示修改成功,然后更新所有記錄的列表。修改客房標準模塊設計與實現 選擇“客房信息管理 設置客房標準 修改客房標準”菜單,將出現如圖所示的窗體,窗體中放置一個表格控件。 載入窗體時,觸發窗體的Load事件,顯示當前數據庫中所有的記錄,并修改當前狀態為記錄編輯狀態,代碼如下:Private Sub Form_Load() ShowTitle ShowData

37、 flagTedit = TrueEnd Sub刪除客房標準模塊設計與實現選擇“客房信息管理 設置客房標準 刪除客房標準”菜單,將出現記錄列表。選擇相應記錄,單擊鼠標右鍵,選擇彈出式菜單,將刪除當前記錄. 4.6 客房信息管理模塊設計與實現 客房信息管理模塊主要實現如下功能:1 添加客房信息。2 修改客房信息。3 刪除客房信息。4 查詢客房信息。添加,修改和刪除的實現和客房標準一樣原理我就不講了,下面我們看下客房查詢模塊:選擇“客房信息管理 設置客房信息 查詢客房信息”菜單,將出現如下窗體,在這里可以按照各種方式以及它們的組合進行查詢,滿足查詢條件的所有記錄將顯示在客房信息列表窗體 。Opti

38、on Explicit'用于傳遞查詢塊Private Sub chkItem_Click(Index As Integer) If Index = 0 Then txtItem(0).SetFocus Else Combo1.SetFocus End IfEnd SubPrivate Sub cmdExit_Click() Me.HideEnd SubPrivate Sub cmdOK_Click() Dim sQSql As String If chkItem(0).Value = vbChecked Then sQSql = " roomNO = '"

39、& Trim(txtItem(0) & " ") & "'" End If If chkItem(1).Value = vbChecked Then If Trim(sQSql & " ") = "" Then sQSql = " roomtype ='" & Trim(Combo1 & " ") & "'" Else sQSql = sQSql & " and roomtype ='" & Trim(Combo1 & " ") & "'" End If End If If

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論