陳禹航
摘要:網(wǎng)上訂餐系統(tǒng)是實(shí)現(xiàn)信息化食堂管理的一個(gè)重要環(huán)節(jié)。該文設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)B/S結(jié)構(gòu)的網(wǎng)上訂餐系統(tǒng),著重討論訂餐系統(tǒng)的功能與實(shí)現(xiàn)、數(shù)據(jù)流程及存儲(chǔ)。該系統(tǒng)的主要功能包括職工管理、菜單管理、網(wǎng)上訂餐、訂單管理及財(cái)務(wù)結(jié)算。該網(wǎng)上訂餐系統(tǒng)基于微軟的.NET FRAMEWORK 4.0開(kāi)發(fā),采用IIS6.0+SQL SERVER 2005的Windows Server 2003服務(wù)器平臺(tái),前臺(tái)使用HTML語(yǔ)言與JAVASCRIPT語(yǔ)言,后臺(tái)使用ASP.NET與C# 4.0。
關(guān)鍵詞:網(wǎng)上訂餐系統(tǒng);SQL SERVER 2005;ASP.NET;C#
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)21-5136-05
以前,單位職工訂餐采用現(xiàn)場(chǎng)、電話等方式。這些方式都存在一定的缺陷,運(yùn)營(yíng)模式比較落后。職工普遍反映菜品單調(diào)、選擇面少及不合口味等。
隨著單位信息化建設(shè)的推進(jìn),基于Web的網(wǎng)上訂餐系統(tǒng)應(yīng)運(yùn)而生。它的出現(xiàn),完全顛覆了現(xiàn)行的訂餐方式,使訂餐擺脫了空間上和時(shí)間上的約束,無(wú)論誰(shuí),只要能上內(nèi)網(wǎng),都可以坐在電腦前面,方便地進(jìn)行網(wǎng)上訂餐。相比傳統(tǒng)的訂餐方式,網(wǎng)上訂餐系統(tǒng)的主要優(yōu)點(diǎn)如下:
便捷性。網(wǎng)上訂餐系統(tǒng)使用十分方便,只要能夠上內(nèi)網(wǎng),職工就都能夠輕松訂餐。在以前的訂餐方式中,職工要么是到食堂去,要么打電話給食堂管理員。而使用了網(wǎng)上訂餐系統(tǒng)后,這些問(wèn)題都不存在了。
可擴(kuò)展性。如今,網(wǎng)絡(luò)技術(shù)突發(fā)猛進(jìn),發(fā)展迅速。網(wǎng)上訂餐系統(tǒng)可以集成到單位的活動(dòng)目錄中,實(shí)現(xiàn)與單位的其他信息系統(tǒng)的融合。所以,可以肯定的說(shuō),網(wǎng)上訂餐的前景是十分廣闊的,可擴(kuò)展性非常好。
因此,開(kāi)發(fā)一個(gè)網(wǎng)上訂餐系統(tǒng)是非常必要的。通過(guò)后臺(tái)的菜單生成,方便管理員即時(shí)發(fā)布新的菜單信息;通過(guò)購(gòu)物車(chē)、流程模式實(shí)現(xiàn)職工的訂餐功能;通過(guò)訂單的管理,實(shí)現(xiàn)職工和食堂管理員以不同的視圖進(jìn)行訂單管理;通過(guò)后臺(tái)的財(cái)務(wù)報(bào)表,方便食堂管理人員及時(shí)準(zhǔn)確掌握食堂的整個(gè)經(jīng)濟(jì)狀況。
1 系統(tǒng)整體分析
一個(gè)網(wǎng)上訂餐系統(tǒng),必須有一個(gè)正確的設(shè)計(jì)指導(dǎo)思想,通過(guò)合理選擇數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)及開(kāi)發(fā)環(huán)境,構(gòu)成一個(gè)完善的網(wǎng)絡(luò)體系結(jié)構(gòu),才能充分發(fā)揮網(wǎng)上訂餐系統(tǒng)的優(yōu)勢(shì)。本系統(tǒng)的設(shè)計(jì)原則為以下幾點(diǎn):
實(shí)用性。本系統(tǒng)以單位的實(shí)際情況為出發(fā)點(diǎn),以方便職工為原則,同時(shí)融入先進(jìn)的管理經(jīng)驗(yàn),量身定做了一套先進(jìn)的網(wǎng)上訂餐系統(tǒng),充分滿足單位的需求。
先進(jìn)性。本系統(tǒng)充分應(yīng)用現(xiàn)有成熟的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、軟件開(kāi)發(fā)技術(shù),為職工提供高性能系統(tǒng)。系統(tǒng)運(yùn)用先進(jìn)的B/S結(jié)構(gòu),采用SQL SERVER 2005數(shù)據(jù)庫(kù),方便系統(tǒng)管理員管理。
可靠性。本系統(tǒng)通過(guò)合理與先進(jìn)的網(wǎng)絡(luò)設(shè)計(jì)以及軟、硬件的優(yōu)化選型,可保證網(wǎng)站的可靠性與容錯(cuò)性。
本文首先進(jìn)行需求分析,進(jìn)而分析系統(tǒng)的數(shù)據(jù)要求。
1.1 系統(tǒng)需求分析
根據(jù)單位食堂的運(yùn)作情況,本系統(tǒng)主要完成的功能如下:
1) 職工界面部分
查看菜單:包括午餐例餐、晚餐例餐及小炒等的菜單;
職工登錄:提高職工登錄接口;
修改個(gè)人密碼:可以自行修改個(gè)人密碼;
訂單管理:查看歷史已生效訂單,查看、修改及取消未生效訂單;
網(wǎng)上訂餐:包括午餐例餐、晚餐例餐及小炒等的訂餐;
2) 管理界面部分
職工管理:查看、增加、修改和刪除職工;
職工角色管理:查看、增加、修改和刪除職工角色,職工角色包括普通職工、系統(tǒng)管理員及食堂管理人員等;
小炒菜單管理:查看、增加、修改和刪除小炒菜單;
例餐菜單管理:按照星期和餐別查看、增加、修改和刪除例餐菜單;
小炒訂單管理:按照星期和餐別查看所有職工訂單,并以訂單為單位查看當(dāng)天的已生效訂單的菜品統(tǒng)計(jì)以方便食堂管理人員按需購(gòu)買(mǎi)食材;
例餐訂單管理:按照星期和餐別查看當(dāng)天的已生效訂單的菜品統(tǒng)計(jì)以方便食堂管理人員按需購(gòu)買(mǎi)食材;按照星期和餐別查看所有職工當(dāng)天當(dāng)餐訂單詳情以方便食堂管理人員給職工分配菜品;
財(cái)務(wù)報(bào)表管理:方便食堂管理人員按月統(tǒng)計(jì)所有職工的消費(fèi)統(tǒng)計(jì)和消費(fèi)詳情。
1.2 數(shù)據(jù)庫(kù)需求分析
通過(guò)前面對(duì)系統(tǒng)功能模塊的分析,總結(jié)出訂餐網(wǎng)的數(shù)據(jù)庫(kù)需要以下信息需求:
1) 職工分為普通職工、系統(tǒng)管理員和食堂管理人員;
2) 職工不需要登錄即可瀏覽菜單信息;
3) 職工登錄后可以維護(hù)個(gè)人信息,實(shí)現(xiàn)網(wǎng)上訂餐和訂單管理;
4) 小炒菜單按照菜類(lèi)劃分,每種菜品都有自己的菜類(lèi);
5) 例餐菜單按照星期和餐別劃分;
6) 菜類(lèi)包括葷菜、素菜、湯和主食;
7) 訂單包括訂單條目和總訂單;
8) 一個(gè)職工可以預(yù)定多份菜品;
9) 一個(gè)職工對(duì)應(yīng)多張訂單;
10) 一張訂單表對(duì)應(yīng)多張訂單條目
綜合上面對(duì)訂餐網(wǎng)數(shù)據(jù)庫(kù)的需求分析,考慮到未來(lái)功能上的擴(kuò)展,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):
1) 職工信息包括的數(shù)據(jù)項(xiàng):賬號(hào)、密碼、姓名和角色編號(hào);
2) 職工角色信息包括的數(shù)據(jù)項(xiàng):角色編號(hào)和角色名稱;
3) 小炒菜單信息包括的數(shù)據(jù)項(xiàng):菜品編號(hào)、菜品名稱、價(jià)格和菜類(lèi)編號(hào);
4) 菜分類(lèi)信息包括的數(shù)據(jù)項(xiàng):菜類(lèi)編號(hào)和菜類(lèi)名稱;
5) 例餐菜單信息包括的數(shù)據(jù)項(xiàng):菜單編號(hào)、菜單日期和午餐標(biāo)識(shí);
6) 例餐菜單項(xiàng)信息包括的數(shù)據(jù)項(xiàng):菜品編號(hào)、菜單編號(hào)、菜品名稱、單價(jià)和菜類(lèi)編號(hào);
7) 訂單表信息包括的數(shù)據(jù)項(xiàng):訂單編號(hào)、職工編號(hào)、訂餐狀態(tài)、就餐日期、午餐標(biāo)識(shí)、就餐地址、訂餐日期、金額總價(jià)和小炒標(biāo)識(shí);
8) 訂單條目信息包括的數(shù)據(jù)項(xiàng):訂單條目編號(hào)、訂餐編號(hào)、菜品名稱、數(shù)量和單價(jià)。
1.3 系統(tǒng)流程分析
職工進(jìn)入網(wǎng)站首頁(yè),瀏覽例餐和小炒菜單信息,當(dāng)?shù)卿洺晒缶哂行薷膫€(gè)人密碼、個(gè)人訂單管理及網(wǎng)上訂餐。系統(tǒng)管理員還可管理職工和職工角色,食堂管理人員還可管理菜單、小炒訂單、例餐訂單和財(cái)務(wù)報(bào)表。系統(tǒng)流程圖如圖1所示。
2 系統(tǒng)設(shè)計(jì)
2.1 ASP.NET數(shù)據(jù)庫(kù)操作類(lèi)
一般地,ASP.NET數(shù)據(jù)庫(kù)操作可以直接使用ADO.NET類(lèi),即每個(gè)頁(yè)面都需寫(xiě)連接數(shù)據(jù)庫(kù)、存取數(shù)據(jù)庫(kù)及關(guān)閉數(shù)據(jù)庫(kù)的代碼。該方式存在兩個(gè)弊端:一是若你的數(shù)據(jù)庫(kù)改變了,你必須一個(gè)頁(yè)面一個(gè)頁(yè)面地更改數(shù)據(jù)庫(kù)操作代碼;二是代碼冗余,很多代碼都是重復(fù)的。
本系統(tǒng)設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù)操作類(lèi)SqlServer,該類(lèi)對(duì)數(shù)據(jù)庫(kù)連接、查詢、插入、修改、刪除及關(guān)閉進(jìn)行重寫(xiě)。在ASP.NET頁(yè)面中只需調(diào)用該SqlServer類(lèi),即可直接使用該SqlServer類(lèi)。
2.2 前臺(tái)主要功能設(shè)計(jì)
前臺(tái)基本功能包括職工登錄、密碼修改、菜單查看、網(wǎng)上訂餐及訂單管理等模塊,這些功能基本滿足了單位的需求。以下主要介紹網(wǎng)上訂餐和訂單管理的設(shè)計(jì)實(shí)現(xiàn)。
2.2.1 小炒訂餐
小炒訂餐模塊設(shè)計(jì)如下:職工先通過(guò)小炒菜單表添加菜品到購(gòu)物車(chē),再在購(gòu)物車(chē)模塊,選擇就餐日期和餐別以完成訂餐。小炒訂餐模塊的最終界面如圖2和圖3所示。
購(gòu)物車(chē)的實(shí)現(xiàn)主要是利用ASP.NET的SESSION對(duì)象,把所訂購(gòu)的菜品信息存入Session["Car"]數(shù)組中,通過(guò)讀取Session["Car"]數(shù)組的數(shù)據(jù)獲取職工的訂購(gòu)菜品信息。購(gòu)物車(chē)的主要源代碼如下:
1) 判斷購(gòu)物車(chē)是否為空
4 結(jié)束語(yǔ)
本文介紹了網(wǎng)上訂餐系統(tǒng)開(kāi)發(fā)的必要性,詳細(xì)敘述了系統(tǒng)需求分析、數(shù)據(jù)庫(kù)需求分析和系統(tǒng)流程分析,介紹了系統(tǒng)的前臺(tái)主要功能設(shè)計(jì)和后臺(tái)主要功能設(shè)計(jì),重點(diǎn)探討了購(gòu)物車(chē)的實(shí)現(xiàn)過(guò)程,對(duì)設(shè)計(jì)開(kāi)發(fā)網(wǎng)上訂餐系統(tǒng),實(shí)現(xiàn)食堂信息化管理具有重要的意義。
參考文獻(xiàn):
[1] 馬偉.ASP.NET 4權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2010.
[2] 劉勇,劉造新.SQL Server 2005數(shù)據(jù)庫(kù)管理[M].北京:清華大學(xué)出版社,2012.