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