學校食堂訂餐系統(tǒng)_第1頁
學校食堂訂餐系統(tǒng)_第2頁
學校食堂訂餐系統(tǒng)_第3頁
學校食堂訂餐系統(tǒng)_第4頁
學校食堂訂餐系統(tǒng)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學校食堂訂餐系統(tǒng)學校食堂訂餐系統(tǒng)學校食堂訂餐系統(tǒng)學校食堂訂餐系統(tǒng)編制僅供參考審核批準生效日期地址:電話:傳真:郵編:摘要隨著傳統(tǒng)的購物方式正在向網(wǎng)絡化發(fā)展,為了學校食堂業(yè)務水平和效率,實現(xiàn)比傳統(tǒng)就餐方式更有效的就餐,訂餐系統(tǒng)因運而生。通過對訂餐流程和業(yè)務進行全面考察分析,結(jié)合目前最先進的軟件開發(fā)技術(shù),實現(xiàn)了訂餐的網(wǎng)絡化管理。本文在介紹C#和ASP.NET相關技術(shù)和國內(nèi)外發(fā)展現(xiàn)狀的基礎上,系統(tǒng)采用C/S結(jié)構(gòu),客戶端與客戶端以及客戶端與服務器端之間通過Socket傳送消息,采用多線程、多任務的設計思想,開發(fā)出性能穩(wěn)定,功能全面的服務器,并完整的實現(xiàn)系統(tǒng)的功能。本文給出了訂餐系統(tǒng)在國內(nèi)外的現(xiàn)狀,針對現(xiàn)狀做出需求分析,并介紹了一些開發(fā)系統(tǒng)所用到的開發(fā)語言、開發(fā)工具和一些技術(shù),然后詳細分析,給出概要設計,最后展示出具體實現(xiàn)和測試結(jié)果。本系統(tǒng)分為客戶端和服務器端。在客戶端系統(tǒng)能為顧客提供瀏覽菜品介紹、點菜訂餐及評分、管理個人基本信息、向管理員投訴和留言等功能;在服務器端,管理員通過主界面直接管理服務器,通過服務器主界面提供的功能管理入口進入各功能管理界面,包括管理顧客信息、管理菜單信息、管理訂單信息、管理管理員信息等界面。本系統(tǒng)采用模塊化設計方法,方便顧客的使用,同時便于管理員的管理,提高了學校食堂的工作效率,優(yōu)化了學校食堂的管理。該系統(tǒng)適合在大學食堂中推廣使用,它能夠優(yōu)化就餐業(yè)務流程,實現(xiàn)餐廳價值大化,同時又使成本最低化,并最終提高學校食堂網(wǎng)絡化管理水平。關鍵字:網(wǎng)上訂餐;C#;ASP.NET;C/S;多線程目錄摘要 1目錄 11概述 11.1國內(nèi)外訂餐系統(tǒng)的現(xiàn)狀介紹 11.2C#語言 21.2.1了解C#的發(fā)展歷史 21.2.2C#語言的特點 32系統(tǒng)開發(fā)工具與網(wǎng)絡技術(shù) 32.1開發(fā)工具 32.2開發(fā)環(huán)境 32.3TCP/IP及Socket 42.3.1TCP/IP協(xié)議常識 42.3.2Socket的簡介 63學校食堂訂餐系統(tǒng)的系統(tǒng)設計 83.1課題來源及概述 83.2需求分析 93.2.1可行性分析 93.2.2系統(tǒng)性能需求 103.3訂餐系統(tǒng)分析與程序設計 113.3.1訂餐程序的總體設計要點 113.3.2具體系統(tǒng)功能實現(xiàn) 123.3.3數(shù)據(jù)流圖 133.4數(shù)據(jù)庫的設計 143.4.1數(shù)據(jù)庫需求 143.4.2數(shù)據(jù)庫詳細設計 154概要設計 174.1系統(tǒng)實現(xiàn)原理 174.2各模塊詳細結(jié)構(gòu)功能 184.2.1服務器端結(jié)構(gòu) 184.2.2客戶端結(jié)構(gòu) 184.3系統(tǒng)的設計過程 194.3.1客戶端 194.3.2服務器 205學校食堂訂餐系統(tǒng)的具體實現(xiàn)及測試 215.1系統(tǒng)用戶界面設計 215.2客戶端主界面 215.3服務器主界面 24總結(jié) 27致謝 28參考文獻 29附錄 301概述1.1國內(nèi)外訂餐系統(tǒng)的現(xiàn)狀介紹近年來,我國餐飲業(yè)快速發(fā)展,餐飲管理信息系統(tǒng)是傳統(tǒng)餐飲服務業(yè)與計算機信息管理相結(jié)合的成果,它能有效避免手工管理中的不便,實現(xiàn)管理方式的升級。預計,到2010年我國餐飲業(yè)零售額將達到2萬億元,基于良好的發(fā)展空間,餐飲行業(yè)對自身提供服務的質(zhì)量和能力也有了更高的要求。在快速發(fā)展的同時,多數(shù)餐飲業(yè)在同常經(jīng)營管理中仍普遍采用手工管理方式,整體科技含量低。隨著餐飲店規(guī)模的不斷擴大,手工管理在工作效率、人員成本、提供決策信息方面都已經(jīng)難以適應現(xiàn)代化經(jīng)營管理的要求,嚴重制約了整個餐飲業(yè)的規(guī)?;l(fā)展和整體服務水平的提升。國外很早就開始在餐飲業(yè)采用計算機進行信息管理,隨著計算機的飛速發(fā)展,經(jīng)過幾十年的開發(fā)及應用,已經(jīng)非常成熟。國內(nèi)酒店業(yè)在80年代隨著國外酒店管理方式的引進,開始應用計算機,主要是一些高星級的賓館,軟件主要采用國外的系統(tǒng)。隨著中國對外的不斷開放,餐飲管理信息系統(tǒng)正在越來越多的被國內(nèi)餐飲企業(yè)應用于餐飲管理領域。餐飲管理系統(tǒng)正因此而越來越受到重視。餐飲企業(yè)只有通過不斷的技術(shù)手段革新和管理制度上的創(chuàng)新,才能始終贏得顧客的信任,才能長久維持顧客的忠誠。這樣,餐飲企業(yè)的經(jīng)營活動就會呈現(xiàn)出在保證服務質(zhì)量的同時大幅度降低成本的局面,或者是在稍許增加成本的情況下大幅度增加收益的狀況。也就是說,采用先進的科技手段,使餐飲企業(yè)營銷策略的選擇性增強,具有了更加靈活的銷售手段。可見,在餐飲企業(yè)中實施信息化管理是必要的。1.2C#語言1.2.1了解C#的發(fā)展歷史C#(讀做"Csharp",中文譯音暫時沒有.專業(yè)人士一般讀"Csharp",很多非專業(yè)一般讀"C井"。它是微軟公司在2000年7月發(fā)布的一種全新且簡單、安全、面向?qū)ο蟮某绦蛟O計語言,是專門為.NET的應用而開發(fā)的語言。它吸收了C++、VisualBasic、Delphi、Java等語言的優(yōu)點,體現(xiàn)了當今最新的程序設計技術(shù)的功能和精華。C#繼承了C語言的語法風格,同時又繼承了C++的面向?qū)ο筇匦?,并且C#成為ECMA與ISO標準規(guī)范。不同的是,C#的對象模型已經(jīng)面向Internet進行了重新設計,使用的是.NET框架的類庫;C#不再提供對指針類型的支持,使得程序不能隨便訪問內(nèi)存地址空間,從而更加健壯;C#不再支持多重繼承,避免了以往類層次結(jié)構(gòu)中由于多重繼承帶來的可怕后果。.NET框架為C#提供了一個強大的、易用的、邏輯結(jié)構(gòu)一致的程序設計環(huán)境。同時,公共語言運行時(CommonLanguageRuntime)為C#程序語言提供了一個托管的運行時環(huán)境,使程序比以往更加穩(wěn)定、安全。1.2.2C#語言的特點(1)語言簡潔。(2)保留了C++的強大功能。(3)快速應用開發(fā)功能。(4)語言的自由性。(5)強大的Web服務器控件。(6)支持跨平臺。(7)與XML相融合。2系統(tǒng)開發(fā)工具與網(wǎng)絡技術(shù)2.1開發(fā)工具基于C#聊天系統(tǒng)的設計主要運用C#語言、ASP.NET技術(shù)和Socket類結(jié)合而開發(fā)。其開發(fā)的主要環(huán)境包括:服務器端:(Windows平臺)首先應有VisualStudio開發(fā)工具,建議采用VisualStudio2005及其以上版本,本系統(tǒng)開發(fā)工具為VisualStudio2005;另外,需要安裝SQLSever數(shù)據(jù)庫,建議采用SQLSever2005及其以上版本,本系統(tǒng)采用SQLSever2005;客戶端:應有VisualStudio開發(fā)工具,建議采用VisualStudio2005及其以上版本,本系統(tǒng)開發(fā)工具為VisualStudio2005;2.2開發(fā)環(huán)境

