




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于嵌入式系統(tǒng)U盤開發(fā)的設計(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)
湖南文理學院芙蓉學院基于嵌入式系統(tǒng)U盤開發(fā)的設計(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)課程設計報告課程名稱:嵌入式系統(tǒng)課程設計專業(yè)班級:通信工程1301班學生姓名:王海波指導教師:邵湘怡完成時間:2016年6月22日報告成績:評閱意見:評閱意見:評閱教師日期湖南文理學院制目錄TOC\o"1—3"\h\z\u基于嵌入式系統(tǒng)u盤開發(fā)的設計PAGEREF_Toc454307802\h1HYPERLINK1.1。1CGI概述 PAGEREF_Toc503383237\h5HYPERLINK\l”_Toc503383238”1。1.2CGI工作原理 PAGEREF_Toc503383238\h52嵌入式Web服務器簡述 PAGEREF_Toc503383239\h7HYPERLINK2.1嵌入式Web服務器的主要應用 PAGEREF_Toc503383240\h8HYPERLINK\l"_Toc503383241"2。2嵌入式Web服務器的優(yōu)點 PAGEREF_Toc503383241\h82。3嵌入式Web服務器實現原理?PAGEREF_Toc503383242\h83嵌入式Web服務器硬件整體結構 PAGEREF_Toc503383243\h9HYPERLINK?PAGEREF_Toc503383244\h10HYPERLINK\l"_Toc503383245"?PAGEREF_Toc503383245\h103.1嵌入式Web服務器軟件構成 PAGEREF_Toc503383246\h10HYPERLINK\l"_Toc503383247"3.2精簡TCP/IP協(xié)議及實現 PAGEREF_Toc503383247\h113.2.1ARP協(xié)議及其實現 PAGEREF_Toc503383248\h11HYPERLINK3。4CGI接口?PAGEREF_Toc503383253\h13HYPERLINK4系統(tǒng)軟件設計?PAGEREF_Toc503383254\h13HYPERLINK4.1嵌入式操作系統(tǒng)?PAGEREF_Toc503383255\h13HYPERLINK\l"_Toc503383256"4.2Boa的移植?PAGEREF_Toc503383256\h134.3軟件實現?PAGEREF_Toc503383257\h14HYPERLINK\l”_Toc503383258"5實驗測試 PAGEREF_Toc503383258\h16HYPERLINK\l”_Toc503383259”6結束語 PAGEREF_Toc503383259\h17參考文獻 PAGEREF_Toc503383260\h18摘要隨著計算機、網絡通信和Internet技術的飛速發(fā)展和不斷進步,嵌入式系統(tǒng)在家庭和工業(yè)應用越來越廣泛.如何將嵌入式系統(tǒng)和工業(yè)控制系統(tǒng)接入Internet,綜合利用嵌入式系統(tǒng)資源,實現嵌入式系統(tǒng)的遠程管理和控制,已成為倍受關注的研究課題,而實現嵌入式系統(tǒng)的網絡化則成為嵌入式系統(tǒng)的發(fā)展趨勢。網絡通信時,應用程序使用C/S(客戶/服務器)模式進行信息交互.傳統(tǒng)的服務器程序一般運行在大型的擁有高級操作系統(tǒng)的服務器的計算機上,這樣服務器軟件需要強大的硬件和系統(tǒng)軟件支持。嵌入式網絡服務器是利用嵌入式系統(tǒng)實現服務器的軟件和硬件功能,是嵌入式技術和網絡技術相結合的產物。與傳統(tǒng)服務器相比,嵌入式Web服務器具有結構簡單、體積小、可靠性強以及方便靈活等特點。這些讓它具有很大的發(fā)展?jié)摿ΑA硪环矫?嵌入式Web服務器與傳統(tǒng)的web服務器相比,也受到一些限制.傳統(tǒng)的Web服務器主要用于處理較大的客戶量的同時并發(fā)訪問,硬件方面有強大的處理器和內存支持,軟件方面有商業(yè)數據庫支持,而嵌入式Web服務器的處理能力和存儲容量都有限,這就要求嵌入式Web服務器在設計過程中需要盡量合理利用資源。將嵌入式技術與Web技術相結合,已成為目前嵌入式系統(tǒng)的一個重要發(fā)展方向和必然趨勢。利用源代碼開放的uClinux為操作系統(tǒng)平臺,實現了以ARM微處理器為核心的嵌入式Web服務器,在分析了嵌入式Web服務器的體系結構后,給出了系統(tǒng)的硬件結構組成和軟件設計。對Web服務器的測試結果表明,該服務器運行穩(wěn)定、控制方便,將在智能家居、遠程數據采集、工業(yè)控制等領域有著廣泛的應用前景。關鍵詞:網絡通信;嵌入式系統(tǒng);ARM處理器;uClinux;Boa服務器;1嵌入式Web服務器的軟件構成嵌入式Web服務器主要解決的問題是通過Internet來進行遠程訪問和控制現場的設備,所以必須在嵌入式設備中配置TCP/IP協(xié)議和Web服務器,以解決網絡互聯問題.但是嵌入式服務器系統(tǒng)只需要使用其中的某些基本的功能,也要減去一些使用不到有功能,以節(jié)省有限的嵌入式資源。TCP/IP此外還要用到的軟件資源有嵌入式實時操作系統(tǒng)、HTTP協(xié)議,同時帶有SMTP和SNMP協(xié)議,使其具有網絡管理的簡單功能,通過網絡可以對接入到Internet上的設備進行管理和控制。1。1CGI技術1.1.1CGI概述由于傳統(tǒng)的Web服務器無法實現Web數據庫訪問功能,CGI技術充當了訪問數據庫的重要媒介。CGI是使用應用相關軟件增強Web服務器的一種標準方法,可以用任何語言書寫。CGI根據需求更新網頁,是一種公共網關接口.它通過客戶提供給Web服務器的各種信息,由Web服務器啟動指定CGI模塊函數,完成客戶端與服務器端動態(tài)的交互,從而實現靜態(tài)HTML網頁無法實現的功能(如表單查詢、數據庫查詢等).通常CGI應用程序處于休眠狀態(tài),通過使用一定的網絡事件觸發(fā)回調函數來實現,并顯示動態(tài)頁面。例如,Web服務器收到一個URL里面包含的網頁請求時,將執(zhí)行結果返回給HTML網頁,CGI可實現處理表格、數據庫查詢和電子郵件等操作.1.1。2CGI工作原理系統(tǒng)嵌入式Web服務器通過CGI程序來獲取用戶的請求、查詢條件,使用HTML方式描述結果并直接回送到客戶端的瀏覽器上,此過程中瀏覽器將用戶輸入的數據發(fā)送到Web服務器,Web服務器將數據使用STDIN(標準輸入)送到CGI程序。在執(zhí)行CGI程序后,會訪問數據庫的記錄,最后使用STDOUT輸出HTML形式的結果文件,經Web服務器送回瀏覽器顯示給用戶.使用CGI實現客戶與服務器的交互分一下九個標準步驟:Web客戶(瀏覽器)通過URL與Web服務器相連;服務發(fā)送HTML(和別的組成請求頁面的文件)給用戶,一旦頁面內容傳完,這個連接自動斷開;在客戶方,HTML腳本提示用戶做動作或輸入,當用戶響應后客戶請求Web服務器建立一個新的連接;一旦建立連接,客戶把用戶輸入的數據傳送給Web服務器;Web服務器把這些信息和別的進程變量傳給由HTML以URL形式提交的CGI程序;CGI程序根據輸入作出相應的操作,產生對客戶的響應(一般以一個HTML文檔的形式),并將其傳送給Web服務器;Web服務器把應答數據傳送給客戶,并關閉連接;圖1.1CGI工作原理其中CGI與表單之間的信息交互方法有兩種模式:“GET”和“POST".選擇哪一種模式取決于表單(FORM)的“METHOD"字段的設置,如果METHOD設定為GET,CGI程序從環(huán)境變量QUER_STRING中獲取數據.為了解釋數據和執(zhí)行需要的動作,CGI程序必須要分析(處理)此字符串;如果METHOD設定為POST,數據會以STDIN,必須使用CONTENT_LENGTH值。在本設計中CGI程序采用的是POST方法。如果想從服務器獲得數據并且不改變服務器上的數據時,應該選用GET方法;也有例外,當傳輸的數據很長時,選用POST方法較好;使用GET方式編寫CGI程序會更加簡單,但是POST方式則更加先進;當發(fā)送的數據將改變Web服務器端的數據時,或者想給CGI程序傳輸大量數據(一般地,超過1024字節(jié),這是URL的極限長度)時,應該選用POST方法。2嵌入式Web服務器簡述嵌入式Web服務器(EmbeddedWebServer)是指將Web服務器嵌入到控制設備和現場測試中,借助于相關的軟硬件平臺系統(tǒng),將傳統(tǒng)嵌入式設備轉變成了以TCP/IP為底層通信協(xié)議和Web技術為核心的網絡測試及遠程控制設備。嵌入式Web服務器基于HTTP協(xié)議運作,具有標準的接口形式和通信協(xié)議,所以它可以向接入其所在網絡的用戶提供統(tǒng)一的基于瀏覽器的控制界面和相關操作。這種技術因具有平臺獨立特性和開放性,在某種程度上降低了開發(fā)難度,使通信系統(tǒng)和軟件系統(tǒng)的設計維護工作更容易,提升了控制設備和現場測試的管理水平。如圖1所示是典型的嵌入式Web服務器的系統(tǒng)模型:圖1典型的嵌入式Web服務器系統(tǒng)模型Internet可以提供多種網絡服務,比如通過SMTP(簡單郵件傳輸協(xié)議)收發(fā)郵件,通過FTP(文件傳輸協(xié)議)傳輸文件。Internet能得到如此大規(guī)模的流行,WWW(WorldWideWeb)技術居功至偉??梢哉f如果沒有WWW和HTTP技術就不會有這么多人使用Internet,正是WWW技術把Internet的結構、服務和應用引上了一個新臺階.2。1嵌入式Web服務器的主要應用目前嵌入式Web服務器主要用于設備管理和企業(yè)應用程序網絡擴展,它作為后臺程序在運行嵌入式設備上,用戶可以通過網絡對設備進行配置、監(jiān)測和控制,以保證設備正常而高效地運作。Web接口可以讓用戶借助于Web瀏覽器和網絡來訪問嵌入式設備。以這種方式對設備進行管理不僅可以監(jiān)測和控制,而且可以根據設備的特點設計地更加人性化和智能化.Web服務已成為支撐現代應用程序的技術和系統(tǒng)的核心組件,目前大部分企業(yè)用戶都希望為他們的程序添加上基于Web的用戶接口。2。2嵌入式Web服務器的優(yōu)點嵌入Web服務器的優(yōu)點主要體現在以下幾個方面:1)它可以與Internet連接,不再使用專用的線路,這樣就具有了最大的普及范圍;2)傳輸內容不局限于數據信息,還有圖像和聲音等多媒體信息;3)通信協(xié)議(HTTP)獨立于系統(tǒng)平臺,而且是標準而且公開的;4)Web頁面使用的HTML語言是統(tǒng)一的網頁語言,這使標準化界面與客戶端的軟硬件平臺相互獨立,節(jié)省了客戶端的開發(fā)工作;5)Web架構能夠減少了在設計系統(tǒng)時的工作量;6)存在大量的工具和函數庫,減少了開發(fā)的工作量;7)嵌入式Web服務器具有通用性,能夠嵌入到任何設備當中。通過應用程序接口,服務器可以運行程序去實現高級功能,普通的監(jiān)控方式達不到這樣的效果。2.3嵌入式Web服務器實現原理Web服務器監(jiān)聽來自客戶端請求,并根據請求類型提供相對應的服務。它將Web服務器引入到現場嵌入式設備中,并將信息采集與發(fā)布都集成到現場的嵌入式設備中.在相應的軟硬件平臺支持下,利用標準的通信協(xié)議和接口形式,內嵌于嵌入式設備的Web服務器就具備了向接入它所在網絡的合法用戶提供統(tǒng)一的基于瀏覽器方式的控制界面和操作,此時瀏覽器成了設備的前端控制板。當前在嵌入式應用領域,主要通過兩種方式將嵌入式系統(tǒng)轉變?yōu)榍度胧絎ebServer:1)通過網關服務器實現Internet接入;2)直接通過TCP/IP協(xié)議實現嵌入式設備的Internet接入.3嵌入式Web服務器硬件整體結構嵌入式Web服務器的硬件系統(tǒng)包含了具有Web通信能力的微處理器,它可以通過現場總線與應用系統(tǒng)相連,也可以與前端的應用系統(tǒng)直接集成在一起。其硬件結構如圖2所示。系統(tǒng)中的FLASHROM存儲器是用來存儲軟件系統(tǒng)的內核、HTML文檔、TCP/IP協(xié)議;RAM存儲器用于存儲各種數據;網絡接口用于與Internet連接;前端現場測控的硬件完成對現場設備的監(jiān)測、監(jiān)測、報警、自動控制等功能;微型處理器負責全體的管理與運行;人機接口是可選條件,實現在本地對現場設備的人工監(jiān)控.數據存儲器RAM存儲器FLASHROM數據存儲器RAM存儲器FLASHROM網絡接口部件網絡接口部件微型處理器微型處理器應用系統(tǒng)硬件應用系統(tǒng)硬件圖2(a)嵌入式系統(tǒng)web服務器硬件結構Internet虛擬文件系統(tǒng)文檔(網頁頁面小程序)虛擬文件系統(tǒng)文檔(網頁頁面小程序)HTP引擎HTP引擎配置模塊配置模塊安全模塊安全模塊應用程序接口應用程序接口嵌入式操作系統(tǒng)應用系統(tǒng)管理嵌入式操作系統(tǒng)應用系統(tǒng)管理嵌入式應用系統(tǒng)嵌入式應用系統(tǒng)圖2(b)嵌入式系統(tǒng)Web服務器軟件系統(tǒng)3.1嵌入式Web服務器軟件構成嵌入式Web服務器主要解決的問題是通過Internet來進行遠程訪問和控制現場的設備,所以必須在嵌入式設備中配置TCP/IP協(xié)議和Web服務器,以解決網絡互聯問題。但是嵌入式服務器系統(tǒng)只需要使用其中的某些基本的功能,TCP/IP也要減去一些使用不到有功能,以節(jié)省有限的嵌入式資源.此外還要用到的軟件資源有嵌入式實時操作系統(tǒng)、HTTP協(xié)議,同時帶有SMTP和SNMP協(xié)議,使其具有網絡管理的簡單功能,通過網絡可以對接入到Internet上的設備進行管理和控制。3.2精簡TCP/IP協(xié)議及實現嵌入式Web服務器軟件中必須實現TCP/IP協(xié)議,但要根據實際的需求作相應的裁減.精簡的TCP/IP協(xié)議通常只包含TCP,IP,ARP,ICMP等協(xié)議。3。2.1ARP協(xié)議及其實現嵌入式Web服務器軟件方面需實現ARP協(xié)議中的應答部分:嵌入式Web服務器在收到遠程ARP請求后,將ARP請求報文中目標機和本地IP、物理地址進行了交換處理,并將EWS的物理地址寫在ARP應答報文的本地物理地址段.實際上此ARP協(xié)議的實現是通過向網絡接口層發(fā)送含有目標機物理地址和本機IP地址的ARP應答報文這一過程來完成。3.2.2ICMP協(xié)議及其實現ICMP(網際控制報文協(xié)議)主要用來將處理一個IP數據過程中的錯誤顯示出來,并提供相關狀態(tài)和管理信息.ICMP的差錯信息由8位代碼和8位類型組成。嵌入式Web服務器簡化了ICMP協(xié)議,只需簡化實現與Ping命令相關的ICMP報文處理部分。具體可通過編制PingACK()過程來完成,用PingACK()監(jiān)測Ping命令,如果監(jiān)測到對本機的Ping連接,則發(fā)送類型為0的ICMP報文。3.2.3IP協(xié)議及其實現IP協(xié)議提供無連接的、不可靠的數據分組傳送服務,在嵌入式Web服務器中,IP協(xié)議只需要完成接收數據的IP解包和發(fā)送數據的IP封裝.IP協(xié)議在嵌入式Web服務器中的實現可通過以下兩個過程來完成:1)IPPack(),此過程將傳輸層傳來數據的前部添加20字節(jié)的IP報頭。2)IPUnpack(),此過程提取網絡接口層送來的IP報頭的20字節(jié)數據并與本機的IP地址進行比較,如果相同,記錄對方的IP地址,并去除報數據的前20字節(jié)的報頭;否則,丟棄.3.2。4TCP協(xié)議及實現TCP協(xié)議提供面向連接的、可靠的字節(jié)流傳輸服務。建立連接、數據傳輸和關閉連接的工作過程,保證了TCP協(xié)議數據傳輸的可靠性。在數據傳輸前,必須在信源與信宿建立一條連接,只有連接成功才可以發(fā)送數據。此外,接收端也要對收到的第一個報文進行確認,未經確認的報文被認為是出錯.由于嵌入式Web服務器傳輸數據量較少,支持單進程的TCP任務即可,故只需要簡化TCP協(xié)議的數據重組和分組的功能。方法為:嵌入式Web服務器在本地打開一個端口監(jiān)聽TCP報文數據,監(jiān)測到遠程用戶對系統(tǒng)的TCP請求連接時,系統(tǒng)發(fā)送確認報文并建立TCP連接,然后開始傳送數據。發(fā)送數據時,TCP狀態(tài)機會在數據前面加上TCP報頭后發(fā)送到IP層;接收數據時,從IP層來的數據經過TCP狀態(tài)機去掉TCP報頭后送到應用層.TCP協(xié)議軟件可通過兩個過程來實現:1)TCPPack(),將TCP報頭添加到應用層送來的數據前部;2)TCPUnpack(),將網絡接口層送來的TCP報數據的3~4字節(jié)數據(目的端口號)與系統(tǒng)默認端口作對比,如相同,則去除數據報的前20字節(jié)的報頭;否則,丟棄.TCP數據報重發(fā)、確認是通過發(fā)送特定內容的報文來控制。3.3HTTP協(xié)議HTTP引擎是嵌入式Web服務器的核心,它是瀏覽器與Web服務器通信的協(xié)議。HTTP規(guī)定了瀏覽器和服務器之間傳輸的消息格式及各種控制信息和發(fā)送和處理請求的標準方式,從而定義了所有Web通信的基本框架。如圖所示,在嵌入式Web服務器中,為了不影響嵌入式系統(tǒng)的CPU和內存資源而又得到一個穩(wěn)定的用戶界面,應該使用HTTP1.0標準。HTTP客戶端HTTP客戶端HTML文檔HTTP服務器端HTML文檔HTTP服務器端CGICGI3.4CGI接口CGI也就是通用網關接口,它定義了CGI腳本與Web服務器之間的接口標準,其主要功能是在Web環(huán)境下,將客戶端的一些信息傳送給服務器端,Web服務器接收有關信息并放入環(huán)境變量,然后啟動所指定的CGI腳本以完成特定的工作。CGI腳本從環(huán)境變量中獲取相關信息來運行,最后以HTML格式輸出相應的執(zhí)行結果返回給瀏覽器端。由于用戶能傳遞不同的參數給CGI腳本,所以CGI技術使得瀏覽器和服務器之間具有交互性。4系統(tǒng)軟件設計4.1嵌入式操作系統(tǒng)uClinux是一種專為嵌入式系統(tǒng)設計的Linux,它從Linux2.0/2。4內核派生而來,專門應用于沒有MMU的CPU[9]。uClinux帶有一個完整的TCP/IP協(xié)議,同時它還支持許多其他網絡協(xié)議.因此,uClinux對于嵌入式系統(tǒng)來說,是一個網絡完備的操作系統(tǒng).另外,由于Linux的源代碼開放性,任何新的網絡協(xié)議都可以很容易加入到內核中,用戶可以方便地開發(fā)定制,不受任何限制。正是基于以上原因,本系統(tǒng)采用了uClinux作為嵌入式Web服務器的操作系統(tǒng)。4.2Boa的移植在uClinux下構建Boa服務器的方法由以下步驟完成:(1)從上下載Boa的源代碼,將其解壓后生成Makefile文件。修改Makefile文件,將文件中的CC=gcc改為CC=arm—linux—gcc,CPP=gcc-E改為CPP=arm-linux-gcc—E。然后運行make進行編譯,得到可執(zhí)行文件boa,再將調試信息舍去,使其瘦身.(2)修改boa。conf文件。Boa啟動時需要用到一個配置文件boa.conf,該文件用于配置Boa服務器的相應接口、服務器名稱、相關文件路徑等。在這里,將Usernobody改為User0,將Groupnogroup改為Group0,將DocumentRoot/var/www改為DocumentRoot/etc/boa/html,將ScriptAlias/cgi—bin//usr/lib/cgi-bin/修改為ScriptAlias/cgi-bin//etc/boa/cgi-bin/。(3)由于默認的根文件系統(tǒng)是只讀的,所以在編譯內核前,需要根據配置文件boa.conf在文件系統(tǒng)中建立相關目錄.(4)將可執(zhí)行文件boa、配置文件boa。conf、可執(zhí)行的CGI程序和網頁文件分別放入對應的目錄中,并在/etc/boa/html中建立主頁文件index.html。(5)重新編譯內核,將編譯好的內核下載到開發(fā)板。4。3軟件實現為了實現客戶瀏覽器同Web服務器之間的動態(tài)交互性,需要采用某種服務器端技術來動態(tài)生成Web頁。目前,實現動態(tài)網頁的四種技術分別是CGI、ASP、PHP和JSP,但uClinux不支持ASP和PHP,故采用CGI來實現動態(tài)Web頁面。CGI是一種在Web服務器中運行的程序,它定義了Web服務器與其他可執(zhí)行程序之間進行交互的接口標準。當Web服務器接收到客戶瀏覽器發(fā)送的HTTP請求時,先判斷它是靜態(tài)頁面請求還是CGI動態(tài)請求,如果是后者就將數據傳遞給CGI程序,并重定向CGI程序的輸出到Web頁,CGI程序在處理時將數據封裝成HTML形式發(fā)送到輸出,這樣客戶端瀏覽器就可以看到對應的Web頁。軟件的設計框架如圖3所示。開始開始監(jiān)聽連接監(jiān)聽連接連接是否合法N連接是否合法Y接受并解析HTTP請求接受并解析HTTP請求靜態(tài)頁面請求/CGI動態(tài)請求靜態(tài)頁面請求/CGI動態(tài)請求靜態(tài)頁面請求CGI動態(tài)請求直接輸出HTML靜態(tài)文件直接輸出HTML靜態(tài)文件數據封裝并發(fā)送由CGI程序產生網頁內容數據封裝并發(fā)送由CGI程序產生網頁內容圖3軟件設計框圖其中的監(jiān)聽連接部分是一個無限循環(huán),它總在監(jiān)聽來自瀏覽器端的連接請求,如果發(fā)現連接合法,就建立起客戶端瀏覽器和Web服務器的連接??梢岳胾Clinux提供的Socket套接字在80端口進行監(jiān)聽連接,其過程為:socket()→bind()→listen()→accept().在Web環(huán)境中,瀏覽器與服務器之間的數據交互,很多是通過HTTP中的Form表單完成的,Form提供了兩種數據傳輸的方式——GET和POST方法。雖然HTTP支持的方法有多種,考慮到硬件資源的限制和系統(tǒng)響應的速度,這里只響應GET和POST兩種請求。在嵌入式服務器端,CGI程序接收到來自客戶端瀏覽器的請求,將請求分解后,查看其請求的方法是GET還是POST。當為GET請求時,從請求行中讀取用戶請求的文件名;當為POST請求時,讀取請求行中的文件名和報文主體中用戶提交的表單數據,并對表單數據進行處理。當用戶在網頁中輸入數據時,數據會先傳給Web服務器,再傳給CGI程序,而Web服務器將數據傳給CGI程序前,會先經過一個編碼程序,這樣CGI程序如果想要得到用戶輸入的原始數據,就需要對數據進行解碼.Web服務器中對用戶數據進行編碼的原則是:每個輸入字段的名稱和用戶輸入的數據會形成一系列的鍵—值對,鍵和值由“=”分開;每個配好對的鍵-值之間,由“&”分開;對字段中的特殊符號,用十六進制的ASCII碼的方式來編碼,空格則以“+”來編碼。因此,CGI程序要想對數據解碼,就需要將每個配好對的鍵=值分離出來,去除配對數據間的“&”,把“+"置換成空格,將十六進制的ASCII碼置換成原來的數據。最后,就可以得到用戶輸入的原始數據。雖然動態(tài)網頁的處理由CGI完全可以實現,但由于Web服務器每運行一個CGI程序,就需要fork一個進程為其服務,這樣服務器與瀏覽器的交互越多,對服務器的總體性能影響就越大。因此,對于數據的后期處理和顯示方式等任務,可以采用基于客戶端瀏覽器的動態(tài)HTML技術來完成,這里由腳本語言JavaScript來實現,以減輕Web服務器的負擔。5實驗測試在Web服務器端生成網頁index.html,放置在目錄etc/boa/html下.編寫的CGI程序,放置在目錄etc/boa/cgi-bin下。將目標板的IP地址設置為210.42。150。225后,啟動Boa服務器。在任意一個Web瀏覽器上輸入http://210.42.150。225,可以看到服務器的默認網頁。當用戶選擇相關信息并提交后,CGI將其接收,并根據提交內容對家居設備進行相應控制,圖3(a)就是用戶對空調進行設置的測試頁面.同時,用戶也可以對家居設備的目前狀態(tài)進行查詢,查詢結果如圖4(b)所示。圖4(a)Web服務器的空調控制測試頁面圖4(b)Web服務器的家居狀態(tài)查詢頁面6結束語本文從整體上介紹了嵌入式Web服務器的體系結構、程序的組件視圖、嵌入式Web服務器的組成模塊以及怎樣精簡TCP/IP協(xié)議以減少不必要的資源開支和適應嵌入式系統(tǒng)對資源的要求。支持Web瀏覽功能的嵌入式設備不但可以簡化設備的設計,而且減輕了用戶的應用難度,可以通過瀏覽器方便地設置嵌入式設備的參數。通過嵌入式Web技術實現設備的遠程監(jiān)控、管理和維護,將降低系統(tǒng)的運行費用、提高管理水平,在工業(yè)控制、遠程醫(yī)療等方面有著十分廣泛的應用。嵌入式Web服務器的實現,使得用戶通過Internet就可以遠程控制和管理嵌入式系統(tǒng)的運行。和傳統(tǒng)的Web服務器相比,它簡化了系統(tǒng)結構,將信息采集和信息發(fā)布都集成到現場的嵌入式設備中,在很大程度上方便了維護和管理工作。經測試表明,該嵌入式Web服務器運行正常,能夠實現系統(tǒng)所設定的智能家居控制,且服務器每秒能處理幾百次的連接請求,較之httpd和thttpd服務器,其響應速度更快,而且該Web服務器還具有成本低、可靠性高等優(yōu)點。但該服務器并沒有完整支持CGI規(guī)范,如果應用領域有此要求,還需要做相應改進.本文設計的這種基于ARM的嵌入式Web服務器,響應速度快,運行良好,經過適當的修改和完善,可用于智能家居、數據采集、工業(yè)控制等領域,具有一定的應用推廣價值。參考文獻[1]胡國珍,嚴偉.基于AX88796的嵌入式WEB服務器構建.《國外電子元件》2007年11期[2]劉志東,紀金水,楊鋒英。嵌入式Web服務器技術探究.《電腦知識與技術》2011年27期[3]王莉,周偉.基于ARM的嵌入式Web服務器設計.《計算機工程與應用》2012年14期[4]李榮鑫,喻國平.基于ARM的嵌入式WEB服務器技術研究.[J]微計算機信息,2007(8)[5]王慶志。嵌入式Web服務器的結構研究與設計.《中國石油大學》2010年畢業(yè)論文(設計)題目:基于JAVA的酒店管理系統(tǒng)的設計與開發(fā)基于JAVA的酒店管理系統(tǒng)的設計與開發(fā)專業(yè):電子信息工程姓名:冉曉旭指導教師:楊雪松,李向群摘要在當今社會,酒店種類和客流的不斷增加,會造成管理上的困難。用計算機來管理酒店和住客的信息,提高了查詢的速度,節(jié)約了人力,物力資源。用戶操作將會更簡單、更直觀、更方便。酒店管理系統(tǒng)就是為此而設計的,畢業(yè)設計中采用到了Java,Myeclipse,使用SQLServer數據庫.該系統(tǒng)采用swing應用開發(fā)技術,具有一些住房登記,查詢統(tǒng)計,退房結賬等功能,尤其依靠java的優(yōu)點來為酒店更好的進行管理,它是目前使用最為廣泛的網絡編程語言之一,具有精簡性,安全性,穩(wěn)定性,動態(tài)性,高性能,可移植等優(yōu)點。關鍵詞酒店管理系統(tǒng),SQLServer,Java,MyeclipseAbstractIntoday'ssociety,thehoteltypeandpassengertrafficcontinuestoincrease,willresultinmanagementdifficulties.Computertomanagethehotelandguestinformation,improvingthespeedofthequery,savingofhumanandmaterialresources.Useractionswillbemoresimple,moreintuitiveandmoreconvenient.HotelManagementSystemisdesignedforthispurpose,graduatedfromthedesigntotheJava,Myeclipse,usetheSQLServerdatabase。Thesystemusesaswingapplicationdevelopmenttechnology,withsomeofthehousingregister,querystatistics,CheckOutcheckoutotherfunctions,inparticular,relyontheadvantagesofjavaforthehotelmanagement,itiscurrentlythemostwidelyusedwebprogramminglanguage,withstreamline,security,stability,dynamic,high—performance,portableandotheradvantages。Keywords:HotelManagementSystem,SQLServer,Java,Myeclipse目錄TOC\o"1—3"\h\z\u1緒論11。1選題背景11。2選題的目的,意義及研究現狀1HYPERLINK\l”_Toc325636877”1.3本文的研究內容22系統(tǒng)分析及開發(fā)工具介紹4HYPERLINK\l”_Toc325636879”2.1可行性分析4_Toc325636881"功能需求5_Toc325636883”2。2.3其它62.3開發(fā)工具介紹72.3。1MyEclipse簡介72.3。2SQLServer簡介7HYPERLINK\l”_Toc325636887”2。3.3JDK簡介8_Toc325636889"3.1系統(tǒng)總體設計9HYPERLINK\l”_Toc325636890”3。2系統(tǒng)詳細設計103.2.1創(chuàng)建數據庫表結構14_Toc325636894"4系統(tǒng)實現164.2系統(tǒng)主要界面185軟件測試24HYPERLINK\l”_Toc325636898"5。1軟件測試簡介24HYPERLINK\l”_Toc325636899”5。1.1軟件測試的目標和方法24_Toc325636901”本系統(tǒng)的測試目標與方法24HYPERLINK\l”_Toc325636902"5。2。2測試項目及結果25_Toc325636905"5。2.6訂房退房26HYPERLINK\l”_Toc325636906"5。3小結27HYPERLINK\l”_Toc325636907"6總結28HYPERLINK\l”_Toc325636908”參考文獻291緒論1。1選題背景酒店業(yè)是前景廣闊而且競爭激烈的一個行業(yè),改革開放后一直到現在,我國的酒店業(yè)飛速發(fā)展,已經成為了具有相當規(guī)模的一個產業(yè)。由于我國的旅游業(yè)迅速地發(fā)展,通過相關的調查,在2020年左右我國將成為世界上第四大旅游國家;同時由于我國在2001年12月加入了世界貿易組織,酒店業(yè)已經完全開放,我國的酒店業(yè)將面臨著前所未有的機遇及挑戰(zhàn)。但是,現在甚至還有一些酒店停留在由人工操作的管理階段,這樣的管理模式已經無法適應當前的發(fā)展趨勢。因此,要想提高酒店的工作效率和質量,采用先進的計算機技術來改變酒店管理模式,實現酒店業(yè)務管理的自動化是必然的趨勢。酒店管理系統(tǒng)采用java語言開發(fā),采用數據庫SQLServer2005。按照標準化業(yè)務程序流式設計,都是采用主流開發(fā)工具來開發(fā),搭建比較穩(wěn)定可靠安全的服務端來輔佐酒店的管理.1.2選題的目的,意義及研究現狀用計算機來管理酒店和住客的信息,提高了查詢速度,節(jié)約了人力,物力資源.以計算機技術建立系統(tǒng),規(guī)范了管理系統(tǒng),是之自動化、人性化,提高管理水平和效率.國外酒店管理系統(tǒng)是20世紀70年代發(fā)展起來的,80年代比較成熟?,F在向著個性化發(fā)展,酒店有商務型酒店,度假型酒店,常住型酒店。國內酒店管理系統(tǒng)最早是20世紀80年代開始的,到80年代中后期,隨著國外計算機系統(tǒng)和先進管理技術的引入,促進了國內的酒店管理技術發(fā)展.90年開始有比較成熟的軟件,現今隨著新的平臺,新的系統(tǒng),酒店管理系統(tǒng)將會不斷發(fā)展,功能更加強大。1。3本文的研究內容畢業(yè)設計選題《基于JAVA的酒店管理系統(tǒng)的開發(fā)與設計》,主要研究了酒店業(yè)務的五個方面:管理登陸界面,客戶信息界面,客房信息界面,營業(yè)統(tǒng)計,訂房退房界面。管理登陸界面主要是管理員的登陸,輸入管理員的用戶名和密碼才能正常登陸進去,否則提示用戶名或密碼錯誤。登陸進入以后可以修改自己的密碼??蛻粜畔⒔缑嬷饕遣榭垂芾砜蛻粜畔ⅲ脩裘?身份證號,性別,聯系電話,入住時間,出去時間,押金及房間號??梢栽黾雍蛣h除這些信息。客房信息界面主要是查看和增加以及刪除客房的房間號、房間類型、空調、電腦、電視、狀態(tài)和價格等信息。營業(yè)統(tǒng)計主要是用來統(tǒng)計房間營業(yè)收入情況,包括了房間每月每年的收入情況和總體的收入情況。訂房退房界面主要是用于客戶的訂房和退房的操作,當客戶需要訂房時,可以通過查詢客房的相關信息進行選擇。當客戶需要退房時,根據自己的信息選擇所退的房間,確定退房成功,所退的房間會顯示到界面上面來。2系統(tǒng)分析及開發(fā)工具介紹2.1可行性分析隨著旅游業(yè)以及城市化的發(fā)展,酒店、餐飲娛樂行業(yè)的日趨發(fā)達,引入全方位的電腦管理和服務是必然的趨勢。同時,酒店和餐廳娛樂業(yè)引入電腦理和服務也取得了非常好的社會效益及經濟效益。為此,國家建設部已作出明確的規(guī)定:凡星級酒店在項目審批之時,其設計方案必須擁有電腦管理系統(tǒng),否則不予立項??梢姡频甑碾娔X化管理勢在必行。酒店管理系統(tǒng)將先進的電腦自動化技術與現代酒店服務管理完美地結合在一起,提高了查詢的速度,節(jié)約了人力,物力資源。一個成熟的酒店管理系統(tǒng)不僅是記錄酒店客人的信息,查詢信息,統(tǒng)計報表打印等等簡單的工作,它還能讓管理人員從煩瑣的手工操作中解脫出來,將管理自動化,簡單化。隨著它的深入,將帶動酒店的管理效率。為了達到這個要求,它必須依靠可靠的硬件環(huán)境和軟件開發(fā)工具來保證系統(tǒng)的穩(wěn)定和正常運行。酒店管理系統(tǒng)要求電腦24小時連續(xù)運行,數據量大,可靠性要求高。本系統(tǒng)用到了Myeclipse,SQLServer2005,JDK,完全能夠滿足酒店管理系統(tǒng)所需要的軟件環(huán)境,數據庫使用了SQLServer2005,他擁有強大的數據處理能力,完全能夠滿足軟件開發(fā)的需求。2。2需求分析2.2.1功能需求系統(tǒng)需對于用戶的登錄來進行管理。使用各功能模塊的時候,系統(tǒng)應驗證用戶身份的有效性,否則系統(tǒng)登陸就會失敗。系統(tǒng)應提供客房的分類管理功能,可分類客房類型、價格、是否配備電腦、電視、空調等,對于不同標準的客房進行有效地管理.系統(tǒng)可實現對于客房信息的增加、刪除及修改。對于客戶的信息,通過系統(tǒng)的客戶信息管理可以進行增加、修改和刪除操作,填寫客戶的姓名、身份證號、性別、聯系電話、入住時間,出去時間、押金和房間號等信息.營業(yè)統(tǒng)計是對于房間的營業(yè)情況進行的統(tǒng)計,對于各房間的入住情況所帶來收入和頻率的統(tǒng)計,包括了每個月,每一年的統(tǒng)計,已經總體統(tǒng)的統(tǒng)計。在進行入住/退房管理時,系統(tǒng)可以根據客房當前的狀態(tài)來提示可用服務(訂房/退房)。如果客房有客人入住,則該客房的可用服務為“已訂”;如果客房沒有客人入住,可用服務為“未訂"。2。2.2性能需求系統(tǒng)的客戶端在Windows平臺下運行,服務器端可在Windows平臺或LINUX平臺下運行。系統(tǒng)還需要有較好的可使用性、安全保密、可維護性、可移植性。2.2。3其它需求分析其目的是從客戶的需求中來提取出軟件系統(tǒng)所能夠幫助用戶解決的業(yè)務問題,仔細分析用戶業(yè)務的問題,規(guī)劃出系統(tǒng)的功能模塊.這個步驟直接關系到酒店管理系統(tǒng)的質量。下圖是酒店管理系統(tǒng)的E-R圖,如圖2—1所示:房間號空調用戶名房間類型電視電腦身份證號客戶名密碼價格押金權限房間管理管理員客戶入住聯系電話性別入住時間房間號空調用戶名房間類型電視電腦身份證號客戶名密碼價格押金權限房間管理管理員客戶入住聯系電話性別入住時間圖2—1系統(tǒng)E—R圖管理員通過用戶名和密碼進行登陸,進行其權限的操作,管理房間信息和客戶信息,添加或者刪除房間,管理房間號、房間類型、空調、電視、電腦、價格等操作。管理客戶的信息:客戶名、身份證號、性別、聯系電話、押金、入住時間,客戶通過房間的信息來選擇適合自己的房間入住。2。3開發(fā)工具介紹2.3。1MyEclipse簡介MyEclipse是一款優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件的集合,MyEclipse的功能非常的強大,支持也是十分的廣泛,尤其是對于各種各樣開源產品的支持是非常好的.MyEclipse(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)企業(yè)級工作平臺他是對Eclipse的擴展,我們運用它可以在數據庫和JavaEE開發(fā)、發(fā)布及應用程序服務器整合方面非常大的提高工作效率水平.它是功能豐富的JavaEE的集成開發(fā)環(huán)境,包括了完備的編碼、測試、調試和發(fā)布,完整支持CSS、Javascript、Struts、Spring、SQL、Hibernate、HTML和JSP等。2.3。2SQLServer簡介SQL(StructuredQueryLanguage)是結構化的查詢語言。SQL語言主要功能為:同各種各樣的數據庫建立連接,進行溝通。按照ANSI(美國國家標準協(xié)會)規(guī)定,SQL是關系型數據庫管理系統(tǒng)的標準語言。SQL語句可執(zhí)行許多的操作,比如從數據庫中提取出數據,更新SQL數據庫中數據等.SQL的語言標準是較大多數流行關系型的數據庫管理系統(tǒng)采用的。SQL雖然被很多的數據庫進行了繼續(xù)開發(fā)及擴展,但是卻包括DropSelect、Update、Create、Insert和Delete等的標準的SQL語言命令依然是被用作來完成基本上是全部的數據庫的操作。SQLServer它是一個關系型的數據庫管理系統(tǒng).最初是由Sybase、Microsoft和Ashton—Tate三家公司一起開發(fā)的,在1988年推出了第一個OS/2版本。在WindowsNT推出以后,Sybase和Microsoft在SQLServer的開發(fā)上就分開了,SQLServer被Microsoft移植到WindowsNT系統(tǒng)上面,專注于開發(fā)推廣WindowsNT版本的SQLServer。Sybase則是專注在SQLServer在UNIX操作系統(tǒng)方面的應用.SQLServer系統(tǒng)的數據庫引擎是核心服務,負責完成數據的、安全管理、存儲和處理。2。3.3JDK簡介JDK(JavaDevelopmentKit)是SunMicrosystems針對Java程序開發(fā)員的一個產品,JDK是一個建筑應用程序,applet和組件使用Java編程語言的開發(fā)環(huán)境,整個Java的核心就是JDK,它包括Java運行環(huán)境,Java基礎的類庫和Java工具。Java從推出一直到現在,JDK已經成為了程序員所使用最廣泛的JavaSDK。JDK中還包括了完整的JRE(JavaRuntimeEnvironment,Java運行環(huán)境),也被稱為privateruntime。包括了用于產品環(huán)境的各種庫類,以及給開發(fā)員使用的補充庫,如國際化的庫、IDL庫。3系統(tǒng)設計3。1系統(tǒng)總體設計在本系統(tǒng)中,管理系統(tǒng)模塊主要實現對房間添加,修改管理;客房與客戶信息管理;住房管理,退房管理;銷售的統(tǒng)計。該模塊中存在4個子模塊,他們?yōu)槠叫薪Y構??蛻粜畔⒛K包括了增加,刪除和查詢客戶信息。客房信息模塊包括了顯示所有客房信息,增加、刪除和查詢客房信息。統(tǒng)計模塊包括了房間每月年的銷售額和整體銷售額。訂房退房模塊包括了訂房和退房.其關系圖如圖3-1。酒店系統(tǒng)管理酒店系統(tǒng)管理客房信息模塊客戶信息模塊統(tǒng)計模塊訂房退房模塊客房信息模塊客戶信息模塊統(tǒng)計模塊訂房退房模塊退房訂房房間整體銷售額房間月年銷售額查詢客房信息顯示退房訂房房間整體銷售額房間月年銷售額查詢客房信息顯示所有客房信息增加刪除客房信息增加客戶信息查詢客戶信息刪除客戶信息圖3-1系統(tǒng)功能模塊圖3.2系統(tǒng)詳細設計首先進行管理員的登陸,輸入用戶名密碼。如圖3-2所示為系統(tǒng)登錄流程圖:系統(tǒng)登陸界面系統(tǒng)登陸界面輸入賬戶和密碼輸入賬戶和密碼否查詢成功查詢成功是登陸管理界面登陸管理界面圖3-2管理員登陸操作流程客戶信息模塊包括了增加客戶信息、刪除客戶信息、查詢客戶信息,是對于客戶的姓名、身份證號、性別、聯系電話、入住時間,出去時間、押金和房間號等信息進行相關的增加、刪除或者查詢的操作。增加客戶信息流程圖如圖3-3所示:點擊點擊“增加”按鈕輸入用戶的信息輸入用戶的信息顯示用戶的信息是否存在是顯示用戶的信息是否存在否顯示增加客戶信息表顯示增加客戶信息表增加信息,點擊確定成功確認增加信息,點擊確定成功圖3-3“增加客戶"流程圖客房信息模塊包括了顯示所有客房信息、添加刪除客房信息、查詢客房信息,是對于客房類型、狀態(tài)、價格、電腦、電視、空調等進行的相關的增加,刪除和查詢操作。增加房間信息流程圖如圖3-4所示:點擊點擊“增加”按鈕輸入房間信息輸入房間信息是否存在否是否存在顯示空列表否顯示空列表是顯示增加房間信息表顯示增加房間信息表確認增加信息,點擊確定修改成功增加信息,點擊確定修改成功圖3-4“增加房間”流程圖統(tǒng)計模塊包括了房間的每月年的銷售額和整體銷售額的一個統(tǒng)計。訂房退房模塊包括了訂房和退房,是對于房間的預定和退訂的操作,訂房就根據客戶所需要的信息進行查詢來進行房間的預定,退房則是根據客戶所訂的房間的相應信息來進行退訂操作,進行結賬處理.訂房模塊流程圖如圖3—5所示:點擊“點擊“訂房”顯示顯示“訂房信息列表”選擇房間選擇房間在客戶管理模塊填寫客戶信息,加入房間號,點擊在客戶管理模塊填寫客戶信息,加入房間號,點擊“確定”提示操作成功提示操作成功圖3-5“訂房”流程圖退房模塊的流程圖如圖3-6所示:點擊點擊“退房”顯示顯示“房間列表”選擇房間號,確定選擇房間號,確定所退房間在主界面顯示出現,退房成功所退房間在主界面顯示出現,退房成功圖3-6“退房”流程圖3.3數據庫的設計
數據庫分析完成之后,我們就可以進行設計數據庫了。在酒店客房管理系統(tǒng)中,建立管理系統(tǒng)的數據庫是數據庫的主要設計工作,創(chuàng)建好所需要的表,做好之后通過SQLServer2005導入。Java語言連接數據庫主要采用JDBC(JavaDatabaseConneetivitv)技術,它是Sun提供的一套數據庫編程接口API函數的總稱,由Java語言編寫的類組成.用JDBC寫的程序能夠自動地將SOL語句傳送給相應的數據庫管理系統(tǒng).JDBC驅動程序并未包含在JavaSDK中。如果要使用該驅動程序,必須將classpath設置為包含sqljdbc.jar文件,配置TCP端口,端口號默認為1433。數據庫設計(DatabaseDesign)指的是對于一個給定的應用環(huán)境,構造出來最好的數據庫模式,建立數據庫以及其相應的應用系統(tǒng),讓它能夠有效地存儲數據,滿足各種各樣的用戶的應用需求。使用數據庫的各類系統(tǒng)在數據庫領域內經常被統(tǒng)稱為數據庫應用系統(tǒng)??紤]到了數據庫及其應用系統(tǒng)的全部開發(fā)過程,可以將數據庫設計分為以下五個階段:需求分析階段:綜合所有的用戶應用需求。概念設計階段:形成了獨立于機器的特點,獨立于各個DBMS產品的一種概念模式(E—R圖)。邏輯設計階段:開始時可以把E-R圖轉變成具體的數據庫產品支持的一種數據模型,比如形成數據庫關系模型,邏輯模式;然后根據用戶處理的安全性、需求方面的考慮,最后在基本表基礎上來建立所必要的視圖(View),就形成了數據的外模式。物理設計階段:由DBMS特點和處理的需求,來建立索引,進行物理存儲的安排,形成數據庫內模式。數據庫運行和維護。3.2.1創(chuàng)建數據庫表結構通過SQLServer2005設計完酒店管理系統(tǒng)數據庫表結構之后,登陸SQLServer2005用戶名sa,密碼wqw123456,數據庫名稱是guesthouse.3。2。2創(chuàng)建數據庫表數據庫表有4個:管理員表(userinformation)客戶信息表(client),客房信息表(roominformation),統(tǒng)計表(tongji)。下面來分別介紹這些表的情況.(1)。管理員表管理員表(userinformation)用來保存前臺管理員登陸的基本信息,表userinformation的結構如表3—1所示。表3—1管理員表列名數據類型長度主鍵是否為空說明numNumnumVARCHAR(50)50
是NOTNULL編號user_nameVARCHAR(50)
50NOTNULL用戶名passwordVARCHAR(50)50NOTNULL密碼(2).客戶信息表客戶信息表(client)用來保存酒店客戶的基本信息,表client的結構圖表3-2所示:表3-2客戶信息表列名數據類型長度主鍵是否為空說明num_cardvarchar(20)
20是NULL身份證號Phonevarchar(20)20NULL聯系電話Sexvarchar(20)20NULL性別client_namevarchar(20)20NULL用戶名live_timevarchar(20)20NULL入住時間out_timevarchar(20)
20NULL出去時間Depositvarchar(20)20NULL押金room_numvarchar(20)20NULL房間號(3).客房信息表客房信息表(roominformation)是用來保存酒店的所有客房的基本信息,表roominformation的結構如表3-3所示。表3-3客房信息表列名數據類型長度主鍵是否為空說明numvarchar(20)
20是NOTNULL房間號room_typevarchar(20)20NOTNULL房間類型airvarchar(20)20NULL空調tvvarchar(20)20NULL電視computervarchar(20)20NULL電腦room_statevarchar(20)20NULL狀態(tài)room_pricevarchar(20)20NULL價格(4)。營業(yè)統(tǒng)計表營業(yè)統(tǒng)計表(tongji)是用來保存酒店的所有客房的營業(yè)情況的基本信息,表tongji的結構如表3—4所示.表3-4消費信息表列名數據類型長度主鍵是否為空說明roomnumvarchar(50)50是NOTNULL房間編號1varchar(50)50
NULL1月2varchar(50)50NULL2月3varchar(50)50NULL3月4varchar(50)50NULL4月5varchar(50)50NULL5月6varchar(50)50NULL6月7varchar(50)50NULL7月8varchar(50)50NULL8月9varchar(50)50NULL9月10varchar(50)50NULL10月11varchar(50)50NULL11月12varchar(50)50NULL12月sumvarchar(50)50NULL統(tǒng)計numvarchar(50)50NULL次數4系統(tǒng)實現4。1數據庫連接登錄系統(tǒng)之前,需要系統(tǒng)進行數據的連接和配置,才能使系統(tǒng)能夠正常運行。數據庫連接代碼實現如下:privateStringdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";privateStringurl=”jdbc:sqlserver://localhost:1433;databaseName=Hotel”;privateStringuser=”sa";privateStringpass="rxx";//啟動數據庫publicvoidstart()throwsException{Class.forName(driver);//System。out.print(con);co=DriverManager。getConnection(url,user,pass);}//釋放數據庫publicvoidclose(){if(rs!=null){try{rs.close();}catch(SQLExceptionf){f.printStackTrace();}}if(st!=null){try{st。close();}catch(SQLExceptionf){f.printStackTrace();}}if(co!=null){try{co.close();}catch(SQLExceptione){e.printStackTrace();}}}4.2系統(tǒng)主要界面主界面主要包括了客房信息,客戶信息,營業(yè)統(tǒng)計,訂房退房,首頁,修改密碼和退出.點擊其他模塊后需要返回主界面可以點擊首頁。主界面圖如圖4-1所示:圖4—1主界面圖在本次的系統(tǒng)中,用戶登陸模塊和普通應用系統(tǒng)的用戶登陸基本上是相同的.當輸入用戶名和密碼提交后到LoginFrame控制模塊進行處理,輸入正確后轉到MainFrame,進入主界面;否則就回到LoginFrame頁面重新輸入,同時提醒用戶名密碼錯誤。登錄界面圖如圖4-2所示:圖4-2系統(tǒng)登陸界面圖LoginFrame代碼如下:privateJButtongetJButton(){//statisticsif(jButton1==null){jButton1=newJButton(”登陸");jButton1.setBounds(newRectangle(60,200,80,30));jButton1.addActionListener(newjava。awt.event.ActionListener(){publicvoidactionPerformed(java.awt。event.ActionEvente){Stringusers=MTextField。getText();Stringpass=newString(MPasswordField.getPassword());Daodao=newDao();booleanf=dao。check(users,pass);if(f){newMainFrame(users)。setVisible(true);dispose();}else{JOptionPane.showMessageDialog(null,”用戶名或者密碼錯誤",”提示",JOptionPane。WARNING_MESSAGE);}}});}returnjButton1;}privateJButtongetJButton1(){if(jButton2==null){jButton2=newJButton(”取消”);jButton2.setBounds(newRectangle(235,200,80,30));jButton2.addActionListener(newjava.awt。event。ActionListener(){publicvoidactionPerformed(java.awt。event.ActionEvente){MTextField。setText("");MPasswordField.setText(””);}});}returnjButton2;}該模塊有三個子功能實現:增加客戶信息,刪除客戶信息和查詢客戶信息。在本系統(tǒng)中,客戶信息系統(tǒng)模塊主要實現對客戶增加,刪除,查詢的管理?!霸黾印辈僮鳛轭A定客戶提供修改相關信息的功能??蛻粜畔⒔缑鎴D如圖4-3所示:圖4-3客戶信息界面圖該模塊中有三個子功能實現:顯示所有房間信息,增加刪除房間信息和查詢房間信息。在本系統(tǒng)中,客房信息系統(tǒng)模塊主要實現對客房所有信息顯示,客房增加及刪除,客房查詢的管理。“增加"操作為客房提供修改相關信息的功能。房間信息界面圖如圖4-4所示:圖4—4房間信息界面圖在本系統(tǒng)中,統(tǒng)計模塊主要是對于客房營業(yè)額的統(tǒng)計,包括了整體統(tǒng)計,每個房間被訂次數,各個房間每月和每年的營業(yè)額情況統(tǒng)計.統(tǒng)計界面如圖4-5所示:圖4-5統(tǒng)計信息界面圖在該模塊中,主要實現客戶的訂房退房功能,根據客房信息表來判斷是否有房,或者客戶是否訂了房間,給予退房。訂房模塊:主要實現的是對于客戶要求預定的客房信息進行選擇,選出適合客戶所需的客房,滿足客戶的需求。訂房退房界面圖如圖4-6所示:圖4-6訂房退房界面圖退房模塊:退房模塊可以根據酒店已經訂的房間然后產生一個下拉列表,直接選出所需要退訂的房間,根據客戶的信息對照,就能確定客戶所退的房間,然后進行結賬.5軟件測試5。1軟件測試簡介什么是軟件測試呢?軟件測試就是描述一種用來促進鑒別軟件的完整性、正確性、安全性和品質的過程。證明軟件是否存在錯誤的一個過程,它不僅可以測試出軟件中存在的BUG,還能幫助軟件開發(fā)者發(fā)現軟件的缺陷并進行改進。軟件測試有很高的重要性:它能尋找到軟件的錯誤,以便進行更正,證明軟件是否符合要求,是否是可用的,指導軟件的詳細開發(fā)過程,提供軟件相關的特征.5。1。1軟件測試的目標和方法軟件測試的目標是要驗證軟件中不存在錯誤,驗證程序是否起到了應有的作用,弄清楚期望結果和實際輸出結果之間的差別.一般的軟件測試有兩種方法,分為白盒測試法和黑盒測試法.白盒測試法就是將黑盒子打開,研究其源代碼以及程序內部的邏輯結構。黑盒測試法就是將被測試的軟件看做是一個黑盒子,只考慮系統(tǒng)的輸入與輸出,而不會考慮
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 阿克蘇職業(yè)技術學院《婦產科護理學》2023-2024學年第一學期期末試卷
- 隴東學院《語文學科教學能力綜合訓練》2023-2024學年第一學期期末試卷
- 8.3 金屬資源的利用和保護-2022-2023學年九年級化學下冊精講精練(人教版)(解析版)
- 陜西工商職業(yè)學院《足球理論與實踐Ⅲ》2023-2024學年第一學期期末試卷
- 陜西旅游烹飪職業(yè)學院《隨機微分方程》2023-2024學年第一學期期末試卷
- 陜西省合陽城關中學2025屆初三下學期期中(第三次月考)考試物理試題含解析
- 陜西省工大、鐵一、交大2024-2025學年中考考前模擬考試物理試題理試題含解析
- 五年級上冊教學工作總結模版
- 醫(yī)學知識 病毒感染及其致病性 學習課件
- 陜西省西安市長安區(qū)2024-2025學年數學四年級第二學期期末學業(yè)水平測試試題含解析
- 3.2《做自尊的人》課件-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- T-CALI 1101-2024 家用太陽能光伏照明產品-性能要求
- 中國特色社會主義政治經濟學課件
- 設計院掛靠合作協(xié)議書范本
- 2025年江蘇省職業(yè)院校技能大賽高職組(智慧物流)參考試題庫資料及答案
- 上海市松江區(qū)屆2024-2025學年高三上學期一??荚嚉v史試題(解析版)
- 2025年浙江省高職單招《職業(yè)適應性測試》高頻必練考試題(附答案)
- 《影視照明技術》課件:照亮影視作品的靈魂
- 2025年上海青浦新城發(fā)展(集團)限公司自主招聘9名高頻重點模擬試卷提升(共500題附帶答案詳解)
- 雪茄煙葉晾制技術規(guī)程
- 船舶概論習題及答案
評論
0/150
提交評論