

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 論文題目:賓館管理管理系統(tǒng)</p><p> 專 業(yè):計算機(jī)應(yīng)用軟件</p><p><b> 準(zhǔn)考證號: </b></p><p><b> 學(xué)生姓名: </b></p>&l
2、t;p><b> 指導(dǎo)教師: </b></p><p> 2012年 3 月 7日</p><p><b> 摘 要</b></p><p> 本文介紹了賓館客房管理系統(tǒng)的開發(fā)過程,論文詳盡論述了從需求分析、系統(tǒng)分析、概要設(shè)計、詳細(xì)設(shè)計以及測試的整個開發(fā)過程,總結(jié)了開發(fā)過程中的經(jīng)驗及本系統(tǒng)今后的改進(jìn)方向,遵
3、循軟件工程的方法,本賓館管理系統(tǒng)采用Microsoft Visual Studio.NET 2008和SQL Server 2000 數(shù)據(jù)庫作為開發(fā)工具。</p><p> 本系統(tǒng)實現(xiàn)了前臺接待管理、財務(wù)中心、查詢中心、統(tǒng)計報表、基礎(chǔ)數(shù)據(jù)、系統(tǒng)管理等6個功能模塊。前臺接待管理模塊中實現(xiàn)客房預(yù)訂、取消預(yù)定、客房入住、客房消費、換房、退房等;財務(wù)中心模塊中實現(xiàn)補(bǔ)打賬單、交接班、繳款等;查詢中心模塊中實現(xiàn)在店房客查詢
4、、歷史房客查詢、預(yù)定查詢、前臺收銀查詢等;統(tǒng)計報表模塊中實現(xiàn)賓客入住報表、賓客消費報表、賓客結(jié)賬報表、營業(yè)日報表、入住率統(tǒng)計報表等;基礎(chǔ)數(shù)據(jù)模塊中實現(xiàn)操作員管理、客房管理等;系統(tǒng)管理模塊中實現(xiàn)權(quán)限管理、系統(tǒng)設(shè)置、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)等功能。</p><p> 關(guān)鍵詞:賓館;數(shù)據(jù)庫;管理系統(tǒng)</p><p><b> Abstract</b></p>&
5、lt;p> This article describes a hotel room management system development process. Gave in-depth articles from the needs analysis, system analysis, outline design, detailed design, testing and debugging, as well as the
6、 entire development process, summed up the experience in the development process and improve the system's future direction. Guided by the Software Engineering. This system uses Microsoft Visual Studio 2008 and SQL Se
7、rver 2000 takes the development kit.</p><p> This system mainly realized six function parts: Reception management, finance center, check center, Stat. report, foundation information, system setup. Reception
8、 management module for preconcert room、cancel reservation、enter room、room consume、exchange room、quit room so on; finance center module for fill bill、hand over to the next shift and refer so on; check center module for ch
9、eck enter、check history roomer、check reservation and check counter so on; Stat. report module for enter report、room con</p><p> Keywords: Hotel; Database; Management System</p><p><b> 目
10、錄</b></p><p><b> 引 言1</b></p><p><b> 1 基礎(chǔ)知識3</b></p><p> 1.1 系統(tǒng)前臺開發(fā)工具3</p><p> 1.2 C++語言和面向?qū)ο蠹夹g(shù)4</p><p> 1.3 系統(tǒng)
11、數(shù)據(jù)庫開發(fā)工具5</p><p><b> 2 需求分析8</b></p><p> 2.1 背景說明8</p><p> 2.2 系統(tǒng)開發(fā)目的9</p><p> 2.3 系統(tǒng)說明及概念層類圖9</p><p> 2.3.1 系統(tǒng)操作員管理9</p>
12、<p> 2.3.2 前臺接待管理10</p><p> 2.4 系統(tǒng)用例圖與功能概述11</p><p> 2.4.1 前臺管理11</p><p> 2.4.2 財務(wù)及查詢中心管理12</p><p> 2.4.3 基礎(chǔ)數(shù)據(jù)管理13</p><p> 2.4.4 系統(tǒng)管
13、理14</p><p> 2.5 項目確立15</p><p> 3 概要設(shè)計16</p><p> 3.1 系統(tǒng)架構(gòu)16</p><p> 3.1.1 MVC模式介紹16</p><p> 3.1.2 系統(tǒng)架構(gòu)圖18</p><p> 3.2 面向數(shù)據(jù)流的設(shè)
14、計方法19</p><p> 3.2.1 系統(tǒng)層次結(jié)構(gòu)圖19</p><p> 3.3.2 系統(tǒng)輸入輸出表20</p><p> 3.3 系統(tǒng)界面設(shè)計21</p><p> 3.4 數(shù)據(jù)庫設(shè)計22</p><p> 3.4.1 關(guān)系型數(shù)據(jù)庫設(shè)計法則22</p><p&
15、gt; 3.4.2 數(shù)據(jù)庫表設(shè)計23</p><p> 4 詳細(xì)設(shè)計27</p><p> 4.1 代碼標(biāo)識設(shè)計27</p><p> 4.2 代碼設(shè)計原則27</p><p> 4.3 系統(tǒng)實現(xiàn)層類圖27</p><p> 4.3.1 系統(tǒng)操作員管理28</p>&l
16、t;p> 4.3.2 前臺接待管理29</p><p> 4.4 系統(tǒng)主要功能流程及模塊設(shè)計30</p><p> 4.4.1 入住登記流程30</p><p> 4.4.2 退房流程31</p><p> 4.4.3 系統(tǒng)設(shè)置流程32</p><p> 5 系統(tǒng)實現(xiàn)33<
17、;/p><p> 5.1 系統(tǒng)登錄33</p><p> 5.2 系統(tǒng)主界面34</p><p> 5.3 入住登記35</p><p> 5.4 系統(tǒng)設(shè)置37</p><p> 6 系統(tǒng)測試38</p><p> 6.1 測試方法38</p>&l
18、t;p> 6.2 軟件可靠性測試40</p><p><b> 結(jié) 論41</b></p><p><b> 致 謝42</b></p><p> 參 考 文 獻(xiàn)43</p><p> 附錄 附錄清單A44</p><p> 附錄 附錄清單B
19、49</p><p> 附錄 程序清單C53</p><p><b> 緒 論</b></p><p> 隨著21世紀(jì)的鐘聲敲響,人類正以驚人的速度走出工業(yè)文明,步入超高速發(fā)展的信息時代。當(dāng)人們昨天還在沉浸在486,586帶來的高速、便捷時,而在今天,世界上又超乎人們想象地誕生了P4 2.4,P4 3.6……,對于明天,已經(jīng)無法
20、預(yù)想,因為計算機(jī)正以令人難以致信的速度發(fā)展。信息時代的來臨僅改變著人們的生活,也不斷改變著人們的思維方式和學(xué)習(xí)方式,以及周圍的一切??梢哉f,計算機(jī)注定要伴隨人們一生。電子信息的網(wǎng)絡(luò)化,各行各業(yè)的高度信息化不斷推動著社會的高度發(fā)展。對于新世紀(jì)的大學(xué)生,并且又是計算機(jī)專業(yè)的大學(xué)生,不僅僅要掌握計算機(jī)的基本技能,而且要精通計算機(jī)的科學(xué)技術(shù)及其應(yīng)用。在現(xiàn)代化的經(jīng)濟(jì)時代里,信息化競爭已經(jīng)越來越趨于白熱化,具有先進(jìn)的信息化技術(shù),無論是個人也好,還是
21、企業(yè)也罷,都能占據(jù)先機(jī),從而有效地拓寬與發(fā)展。</p><p> 信息管理系統(tǒng)(MIS)是提高企業(yè),單位以及人們生活效率的一個極其重要的方面,信息管理系統(tǒng)的發(fā)展與廣泛應(yīng)用能夠體現(xiàn)一個企業(yè)是否具有現(xiàn)代化競爭科技實力,更是評判一個國家信息化發(fā)展的一個標(biāo)準(zhǔn),因此,做好信息管理系統(tǒng)(MIS)也是當(dāng)代大學(xué)生信息技術(shù)能力的一個體現(xiàn)。</p><p> 賓館管理系統(tǒng)是一個賓館行業(yè)不可缺少的部分,其內(nèi)
22、容對于賓館的決策者和管理者來說都至關(guān)重要,所以賓館管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一旦長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。</p><p> 隨著科學(xué)技術(shù)的不斷提高,計算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,并且已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越
23、重要的作用。作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對教學(xué)信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高賓館管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。</p><p> 因此,開發(fā)這樣管理軟件成為很有必要的事情。賓館的基本內(nèi)涵就是為旅客提供住宿服務(wù),之所以這樣講是因為賓館最原始、最基本的功能是為過往旅客
24、提供住宿及服務(wù)。顯然,今天的賓館與過去的旅館相比已經(jīng)有了很大的不同。隨著社會的進(jìn)步,經(jīng)濟(jì)的發(fā)展,當(dāng)今社會人員流動越來越頻繁,賓館管理工作也變得越來越復(fù)雜。旅游者對賓館的需求量越來越大,對賓館的要求也越來越高。如果能夠?qū)崿F(xiàn)賓館管理的自動化,無疑將給賓館管理部門帶來很大的方便。以前中國賓館企業(yè)管理方面還主要是憑經(jīng)驗。賓館管理整體的科技含量低,還有許多與時代脫節(jié)、落后的表現(xiàn):操作隨意性大,容易波動,管理漏洞多,物質(zhì)損耗大,經(jīng)濟(jì)效益低等明顯地成
25、為制約行業(yè)發(fā)展的關(guān)鍵性因素。</p><p> 如何利用現(xiàn)代社會賦予人們的新觀念、新手段向管理要效益,為賓館管理注入新的活力,從而在激烈的市場競爭中站穩(wěn)腳跟,是擺在每個賓館管理人士面前的重要課題。先進(jìn)的賓館管理系統(tǒng)應(yīng)是將中國多年來賓館管理積累的成功經(jīng)驗與現(xiàn)代化信息處理技術(shù)結(jié)合起來,相互呼應(yīng),通過完美的功能設(shè)置,建立一個自動化管理信息系統(tǒng),以提高賓館管理的效率和質(zhì)量。</p><p>
26、賓館管理系統(tǒng)面對強(qiáng)大的信息量可以輕松的管理,減少了在管理上面物力和人力,有利于賓館提高工作效率和賓館效益。面對龐大的信息量,賓館在正常運營中需要對客房資源、顧客信息、結(jié)算信息進(jìn)行管理,利用賓館管理信息系統(tǒng)及時了解保個環(huán)節(jié)中信息的變更,有利于提高管理的效率。通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、需要統(tǒng)計和快速的查詢,從而減少在管理方面的工作量。</p><p> 用戶心目中的賓館管理軟件除了可以完成現(xiàn)有的功能之
27、外,還能更有效地利用各種先進(jìn)技術(shù),使用戶通過管理系統(tǒng)可以完成更多的任務(wù),更方便地與信息社會融合。</p><p> 賓館管理系統(tǒng)主要是從廣義的管理入手,嚴(yán)格的遵守系統(tǒng)的效能,是一個結(jié)構(gòu)復(fù)雜、功能強(qiáng)大的管理信息系統(tǒng)。本系統(tǒng)較完整的實現(xiàn)了賓館前臺所需的各項功能,后臺管理方便,從而真正減少操作員日常的工作量,使操作人員輕松、快捷、高效、高質(zhì)量的完成各項工作。</p><p> 本文中共分6章
28、。第一章基礎(chǔ)知識,主要描述賓館管理系統(tǒng)的開發(fā)工具簡介;第二章系統(tǒng)需求分析,主要描述系統(tǒng)開發(fā)背景、意義,開發(fā)方法及系統(tǒng)功能需求;第三章系統(tǒng)概要設(shè)計,主要描述系統(tǒng)工作流程、功能結(jié)構(gòu)圖及數(shù)據(jù)庫表設(shè)計;第四章詳細(xì)設(shè)計,主要描述系統(tǒng)各個功能的工作流程。第五章系統(tǒng)實現(xiàn),主要描述系統(tǒng)具體的實現(xiàn)過程。第六章系統(tǒng)測試,主要介紹系統(tǒng)使用的測試方法及測試用例并計算系統(tǒng)的穩(wěn)態(tài)可用性。每章附有本章重點介紹的功能圖例及詳細(xì)講解,幫助理解系統(tǒng)的各部分功能。</
29、p><p><b> 1 基礎(chǔ)知識</b></p><p> 1.1 系統(tǒng)前臺開發(fā)工具</p><p> 前臺開發(fā)工具:Microsoft Visual Studio 2008,Visual Studio.NET是.NET平臺下最為強(qiáng)大的開發(fā)工具,無論是軟件服務(wù)商,還是企業(yè)應(yīng)用程序的部署與發(fā)布,Visual Studio.NET都可以提供
30、近乎完美的解決方案。Visual Studio.NET提供了包括設(shè)計、編碼、編譯調(diào)試、數(shù)據(jù)庫聯(lián)接操作等基本功能和基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評測報告等高級功能。</p><p> 1、Visual Studio 2008新功能及特性的介紹</p><p> ?。?)Visual Studio 2008和Visual Studio 2005都
31、具有相同的架構(gòu)和編輯界面,同時也包括賦予一個新的品牌:VS2008的外衣;VS2008是一個強(qiáng)大Vista的客戶端,具有良好的外觀設(shè)計和很多的新的可用的功能,當(dāng)然也包括增強(qiáng)了多線程調(diào)試功能。</p><p> ?。?)Fx3.5延續(xù)了Fx3.0 提出的加性算法,而沒有推出新的CLR。順便提到的是,F(xiàn)x3.0沒有改變或刪除任何Fx2.0現(xiàn)有的組件,只是做了單純的增加(增加的組件:WPF, WCF, WF和Card
32、Space)。因此,F(xiàn)x3.5只在Fx2.0/3.0現(xiàn)有的DLL設(shè)置上簡單地增加了一些組件,這意味著簡單地安裝這個框架應(yīng)該不會影響當(dāng)前的解決方案。不過請注意,F(xiàn)x3.5仍然取決于同時運行工作的Fx2.0 SP1和Fx3.0 SP1。</p><p> (3)Visual Studio 2008有一個新的簡單而強(qiáng)大的功能: multitargeting,一種針對不同的.Net框架版本(2.0,3.0和3.5)創(chuàng)建
33、項目的能力。這就意味著即使Visual Studio 2008可以與Visual Studio 2005同時安裝,用戶不再需要Visual Studio 2005了,因為Visual Studio 2008提供的功能更強(qiáng)大。</p><p> ?。?)C# 3.0和VB9有許多新的語言特點(包括:自動控制屬性,無限制授權(quán),對象初始化,類型推斷,匿名類型,擴(kuò)展方法, lambdas表達(dá)式和局部方法)。由于CLR沒有
34、新的版本,所以人們期望編譯器能夠向后兼容;簡單說來,這就意味著所有的新的語言功能,可被用于現(xiàn)有的2.0版項目(由于上述所提到的multitargeting功能)中。</p><p> ?。?)Visual Studio 2008最大的特點是LINQ(語言整合查詢)。LINQ在很大程度上取決于先前介紹過的語言特性和Fx 3.5的強(qiáng)大整合能力(已精確到四個組件)。LINQ是一個新的范例,其用統(tǒng)一的方式查詢數(shù)據(jù)來源,不
35、管外界數(shù)據(jù)來源是什么:如在內(nèi)存中的對象, XML模式,SQL查詢結(jié)果 ,數(shù)據(jù)集合等(因為LINQ架構(gòu)已被完全擴(kuò)展)。并行的LINQ的成就,未來看起來會更加光明。</p><p> ?。?)對于網(wǎng)站開發(fā)人員來說,ASP.NET AJAX改進(jìn)后獨立出來。ASP.NET 3.5包括3個新增的控件,如ListView,DataPager和LinqDataSource。改進(jìn)后的IDE也可以用于asp.net 2.0項目,如
36、支持JavaScript的動態(tài)知能感知和調(diào)試,一個新的CSS引擎和一個支持嵌套母版頁的HTML設(shè)計器。</p><p> ?。?)對于客戶端開發(fā)者而言,新特性包括獨立出來的WPF方案模板,新的WPF開發(fā)者集成支持Win Form和WPF互用。Fire Fox支持Click Once和XBAP調(diào)度?,F(xiàn)在,從ASP.NET提供商的服務(wù)和為運行于Windows Vista系統(tǒng)上的應(yīng)用程序嵌入UAC驗證中,用戶能獲益多多
37、。</p><p> ?。?)對于辦公軟件的開發(fā)者,全面支持2007辦公自定義,和Office 2003模板一樣易于使用。支持包括outlook區(qū)域性,地區(qū)自定義,自定義任務(wù)欄,動作欄,Word內(nèi)容控制,數(shù)據(jù)綁定和VBA互用。</p><p> ?。?)對于服務(wù)器開發(fā)者,現(xiàn)在WCF和WF模板獨立出來, 一起合作得相當(dāng)好。 現(xiàn)在WCF 支持無SOAP的HTTP編程模式,像完整版和JSON連接
38、體一樣完美。</p><p> ?。?0)對于移動用戶的開發(fā)者,有大量的新特性包括支持簡潔的LINQ和WCF還有很多另外的NETCF特性。</p><p> (11)重新生成一個 Visual Basic 項目并運行一個后臺編譯器的速度提高到了原來的3倍,使用的內(nèi)存卻只有原來的1/3。在編輯器里滾動較大的 C# 文件的速度比原來快了一倍,鍵入新文本的速度是原來的1.5倍。對C# 中龐大類
39、型的智能感應(yīng)響應(yīng)時間提高了至多10倍增量。生成C++/ CLI 項目解決方案的時間最快可以提高到原來的1.9倍。TFS 版本控制命令處理經(jīng)過重寫后,能夠在不需要綁定內(nèi)存到服務(wù)器上的情況下,支持無限量的關(guān)鍵命令操作。 在測試衡量結(jié)果中,關(guān)鍵命令的運行速度還提高了10% 到60%,尤其是在比較大的項目上操作時有了很大的性能提高。</p><p> ?。?2)多版本兼容,可以自由選擇使用.NetFrameWork2.0
40、、.NetFrameWork3.0或是.NetFrameWork3.5。</p><p> 1.2 C++語言和面向?qū)ο蠹夹g(shù)</p><p> Visual C++ 就是可視化的C++,在學(xué)習(xí)Visual C++ 專業(yè)編程之前,必須熟練掌握C++的基礎(chǔ)語法和基本程序設(shè)計方法。C++由標(biāo)準(zhǔn)庫以及各種組件組成,是一種面向?qū)ο蟮某绦蛟O(shè)計語言,面向?qū)ο蠹夹g(shù)的三大特性即封裝性、繼承性和多態(tài)性[
41、1]。</p><p><b> ?。?)封裝</b></p><p> 封裝就是將數(shù)據(jù)和操作數(shù)據(jù)的方法即函數(shù)組合在一起構(gòu)成類,從而實現(xiàn)數(shù)據(jù)抽象和數(shù)據(jù)隱藏。封裝意味著對象應(yīng)具有明確的功能,并有能和別的對象相互作用的接口,也意味著對象內(nèi)部代碼受到保護(hù),只有處于對象中的代碼才可以訪問該對象內(nèi)部數(shù)據(jù),這就是數(shù)據(jù)的隱藏,數(shù)據(jù)隱藏是一種非常有價值的特性,用戶不必了解或關(guān)心某個
42、對象的內(nèi)部工作情況就可以使用。封裝可以減少程序的復(fù)雜性,主要是通過類內(nèi)部的各種機(jī)制來完成的,因此,類具有隱藏復(fù)雜性的機(jī)制,以使封裝可以具有安全且易于移植的特。</p><p><b> (2)繼承重用</b></p><p> C++語言支持繼承。在C++語言中,可以從一個類派生出另一個類。派生類(也稱之為子類)繼承了其父類和祖父類的所有數(shù)據(jù)成員和成員函數(shù),并通過
43、聲明新的數(shù)據(jù)成員和成員函數(shù)來拓展新的功能。利用繼承可以避免相同的內(nèi)容重復(fù)出現(xiàn),能夠節(jié)省大量的空間以及存儲空間,提高重用性。</p><p><b> (3)多態(tài)性</b></p><p> 多態(tài)性是意味著同樣的表示法可以處理多種不同類型的數(shù)據(jù),以便同一符號的名稱可以在類層次結(jié)構(gòu)中共同使用。也就是說,不同對象接受相同函數(shù)調(diào)用時,可以導(dǎo)致完全不同的行為。只要進(jìn)行了一般
44、形式的函數(shù)調(diào)用,多態(tài)性就會保證把函數(shù)的實現(xiàn)細(xì)節(jié)留給接受函數(shù)調(diào)用的對象[2]。</p><p> 1.3 系統(tǒng)數(shù)據(jù)庫開發(fā)工具</p><p> SQL是Structured Query Language(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用時,只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強(qiáng)大、簡單易學(xué)、
45、使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。SQL數(shù)據(jù)庫數(shù)據(jù)體系結(jié)構(gòu):SQL數(shù)據(jù)庫的數(shù)據(jù)體系結(jié)構(gòu)基本上是三級結(jié)構(gòu),但使用術(shù)語與傳統(tǒng)關(guān)系模型術(shù)語不同。在SQL中,關(guān)系模式(模式)稱為“基本表”(base table);存儲模式(內(nèi)模式)稱為“存儲文件”(stored file);子模式(外模式)稱為“視圖”(view);元組稱為“行”(row);屬性稱為“列”(column)。</p><
46、;p> SQL語言的組成:一個SQL表數(shù)據(jù)庫是表(Table)的集合,由一個或多個SQL模式定義。一個SQL表由行集構(gòu)成,一行是列的序列(集合),每個列與行對應(yīng)一個數(shù)據(jù)項。一個表或者是一個基本表或者是一個視圖?;颈硎菍嶋H存儲在數(shù)據(jù)庫的表,而視圖是由若干基本表或視圖構(gòu)成的表的定義。一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應(yīng)。用戶可以用SQL語句對視圖和基本表
47、進(jìn)行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區(qū)別,都是關(guān)系表格。</p><p> SQL SERVER 2000數(shù)據(jù)庫介紹:</p><p> SQL Server是Microsoft公司的一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),但說起SQL Server的歷史,卻得從Sybase開始的。SQL Server從20 世紀(jì)80年代后期開始開發(fā),最早起源于1987年的Sybase SQL
48、Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把該產(chǎn)品移植到OS/2上。后來Aston-Tate公司退出了該產(chǎn)品的開發(fā),而Microsoft公司、Sybase公司則簽署了一項共同開發(fā)協(xié)議,這兩家公司的共同開發(fā)結(jié)果是發(fā)布了用于Windows NT操作系統(tǒng)的SQL Server,1992年,
49、將SQL Server移植到了Windows NT平臺上[3]。</p><p> 在SQL Server 4版本發(fā)行以后,Microsoft公司和Sybase公司在SQL Server的開發(fā)方面分道揚鑣,取消了合同,各自開發(fā)自己的SQL Server。Microsoft公司專注于Windows NT平臺上的SQL Server開發(fā),而Sybase公司則致力于UNIX平臺上的SQL Server的開發(fā)。本文中介
50、紹的是Microsoft SQL Server 以后簡稱為SQL Server或MS SQL Server。 </p><p> SQL Server6.0版是第一個完全由Microsoft公司開發(fā)的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接著在1998年又推出了具有巨大變化的7.0版,這一版本在數(shù)據(jù)存儲和數(shù)據(jù)庫引擎方面發(fā)生了根本性的變化。又經(jīng)過兩年的努力開發(fā),
51、Microsoft公司于2000年9月布了SQL Server 2000,其中包括企業(yè)版、標(biāo)準(zhǔn)版、開發(fā)版、個人版四個版本。從SQL Server 7.0到SQL Server 2000的變化是漸進(jìn)的,沒有從6.5到7.0變化那么大,只是在SQL Server 7.0的基礎(chǔ)上進(jìn)行了增強(qiáng)。</p><p> SQL Server2000是微軟公司開發(fā)的一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),以Transact SQL的數(shù)據(jù)庫查詢和
52、編程語言。T-SQL 是結(jié)構(gòu)化查詢語言SQL的一種,支持ANSI SQL-92標(biāo)準(zhǔn)。</p><p> 數(shù)據(jù)庫技術(shù)從60年代末期至今只有不到40年的歷史,但其發(fā)展速度之快是另外的技術(shù)所不及的。其已由第一代的層次型、網(wǎng)狀型數(shù)據(jù)庫,第二代的關(guān)系型數(shù)據(jù)庫發(fā)展到今天以面向?qū)ο鬄橹饕P偷臄?shù)據(jù)庫,即第三代數(shù)據(jù)庫。數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)通信技術(shù)、面向?qū)ο缶幊碳夹g(shù)、并行計算機(jī)技術(shù)、人工智能技術(shù)相互融合、相互滲透,促進(jìn)了數(shù)據(jù)庫技術(shù)的
53、廣泛應(yīng)用。</p><p> 數(shù)據(jù)庫(Database),是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間,實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術(shù)還為用戶提供了非常簡便的使用手段,使用戶易于編寫有關(guān)數(shù)據(jù)庫應(yīng)用程序。特別是近年來推出的計算機(jī)關(guān)系數(shù)據(jù)庫管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強(qiáng)大,環(huán)
54、境適應(yīng)廣泛,數(shù)據(jù)處理能力極強(qiáng)[4]。</p><p> 數(shù)據(jù)庫的設(shè)計是指對一個給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),滿足各種用戶需求。作為信息資源開發(fā)、管理和服務(wù)的一種有效的手段,數(shù)據(jù)庫技術(shù)的應(yīng)用已越來越廣泛,從小型的單項事務(wù)處理系統(tǒng)到大型的信息系統(tǒng)大都用先進(jìn)的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對一個實際的系統(tǒng)來說,數(shù)據(jù)庫表的設(shè)計在遵循數(shù)據(jù)庫理論的同時,必須能用開發(fā)工具來實現(xiàn)用
55、戶在各方面提出的功能要求數(shù)據(jù)庫與數(shù)據(jù)文件相似,同為存儲數(shù)據(jù)的場所。與數(shù)據(jù)文件一樣,數(shù)據(jù)庫并不直接向用戶顯示信息;用戶運行應(yīng)用程序訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫將這些數(shù)據(jù)以用戶能夠理解的格式呈現(xiàn)給用戶。</p><p> 數(shù)據(jù)庫系統(tǒng)比數(shù)據(jù)文件的功能強(qiáng)大,因為數(shù)據(jù)庫中的數(shù)據(jù)組織程度更高。在設(shè)計良好的數(shù)據(jù)庫中,沒有用戶或應(yīng)用程序必須同時更新的重復(fù)數(shù)據(jù)塊。相關(guān)的數(shù)據(jù)分在一個結(jié)構(gòu)或一條記錄中,同時,還可以定義這些結(jié)構(gòu)和記錄之
56、間的關(guān)系。</p><p> 處理數(shù)據(jù)文件時,必須根據(jù)每個數(shù)據(jù)文件的特定結(jié)構(gòu)對應(yīng)用程序進(jìn)行編碼。數(shù)據(jù)庫則不同,包含一個目錄,應(yīng)用程序可以利用該目錄來確定數(shù)據(jù)的組織結(jié)構(gòu)。通用數(shù)據(jù)庫應(yīng)用程序能夠利用該目錄動態(tài)地向用戶提供來自不同數(shù)據(jù)庫的數(shù)據(jù)。</p><p><b> 2 需求分析</b></p><p><b> 2.1 背景
57、說明</b></p><p> 在中國,賓館分成五星級、四星級、三星級、二星級及一星級。客房和餐飲方面的管理也隨著酒店的星級不同有所區(qū)別,但大體上是相同的。賓館在正常的運營中需要對客房資源顧客信息、結(jié)算信息進(jìn)行管理,利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。信息社會的高科技,商品經(jīng)濟(jì)化的高效益,使計算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會生活的各個領(lǐng)域。計算機(jī)雖然與人類的關(guān)系愈來愈密
58、切,還有人由于計算機(jī)操作不方便繼續(xù)用手工勞動。為了適應(yīng)現(xiàn)代社會人們高度強(qiáng)烈的時間觀念,賓館管理系統(tǒng)軟件為管理人員帶來了極大的方便。通過操作手冊,使用者可以了解本軟件的基本工作原理。操作人員只需輸入一些簡單的漢字、數(shù)字,即可達(dá)到自己的目標(biāo)。</p><p> 對于大中型賓館來說,利用計算機(jī)支持高效率完成日常事務(wù),是適應(yīng)現(xiàn)代要求、推動管理走向科學(xué)化、規(guī)范化的必要條件;而且賓館管理又是一項非常煩瑣的事情,數(shù)量之大,核
59、算極其不便。同時計算機(jī)具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高賓館管理的效率,也是賓館的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。</p><p> 賓館管理需要對客人預(yù)訂客房、入住、居住到離店期間的一切服務(wù)進(jìn)行管理,并存儲賓館的所有靜態(tài)和動態(tài)信息,并且嚴(yán)格服從有關(guān)規(guī)定,按一定的模式或規(guī)律進(jìn)行。體現(xiàn)數(shù)據(jù)量大,數(shù)據(jù)流清晰、規(guī)范的
60、特點,因而特別適合用計算機(jī)管理,但現(xiàn)在國內(nèi)的中文系統(tǒng)很少,大多都是用外國公司制作的英文系統(tǒng)軟件,對國人來說,使用不方便,不利于普及。因此,中文的賓館管理在國內(nèi)的需求應(yīng)該很大,很有發(fā)展空間。</p><p> 賓館管理的科學(xué)化、系統(tǒng)化、信息化也成為各個賓館追求的目標(biāo)。因此,為了實現(xiàn)這些功能,就要求各個賓館配備一套客房管理信息系統(tǒng),以便在賓館內(nèi)實施良好的完善的管理且以最快地速度響應(yīng)客戶的需求,及時為賓客提供服務(wù),為
61、賓客提供一個高效,便捷的居住環(huán)境。</p><p> 正是在上面描述的大背景下,同時為了滿足各大賓館需求,提高工作效率。因此決定開發(fā)此賓館管理系統(tǒng),以滿足需要。</p><p> 2.2 系統(tǒng)開發(fā)目的</p><p> 隨著社會的進(jìn)步,經(jīng)濟(jì)的發(fā)展,當(dāng)今社會人員流動越來越頻繁,賓館管理工作也變得越來越復(fù)雜。旅游者對賓館的需求量越來越大,對賓館的要求也越來越高。
62、如果能夠?qū)崿F(xiàn)賓館管理的自動化,無疑將給賓館管理部門帶來很大的方便。以前中國賓館企業(yè)管理方面還主要是憑經(jīng)驗。賓館管理整體的科技含量低,還有許多與時代脫節(jié)、落后的表現(xiàn):操作隨意性大,容易波動,管理漏洞多,物質(zhì)損耗大,經(jīng)濟(jì)效益低等明顯地成為制約行業(yè)發(fā)展的關(guān)鍵性因素。</p><p> 賓館在正常的運營中需要對客房資源、顧客信息、結(jié)算信息進(jìn)行管理,利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。開
63、放性的、應(yīng)用系統(tǒng)可靈活伸縮的、面向最終用戶的現(xiàn)代TIMS的服務(wù)性系統(tǒng),不斷滿足賓館業(yè)務(wù)需求、市場環(huán)境的拓展和管理模式的變化。系統(tǒng)開發(fā)具有超前意識,強(qiáng)調(diào)系統(tǒng)的標(biāo)準(zhǔn)化、系列化、模塊化設(shè)計,有明確的功能模塊結(jié)構(gòu)和技術(shù)支持模塊結(jié)構(gòu),按賓館不同的星級、規(guī)模和資金條件,分若干檔次,充分利用當(dāng)前性價比最佳的技術(shù)產(chǎn)品組成模塊,靈活組合集成。便于系統(tǒng)維護(hù)、修改和升級,便于各賓館根據(jù)自己情況,分批分期實施技術(shù)改造,便于系統(tǒng)動態(tài)的跟隨世界先進(jìn)技術(shù)的發(fā)展?,F(xiàn)代
64、化的賓館是客房及其余各種服務(wù)與設(shè)施為一體化的消費場所,賓館組織龐大、服務(wù)項目多、信息量大,要想提高勞動生產(chǎn),降低成本,提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計算機(jī)來進(jìn)行現(xiàn)代化的信息管理,賓館信息管理系統(tǒng)正是為此而設(shè)計的,本系統(tǒng)是一套適用于中、小型賓館使用的優(yōu)秀系統(tǒng),操作簡單,靈活性好、系統(tǒng)安全性高,運行穩(wěn)定。</p><p> 2.3 系統(tǒng)說明及概念層類圖</p><p>
65、 面向?qū)ο笤O(shè)計的基礎(chǔ)就是使用類。類是用來代表現(xiàn)實事務(wù)或者功能的構(gòu)造塊。類圖是由若干類關(guān)聯(lián)在一起,反映系統(tǒng)或者子系統(tǒng)組成結(jié)構(gòu)的靜態(tài)圖。類圖的建模貫穿工程的分析和設(shè)計階段的始終在類圖中。</p><p> 根據(jù)建模的不同景象,類圖中不一定羅列出全部的內(nèi)容。如在建立分析模型或設(shè)計模型時,甚至可以只列出類名,在圖中著重表達(dá)的是類與類之間的聯(lián)系;在建立實現(xiàn)模型時,則應(yīng)當(dāng)在類圖標(biāo)中詳細(xì)給出類的屬性和方法等細(xì)節(jié)[5]。&l
66、t;/p><p> 2.3.1 系統(tǒng)操作員管理</p><p> 系統(tǒng)操作員管理類層次結(jié)構(gòu)圖,共由六個實體類構(gòu)成,SystemOperator類是系統(tǒng)操作員的父類,Administrator系統(tǒng)管理員類和Counter前臺操作員類是其子類,繼承了其全部的成員屬性和方法;OperatorManager操作員管理類是為實現(xiàn)而抽象出來管理SystemOperator系統(tǒng)操作員類的類,其與Sys
67、temOperator類之間屬于二元關(guān)聯(lián)關(guān)系且存在一種一對多的關(guān)系;SystemOpterator類擁有Purview權(quán)限類,而PurviewManager是為了實現(xiàn)而抽象出來管理Purview權(quán)限類的類,其與Purview類之間屬于二元關(guān)聯(lián)關(guān)系且存在一種一對多的關(guān)系。此類層次結(jié)構(gòu)圖如圖2.1所示:</p><p> 圖2.1 系統(tǒng)操作員管理類層次結(jié)構(gòu)圖</p><p> 2.3.2
68、 前臺接待管理</p><p> 前臺接待管理類層次結(jié)構(gòu)圖,共由十八個實體類構(gòu)成,分別是:RegisterManager登記管理類、ScheduledManager預(yù)定登記類、EnterManager入住登記類、RegisterBill登記類、RoomManager客房管理類、AllDayRoomManager全日房管理類、HalfDayRoomManager半日房管理類、HourlyDayRoomManage
69、r小時房管理類、Room客房類、AllDayRoom全日房類、HalfDayRoom半日房類、HourlyRoom小時房類、ConsumeManag消費單管理類、ConsumeBill消費單類、Goods消費商品類、GoodsManager消費商品管理類;RegisterManager類用來管理RegisterBill類,ScheduledManager類與EnterManager類繼承于該類,EnterManager類與Registe
70、rBill類繼承于RegisterBill類,而RegisterBill類包含Room類且為一對多的關(guān)系,AllDayRoom類、HalfDayRoom類及HourlyRoom類繼</p><p> 圖2.2 前臺接待管理類層次結(jié)構(gòu)圖 </p><p> 2.4 系統(tǒng)用例圖與功能概述</p><p> 2.4.1 前臺管理</p><p
71、> 前臺管理用例圖包括四個執(zhí)行者及十一個系統(tǒng)用例。用例分別是:前臺操作員登錄、客房預(yù)定、入住、取消預(yù)定、客房消費、換房、續(xù)住、寄存及退房,退房用例會擴(kuò)展出兩個新的用例:正常退房和惡意退房,惡意退房是指房客在預(yù)留押金小于客房消費與房費合計費,且未補(bǔ)交余款的情況下離開,那么前臺可執(zhí)行惡意退房,并將此房客納入黑名單;前臺操作員登錄后,系統(tǒng)會自動分配其權(quán)限;客房預(yù)定,如果房客在系統(tǒng)設(shè)置時間內(nèi)未來辦理入住,系統(tǒng)將自動取消預(yù)定;換房,如果是
72、同類型換房,則可直接執(zhí)行換,如果是不同類型換房,那么只有在先結(jié)清當(dāng)前賬務(wù)之后方可換房;客房預(yù)定、入住、續(xù)住、退房及寄存在執(zhí)行之后,都會打印押金憑證,而房客隨時可以憑此押金憑證領(lǐng)取退房或取消預(yù)定后剩余的押金。此用例圖如圖2.3所示:</p><p> 圖2.3 賓館管理系統(tǒng)前臺管理用例圖</p><p> 2.4.2 財務(wù)及查詢中心管理</p><p> 財務(wù)
73、及查詢中心管理用例圖包括三個執(zhí)行者及十個系統(tǒng)用例。用例分別是:賬單補(bǔ)打、交班、繳款、歷史交班查詢、歷史繳款查詢、前臺收銀查詢、在店房客查詢、歷史房客查詢及預(yù)定查詢;DBMS執(zhí)行者為數(shù)據(jù)庫管理系統(tǒng),是與本賓館管理系統(tǒng)交互的外部系統(tǒng);Printer執(zhí)行者為打印機(jī),是本賓館管理系統(tǒng)維護(hù)的外部輸出設(shè)備;Counter執(zhí)行者為本系統(tǒng)的前臺操作員,負(fù)責(zé)執(zhí)行財務(wù)中心模塊與查詢中心模塊的全部用例;補(bǔ)打賬單用例,是在房客手中的押金憑證丟失的情況下所執(zhí)行的
74、,而房客的身份由賓館的實際情況進(jìn)行辨別;交班用例,是在當(dāng)前前臺工作時間止的情況下執(zhí)行的,交班的時候需要輸入轉(zhuǎn)給下個前臺操作員的手持現(xiàn)金和前臺操作員工號及密碼;繳款用例,是在財務(wù)員工需要清點賬目的情況下執(zhí)行的;Counter前臺操作員可以隨時執(zhí)行預(yù)定查詢,在店房客查詢,歷史房客查詢等操作,還可以將查詢出的數(shù)據(jù)導(dǎo)入到Excel中。此用例圖如圖2.4所示:</p><p> 圖2.4 財務(wù)及查詢中心管理用例圖<
75、/p><p> 2.4.3 基礎(chǔ)數(shù)據(jù)管理</p><p> 基礎(chǔ)數(shù)據(jù)管理用例圖包括兩個執(zhí)行者及六個系統(tǒng)用例。用例分別是:客房信息管理、商品信息管理、交款類型管理、操作員管理、協(xié)議單位管理及黑名單管理;DBMS執(zhí)行者為數(shù)據(jù)庫管理系統(tǒng),是與本賓館管理系統(tǒng)交互的外部系統(tǒng);admin執(zhí)行者為系統(tǒng)管理員,是本賓館管理系統(tǒng)權(quán)限級別最高的執(zhí)行者,負(fù)責(zé)執(zhí)行基礎(chǔ)數(shù)據(jù)管理模塊的全部用例;基礎(chǔ)數(shù)據(jù)管理主要對本
76、賓館管理系統(tǒng)的基礎(chǔ)數(shù)據(jù)進(jìn)行增、刪、改、查等維護(hù);客房信息管理用例,系統(tǒng)管理員可以同時追加多個房間信息,只要輸入第一個房間序號及最后一個房間序號即可。此用例如圖2.5所示:</p><p> 圖2.5 基礎(chǔ)數(shù)據(jù)管理用例圖</p><p> 2.4.4 系統(tǒng)管理</p><p> 系統(tǒng)管理用例圖包括兩個執(zhí)行者及五個系統(tǒng)用例。用例分別是:權(quán)限管理、系統(tǒng)設(shè)置、數(shù)據(jù)初
77、始化、數(shù)據(jù)備份及數(shù)據(jù)還原;DBMS執(zhí)行者為數(shù)據(jù)庫管理系統(tǒng),是與本賓館管理系統(tǒng)交互的外部系統(tǒng);admin執(zhí)行者為系統(tǒng)管理員,是本賓館管理系統(tǒng)權(quán)限級別最高的執(zhí)行者,負(fù)責(zé)執(zhí)行系統(tǒng)管理模塊的全部用例;權(quán)限管理用例,管理每個系統(tǒng)操作員的權(quán)限,為了方便操作,還添加了全選與全不選功能;系統(tǒng)設(shè)置用例,設(shè)置系統(tǒng)參數(shù),包括預(yù)定房房態(tài)參數(shù)設(shè)置、入住房房態(tài)參數(shù)設(shè)置、空凈房房態(tài)參數(shù)設(shè)置、自用房房態(tài)參數(shù)設(shè)置、清掃房房態(tài)參數(shù)設(shè)置、預(yù)留押金限額參數(shù)設(shè)置、客房清掃時間參
78、數(shù)設(shè)置、消費限額參數(shù)設(shè)置、維修房房態(tài)參數(shù)設(shè)置、預(yù)定超時參數(shù)設(shè)置、半日房計費參數(shù)設(shè)置、小時房計費參數(shù)設(shè)置以及退房計費參數(shù)設(shè)置等;登記設(shè)置包括退房后清掃房間時間的設(shè)置、在預(yù)定規(guī)定時間內(nèi)超過多少小時未來辦理入住而取消預(yù)定的時間的設(shè)置及預(yù)留押金金額的設(shè)置;計費設(shè)置包括全日房計費設(shè)置、半日房計費設(shè)置以及小時房計費設(shè)置;數(shù)據(jù)初始化用例,刪除規(guī)定時間內(nèi)所有的業(yè)務(wù)數(shù)據(jù),包括預(yù)定登記信息、入住登記信息、寄存信息、消費信息、退房信息等。此用例如圖2.6所示
79、:</p><p> 圖2.6 系統(tǒng)管理用例圖</p><p><b> 2.5 項目確立</b></p><p> 該軟件的開發(fā)意圖:為了使各賓館的管理系統(tǒng)更完善;為了使賓館各部門和員工對日常辦公更方便;為減輕前臺人員的工作負(fù)擔(dān);適應(yīng)信息社會發(fā)展的需要。</p><p> 該軟件的應(yīng)用目標(biāo):通過本系統(tǒng)軟件,能
80、幫助工作人員利用計算機(jī)快速方便地進(jìn)行入住登記,使散亂的手工登記能夠具體化、直觀化和合理化。</p><p> 該軟件的作用及范圍:本軟件適用于三星級以下的賓館,是比較完善的賓館管理軟件,對前臺操作員的日常工作可以宏觀調(diào)整、管理。</p><p> 該軟件開發(fā)的背景:隨著中國改革開放的不斷推進(jìn),國內(nèi)人民生活水平的不斷提高,旅游出行的人民越來越多,商務(wù)活動也相當(dāng)?shù)幕钴S;再加上入境旅游的人也
81、越來越多,入境從事商務(wù)活動的外賓也越來越多。因此,現(xiàn)在國內(nèi)的賓館住宿行業(yè)也越來越多。賓館管理的科學(xué)化、系統(tǒng)化、信息化也成為各個賓館追求的目標(biāo)。</p><p><b> 3 概要設(shè)計</b></p><p><b> 3.1 系統(tǒng)架構(gòu)</b></p><p> 3.1.1 MVC模式介紹</p>
82、<p> 本系統(tǒng)的設(shè)計使用MVC模式,各層可以同時開發(fā),由不同的成員開發(fā)各個層次,不但可以提高團(tuán)隊開發(fā)速度,而且不會影響以外的層次開發(fā),方便對系統(tǒng)進(jìn)行開發(fā)和維護(hù)。由此,系統(tǒng)設(shè)計者決定采用MVC(三層架構(gòu))的開發(fā)模式。</p><p> MVC模式是“Model-View-Controller”的縮寫,中文翻譯為“模式-視圖-控制器”。MVC應(yīng)用程序總是由這三個部分組成。Event(事件)導(dǎo)致Cont
83、roller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。MVC模式最早是smalltalk語言研究團(tuán)提出的,應(yīng)用于用戶交互應(yīng)用程序中。smalltalk語言和java語言有很多相似性,都是面向?qū)ο笳Z言,很自然的SUN在petstore(寵物店)事例應(yīng)用
84、程序中就推薦MVC模式作為開發(fā)Web應(yīng)用的架構(gòu)模式。MVC模式是一種架構(gòu)模式,其實需要其余的模式協(xié)作完成。在J2EE模式目錄中,通常采用service to worker模式實現(xiàn),而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式組成。而Struts只實現(xiàn)了MVC的View和Controller兩個部分,Model部分需要開發(fā)者自己來實現(xiàn),St</p><p>
85、MVC模式是一個復(fù)雜的架構(gòu)模式,其實現(xiàn)在也顯得非常復(fù)雜。但是,人們已經(jīng)總結(jié)出了很多可靠的設(shè)計模式,多種設(shè)計模式結(jié)合在一起,使MVC模式的實現(xiàn)變得相對簡單易行。Views可以看作一棵樹,顯然可以用Composite Pattern來實現(xiàn)。Views和Models之間的關(guān)系可以用Observer Pattern體現(xiàn)。Controller控制Views的顯示,可以用Strategy Pattern實現(xiàn)。Model通常是一個調(diào)停者,可采用Med
86、iator Pattern來實現(xiàn)。</p><p> 現(xiàn)在來了解一下MVC三個部分在J2EE架構(gòu)中處于什么位置,這樣有助于人們理解MVC模式的實現(xiàn)。MVC與J2EE架構(gòu)的對應(yīng)關(guān)系是:View處于Web Tier或者說是Client Tier,通常是JSP/Servlet,即頁面顯示部分。Controller也處于Web Tier,通常用Servlet來實現(xiàn),即頁面顯示的邏輯部分實現(xiàn)。Model處于Middle
87、Tier,通常用服務(wù)端的javaBean或者EJB實現(xiàn),即業(yè)務(wù)邏輯部分的實現(xiàn)。</p><p> 視圖(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)
88、務(wù)流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。</p><p> 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對另外的層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應(yīng)用例子,從應(yīng)用技術(shù)實現(xiàn)
89、的角度對模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但不能作為應(yīng)用設(shè)計模型的框架。僅僅告訴人們按這種模型設(shè)計就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對一個開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計。MVC設(shè)計模式告訴人們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計方法,而只是告訴人們應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和
90、提高重用性。人們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴其的子類只能做這些,但沒法限制人們能做這些。這點對編程的開發(fā)人員非常重要。 </p><p> 控制(Controller)可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,可以清楚地告訴人們,就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。
91、例如,用戶點擊一個連接,控制層接受請求后,并不處理業(yè)務(wù)信息,只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。 </p><p> 模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其余依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。這實際上是一種模型的變化
92、-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能。MVC組件功能示意圖如圖3.1所示: </p><p> 圖3.1 MVC組件功能示意圖</p><p> 3.1.2 系統(tǒng)架構(gòu)圖</p><p> MVC層次模型就相當(dāng)于是一個黑盒子,不知道也不需要知道其內(nèi)部到底是怎么樣實現(xiàn)的,只需要知道如何去調(diào)用就行了。每一層只與其上下相鄰的兩層打交道。當(dāng)其中
93、一層內(nèi)部由于技術(shù)變遷而發(fā)生變化時,只要保持接口不變即可,其余層不需要做任何的改變。分層可以提高靈活性,也便于團(tuán)隊分工開發(fā)。但是MVC的缺點是由于其沒有明確的定義,所以完全理解MVC并不是很容易。使用MVC需要精心的計劃,由于其內(nèi)部原理比較復(fù)雜,所以需要花費一些時間去思考。系統(tǒng)架構(gòu)圖如圖3.2所示:</p><p> 圖3.2 系統(tǒng)架構(gòu)圖</p><p> 3.2 面向數(shù)據(jù)流的設(shè)計方法
94、</p><p> 系統(tǒng)結(jié)構(gòu)設(shè)計是在對現(xiàn)有系統(tǒng)充分調(diào)查研究的基礎(chǔ)上,采用一定的方法設(shè)計出能描述新系統(tǒng)物理結(jié)構(gòu)的系統(tǒng)結(jié)構(gòu)圖,其主要給出構(gòu)成系統(tǒng)的模塊及模塊間的調(diào)用關(guān)系,表現(xiàn)在圖中一般是用不同的層次體現(xiàn)的。</p><p> 結(jié)構(gòu)化系統(tǒng)設(shè)計技術(shù)是在結(jié)構(gòu)化程序設(shè)計思想的基礎(chǔ)上,發(fā)展起來的一種用于復(fù)雜系統(tǒng)結(jié)構(gòu)設(shè)計的技術(shù),其運用一套標(biāo)準(zhǔn)的設(shè)計準(zhǔn)則和工具,采用模塊的方法,進(jìn)行新系統(tǒng)控制層次關(guān)系和模
95、塊專人分解設(shè)計,把用數(shù)據(jù)流程圖表示的系統(tǒng)邏輯模型轉(zhuǎn)變?yōu)橛肏IPO圖表示的系統(tǒng)層次模塊結(jié)構(gòu)。</p><p> 結(jié)構(gòu)化系統(tǒng)設(shè)計的核心是模塊分解設(shè)計,模塊化顯著提高了系統(tǒng)的可修改性和可維護(hù)性。同時,為系統(tǒng)設(shè)計工作的有效組織和控制提供了方便條件。按照功能劃分模塊,對照數(shù)據(jù)流圖,對本系統(tǒng)進(jìn)行逐個級別的功能分解。</p><p> 3.2.1 系統(tǒng)層次結(jié)構(gòu)圖</p><p&
96、gt; 層次圖(Hierarchy Chart圖)簡稱HC圖或H圖,用于表示軟件模塊的分層結(jié)構(gòu),</p><p> 一般與IPO表一起,形成HIPO圖。系統(tǒng)層次結(jié)構(gòu)圖如圖3.3所示。</p><p> 圖3.3 系統(tǒng)層次結(jié)構(gòu)圖</p><p> 3.3.2 系統(tǒng)輸入輸出表</p><p> IPO表,即輸入/處理/輸出圖,用來描述
97、HIPO圖中的具體模塊,其功能是對HIPO圖中的每個模塊的詳細(xì)描述及定義,描述分層圖中一個模塊的輸入、輸出和處理內(nèi)容,模塊的內(nèi)部數(shù)據(jù)及模塊之間的調(diào)用關(guān)系,是系統(tǒng)設(shè)計階段的重要成果,也是系統(tǒng)實施階段程序設(shè)計的出發(fā)點和依據(jù)。IPO表定義的重點一般在底層的基本模塊上[7]。</p><p> 入住登記IPO表如表3.1所示,通過IPO表可以清晰的看出此模塊的輸入、輸出及處理過程。如下表可知此模塊為入住登記模塊,輸入入
98、住登記信息,并對輸入信息進(jìn)行相關(guān)的驗證,如果通過驗證,即可辦理入住,并將入住登記信息保存到入住歷史清單,最后打印押金憑證。</p><p> 表3.1 入住登記IPO表</p><p> 權(quán)限管理IPO表如表3.2所示,通過IPO表可以清晰的看出此模塊的輸入、輸出及處理過程。如下表可知此模塊為權(quán)限管理模塊,對新的或老的操作員權(quán)限進(jìn)行新的分配,并保存。</p><p&
99、gt; 表3.2 權(quán)限管理IPO表</p><p> 系統(tǒng)設(shè)置管理IPO表如表3.3所示,通過IPO表可以清晰的看出此模塊的輸入、輸出及處理過程。如下表可知此模塊為系統(tǒng)設(shè)置管理模塊,對已設(shè)置的各系統(tǒng)設(shè)置參數(shù),包括預(yù)定房房態(tài)參數(shù)、入住房房態(tài)參數(shù)、空凈房房態(tài)參數(shù)、自用房房態(tài)參數(shù)、清掃房房態(tài)參數(shù)、預(yù)留押金限額參數(shù)、客房清掃時間參數(shù)、消費限額參數(shù)、維修房房態(tài)參數(shù)、預(yù)定超時參數(shù)、半日房計費參數(shù)、小時房計費參數(shù)以及退房計
100、費參數(shù)等進(jìn)行更改,并保存。</p><p> 表3.3 系統(tǒng)設(shè)置管理IPO表</p><p> 3.3 系統(tǒng)界面設(shè)計</p><p> 在面向?qū)ο蠓治鲞^程中,已經(jīng)對用戶界面需求作了初步分析,在面向?qū)ο笤O(shè)計過程中,則應(yīng)該對系統(tǒng)的人—機(jī)交互子系統(tǒng)進(jìn)行詳細(xì)設(shè)計,以確定人—機(jī)交互的細(xì)節(jié),其中包括指定窗口和報表的形式、設(shè)計命令層次等項內(nèi)容。</p>&l
101、t;p> 人—機(jī)交互部分的設(shè)計結(jié)果,將對用戶情緒和工作效率產(chǎn)生重要影響。人—機(jī)界面設(shè)計得好,則會使系統(tǒng)對用戶產(chǎn)生吸引力,用戶在使用系統(tǒng)的過程中會感到興奮,能夠激發(fā)用戶的創(chuàng)造力,提高工作效率;相反,人—機(jī)界面設(shè)計得不好,用戶在使用過程中就會感到不方便、不習(xí)慣,甚至?xí)a(chǎn)生厭煩和惱怒的情緒。</p><p> 1、遵循下列準(zhǔn)則有助于設(shè)計出讓用戶滿意的人—機(jī)交互界面。</p><p>
102、 1)一致性。使用一致的術(shù)語,一致的步驟,一致的動作。</p><p> 2)減少步驟。應(yīng)使用戶為做某件事情而需敲擊鍵盤的次數(shù)、點按鼠標(biāo)的次數(shù)、或者下拉菜單的距離,都減至最少。還應(yīng)使得技術(shù)水平不同的用戶,為獲得有意義的結(jié)果所需使用的時間都減至最少。特別應(yīng)該為熟練用戶提供簡捷的操作方法(例如,熱鍵)。</p><p> 3)及時提供反饋信息。每當(dāng)用戶等待系統(tǒng)完成一項工作時,系統(tǒng)都應(yīng)該向用
103、戶提供有意義的、及時的反饋信息,以便用戶能夠知道系統(tǒng)目前已經(jīng)完成該項工作的多大比例。</p><p> 4)無須記憶。不應(yīng)該要求用戶記住在某個窗口中顯示的信息,然后再用到另一個窗口中,這是軟件系統(tǒng)的責(zé)任而不是用戶的任務(wù)。此外,在設(shè)計人—機(jī)交互部分時應(yīng)該力求達(dá)到下述目標(biāo):用戶在使用該系統(tǒng)時用于思考人—機(jī)交互方法所花費的時間減至最少,而用于做實際想做的工作所用的時間達(dá)到最大值。更理想的情況是,人—機(jī)交互界面能夠增強(qiáng)
104、用戶的能力。 </p><p> 5)易學(xué)。人—機(jī)交互界面應(yīng)該易學(xué)易用,應(yīng)該提供聯(lián)機(jī)參考資料,以便用戶在遇到困難時可隨時參閱。</p><p> 6)富有吸引力。人—機(jī)交互界面不僅應(yīng)該方便、高效,還應(yīng)該使人在使用時感到心情愉快,能夠從中獲得樂趣,從而吸引人去使用。</p><p> 2、人—機(jī)交互界面是給用戶使用的,顯然,為設(shè)計好人—機(jī)交互子系統(tǒng),設(shè)計者應(yīng)該認(rèn)
105、真研究使用的用戶。應(yīng)該深入到用戶的工作現(xiàn)場,仔細(xì)觀察用戶是怎樣做自己的工作的,這對設(shè)計好人—機(jī)交互界面是非常必要的。</p><p> 1)分類用戶。在深入現(xiàn)場的過程中,設(shè)計者應(yīng)該認(rèn)真思考下述問題:用戶必須完成哪些工作,設(shè)計者能夠提供什么工具來支持這些工作的完成,怎樣使得這些工具使用起來更方便更有效。為了更好地了解用戶的需要與愛好,以便設(shè)計出符合用戶需要的界面,設(shè)計者首先應(yīng)該把將來可能與系統(tǒng)交互的用戶分類。&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- [vc++畢設(shè)]賓館客房管理系統(tǒng)(論文+設(shè)計)
- [vc++畢設(shè)]vc++醫(yī)藥管理系統(tǒng)+論文
- 基于vc++的班級信息管理系統(tǒng)畢業(yè)論文
- 基于vc++的班級信息管理系統(tǒng)畢業(yè)論文
- [vc++畢設(shè)]vc++運動會成績管理系統(tǒng)(源碼+論文)
- [vc++畢設(shè)]vc++庫存管理
- 畢業(yè)論文——賓館服務(wù)管理系統(tǒng)
- 畢業(yè)論文——賓館服務(wù)管理系統(tǒng)
- 賓館管理系統(tǒng)的畢業(yè)論文
- 畢業(yè)論文——賓館服務(wù)管理系統(tǒng)
- 賓館住宿管理系統(tǒng)畢業(yè)論文
- [vc++畢設(shè)]vc++圖書館管理系統(tǒng)
- [vc++畢設(shè)]vc++航空檢票系統(tǒng)+論文
- 賓館管理系統(tǒng)畢業(yè)論文開題報告
- 畢業(yè)設(shè)計(論文)-vc++超市進(jìn)銷存管理系統(tǒng)
- 軟件編程畢業(yè)論文--賓館管理系統(tǒng)
- [vc++畢設(shè)]軟件項目開發(fā)管理系統(tǒng)vc
- 基于VC++酒店管理系統(tǒng).pdf
- 賓館管理系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- 基于vc++的班級信息管理系統(tǒng)_畢業(yè)論
評論
0/150
提交評論