本系統(tǒng)運行環(huán)境所需用到的環(huán)境為:

硬件配置:中央處理器(CPU):AMDⅡx2240的處理器;硬

盤:40GB以上硬盤;內(nèi)

存:512DDR內(nèi)存;顯示器:17寸顯示器等;顯

卡:128M顯存顯卡軟件環(huán)境:WINDOWSXP、MicrosoftVisualStudio2005、SQLServer2005等2.3TCP/IP及Socket2.3.1TCP/IP協(xié)議常識TCP/IP(TransmissionControlProtocol/InternetProtocol)是傳輸控制協(xié)議/網(wǎng)際協(xié)議的縮寫,TCP/IP是當今網(wǎng)絡互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個層次,即應用層、傳輸層、網(wǎng)絡互聯(lián)層和網(wǎng)絡接口層。IP協(xié)議的作用:第一,它是網(wǎng)絡層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。第二,提供不可靠的無連接的服務。第三,定義了互聯(lián)網(wǎng)上的傳輸數(shù)據(jù)的基本單元,提供了供路由選擇的信息,沒有差錯校驗和處理的機制。TCP協(xié)議的功能:差錯控制——可靠性、面向連接、分段(Segment)、端口號。TCP是傳輸控制協(xié)議,是面向連接的提供了一種可靠的傳輸服務,它用三次握手和滑動窗口機制來保證傳輸?shù)目煽啃?,及進行流量控制。(1)TCP/IP協(xié)議具有以下特點:1)協(xié)議標準具有開放性,其獨立于特定的計算機硬件及操作系統(tǒng),可以免費使用。2)統(tǒng)一分配網(wǎng)絡地址,使得每個TCP/IP設備在網(wǎng)絡中都具有唯一的IP地址。3)實現(xiàn)了高層協(xié)議的標準化,能為用戶提供多種可靠的服務。(2)TCP/IP協(xié)議進行傳輸數(shù)據(jù)傳輸?shù)倪^程:在基于TCP/IP協(xié)議的網(wǎng)絡中,套接字(Socket)是通信的基石,是網(wǎng)絡通信的基本操作單元,應用程序為了傳輸數(shù)據(jù)會調(diào)用TCP,將數(shù)據(jù)和對應的參數(shù)傳給TCP,將TCP數(shù)據(jù)包封裝在IP包內(nèi),通過網(wǎng)絡送給目的TCP。接收方TCP在接收到數(shù)據(jù)后通知上層應用程序,TCP將保證接收數(shù)據(jù)的正確性。在實現(xiàn)TCP的主機上,TCP可以被看成是一個模塊,和文件系統(tǒng)區(qū)別不大,TCP也可以調(diào)用一些操作系統(tǒng)的功能,TCP不直接和網(wǎng)絡打交道,控制網(wǎng)絡的任務由專門的設備驅(qū)動模塊完成。TCP只是調(diào)用IP接口,向TCP提供所有TCP需要的服務。(3)端口號:有的時候,一個ip地址不能完整的標識一臺服務器,這是應為一臺物理性的計算機同時運行著多個應用程序,這就需要我們來區(qū)別同一臺機子上的不同的服務,所以就在傳輸層和應用層上設置接口,就是端口。端口實際是一個16位長的地址,他的范圍是0~65535之間,其中0~1023是熟知端口,主要是給提供服務的應用程序使用,這些端口是所有應用進程都只道的,1024~65535為一般端口,也稱動態(tài)端口、連接端口,用來隨時分配要求通信的個客戶端應用程序。在數(shù)據(jù)傳輸過程中,各種服務器不斷的檢測分配給他的端口,一邊發(fā)現(xiàn)要求和他通信的客戶端。2.3.2Socket的簡介Socket,簡稱套接字,用于實現(xiàn)網(wǎng)絡上客戶和服務器之間的連接。也就是說網(wǎng)絡上兩個或兩個以上雙工方式通信的進程之間總有一個連接,這個連接的端點成為套接字,套接字是在比較低的層次上通信的。具體的說:一個服務器應用程序一般偵聽一個特定的端口等待客戶端的連接請求,當一個連接請求到達時,客戶端和服武器端建立一個通信連接,在連接過程中,客戶端被分配一個本地端口與一個socket建立連接,客戶端通過寫socket來通知服務器,以讀socket中的信息,類似的服務器也獲得一個本地端口,它需要一個新的端口號來偵聽原始端口上的其他連接請求。服務器也通過它的本地端口連接一個socket,通過讀寫和客戶端通信。(1)建立Socket連接:在通信開始之前由通信雙方確認身份,建立一條專用的虛擬連接通道。(2)數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進行通道。(3)關閉:通信結(jié)束時,再將所建的虛擬連接拆除。Socket程序的工作過程,如圖2.11所示:圖2.11客戶機/服務器socket通訊的工作模式圖第一次握手:原主機發(fā)送一個帶有本次連接的序號的請求的一個數(shù)據(jù)幀。第二次握手:目的主機收到請求后,如果同意連接,則發(fā)回一個帶有一個本次連接序號和源端機連接序列號的確認。第三此握手:源端機收到含有兩次初始序列號的應答后,在向目的主機發(fā)送一個帶有兩次連接的序列號的確認。具體的三次握手過程,如下圖2.12所示。圖2.12三次握手由此可見,通過客戶端和服務器的“三次握手”,雙方可以建立暢通的通信信道,在此信道上雙方互相傳輸數(shù)據(jù)。3學校食堂訂餐系統(tǒng)的系統(tǒng)設計3.1課題來源及概述隨著我國餐飲行業(yè)的發(fā)展,因餐飲業(yè)門坎較低,中國的大多數(shù)餐飲企業(yè)還是人工管理,尤其是在很多大學的食堂中,并沒有一套現(xiàn)代管理體制,所以從觀念意識、經(jīng)營思想和管理水平還有待專業(yè)化。隨著人們生活水平的提高,餐飲業(yè)在服務行業(yè)中占有越來越重要的地位。通過方便快捷的管理,在當前餐飲行業(yè)日趨激烈的競爭中脫穎而出,已成為每位餐飲業(yè)經(jīng)營者所追求的目標。通過網(wǎng)絡訂餐初步解決了大學食堂中就餐不方便的難題。另外,在計算機普及后的今天,中國進入了互聯(lián)網(wǎng)信息時代,生活、學習和工作節(jié)奏都隨著信息傳遞速度的加快而變得急促。傳統(tǒng)的購物方式也正在向網(wǎng)絡方面發(fā)展,出現(xiàn)了“網(wǎng)購”這種越來越受歡迎的新型消費方式。同樣,作為為高校學生服務的學校餐廳不可避免地趨向網(wǎng)絡化發(fā)展。3.2需求分析3.2.1可行性分析社會可行性:基于C/S的訂餐系統(tǒng)將傳統(tǒng)的交易流程信息化、數(shù)字化,一方面以信息流代替了面對面的交易,可以大量減少人力、物力,降低了成本;另一方面突破了時間和空間的限制,使得交易活動可以在任何時間、任何地點進行,從而大大提高了效率。經(jīng)濟可行性:由于本系統(tǒng)的主要背景是課程設計,不注重直接的經(jīng)濟效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對自身的經(jīng)濟要求并不高,只要有一臺能運行Java軟件的電腦便可,所以不用考慮到經(jīng)濟問題。技術(shù)可行性:本系統(tǒng)的開發(fā)采用C#語言和簡單的網(wǎng)絡通信協(xié)議,只實現(xiàn)一些基本功能,練習上課所學內(nèi)容,因此本系統(tǒng)是一個小型的基于C/S的訂餐系統(tǒng),功能并不是很強大。運行可行性:本系統(tǒng)為一個小型的訂餐系統(tǒng),所耗費的資源不多,現(xiàn)在一般的電腦無論是硬件還是軟件均可滿足作為客戶端的條件,服務器配置要求也不是太高。因此,本系統(tǒng)在運行上是可行的。綜上所述,本系統(tǒng)的設計與開發(fā)在技術(shù)上和硬件設備上的條件都是滿足的,因此,它是可行的。3.2.2系統(tǒng)性能需求界面友好:為顧客提供良好的登錄界面,方便顧客進行各種操作。實用性:使得學校學生及教職工更加方便的就餐,食堂管理人員方便有效地進行作業(yè)管理。技術(shù)先進:產(chǎn)品的系統(tǒng)設計和開發(fā)應緊跟著整個計算機發(fā)展潮流,采用當時先進的設計思想,利用比較新的開發(fā)技術(shù)和開發(fā)工具。使系統(tǒng)能夠無論在功能設計上,還是在技術(shù)實現(xiàn)上,都處于同行業(yè)的較領先地位。操作簡單:本系統(tǒng)適用于學校學生及教職工,只需通過客戶端登錄到系統(tǒng),就可以進行訂餐及其他相關的操作,因此要求系統(tǒng)的操作盡可能簡單易行。安裝使用簡便:服務器端的安裝簡潔明了,客戶機無需再裝任何軟件就可以直接登陸,進行相關操作。適應性:應該能廣泛應用于大學各大食堂中。系統(tǒng)采用模塊化設計,顧客可以根據(jù)自己的實際情況進行操作,使系統(tǒng)在不同的硬件環(huán)境下都能得以應用。3.3訂餐系統(tǒng)分析與程序設計3.3.1訂餐程序的總體設計要點訂餐系統(tǒng)的正常運行,首先是要有一個完整穩(wěn)定的服務器端,并且擁有很多個客戶端。客服端要具有實現(xiàn)顧客登陸和訂餐功能,在登陸成功后,要顯示出為顧客提供多種功能入口的主界面,顧客可以進行相關的操作實現(xiàn)管理個人基本信息、查看菜單和訂餐以及發(fā)表留言和投訴等。在顧客上線和下線時要更新服務器界面顯示的顧客列表,后臺管理顧客、菜單、訂單及顧客留言等信息。因此,在設計聊天系統(tǒng)的過程中必須要考慮好以下幾個設計要點:1.實現(xiàn)思想基于C/S的訂餐程序一般都是以服務器模塊提供遠程訪問,處理訂單為主,顧客通過客戶端模塊登錄系統(tǒng),然后進行相關操作。因此,程序要在TCP/IP環(huán)境下實現(xiàn)服務器和客戶端兩個模塊的程序。2.服務器模塊工作流程服務器模塊通過socket()系統(tǒng)調(diào)用創(chuàng)建一個Socket數(shù)組后與指定的本地端口綁定,就可以在端口進行偵聽ServerListen()。如果有顧客登陸請求則建立一個Socket,將客戶端地址賦給這個Socket。管理員通過服務器后臺管理顧客、菜單、顧客留言和投訴以及顧客發(fā)送的訂單。3.客戶端模塊工作流程客戶端程序相對簡單,只需要建立一個Socket與服務器模塊連接,通過這個Socket接收服務器發(fā)來的允許登陸的信息以及向服務器發(fā)送訂單信息。顧客登陸成功,進行訂餐或其他相關操作。3.3.2具體系統(tǒng)功能實現(xiàn)本系統(tǒng)主要通過客戶端和服務器端來體現(xiàn)學校食堂訂餐系統(tǒng)的基本功能。1.服務器端(1)處理顧客和管理員登錄(2)管理顧客信息(3)處理用戶發(fā)送信息,服務器監(jiān)控訂餐內(nèi)容(4)處理用戶得到信息(5)處理用戶退出(6)管理菜單信息(7)管理訂單信息(8)管理顧客留言信息和投訴信息2.客戶端(1)顧客登錄界面及結(jié)果(2)顧客登錄后主界面及結(jié)果(3)顧客修改個人基本信息(4)顧客查看菜單信息界面及結(jié)果,同時參與給菜評分(5)顧客訂餐界面及結(jié)果(6)顧客投訴、留言界面及結(jié)果(7)顧客退出界面及結(jié)果3.3.3數(shù)據(jù)流圖1.頂層數(shù)據(jù)流圖,如圖3.1所示。訂餐顧客訂餐顧客學校食堂訂餐系統(tǒng)圖3.1頂層數(shù)據(jù)流圖2.一層數(shù)據(jù)流圖,如圖3.2所示。服務器客戶端訂餐顧客管理員服務器客戶端訂餐顧客管理員數(shù)據(jù)庫返回信息 通信管理服務器圖3.2一層數(shù)據(jù)流圖3.二層數(shù)據(jù)流圖,如圖3.3所示。訂餐顧客訂餐顧客管理個人信息客戶端查看菜單訂餐留言和投訴服務器管理員管理訂單管理顧客管理菜單管理留言和投訴數(shù)據(jù)庫日志顧客訂單圖3.3系統(tǒng)二層數(shù)據(jù)流圖3.4數(shù)據(jù)庫的設計3.4.1數(shù)據(jù)庫需求本系統(tǒng)采用MicrosoftSQLServer20005數(shù)據(jù)庫,它是典型的關系型數(shù)據(jù)庫,使用集成的商業(yè)智能(BI)工具提供了企業(yè)級的數(shù)據(jù)管理。MicrosoftSQLServer2005數(shù)據(jù)庫引擎為關系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使用戶可以構(gòu)建和管理用于業(yè)務的高可用和高性能的數(shù)據(jù)應用程序。在學校食堂訂餐系統(tǒng)中,數(shù)據(jù)庫位于服務器,顧客可以遠程訪問數(shù)據(jù)庫,管理員在服務器上管理系統(tǒng)中的信息,于是要求服務器具有良好的性能和安全可靠的存儲功能。3.4.2數(shù)據(jù)庫詳細設計1.顧客信息表,如表3-1所示。 表3-1顧客信息表名稱描述數(shù)據(jù)類型是否為空主鍵cid用戶名nchar(10)否是cname姓名nchar(10)是否cpsw密碼nchar(30)是否cmoney賬戶余額float是否ctel聯(lián)系方式nchar(11)是否cphoto照片image是否2.管理員信息表,如表3-2所示。表3-2管理員信息表名稱描述數(shù)據(jù)類型是否為空主鍵aid用戶名nchar(10)否是apsw密碼nchar(30)是否aname姓名nchar(10)是否ctel聯(lián)系方式nchar(11)是否3.菜單信息表,如表3-3所示。表3-3菜單信息表名稱描述數(shù)據(jù)類型是否為空主鍵mnum食物編號nchar(10)否是mname食物名nchar(20)是否mwindow所屬窗口nchar(20)否是mprice價格float是否mdose配料nchar(50)是否mscore所得評分float是否assesscnt已評次數(shù)int是否4.訂單信息表,如表3-4所示。表3-4訂單信息表名稱描述數(shù)據(jù)類型是否為空主鍵ofnum訂單編號int否是mnum食物編號nchar(10)是否mname食物名nchar(20)是否mwindow所屬窗口nchar(20)是否ofcnt份數(shù)int是否cid顧客用戶名nchar(10)是否ctel顧客聯(lián)系方式nchar(11)是否mprice價格float是否oftime訂餐時間datatime是否ofstate狀態(tài)nchar(6)是否5.留言信息和投訴信息表如表3-5所示。表3-4留言信息和投訴信息表名稱描述數(shù)據(jù)類型是否為空主鍵msgnum信息編號int否是cid顧客用戶名nchar(10)是否msgcont內(nèi)容nchar(200)是否msgtime時間datetime是否backmsgcont回復信息nchar(200)是否msgtype類型nchar(4)是否4概要設計4.1系統(tǒng)實現(xiàn)原理原理圖,如圖4.1所示。訂餐顧客訂餐顧客訂餐顧客訂餐顧客管理員數(shù)據(jù)庫客戶端服務器客戶端客戶端……………圖4.1學校食堂系統(tǒng)工作原理4.2各模塊詳細結(jié)構(gòu)功能管理員管理顧客信息管理菜單信息管理投訴、留言管理訂單服務器數(shù)據(jù)庫4.2.1服務器端結(jié)構(gòu)管理員管理顧客信息管理菜單信息管理投訴、留言管理訂單服務器數(shù)據(jù)庫圖4.2服務器端結(jié)構(gòu)圖查看菜單信息訂餐顧客管理個人信息投訴、留言訂餐客戶端4.2.2客戶端結(jié)構(gòu)查看菜單信息訂餐顧客管理個人信息投訴、留言訂餐客戶端圖4.3客戶端結(jié)構(gòu)圖4.3系統(tǒng)的設計過程4.3.1客戶端1.顧客登陸顧客通過客戶端發(fā)送登錄請求到服務器端,服務器啟動用戶登錄管理線程,發(fā)送允許登錄信息,客戶端獲取允許登錄信息,進行遠程訪問數(shù)據(jù)庫,進行登錄驗證,登錄到系統(tǒng)。2.管理個人信息顧客登錄成功后,進入客戶端系統(tǒng)主界面,在菜單欄找到管理個人信息的入口,進行修改個人信息或修改密碼,顧客提交自己修改的信息,遠程訪問數(shù)據(jù)庫進行個人信息的更新。3.查看菜單及訂餐顧客登錄成功后,進入客戶端系統(tǒng)主界面,在菜單欄找到查看菜單及訂餐的入口,顧客進入查看菜單界面,遠程訪問數(shù)據(jù)庫,按照不同(食堂)窗口查看相關菜單,再查看同時,顧客可以對所查看的某食物下訂單(即訂購)。4.留言和投訴為提高學校食堂的服務質(zhì)量,本系統(tǒng)為顧客提供了投訴和留言功能。顧客登錄成功后,進入客戶端系統(tǒng)主界面,在菜單欄找到留言和投訴的入口,進入留言和投訴界面,添加自己的留言或投訴內(nèi)容,提交后,遠程添加到數(shù)據(jù)庫。顧客也可以在留言和投訴界面查看管理員對自己留言和投訴內(nèi)容的回復。4.3.2服務器 1.管理員管理服務器 管理員通過登錄界面登錄到服務器,并開啟服務器不停地接收來在客戶端的請求,在發(fā)生異?;蝈e誤時,管理員及時進程相應的處理。 2.服務器接收客戶端信息 服務器為客戶端開放某個端口,允許多個客戶端發(fā)送請求。服務器接收三種客戶端請求信息:一、顧客登錄請求,為每個登錄的顧客建立一個Socket,并用此Socket向客戶端發(fā)送相應信息;二、顧客發(fā)送訂單請求,在接收到客戶端發(fā)來的訂單后,對訂單進行處理,存儲到數(shù)據(jù)庫,并向客戶端發(fā)送成功信息;三、顧客退出系統(tǒng)信息,顧客退出系統(tǒng)時,客戶端向服務器自動發(fā)送退出消息,服務器接收到顧客的退出消息后,更新在線用戶列表,并刪除與此用戶建立的Socket。 3.管理員管理個人信息 管理員在服務器上登錄,通過管理個人信息界面和管理管理員界面,后臺管理個人信息及添加新的管理員、刪除管理員。 4.管理員管理顧客信息 管理員通過管理顧客入口,進入管理顧客信息界面,進行添加新顧客用戶、查顧客信息、修改顧客信息、刪除顧客信息等操作,提交后系統(tǒng)對數(shù)據(jù)庫進行更新操作。5.管理員管理菜單信息管理員通過管理菜單入口,進入管理菜單信息界面,進行添加新菜單、查菜單信息、修改菜單信息、刪除菜單信息操作,提交后系統(tǒng)對數(shù)據(jù)庫進行更新操作。6.管理員管理顧客留言和投訴管理員通過管理管理顧客留言和投訴入口,進入管理管理顧客留言和投訴信息界面,進行相關操作,提交后系統(tǒng)對數(shù)據(jù)庫進行更新操作。5學校食堂訂餐系統(tǒng)的具體實現(xiàn)及測試5.1系統(tǒng)用戶界面設計界面是人機交互的窗口,界面接收用戶的輸入信息、執(zhí)行操作,并輸出執(zhí)行的結(jié)果。良好的用戶界面能夠提升用戶的工作效率,方便用戶使用,給用戶留下好的印象,使系統(tǒng)得到更好的聲譽。根據(jù)用例可以制定出系統(tǒng)界面,主要由提供各種操作入口的客戶端主界面和服務器主界面組成,兩個主界面又包括一些相應功能的操作界面。5.2客戶端主界面客戶端界面主要包括:登陸界面、主界面、顧客管理個人信息界面、查看菜單及評分和訂餐界面、投訴和留言界面。客戶端主要完成與服務器的連接、訂單信息傳送和遠程訪問數(shù)據(jù)庫更新或瀏覽相關信息,為顧客提供良好的人機界面。1.顧客要進入訂餐系統(tǒng)必須先登錄到客戶端,如圖5.1所示。圖5.1顧客登錄界面2.登錄成功后顧客進入客戶端主界面,如圖5.2所示圖5.2客戶端主界面3.在客戶端主界面中,顧客可以根據(jù)自己的需要進行相關的操作,個人信息管理和安全管理是管理顧客的基本信息和密碼。在個人信息管理中用戶可以查看和修改自己的基本信息,如圖5.3所示為顧客修改個人信息的界面。圖5.3顧客修改個人信息界面 4.查看菜單及訂餐入口為顧客提供查看菜單和訂餐的服務,包括按窗口查看菜單、訂餐、查看訂單三個子入口,使顧客訂餐更加方便,顧客在查看菜單的同時可以對選中的菜評分。如圖5.4所示為顧客訂餐界面。圖5.4顧客訂餐界面 5.在下服務為顧客提供投訴和留言功能,使顧客參與到學校食堂的管理中來,顧客的監(jiān)督可以進一步提高學校食堂的服務質(zhì)量,真正做到“顧客就是上帝”的服務目標。圖5.5所示為顧客留言的界面和圖5.5所示為顧客留言的界面。圖5.5顧客留言界面圖5.6投訴回復界面6.最后,顧客通過“退出系統(tǒng)”入口退出訂餐系統(tǒng),或者直接關閉訂餐系統(tǒng)。5.3服務器主界面 服務器界面主要包括:管理員登錄界面、主界面、管理個人信息及管理員信息界面、管理顧客信息界面、管理菜單信息界面、管理訂單信息界面、管理投訴和留言信息界面。服務器主要為客戶端提供連接、接收客戶端傳送的信息和管理員對數(shù)據(jù)庫更新或瀏覽操作。1.管理員登錄界面和顧客登陸界面相同,只不過管理員登錄直接訪問數(shù)據(jù)庫。管理員登錄到服務器主界面,管理服務器正常運行。如圖5.7所示為服務器主界面。圖5.7服務器主界面2.管理員通過管理員權(quán)限入口,可以啟動和關閉服務器,以及管理個人信息和添加和刪除管理員信息。服務器啟動后,服務器接收客戶端發(fā)來的信息。圖5.8所示為服務器接收客戶訂單。然后,服務器對訂單進行處理,存儲到數(shù)據(jù)庫。圖5.8服務器接收顧客訂單3.管理員通過訂單管理,可以查看、修改和刪除訂單,如圖5.9所示為修改訂單的界面,但系統(tǒng)只允許修改“是否完成”。修改界面同時允許管理員刪除訂單。圖5.9修改訂單4.管理員可以對菜單管理,管理時按照不同食堂窗口來進行管理,基本管理方法有增、刪、查、改,在查看的同時可以修改和刪除。如圖5.10所示為按窗口查看所有菜單。圖5.10查看菜單5.管理員對顧客信息管理,對顧客信息進行增、刪、查、改等操作,在查看的同時可以進行修改和刪除操作。圖5.11所示為刪除顧客信息。圖5.11刪除顧客信息總結(jié)此次基于C#的學校食堂訂餐系統(tǒng)的設計與實現(xiàn)的課題設計,是我對Socket編程的第一次使用,也是目前做過的最大的程序。平時觀察學校食堂學生及教職工就餐情況,感覺傳統(tǒng)就餐模式不僅使顧客感到麻煩,而且不便于食堂的管理。因此,自己想要設計一款學校食堂訂餐系統(tǒng)?;綜#的學校食堂訂餐系統(tǒng)的設計與實現(xiàn)是一款C/S模式的系統(tǒng),對我來說是一個新的領域,憑著探索新知識的熱情和對自己能力的挑戰(zhàn),我選擇了該設計題目。在這次畢業(yè)設計中,我盡全力做好每一部分的工作。但由于時間有限,再加上自己的水平不高,而且初次接觸C#編程語言,沒有什么基礎,因此,本系統(tǒng)仍存在很多不完善的地方,例如系統(tǒng)反應能力不是太快,服務器處理事物能力相對不完善,顧客訂餐有延遲等等。盡管畢業(yè)設計到現(xiàn)在已接近尾聲,但是對于上述的缺陷,自己還會不斷對學校食堂訂餐系統(tǒng)進一步的完善,期望在今后的日子里憑借自身的技術(shù)把系統(tǒng)做成一款深受歡迎并能夠投入使用的訂餐系統(tǒng)。再設計系統(tǒng)的過程中我花費了大量的時間來重新學習C#語言,學習相關的Socket通信機制,瀏覽相關書籍和論文,畢竟個人能力有限,沒有將系統(tǒng)做到盡善盡美。在今后時間里,我會進一步完善不足之處,并逐步優(yōu)化該系統(tǒng),以提供更完善的功能。總之,通過本次的畢業(yè)設計,使我平時學到的理論知識得到了很好地升華,理論與實際得到一次很好的結(jié)合,為我C#課程的學習暫時畫上了一個句號,為我今后參加工作打下了堅實的基礎,使我受益匪淺。致謝緊張而忙碌的課題設計就要結(jié)束了,通過這幾周來的忙碌和學習,由于是首次接觸C#并且是一次一個人完成這項任務,經(jīng)驗的匱乏,難免有許多考慮不周全的地方,但是在完成了系統(tǒng)的功能設計后,我還是感到由衷的喜悅和自豪。首先,我要感謝王老師在課程設計期間給了我悉心的關懷、教導,并且給了我許多關鍵的、建設性的建議。本次課題設計從選題到完成,王老師始終都給予了細心的指導和不懈的支持,每一步都是在導帥的指導下完成的,本次課題設計的順利完成,傾注了導師大量的心血。在此對導師給予我學習上的幫助表示衷心的感謝。其次,本次課題設計最終得以順利完成,也是與我身邊的同學的幫助分不開的,雖然他們沒有直接參與我的課題設計,但在開題時也給我提供了不少的意見,提出了一系列可行性的建議,在課題設計過程中,積極幫助我解決我遇到的問題,在此向他們表示深深的感謝!最后,謹向百忙之中抽出寶貴時問評審本論文的老師致以最誠摯的謝意!參考文獻[1]鄭宇軍.C#程序設計基礎[M].北京:清華大學出版社,2011.[2]謝希仁.計算機網(wǎng)絡[M].北京:電子工業(yè)出版社,2008.1.[3]吳紹興,劉巖,明廷堂.C#項目案例導航[M].北京:電子工業(yè)出版社,2012.[4]歐立奇.Visualc#.NET案例開發(fā)集錦[M].北京:電子工業(yè)出版社,2009.[5]陳爽.高校食堂網(wǎng)上訂餐系統(tǒng)[J].電腦知識與技術(shù),2010,06.[6]汪永江.高校餐飲管理信息系統(tǒng)的分析與設計[D].廈門大學,2011.[7]陳趙云,張志山,黃日勝等.網(wǎng)上訂餐系統(tǒng)研究與開發(fā)[J].電腦學習,2010,(3).[8]王斌.基于J2EE的網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)[D].山東大學.2011.[9]李紹芳.基于Web2.0的餐飲管理系統(tǒng)的設計與開發(fā)[D].2009.[10]單杰.網(wǎng)上訂餐系統(tǒng)需求分析[J].決策與信息,2009(4).

