摘 要:本文提出了一種利用JSP,JAVA語(yǔ)言進(jìn)行開(kāi)發(fā)、設(shè)計(jì)的智能訂餐系統(tǒng),以模塊化的設(shè)計(jì)理念為基本,采用了組合查詢的方式,最終展示了一個(gè)實(shí)用的,面向?qū)ο蟮腂/S架構(gòu)的網(wǎng)絡(luò)訂餐系統(tǒng)。不但方便了使用者,還提高了管理者的工作效率,為成本核算提供了有力的支持。
關(guān)鍵詞:訂餐;架構(gòu);分層;數(shù)據(jù)流
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,人們對(duì)于網(wǎng)絡(luò)有了越來(lái)越多的要求。人們通過(guò)網(wǎng)絡(luò)進(jìn)行信息檢索,獲取到有效信息的途徑更加豐富。
作為廣播影視工作者,每天要面對(duì)高強(qiáng)度的工作,因此享用美食成為了一種基本需求。而之前電臺(tái)還使用傳統(tǒng)的紙質(zhì)介質(zhì),職工訂餐需要專門到食堂,由于紙質(zhì)介質(zhì)的局限性,食堂只能提供有限的菜品資源,職工的選擇非常有限。針對(duì)目前實(shí)際情況,為方便職工訂餐,提出并設(shè)計(jì)實(shí)現(xiàn)了這個(gè)網(wǎng)絡(luò)訂餐系統(tǒng)。
下面就當(dāng)前網(wǎng)絡(luò)訂餐系統(tǒng)的發(fā)展現(xiàn)狀與趨勢(shì)、網(wǎng)絡(luò)訂餐系統(tǒng)的結(jié)構(gòu)和基本工作流程及設(shè)計(jì)開(kāi)發(fā)的平臺(tái)選擇和使用的關(guān)鍵技術(shù)等問(wèn)題進(jìn)行闡述。
1 設(shè)計(jì)背景
人們能通過(guò)互聯(lián)網(wǎng)來(lái)獲取信息,是因?yàn)榛ヂ?lián)網(wǎng)能夠提供更加及時(shí)、大量的信息資源,它給我們帶來(lái)的影響是廣泛而深遠(yuǎn)的,所以可提供服務(wù)的信息資源極為豐富。
正基于此,我們對(duì)網(wǎng)絡(luò)訂餐系統(tǒng)進(jìn)行了更深層次的思考,為什么不能設(shè)計(jì)一款真正適合電臺(tái)職工訂餐用的網(wǎng)絡(luò)訂餐軟件呢?
每一位職工通過(guò)自己的賬號(hào),在能上網(wǎng)的pc客戶端均能訂餐。食堂工作人員每天按時(shí)上網(wǎng)查看訂餐情況,然后根據(jù)訂餐情況進(jìn)行采購(gòu),做好訂餐人員的就餐工作。同時(shí),食堂人員則通過(guò)網(wǎng)上訂餐軟件,登記采購(gòu)數(shù)據(jù)。完成食堂報(bào)表工作,食堂報(bào)表不僅公開(kāi)透明,而且能實(shí)現(xiàn)無(wú)紙化。解決食堂管理員與訂餐者的溝通渠道,減輕后勤的工作壓力和手工操作問(wèn)題。
2 系統(tǒng)架構(gòu)與原理分析
訂餐系統(tǒng)采用J2EE技術(shù),采用分層設(shè)計(jì)的方法實(shí)現(xiàn)。這種方法可以降低系統(tǒng)的復(fù)雜度,有助于系統(tǒng)的升級(jí)和系統(tǒng)。其目的是為了使系統(tǒng)更容易被理解,不同的部分相對(duì)獨(dú)立,有利于功能的改進(jìn)和替換。模塊設(shè)計(jì)原則是高內(nèi)聚,低耦合。
2.1 物理架構(gòu)
訂餐系統(tǒng)部署在一臺(tái)服務(wù)器上,應(yīng)用軟件和數(shù)據(jù)庫(kù)部署在這臺(tái)服務(wù)器上。客戶機(jī)使用瀏覽器通過(guò)網(wǎng)絡(luò)與訂餐服務(wù)器連接,訂餐服務(wù)器與客戶機(jī)之間使用防火墻分開(kāi),以提高系統(tǒng)的安全性,隔離外界的攻擊。客戶機(jī)可以是各種安裝了瀏覽器的PC機(jī)和個(gè)人筆記本電腦,通過(guò)瀏覽器客戶可以方便使用訂餐服務(wù)器上的服務(wù)。管理終端也是PC機(jī)或個(gè)人筆記本電腦,它與其它客戶機(jī)的區(qū)別是管理員使用管理密碼登錄訂餐系統(tǒng),一般客戶使用普通賬號(hào)登錄訂餐系統(tǒng)。
2.2 功能模塊結(jié)構(gòu)
整個(gè)系統(tǒng)平臺(tái)分成四層:顯示層、顯示控制層、業(yè)務(wù)邏輯層和數(shù)據(jù)層。
顯示層由訂餐頁(yè)面、查詢頁(yè)面、管理頁(yè)面構(gòu)成由Html語(yǔ)言及java Script腳本語(yǔ)言完成;顯示控制層由數(shù)據(jù)合法性檢查模塊、頁(yè)面流轉(zhuǎn)控制模塊、配置管理模塊組成,接收到客戶端請(qǐng)求后分別將請(qǐng)求發(fā)送給數(shù)據(jù)合法性檢查模塊和配置管理模塊進(jìn)行檢測(cè)和校驗(yàn),通過(guò)后發(fā)給下一層;業(yè)務(wù)邏輯層由菜譜管理模塊、訂餐管理模塊、消費(fèi)查詢模塊、用戶管理模塊、采購(gòu)管理模塊、報(bào)表管理模塊、庫(kù)存管理模塊、數(shù)據(jù)備份模塊、公告管理模塊、餐飲管理模塊、成本核算管理模塊、日志管理模塊等十二個(gè)模塊組成,是整個(gè)系統(tǒng)的核心;數(shù)據(jù)層由數(shù)據(jù)庫(kù)及其管理軟件組成,數(shù)據(jù)是重要的資源,為了提高數(shù)據(jù)備份的可靠性,應(yīng)采用定期備份和異地保存的方法來(lái)實(shí)現(xiàn),備份內(nèi)容為數(shù)據(jù)庫(kù)中的數(shù)據(jù),使用全量備份的方法備份數(shù)據(jù)庫(kù),可以定期全量備份,一周或一個(gè)月增量備份一次。
2.3 程序說(shuō)明
根據(jù)前邊的需求分析和系統(tǒng)總體設(shè)計(jì)內(nèi)容進(jìn)行程序設(shè)計(jì)。本系統(tǒng)是以Java 語(yǔ)言為基礎(chǔ)進(jìn)行開(kāi)發(fā)的。模塊主要是采用JSP技術(shù)+Java+ MYSQL模式進(jìn)行模塊開(kāi)發(fā)與實(shí)現(xiàn)的。全部都以面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。在程序設(shè)計(jì)時(shí),用到了下面的一些定義,解釋如下:
2.3.1 Page用來(lái)定義整個(gè)JSP頁(yè)面的一些屬性和這些屬性的值。
2.3.2 Page import該屬性的作用是為JSP頁(yè)面引入JAVA核心包中的類,目的是在JSP頁(yè)面的變量及函數(shù)聲明部分、程序片部分、表達(dá)式部分使用已經(jīng)定義的類。可以為該屬性指定多個(gè)值,該屬性的值可以是JAVA某個(gè)包中的所有類或一個(gè)具體的類。
2.3.3 include file 表示的是靜態(tài)的插入一個(gè)文件。
3 系統(tǒng)功能設(shè)計(jì)目標(biāo)
3.1 系統(tǒng)功能設(shè)計(jì)目標(biāo)
3.1.1 實(shí)用性強(qiáng):使系統(tǒng)符合實(shí)際操作流程的習(xí)慣,并盡量減少用戶的輸入,操作方便的友好用戶界面,滿足各層次的用戶使用的需求。
3.1.2 先進(jìn)的程序結(jié)構(gòu):使用當(dāng)前通用的軟件編程,能延長(zhǎng)其生命周期,易于維護(hù)與管理。
3.1.3 安全可靠性高:后臺(tái)維護(hù)功能齊全,根據(jù)平臺(tái)在各個(gè)階段不同的使用情況,管理人員可以設(shè)置相應(yīng)的操作權(quán)限,增加系統(tǒng)注冊(cè),分配各個(gè)欄目的管理權(quán)限,實(shí)現(xiàn)系統(tǒng)的維護(hù),保證系統(tǒng)的安全、可靠。
3.1.4 使用模塊化設(shè)計(jì)的方法:使系統(tǒng)具有良好的可擴(kuò)充性,以適應(yīng)其不同階段的發(fā)展需要,便于后來(lái)者分析、維護(hù)。
3.1.5 操作簡(jiǎn)單,維護(hù)方便:每個(gè)子系統(tǒng)都具有相對(duì)獨(dú)立的系統(tǒng)維護(hù)功能,對(duì)變化的項(xiàng)目可自行維護(hù)。
3.1.6 查詢功能強(qiáng)大:可以對(duì)菜品的基本情況、用戶基本情況,菜品信息,用戶留言等按各種方式查詢,可形成各種表單,同時(shí)還可對(duì)其進(jìn)行匯總,使管理人員能及時(shí)準(zhǔn)確地掌握用戶和菜品等的基本情況。
3.2 網(wǎng)絡(luò)訂餐系統(tǒng)功能模塊劃分
根據(jù)需求分析與系統(tǒng)功能設(shè)計(jì)目標(biāo),結(jié)合實(shí)際情況本訂餐系統(tǒng)功能模塊設(shè)計(jì)分為如下幾個(gè)模塊:
3.2.1 用戶登錄:用戶根據(jù)分配的用戶名、密碼登錄,登錄后可修改密碼。普通用戶可以訂餐、修改密碼、進(jìn)行信息交流、查詢指定時(shí)間段的消費(fèi)明細(xì)。
由于電臺(tái)工作的特殊性,訂餐用戶分為日勤和倒班兩種,用戶訂餐時(shí),可以通過(guò)“設(shè)置值班”按鈕來(lái)完成標(biāo)記工作,以便食堂工作人員的區(qū)分。可以通過(guò)“預(yù)訂”來(lái)完成訂餐,在截止時(shí)間前可以“取消預(yù)訂”。
3.2.2 菜單管理模塊:具有菜單管理權(quán)限的角色可以添加、修改、刪除菜品。超級(jí)管理員和管理員可以查詢、增加、修改、刪除菜單信息。在數(shù)據(jù)庫(kù)中建立了類別關(guān)鍵字,分為主食、葷菜、素材、蛋類、其他五大類。
3.2.3 定義每日菜單模塊:具有定義每日菜單權(quán)限的角色可以定義每日的菜單,供訂餐用戶使用。以管理員、廚師角色登錄,可以查詢、定義、刪除指定日期和餐別的菜單;只有管理員定義了當(dāng)日的菜單,用戶才能訂餐;定義的菜單是從菜單管理模塊中選擇的,可以通過(guò)選擇類別查詢到所要添加的菜品,菜品價(jià)格可以隨季節(jié)、采購(gòu)價(jià)格的更改而做出調(diào)整。
3.2.4 訂餐明細(xì)查詢模塊:具有訂餐明細(xì)查詢權(quán)限的角色可以查詢用戶訂餐詳情,以此為依據(jù)供餐。以管理員、廚師、庫(kù)管員角色登錄,可以查詢要求時(shí)間段內(nèi)的訂餐數(shù)據(jù):可以選擇某天早餐、中餐、晚餐的訂餐明細(xì),點(diǎn)擊“導(dǎo)出表格”按鈕可以生成Excel電子表格文件。
3.2.5 訂餐管理模塊:具有訂餐管理權(quán)限的角色可以修改、刪除、添加用戶的訂餐信息。以食堂管理員的角色登錄,可以管理訂餐信息,補(bǔ)錄訂餐數(shù)據(jù);出現(xiàn)突發(fā)事件或食堂臨時(shí)不能售飯,管理員可以刪除已定信息。
3.2.6 參數(shù)設(shè)置模塊:具有參數(shù)設(shè)置權(quán)限的角色可以對(duì)三餐訂餐截止時(shí)間、預(yù)訂餐天數(shù)進(jìn)行實(shí)時(shí)修改。以超級(jí)管理員、管理員角色登錄,可以設(shè)置訂餐截止時(shí)間,以便食堂工作人員掌握訂餐數(shù)量;可以設(shè)置最大預(yù)定餐天數(shù),管理員可提前定制出訂餐菜單供用戶訂餐使用;可以定義顯示記錄條數(shù)。
3.2.7 用戶管理模塊:具有用戶管理權(quán)限的角色可以添加、修改、刪除用戶,可以重置密碼,還可以分配用戶的權(quán)限角色。以超級(jí)管理員的身份登錄,可以添加、修改、刪除用戶,用戶密碼丟失可以通過(guò)超級(jí)管理員來(lái)重置初始密碼,還可以分配用戶的權(quán)限角色。
3.2.8 報(bào)表模塊:具有報(bào)表管理權(quán)限的角色可以自行指定時(shí)間段查詢收益明細(xì)。以超級(jí)管理員、庫(kù)管員角色登錄,可以自行指定時(shí)間段查詢此時(shí)間段內(nèi)收益明細(xì)。
3.2.9 采購(gòu)管理模塊:具有采購(gòu)管理權(quán)限的角色可以查詢采購(gòu)信息,錄入采購(gòu)數(shù)據(jù),修改、刪除采購(gòu)數(shù)據(jù)。以庫(kù)管員角色登錄,可以查詢采購(gòu)信息,錄入采購(gòu)數(shù)據(jù),修改、刪除采購(gòu)數(shù)據(jù),由此掌握一段時(shí)間內(nèi)食堂的支出狀況。
3.2.10 交流管理模塊:具有交流管理權(quán)限的角色可以管理用戶發(fā)布的交流信息,功能類似論壇。以超級(jí)管理員、管理員角色登錄,可以管理用戶的留言,包括查詢、修改、刪除交流信息,可以發(fā)布信息,把信息置頂?shù)取?/p>
3.2.11 用戶權(quán)限設(shè)置:系統(tǒng)定義了六種不同角色來(lái)完成不同的功能
(1)超級(jí)管理員:可對(duì)用戶管理模塊、菜單管理模塊、交流模塊、參數(shù)設(shè)置模塊、數(shù)據(jù)庫(kù)維護(hù)等進(jìn)行管理。(2)管理員:可對(duì)菜單管理模塊、訂餐信息查詢模塊、定義每日菜單模塊、交流管理模塊、參數(shù)設(shè)置模塊、訂餐管理模塊等進(jìn)行管理。(3)倉(cāng)庫(kù)管理員:可對(duì)訂餐信息查詢模塊、食堂報(bào)表模塊、采購(gòu)管理模塊進(jìn)行管理。(4)廚師:可對(duì)菜單管理模塊、訂餐明細(xì)查詢模塊、定義每日菜單模塊、信息交流模塊等進(jìn)行管理。(5)財(cái)務(wù)人員:可以對(duì)所有用戶消費(fèi)進(jìn)行統(tǒng)計(jì)及明細(xì)的查詢。(6)普通用戶:可以訂餐、修改密碼、消費(fèi)明細(xì)查詢、信息交流。
4 軟件的安裝
4.1 軟件的安裝與配置
4.1.2 安裝Tomcat6.0 安裝時(shí)注意在選擇Java虛擬機(jī)路徑是一定要選擇安裝的JSDK的目錄,然后再開(kāi)始安裝。
4.1.3 安裝完畢后,啟動(dòng)TOMCAT,然后再瀏覽器中輸入http://localhost:8080時(shí)可以看見(jiàn)TOMCAT的歡迎頁(yè)面,這時(shí)表示配置成功了。
參考文獻(xiàn)
[1]黃斐.JAVA程序設(shè)計(jì)與應(yīng)用技術(shù)教程[M].北京:科學(xué)出版社,2003(9).
[2]范立南,劉天惠.SQL Server2000實(shí)用教程[M].北京:清華大學(xué)出版社,2004(8).