軟件工程課程設計
《軟件工程課程設計》由會員分享,可在線閱讀,更多相關《軟件工程課程設計(145頁珍藏版)》請在裝配圖網上搜索。
1、 課程名稱 : 軟件工程導論 課程代碼 : 408029 題 目 : 房屋出租系統(tǒng) 年級/專業(yè)/班 : 09計科一班 學生姓名 : 學 號 : 09408103 10 13 15 25 指導老師 : 開題時間 : 2011年6月6日 完成時間 : 2010年6月30日 2011年6月6日 1 / 145 課程設計任務書及成績評定 課程名稱 : 軟件工程導論 完成者 : 1、設計的目的與要求 1)加強學生的實踐能力; 2)理解小型系統(tǒng)開發(fā)的基本步驟;
2、 3)本系統(tǒng)的功能包括:賓館客房信息查詢模塊、注冊模塊、房屋信息管理模塊(包括基本的添加、修改、刪除功能)。 2、設計進度及完成情況 日 期 內 容 6.6-6.7 項目開發(fā)計劃書 6.8-6.10 系統(tǒng)可行性研究 6.11-6.15 系統(tǒng)需求分析 6.16-6.23 系統(tǒng)設計 6.24-6.27 系統(tǒng)測試 6.28-6.30 項目的遞交 3、成績評定 設計成績: (教師填寫) 指導老師: (簽 字) 2011 年 月 日
3、 目錄 目錄 1 第一章 項目開發(fā)計劃書 3 1.1引言 3 1.1.1編寫目的 3 1.1.2背景 3 1.2項目概述 3 1.2.1工作內容 3 1.2.2主要參加人員 4 1.2.3產品 4 1.2.4服務 4 1.2.5驗收標準 5 1.2.6本計劃的批準者和批準日期 5 1.3實施計劃 5 1.3.1工作任務的分配與人員分工 5 1.3.2進度 5 1.4支持條件 6 1.4.1計算機系統(tǒng)支持 6 第二章 可行性分析 7 2.1可行性研究前提 7 2.2 對現有系統(tǒng)的分析 7 2.3 建議新系統(tǒng) 7 2.3.1 新系統(tǒng)說明 7
4、2.3.2 新系統(tǒng)的流程圖 8 2.4經濟上可行性 9 2.5技術可行性 9 2.6開發(fā)工具的選擇 9 2.7 新系統(tǒng)的影響 9 2.8 結論 10 第三章 需求分析 11 3.1市場需求分析 11 3.2系統(tǒng)功能性需求分析 11 3.2.1 功能劃分 11 3.2.2.2 登錄功能模塊 12 3.3 系統(tǒng)非功能性需求 12 3.3.1 可用性 12 3.3.2 可靠性 12 第四章 系統(tǒng)設計 13 4.1 功能模塊 13 4.1.1 設置客房標準 13 4.1.2、設置客房信息 14 4.1.3定房信息管理 15 4.1.4結算信息管理 18
5、4.2 數據庫 19 4.2.1、數據庫的設計 19 4.2.2、 數據庫表的實現 21 4.2.3、創(chuàng)建數據源 22 4.3 賓館管理信息系統(tǒng)主窗體 23 4.3.1、工程項目 23 4.3.3、記錄集類 27 4.4 客房標準管理模塊 29 4.4.1、添加客房標準對話框 29 4.4.2、修改客房標準與刪除客房標準對話框 32 4.5 客房信息管理模塊 37 4.5.1、創(chuàng)建添加客房信息對話框 37 4.5.2、修改客房信息與刪除客房信息對話框 41 4.5.3、輸入查詢條件對話框 47 4.5.4、顯示查詢結果對話框 49 4.6.1、剩余客房查詢對話
6、框 51 4.6.2、添加定房信息與修改定房信息對話框 54 4.6.3、查詢定房信息對話框 61 4.6.4、定房查詢結果顯示對話框 64 4.7 結算信息管理模塊 66 4.7.1、添加結帳信息與修改結帳定房信息對話框 66 4.7.2、查詢結算信息對話框 73 第五章 系統(tǒng)測試 77 5.1 測試的作用和意義 77 5.2 測試方法 77 5.3 測試內容 77 5.4 測試結果 78 5.4.1注冊和登錄模塊測試 78 5.4.2 查詢模塊測試 78 5.4.3 賓館信息添加、修改和刪除模塊測試 78 5.4 結論 78 第六章 總結 79 參考文獻
7、 79 第一章 項目開發(fā)計劃書 1.1引言 1.1.1編寫目的 此項目開發(fā)計劃書的編寫主要是為了給開發(fā)《賓館住房管理系統(tǒng)》做主要的規(guī)劃和整合,在開發(fā)過程中起到引導作用,以及給使用者提供簡要的說明。 1.1.2背景 隨著旅游事業(yè)的蓬勃發(fā)展和賓館管理業(yè)務的不斷擴大,賓館管理人員,尤其是星級賓館的管理人員對賓館管理的現代化、科學化的要求逐漸迫切起來。越來越多的人認識到賓館管理計算機化的重要性和必要性。希望能夠有一套提高內部管理水平、發(fā)善服務質量、操作上簡潔方便,并能滿足各種必要功能的系統(tǒng)。 這樣的系統(tǒng)由于面對各種不同種類的信息,所以需要合理的SQL Server
8、數據庫結構來保存數據,以及有效的程序結構支持各種SQL語句操作執(zhí)行。 本系統(tǒng)使用Visual C++6.0作為開發(fā)工具。編寫數據庫應用程序。數據庫應用程序在操作系統(tǒng)和數據庫管理系統(tǒng)的支持下,利用數據庫管理系統(tǒng)提供的數據操作命令、高級程序設計語言或應用開發(fā)工具,設計菜單、表單、查詢、。這些設計構成的賓館管理系統(tǒng)應用程序,提供了一個可視化的操作界面,使用戶能夠方便地操作數據庫。 1.2項目概述 1.2.1工作內容 《賓館住房管理系統(tǒng)》針對的用戶賓館管理人員; 該系統(tǒng)需要實現如下功能: (1) 對客房標準進行管理:其中包括必需明確的各項內容及可能增加的各項內容,如:客房標準編號、標
9、準類型、面積、床位、是否有電視、空調、衛(wèi)生間等,以及該標準客房的單價。 (2) 對客房信息進行管理:其中包括客房標準有關內容及新增加客房位置、是否入住及客人及客房的各類備注信息。 (3) 對定房信息進行管理:其中包括定房人員的基礎信息(顧客姓名、身份證號碼、入住客房編號等)及入住信息(入住日期、折扣比例、費用等)。 (4) 對結算信息進行管理:其中將顧客信息及客房信息相結合,并輸入結帳時間后,自動生成結帳金額。方便前臺人員的管理。 (5) 為了方便高層管理人員對賓館以往經營狀況及現狀及時的了解及掌握,在各類模塊中創(chuàng)建了查詢模塊,以列表的方式顯示出符合條件的結果。 (6) 對
10、操作人員設置登錄帳戶和密碼:只有符合條件的用戶才能通過密碼進入系統(tǒng)進行操作,其他人員無權進入系統(tǒng)。 1.2.2主要參加人員 組長:徐小剛 設計: 徐小剛、廖百達、歐翔、曾森林、羅明 開發(fā): 徐小剛、廖百達、歐翔、曾森林、羅明 1.2.3產品 1 系統(tǒng)開發(fā)計劃書 2 系統(tǒng)需求說明書 3 系統(tǒng)設計說明書 4 測試計劃 5 一個能正確運行的可執(zhí)行程序 源程序清單(有注釋) 1.2.4服務 安裝、維護和運行支持從使用該系統(tǒng)開始,維護期限為一年。 1.2.5驗收標準 各個功能均能正常使用,滿足用戶的需求。 1.2.6本計劃的批準者和批準日期 批準
11、者:顏富強 批準日期:2011年6月6日 1.3實施計劃 1.3.1工作任務的分配與人員分工 組長: 徐小剛 任務: (1)系統(tǒng)總的開發(fā)計劃書 (2)每周至少組織小組討論一次,列出本周開發(fā)計劃 (3)項目開發(fā)進度的管理 (4)團隊的組織和協調 設計: 任務: (1)參與小組討論
12、 (2)進行系統(tǒng)的需求分析和系統(tǒng)設計 (3)完成系統(tǒng)需求說明書和系統(tǒng)設計說明書 (4)編寫測試計劃,參與系統(tǒng)測試 (5)協助文檔人員完成用戶相關文檔 開發(fā): 任務: (1)參與小組討論 (2)根據設計完成編碼,并注釋 (3)進行單元測試 1.3.2進度
13、 系統(tǒng)規(guī)劃階段: 項目標志性事件 開始到完成 開發(fā)階段: 項目開發(fā)計劃書的完成 6.5-6.7 需求分析階段: 系統(tǒng)需求說明書完成 6.8-6.10 設計階段: 系統(tǒng)設計說明書 6.11-6.15 編碼實現: 項目的形成 6.16-6.23 測試階段: 測試計劃 6.24-6.27 移交階段: 項目的遞交
14、6.28-6.30 1.4支持條件 1.4.1計算機系統(tǒng)支持 操作系統(tǒng)需要 windows 2000以上; 操作系統(tǒng)環(huán)境:java虛擬機,.netFrameWork3.0; 數據庫需要: SQL Server數據庫; 數據庫驅動:Microsoft公司的sqljdbc驅動; 前臺開發(fā)工具:Dreamver mx 8.8,Visual C++6.0; 前臺界面類型:html,jsp,servlet。 第二章 可行性分析 2.1可行性研究前提 要求:滿足賓館管理者對基本信息管理及要求,并對客戶資料具有保密性。 目標:實現無紙化辦公,節(jié)省成本,提高工作效率。 條
15、件、假定、限制:本軟件自開發(fā)到運行結束至少可運行5年,開發(fā)成本不超過500人民幣,開發(fā)軟件到投入使用不超過1個月。 2.2 對現有系統(tǒng)的分析 如今旅游事業(yè)的蓬勃發(fā)展和賓館管理業(yè)務的不斷擴大,賓館管理人員,尤其是星級賓館的管理人員對賓館管理的現代化、科學化的要求逐漸迫切起來。越來越多的人認識到賓館管理計算機化的重要性和必要性。希望能夠有一套提高內部管理水平、發(fā)善服務質量、操作上簡潔方便,并能滿足各種必要功能的系統(tǒng),而現有系統(tǒng)在管理水平、服務質量、操作上都不跟不上需求,因此要開發(fā)一個現代化、科學化的系統(tǒng)。 2.3 建議新系統(tǒng) 2.3.1 新系統(tǒng)說明 新系統(tǒng)能夠為管理者提供一個良好的操
16、作平臺。使管理效率大大提高。能快捷、方便的處理信息。而且本系統(tǒng)界面友好,操作簡單,對硬件要求不高,且用戶的花費是幾乎可以忽略的,因此十分有利于推廣。 本系統(tǒng)的用戶可分為兩種:一般管理員和超級管理員并設置登錄帳戶和密碼。超級管理員是在一般管理員所擁有的權限上可以進一步查詢所以信息,如:收入金額、特殊信息查詢、直接對系統(tǒng)管理和對一般管理員所設置的信息更改等。 2.3.2 新系統(tǒng)的流程圖 本系統(tǒng)的主模塊分為客房信息管理、定房信息管理、結算信息管理,結構如下圖所示: 添加客房標準 設置客房標準 修改客房標準 客房信息管理 刪除客房標準
17、 添加客房信息 修改客房信息 設置客房信息 刪除客房信息 賓館管理系統(tǒng) 查詢客房信息 查詢剩余客房信息 添加定房信息 定房信息管理 修改定房信息 查詢定房信息 添加結算信息 結算信息管理工作 修改結算信息 查詢結算信息 圖1 新系統(tǒng)的流程圖 2.4經濟上可行性 開發(fā)成本:500元人民幣。 效益:暫時無法具體衡量。 效益/投資比:暫時無法估算。 投資回收期:大約2個月。 2.5技術可行性 軟件需求:操作系統(tǒng)WINDOWS 20
18、00 Advance Server以上。 硬件需求:賽揚1.7G CPU、512M內存 80G硬盤的計算機。 使用語言為:java 頁面為jsp 編輯工具為: Visual C++6.0 數據庫為:SQL Server數據庫 2.6開發(fā)工具的選擇 Visual C++6.0作為前臺的開發(fā)工具;用SQL Server 2008作為后臺支持數據庫;通過JDBC的數據庫驅動來連接SQL Server 2008中并對其編程來實現各種功能。 2.7 新系統(tǒng)的影響 l 設備的影響:創(chuàng)建新系統(tǒng)需要添置一臺性能良好的服務器。 l 人員的影響:新系統(tǒng)需要一個專職維護人員。 l 用戶的影
19、響:用戶可準確、高效的管理信息。 2.8 結論 綜上所述,賓館管理系統(tǒng)在技術非常成熟,主客觀條件都具備,且具有良好的效益,因此開發(fā)此系統(tǒng)是可行的。為了提高賓館管理效率,方便管理者管理信息,建議立即開發(fā)。 第三章 需求分析 3.1市場需求分析 過去系統(tǒng)各方面老化滿足不了星級賓館的管理人員對賓館管理的現代化、科學化的要求。現在越來越多的人認識到賓館管理計算機化的重要性和必要性。希望能夠有一套提高內部管理水平、發(fā)善服務質量、操作上簡潔方便,并能滿足各種必要功能的系統(tǒng)。 同時檢索迅速、查找方便、可靠性高、存儲量大、保密性好。這樣做極大地提高賓館管理的效率。
20、 3.2系統(tǒng)功能性需求分析 3.2.1 功能劃分 一個賓館的管理是十分復雜的過程,往往涉及許多不同的管理流程和系統(tǒng)。我們按照涉及對象的不同功能,將系統(tǒng)化分為以下幾個模塊: 1、客房管理: 包括客房標準編號、標準名稱、客房面積、床位數量、住房單價、是否有衛(wèi)生間、電話、電視機等。用戶可以隨時修改、查詢。 2、客房資源: 能夠輸入、修改,包括客房編號、客房類型、客房位置、客房單價、剩余的客房數量以及備注等信息。 3、定房信息: 包括兩部分:一是住房的信息,如客房編號、客房類型、客房位置、客房單價;二是住客信息,如姓名、身份證號碼、入住日期、折扣比例,以及備注信息等。 4
21、、 結算信息: 包括客房編號、客房類型、客房位置、客房單價、顧客姓名、身份證號碼、入住日期、折扣比例、結算日期和備注信息等。 3.2.2.2 登錄功能模塊 主要用于用戶的登錄。已注冊的用戶進入系統(tǒng)后可根據之前注冊的用戶名和密碼直接登錄自己的賬戶,但用戶需要填入正確的用戶名和用戶密碼。如果用戶登錄時的用戶名或密碼錯誤,就會有提醒用戶登錄失敗的頁面。如果用戶輸入的用戶名和密碼經過確認后,頁面需跳轉到管理系統(tǒng)的管理首頁。 3.2.2.3 查詢功能模塊 所有管理用戶都可以使用本系統(tǒng)的查詢功能,對信息的基本情況進行了解,并且查詢需要支持模糊查詢。查詢客房編號、客房類型、客房位置、客房單
22、價、剩余的客房數量以及備注等信息。 3.2.2.4 管理功能信息模塊 只有登錄的合法用戶才可以使用管理功能模塊并且進行修改,并可以添加、刪除等。 3.3 系統(tǒng)非功能性需求 3.3.1 可用性 本系統(tǒng)的潛在用戶群具有的身份、背景可能會有較大的差異,因此對本系統(tǒng)的可操作性和易用性都提出了很高的要求。過于復雜的操作將不可避免的損失大量的用戶,本系統(tǒng)應能讓任何用戶都不必借助任何操作手冊或相關的系統(tǒng)幫助就能順利地進行各種操作。 3.3.2 可靠性 系統(tǒng)建成后預計將有大量的用戶用此系統(tǒng),因此對系統(tǒng)的穩(wěn)定性有比較高的要求。一旦系統(tǒng)不能正常工作,會給用戶群帶來巨大的損失也將導致失去用
23、戶對系統(tǒng)的信任。 第四章 系統(tǒng)設計 4.1 功能模塊 查詢結算信息 修改結算信息 結算信息管理 4.1.1 設置客房標準 (1)添加客房標準 選擇“添加客房標準”后,就出現右圖所示對話框,其中包括:標準編號、標準名稱、房間面積、床位數量、住房單價,并設置是否有空調、電話、電視、衛(wèi)生間等。 在輸入完成各項內容后,單擊“保存”后,就可以將客房標準添加至相應的數據庫。 (2)修改客房標準 選擇“修改客房標準”后,就出現右圖所示對話框,顯示項目與“添加客房標準”相同,但此模塊調用客房標準數據庫內的數據并進行相應的顯示,允許用戶對數據進行修改。完成
24、修改后,單擊“修改”按鈕后,將更新客房標準數據庫的內容。 (3)刪除客房標準 選擇“刪除客房標準”后,就出現右圖所示對話框,在此對話框中,通過下拉框選擇要刪除的“標準編號”,然后,單擊“刪除”按鈕后,就可以將該標準編號及相應的數據給予刪除。 4.1.2、設置客房信息 (1)添加客房信息 選擇“添加客房信息”,出現右圖所示對話框,在“客房編號”內輸入房間編號;在“客房類型”中,通過下拉菜單選擇相該客房的類型;在“客房位置”中輸入該房間的地理位置,以利于客人進行選擇;“客房單價”由系統(tǒng)自動生成,無需輸入;然后在“備注信息”中說明客房內部配置的完好程度及
25、需要說明的有關信息。 (2)修改客房信息 選擇“修改客房信息”,系統(tǒng)彈出如右所示對話框,并顯示出客房信息數據庫內第一行的內容,在“客房編號”中選擇相應的客房編號;在“客房類型”中選擇相應的類型進行修改;“客房位置”若沒有變化就不需要修改;“客房單價”會隨著客房類型的變化自動進行調整,無需人工修改;若要修改備注信息,則在“備注信息” 編輯框中輸入相應的信息。 輸入完成后,單擊“修改”按鈕,系統(tǒng)自動更正數據庫內的信息。 (3)刪除客房信息 選擇“刪除客房信息”,系統(tǒng)彈出如右所示對話框,并顯示出客房信息數據庫內第一行的內容,在“客房編號”中選
26、擇相應的客房編號;在“客房類型” “客房位置” “客房單價” “備注信息” 中自動顯示數據庫的內容。 確定要刪除時,單擊“修改”按鈕,系統(tǒng)自動刪除數據庫內的相應信息。 (4)查詢客房信息 選擇“查詢客房信息”,系統(tǒng)彈出如右所示的“輸入查詢條件”對話框,可以根據“客房編號”進行查詢,也可以根據“客房類型”進行查詢。在此,選擇“客房類型”,并在下拉菜單中選擇“所有房間類型”,單擊“查詢”后,系統(tǒng)根據要求顯示出如下相應的列表信息。 4.1.3定房信息管理 (1) 查詢剩余客房信息 選擇 定房信息管理
27、| 查詢剩余客房信息,系統(tǒng)彈出如右圖“剩余客房查詢”對話框。在此對話框中,有各種不同的查詢條件,按“全部剩余客房”查詢,或按“客房類型” “客房單價”進行查詢,三種不同的查詢方式為一組單選按鈕。只能選擇一種查詢條件進行查詢。 選擇查詢條件后,單擊“查詢”按鈕,系統(tǒng)進行自動查詢,并以列表的形式將查詢結果進行顯示,如下圖所示的“客房信息”。 (2) 添加定房信息 (2)選擇 定房信息管理| 添加定房信息 ,系統(tǒng)彈出如右圖所示的“添加定房信息”對話框。此對話框由兩部分組成,一部分為顧客信息,另一部分為客房信息。 在客房信息中,只要選擇了“客房編
28、號 ”,則其余內容全部顯示在客房信息中;在顧客信息中,詳細記錄了“顧客姓名” “身份證號碼” “入住時間”,“折扣”,“備注信息”。 全部輸入完成后,單擊“添加”按鈕,系統(tǒng)自動增加數據庫記錄。 (3)修改定房信息。 選擇 定房信息管理| 修改定房信息,系統(tǒng)彈出如右圖所示的“修改定房信息”在此對話框中,可以對“添加客房信息”中的失誤進行修改,或由于顧客要求變更客房類型時,就可以應用此對話框進行修改。 將所有信息修正完畢后,單擊“修改”按鈕后,自動將數據庫內容進行更正。 (4)查詢定房信息 選擇 定房信息管理|查詢定房信息,系統(tǒng)彈出“查詢定房信息”對話框,在此對話框中,列出了
29、各種查詢條件,如“顧客姓名” “房間編號” “入住時間” 此三種條件互為單選。在查詢條件的編輯欄中輸入相應的要求條件,然后單擊“查詢”按鈕后,系統(tǒng)自動進行查詢,并將結果顯示出來如下圖“定房信息”列表框圖所示。 4.1.4結算信息管理 (1) 添加結算信息 選擇 結算信息管理|添加結算信息 ,則彈出如右所示“添加結帳信息”對話框,在此對話框中,選擇“客房編號”中的相應客房編號,并選擇結帳時間,對話框內自動調用系統(tǒng)數據庫內的“顧客信息”及“客房信息”,然后單擊“添加”按鈕后,系統(tǒng)彈出如下結算信息, 在此對話框中,單擊“確定”后,在“添
30、加結帳信息”對話框中的“結帳金額”內自動更新為實際的結帳金額。 (2) 修改結算信息 選擇 結算信息管理| 修改結算信息,則彈出如下圖“修改結賬信息”對話框,在此對話框中,可以對“客房編號” “結帳時間”進行修改,在修改完成后,單擊“修改”按鈕后,在“結帳金額”中自動更正為實際的結算金額。 (3) 查詢結算信息 選擇 結算信息管理| 查詢結算信息,則彈出如右圖所示的 “查詢結算信息”對話框,在此對話框中,列出了各種查詢條件,如“顧客姓名” “房間編號” “入住時間” 此三種條件互為單選。在查詢條件的編輯欄中輸入相應的要求條件,然后單擊“查詢”按鈕后,系統(tǒng)自動進行查
31、詢,并將結果顯示出來如下圖“結算信息”列表框圖所示。 4.2 數據庫 4.2.1、數據庫的設計 數據庫在一個信息管理系統(tǒng)中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統(tǒng)的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。 設計數據庫系統(tǒng)時應根據需求分析階段的成果,充分了解用戶各個方面的需求,分析各用戶要求之間的聯系統(tǒng)及異同,并應具有前瞻性,將現有的以及將來可能增加的需求都包括在內。 創(chuàng)建一個數據庫,實際上就是創(chuàng)建了一個數據庫空間。數據庫由一組表構成,表是真正存儲數據的邏輯
32、單元。下面就根據功能模塊來定義這些表。 (1)標準客房表: 字段名 數據類型 能否取空值 備注 roomid Varchar NOT NULL 客房標準編號 roomname Varchar NOT NULL 客房標準類型 area Float NULL 客房面積 bednum Int NULL 床位數量 aircondition Bit NULL 是否有空調 television Bit NULL 是否有電視 telephone Bit NULL 是否有電話 toilet Bit NULL 是否有衛(wèi)生間 p
33、rice float NULL 單價 (2)客房信息表 字段名 數據類型 能否取空值 備注 roomnumber Varchar NOT NULL 客房編號 stdroom Varchar NOT NULL 客房標準類型 roomposition Varchar NULL 客房位置 roomprice Float NULL 單價 putup Bit NULL 是否入住 roommemo Text NULL 備注信息 (3)定房信息表 字段名 數據類型 能否取空值 備注 booknum Varchar N
34、OT NULL 定房編號 customname Varchar NOT NULL 顧客姓名 customID Varchar NOT NULL 身份證號碼 roomnumber Varchar NOT NULL 客房編號 indate Datetime NULL 入住日期 discount Float NULL 折扣比例 inmemo Text NULL 備注 checkdate Datetime NULL 結算日期 amount float NULL 金額 (4)用戶信息表 字段名 數據類型 能否取空值 備注
35、user_ID Varchar NOT NULL 用戶名 user_PWD Varchar NULL 用戶密碼 user_Des varchar NULL 用戶說明 4.2.2、 數據庫表的實現 通過需求作析以后,就可以得到數據庫的邏輯結構。然后利用SQL Server2000數據庫系統(tǒng)中的SQL查詢分析器來實現該邏輯結構。 具體步驟如下: (1)創(chuàng)建SQL2000數據庫。打開SQL查詢分析器,并輸入以下SQL語言程序; USE master GO CREATE DATABASE SQL2000 然后在“查詢”菜單中按“執(zhí)
36、行”,數據庫就自動在SQL中進行了創(chuàng)建。 (2)創(chuàng)建數據庫表。打開SQL查詢分析器,并輸入以下SQL語言程序; USE SQL2000 CREATE TABLE [dbo].[sysuser] ( [user_ID] [varchar] (15) NOT NULL , [user_PWD] [varchar] (10) NULL , [user_Des] [varchar] (10) NULL ) ON [PRIMARY] CREATE TABLE [dbo].[stdroom] ( [roomid] [varchar
37、] (10) NOT NULL , [roomname] [varchar] (10) NOT NULL , [area] [float] NULL , [bednum] [int] NULL , [aircondition] [bit] NULL , [telephone] [bit] NULL , [television] [bit] NULL , [toilet] [bit] NULL , [price] [float] NULL ) ON [PRIMARY] CREATE TABLE [dbo].[roominfo] ( [roomnum
38、ber] [varchar] (10) NOT NULL , [stdroom] [varchar] (10) NOT NULL , [roomposition] [varchar] (20) NULL , [roomprice] [float] NULL , [putup] [bit] NULL , [roommemo] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] CREATE TABLE [dbo].[bookroom] ( [booknum] [varchar] (14) NOT NULL , [c
39、ustomname] [varchar] (10) NOT NULL , [customID] [varchar] (18) NOT NULL , [roomnumber] [varchar] (10) NOT NULL , [indate] [datetime] NULL , [discount] [float] NULL , [inmemo] [text] NULL , [checkdate] [datetime] NULL , [amount] [float] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 然后
40、在“查詢”菜單中按“執(zhí)行”,數據表就自動在SQL2000數據庫中進行了創(chuàng)建。 4.2.3、創(chuàng)建數據源 使用ODBC編寫應用程序,需要創(chuàng)建數據源。數據源名稱為SQL2000,具體過程如下: (1) 在操作系統(tǒng)中,通過單擊“開始”|“設置”|“控制面板”|“管理工具”|“數據源(ODBC)”打開ODBC數據源管理器,ODBC數據源管理器由七個選項卡組成。創(chuàng)建用戶數據源,在“用戶DSN”選項卡進行配置。 (2) 單擊“添加”按鈕,進入“創(chuàng)建新數據源”窗口。 (3) 在“選擇您想為其安裝數據源的驅動程序”列表框中,顯示系統(tǒng)中全部ODBC驅動程序。選擇列表框中的“SQL Server”
41、,然后單擊“完成”按鈕,進入“建立新的數據源到SQL Server”窗口。 在“名稱”框中輸入“SQL2000”,在“說明”框中輸入“連接ODBC數據源”;在“服務器”框中選擇為“Local”。然后選擇“下一步”。 (4) 在“登錄”及“密碼”框中輸入用戶名“sa”和密碼“sa”。然后單擊“下一步”進入向導的第三步窗口。 (5) 點擊“更改默認的數據庫為”前的復選框,在顯示連接服務中所有的數據庫名的下拉列表中選擇“SQL2000”數據庫,然后單擊“下一步”, (6) 不需要更改,單擊“完成”進入“ODBC Microsoft SQL server安裝”窗口。為確定配置是否正確,可單擊
42、“測試數據源”,將顯示測試結果。 (7) 單擊“確定”,返回向導第四步窗口。 (8) 單擊“確定”,返回“ODBC數據源管理器”窗口。 4.3 賓館管理信息系統(tǒng)主窗體 4.3.1、工程項目 利用Visual C++6.0,使用ODBC編寫數據庫系統(tǒng)應用程序的步驟如下: (1) 啟動Visual C++6.0后,單擊“File | New”菜單,出現“New”對話框。在“New”對話框的“Projects”選項卡中,選擇“MFC AppWizard(exe)”項,然后在“Porjects”欄中輸入工程名稱Hot
43、el_SQL,在“Location”中選擇工程的位置D:\Hotel_SQL,其它使用默認選項。 (2) 單擊“OK”按鈕,出現“MFC AppWizard-Step1”對話框,在對話框中選擇“Single document”選項。 (3) 單擊“Next”按鈕,出現“MFC AppWizard-Step 2 of 6”對話框,在對話框中選擇“Header files only”選項,表示只使用頭文件中中包含的數據庫。 (4) 單擊“Next”按鈕,出現“MFC AppWizard-Step 3 of 6”對話框。在對話
44、框中保持默認選項,單擊Next按鈕,出現“MFC AppWizard-Step 4of 6”對話框,在對話框中只選擇“Initial statul bar”選項和“3D controls”選項。 (5) 單擊“Next”按鈕,出現“MFC AppWizard-Step 5 of 6”對話框。在對話框中保持默認選項。單擊“Next”按鈕,出現“MFC AppWizard-Step 6 of 6”對話框。在對話框中保持默認選項。 (6) 單擊“Finish”按鈕,出現“New Project Information”對話框,顯示以上選擇的內容。確認設置正確后,單
45、擊“OK”按扭,完成創(chuàng)建工程的工作。 (浙大資料) 4.3.2、賓館管理信息系統(tǒng)主窗體的菜單 (1) 完成創(chuàng)建工程的工作之后,在Workspace的Recource View中,單擊“Menu”文件夾,然后雙擊“IDR_MAINFRAME”選項,出現默認的主窗體菜單。 (2) 雙擊窗口中的“文件”菜單,彈出以下對許話框: 在標題中,將“文件”修改為“系統(tǒng)”后,選中“彈出”復選按鈕,按“回車鍵”確定后,窗口中的“文件”菜單名就變?yōu)槿缦聢D所示的“系統(tǒng)”菜單名,并且為一彈出菜單。 (3)在上圖“系統(tǒng)”菜單中,雙擊“新建”命令,彈出下圖所示對話框: 在此對話框中,將
46、ID號修改為“ID_MAINMENU_CHANGEPWD”,將標題內容修改為“修改密碼”。如下圖所示,然后按“回車鍵”確定。 (4)以同樣的方式,對這個菜單的其它項目進行修改,將原有 “文件”“編輯”“查看”等菜單項刪除,重新加入以下所示菜單項目,使其與系統(tǒng)功能模塊一致。一個菜單項對應一個系統(tǒng)功能模塊。 系統(tǒng)分為三級,菜單結構下表所示: 菜單名稱 ID 系統(tǒng) \ 修改密碼 ID_MAINMENU_CHANGEPWD 添加用戶 ID_MAINMENU_APPENDACCOUNT 退出系統(tǒng) ID_AP
47、P_EXIT 客房信息管理 \ 設備客房標準 \ 添加客房標準 ID_MENU_ADDSTDROOM 修改客房標準 ID_MENU_ALTERSTDROOM 刪除客房標準 ID_MENU_DELSTDROOM 設置客房信息 \ 添加客房信息 ID_MENU_ADDROOM 修改客房信息 ID_MENU_ALTERROOM 刪除客房信息 ID_MENU_DELROOM 查詢客房信息 ID_MENU_CHECKROOM 定房信息管理 \
48、 查詢剩余客房信息 ID_MENU_CHECKREMAIN 添加定房信息 ID_MENU_ADDBOOKROOM 修改定房信息 ID_MENU_ALTERBOOKROOM 查詢定房信息 ID_MENU_SEARCHBOOKROOM 結算信息管理 \ 添加結算信息 ID_MENU_ADDCHECKOUT 修改結算信息 ID_MENU_ALTERCHECKOUT 查詢結算信息 ID_MENU_SEARCHCHECKOUT 幫助 \ About \ 最終修改后的系統(tǒng)菜單如下圖所示: 4
49、.3.3、記錄集類 由于系統(tǒng)中各個模塊都將頻繁進行數據庫的訪問,因此首先創(chuàng)建Hotel數據庫中表的記錄集類。這樣,在以后相繼編寫系統(tǒng)各功能模塊時,就可以使用這些記錄集類進行數據庫操作,使程序容易逐步完成。創(chuàng)建步驟如下: (1) 單擊主菜單“Inser| New Class”選項,打開如下圖所示的“New Class”對話框。 (2) “Class Type”保持“MFC Class”不變,“Name”欄輸入“CStdroominfoSet”,作為表stdroom記錄集的類名;在“Base class”下拉列表中,選擇“CRecordset”選項,作為新類的基類。 (3) 單
50、擊“OK”按扭,打開“Database Options”對話框。如下圖所示: 在ODBC下拉列表中選擇新建的數據源“SQL2000”,然后單擊“OK”按鈕,打開“Select Database Tables ”對話框。 在對話框中列出的Hotel 庫中所有的表。選擇客房類型表dbo.sdroom,然后單擊“OK”。對話框關閉后,VC++自動生成記錄集類CStdroominfoSet。 (4) 按上述步驟為表roominfo,bookroom,sysuser創(chuàng)建記錄集類CroominfoSet、CbookroomSet、CuserSet。 4.4 客
51、房標準管理模塊 4.4.1、添加客房標準對話框 具體步驟如下: (1) 在Resource View中右擊“Dialog”,從快捷菜單中選擇“Insert Dialog”,生成只有兩個按鈕的對話框。使用控件工具,向對話框中添加標簽、文本框、下拉列表框等,并將各個控件調整至合適的位置。這個對話框用來輸入客房標準。 (2) 完成對話框制作之后,創(chuàng)建一個新類CStdroomDlg,并使用MFC ClassWizard中的Message Maps選項卡,向類中添加消息處理函數: OnOK();單擊“保存”事件。 (3) 使用“MFC ClassWiz
52、ard”中的“Member Variables”選項卡,向類中添加成員變量: CString m_roomid:標準編號 CString m_name:標準名稱 CString m_area:客房面積 CString m_bedno:床位數量 CString m_price:住房單價 int m_isaircon:是否有空調 int m_istel:是否有電話 int m_istv:是否有電視 int m_istoilet:是否有衛(wèi)生間 (4) 在“ClassView”中右擊類
53、名“CStdroomDlg”,從快捷菜單中選擇“Add Member Variables ”項,添加成員變量: CStdroominfoSet m_stdroom:表stdroom的記錄集類對象。 (5) 輸入客房標準信息后,單擊“保存”按鈕,添加記錄,其處理函數為OnOK()。在“ClassView”中雙擊“CstdroomDlg”類中的“OnOK()”函數,進行修改。修改后的代碼如下: void CStdroomDlg::OnOK() { UpdateData(TRUE); CString sWarn=""; if(m_roomid==
54、"")sWarn=_T("標準編號"); else if(m_name=="")sWarn=_T("標準名稱"); if(sWarn!="") { sWarn+=_T("不能為空!"); AfxMessageBox(sWarn); return; } if(atof(m_area)==0)sWarn=_T("房間面積"); else if(atol(m_bedno)==0)sWarn=_T("床位數
55、量"); else if(atof(m_price)==0)sWarn=_T("住房單價"); if(sWarn!="") { sWarn+=_T("不能為零!"); AfxMessageBox(sWarn); return; } m_stdroom.m_strFilter="typeid = '"+m_roomid+"'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else
56、 m_stdroom.Requery(); if(!m_stdroom.IsEOF()){ AfxMessageBox(_T("標準編號重復!")); return; } m_stdroom.m_strFilter="typename = '"+m_name+"'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else m_stdroom.Requery(); if(!m_stdroom.IsEOF()){ AfxM
57、essageBox(_T("標準名稱重復!")); return; } //AfxMessageBox(m_stdroom.GetSQL()); m_stdroom.AddNew(); m_stdroom.m_roomid=m_roomid; m_stdroom.m_roomname=m_name; m_stdroom.m_area=atof(m_area); m_stdroom.m_bednum=atol(m_bedno); m_stdroom.m_aircondition=m_isaircon; m_stdroom.m_telep
58、hone=m_istel; m_stdroom.m_television=m_istv; m_stdroom.m_toilet=m_istoilet; m_stdroom.m_price=atof(m_price); m_stdroom.Update(); m_stdroom.Close(); AfxMessageBox(_T("添加完成!")); } 4.4.2、修改客房標準與刪除客房標準對話框 創(chuàng)建這個對話框的步驟如下: 在Resource View(資源視圖)中右擊“Dialog”,從快捷菜單中選擇“Insert Dialo
59、g”,生成只有兩個按鈕的對話框。使用控件工具,向對話框中添加標簽、文本框、下拉列表框等,這個對話框既用于修改客房標準,也用于刪除客房標準。 完成對話框制作之后,創(chuàng)建一個新類CUpdateStdroom,并使用MFC ClassWizard中的Message Maps選項卡,向類中添加消息處理函數: OnInitDialog();初始化對話框 OnSelchangeRoomid():改變標準編號事件 OnOK():單擊“修改”事件。 使用“MFC ClassWizard”中的“Member Variables”選項卡,向類中添加成員變量: CComboBox
60、 m_id:標準編號 CString m_name:標準名稱 CString m_area:客房面積 CString m_bedno:床位數量 CString m_price:住房單價 int m_isaircon:是否有空調 int m_istel:是否有電話 int m_istv:是否有電視 int m_istoilet:是否有衛(wèi)生間 int m_flag:對話框標志。M_flag=1為修改客房類型;M_flag=0 為刪除客房類型 在“ClassView
61、”中右擊類名“CStdroomDlg”,從快捷菜單中選擇“Add Member Variables”項,添加成員變量: CStdroominfoSet m_stdroom:表stdroom的記錄集類對象。 在“ClassView”中雙擊“CUpdateStdroom”類中的“OnInitDialog()”函數,進行修改。修改后的代碼如下: BOOL CUpdateRoomType::OnInitDialog() { CDialog::OnInitDialog(); m_stdroom.Open(); while(!m_stdroom.IsEOF()) {
62、 m_id.AddString(m_stdroom.m_roomid); m_stdroom.MoveNext(); } if(m_id.GetCount()==0) { AfxMessageBox(_T("現在沒有客房標準!")); CDialog::OnOK(); return FALSE; } m_id.SetCurSel(0); m_id.GetLBText(0,m_roomid); m_stdroom.m_strFilter="roomid = '"+m_roomid+"
63、'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else m_stdroom.Requery(); //AfxMessageBox(m_stdroom.GetSQL()); m_name=m_stdroom.m_roomname; m_area.Format("%.2f",m_stdroom.m_area); m_bedno.Format("%d",m_stdroom.m_bednum); m_isaircon=m_stdroom.m_airconditi
64、on; m_istel=m_stdroom.m_telephone; m_istv=m_stdroom.m_television; m_istoilet=m_stdroom.m_htoilet; m_price.Format("%.2f",m_stdroom.m_price); UpdateData(FALSE); m_stdroom.Close(); if(m_flag) { SetWindowText(_T("修改客房標準")); GetDlgItem(IDOK)->SetWindowText
65、("修改"); } else { SetWindowText(_T("刪除客房標準")); GetDlgItem(IDOK)->SetWindowText("刪除"); } return TRUE; } (5) 函數OnSelchangeRoomid()的功能是當改變下拉列表中客房類型時,根據當前標準編號,更新顯示的內容。修改后的代碼為: void CUpdateRoomType::OnSelchangeTypeId() { UpdateData(TRUE); int i=m
66、_id.GetCurSel(); m_id.GetLBText(i,m_roomid); m_stdroom.m_strFilter="roomid = '"+m_roomid+"'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else m_stdroom.Requery(); //AfxMessageBox(m_stdroom.GetSQL()); m_name=m_stdroom.m_roomname; m_area.Format("%.2f&
67、quot;,m_stdroom.m_area); m_bedno.Format("%d",m_stdroom.m_bednum); m_isaircon=m_stdroom.m_aircondition; m_istel=m_stdroom.m_telephone; m_istv=m_stdroom.m_television; m_istoilet=m_stdroom.m_toilet; m_price.Format("%.2f",m_stdroom.m_price); m_stdroom.Close(); Upd
68、ateData(FALSE); } (6) 修改客房標準后或決定刪除時,調用OnOK()。具體代碼如下: void CUpdateRoomType::OnOK() { UpdateData(TRUE); if(m_flag) { CString sWarn=""; if(atof(m_area)==0)sWarn=_T("房間面積"); else if(atol(m_bedno)==0)sWarn=_T("床位數量"); else if(atof(m_price)==0)sWarn=_T("住房單價")
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。