[11]李西陸.基于WEB的網(wǎng)上訂餐系統(tǒng)[J].商場現(xiàn)代化,2008(21).[13]劉曉英.ASP.NET實用教程[M].北京:北京理工大學出版社,2009.7.[14]楊銘鐸.餐飲概論[M].北京:科學出版社.2008.[15]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社.2007.附錄學校食堂訂餐系統(tǒng)主界面部分代碼。服務器端:以下是部分服務器主界面部分代碼:TcpClientclient;TcpListenerlisten;NetworkStreamns;Threadgetmsg;//服務器接受信息delegatevoidAddListBoxCallBack(stringtext);AddListBoxCallBackaddlist;AddListBoxCallBackdgb;Threadsevergetmsg;//實現(xiàn)多用戶登錄Dictionary<string,Socket>dic=newDictionary<string,Socket>();Threadtt1;staticstringtts="";stringstr="";intcnt=0;privatevoidForm1_Load(objectsender,EventArgse){str="歡迎"+CurrentLogAdmin.aname+"登錄";str+="";tool_user.Text=str;tool_time.Text=DateTime.Now.ToString();timer1.Enabled=true;Control.CheckForIllegalCrossThreadCalls=false;addlist=newAddListBoxCallBack(listBoxadd);dgb=newAddListBoxCallBack(listBox2add);}voidlistBoxadd(strings){tts=s;tt1=newThread(newThreadStart(excute));tt1.Start();}voidexcute(){intd=0;byte[]sentmsg=newbyte[1024];string[]str=tts.Split('|');if(str[0]=="odfm"){listBox1.Items.Add("訂單:"+tts);OrderForminf.mnum=str[1];OrderForminf.mname=str[2];OrderForminf.mwindow=str[3];OrderForminf.ofcnt=Convert.ToInt32(str[4]);OrderForminf.cid=str[5];OrderForminf.ctele=str[6];OrderForminf.mprice=Convert.ToDouble(str[7]);OrderForminf.oftime=Convert.ToDateTime(str[8]);OrderForminf.ofstate=str[9];d=DBHelp.AddOrderForm();if(d>0){//MessageBox.Show("odfmok");sentmsg=Encoding.Default.GetBytes("odfmok");ns.Write(sentmsg,0,sentmsg.Length);}else{sentmsg=Encoding.Default.GetBytes("odfmno");ns.Write(sentmsg,0,sentmsg.Length);}}elseif(str[0]=="exit"){dic[str[1]].Close();listBox1.Items.Add("退出消息:"+tts);for(inti=0;i<listBox2.Items.Count;i++){stringistr=listBox2.Items[i].ToString();if(istr==str[1].Replace("\0","")){dic[listBox2.Items[i].ToString()].Close();listBox2.Items.RemoveAt(i);break;}}}}voidlistBox2add(strings){listBox2.Items.Add(s);}privatevoidbutton1_Click(objectsender,EventArgse){try{IPEndPointiep=newIPEndPoint(IPAddress.Parse(textBox1.Text),Convert.ToInt32(textBox2.Text));listen=newTcpListener(iep);listen.Start(10);getmsg=newThread(newThreadStart(receive));getmsg.Start();}catch(Exceptionex){MessageBox.Show(ex.Message);}}voidreceive(){while(true){try{client=listen.AcceptTcpClient();dic.Add(client.Client.RemoteEndPoint.ToString(),client.Client);severgetmsg=newThread(newThreadStart(servermsg));severgetmsg.Start();listBox2.Invoke(dgb,client.Client.RemoteEndPoint.ToString());}catch(Exceptionex){//MessageBox.Show(ex.Message);}}}voidservermsg(){TcpClientc1=client;stringenfpoint=c1.Client.RemoteEndPoint.ToString();byte[]sentmsg=newbyte[1024];sentmsg=Encoding.Default.GetBytes("true|"+enfpoint+"|");ns=client.GetStream();ns.Write(sentmsg,0,sentmsg.Length);while(true){try{ns.Flush();ns=client.GetStream();intl=client.Available;if(l>0){byte[]buffer=newbyte[1024];ns.Read(buffer,0,buffer.Length);strings=Encoding.Default.GetString(buffer);tts=s;tt1=newThread(newThreadStart(excute));tt1.Start();}}catch(Exceptionex){}}}privatevoidbutton2_Click(objectsender,EventArgse){byte[]sentmsg=newbyte[1024];sentmsg=Encoding.Default.GetBytes(textBox3.Text);ns.Write(sentmsg,0,sentmsg.Length);}

溫馨提示

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

評論

0/150

提交評論