教職工食堂訂餐系統(tǒng)的需求和總體設(shè)計前臺子系統(tǒng)_第1頁
教職工食堂訂餐系統(tǒng)的需求和總體設(shè)計前臺子系統(tǒng)_第2頁
教職工食堂訂餐系統(tǒng)的需求和總體設(shè)計前臺子系統(tǒng)_第3頁
教職工食堂訂餐系統(tǒng)的需求和總體設(shè)計前臺子系統(tǒng)_第4頁
教職工食堂訂餐系統(tǒng)的需求和總體設(shè)計前臺子系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、教職工食堂訂餐系統(tǒng)需求和總體設(shè)計前臺子系統(tǒng)目錄1系統(tǒng)需求分析21.1系統(tǒng)總體業(yè)務(wù)流程21.2系統(tǒng)功能需求31.3系統(tǒng)其它需求52前臺子系統(tǒng)的總體設(shè)計62.1MVC設(shè)計方法介紹62.2系統(tǒng)整體架構(gòu)82.3前臺子系統(tǒng)功能模塊設(shè)計92.4前臺子系統(tǒng)總體頁面設(shè)計92.5數(shù)據(jù)庫設(shè)計10數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計10數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計112.6開發(fā)運(yùn)行平臺選擇與分析141 系統(tǒng)需求分析1.1 系統(tǒng)總體業(yè)務(wù)流程 圖1 教職工訂餐系統(tǒng)客戶端流程圖從圖1來看,前臺子系統(tǒng)主要分為五大模塊:查詢今日菜單模塊、留言板模塊、購物車模塊、注冊登錄模塊、用戶中心模塊。圖2 教職工訂餐系統(tǒng)管理端流程圖從圖2來看,后臺子系統(tǒng)主要分為七

2、個模塊:審查注冊員工資格、菜單管理、今日菜單管理、推薦菜管理、信用度管理、訂單打印和賬單打印。1.2 系統(tǒng)功能需求這里只對訂餐系統(tǒng)的前臺子系統(tǒng)五個模塊即查詢今日菜單模塊、留言板模塊、購物車模塊、注冊登錄模塊、用戶中心模塊和后臺子系統(tǒng)部分的審查注冊員工資格模塊進(jìn)行分析,其具體如下:1.2.1 查詢今日菜單1) 任何用戶登錄網(wǎng)站即可以直接查詢今日菜單,但是登錄之后才能購買各種食物。2) 飲料訂購快速窗口,直接查看飲料信息.3) 炒菜訂購快速窗口,直接查看炒菜信息表1: 查詢今日菜單模塊功能表序號功能列表功能明細(xì)1查詢今日菜單查看今日菜單全部,點(diǎn)擊單個食物可以查看詳細(xì)信息2飲料速訂查看今日菜單后,可

3、以只查看飲料信息3炒菜速訂查看今日菜單后,可以只查看炒菜信息1.2.2 留言板1) 任何人登錄網(wǎng)站都能查看,回復(fù)全部留言和簽寫新留言。2) 管理員登陸時可以刪除留言。表2 留言板模塊功能表序號功能列表功能明細(xì)1查閱留言可以查看所有留言內(nèi)容,留言者,留言時間,點(diǎn)擊GO按鈕可以查看指定頁的留言2回復(fù)留言點(diǎn)擊回復(fù),填寫回復(fù)內(nèi)容即可回復(fù)該條留言3簽寫新留言輸入昵稱,郵箱,留言內(nèi)容,點(diǎn)擊提交即可留言4刪除留言當(dāng)管理員登陸時點(diǎn)擊刪除留言才能操作成功1.2.3 購物車模塊1) 將選中的食物放入購物車。2) 瀏覽購物車。3) 取消購物車中的某一件食物。4) 繼續(xù)購買。5) 清空購物車。6) 訂餐。 表3 購物

4、車模塊功能表序號功能列表功能明細(xì)1將事物放入購物車在瀏覽今日菜單,飲料,炒菜或者查看單件事物的詳細(xì)信息時,單擊購買標(biāo)識,就可以把事物加到購物車中2瀏覽購物車顯示購買的食物名稱,購買的食物數(shù)量,食物單位價格,每種食物的總價,所有食物總價3取消購物車中的食物從購物車中取消某一種食物,單該事物數(shù)量大于一時,則減少該食物數(shù)量14繼續(xù)購買繼續(xù)往購物車?yán)锾砑邮澄?清空購物車把購物車中的商品全部拿出6訂餐正確的填寫送餐時間和送餐地址后點(diǎn)提交訂單即可訂餐,晚上7點(diǎn)后不允許訂餐,當(dāng)天只能訂當(dāng)天的餐1.2.4 注冊登錄1) 新用戶注冊,填寫正確的注冊信息,等待管理員審查。2) 通過審查的用戶登錄。表4 注冊登錄模

5、塊功能表序號功能列表功能明細(xì)1用戶注冊用戶填寫正確的信息申請注冊,待賬號通過管理員的審核以后才能使用該注冊賬號進(jìn)行登錄2用戶登錄用戶輸入用戶名和密碼進(jìn)行驗(yàn)證1.2.5 用戶中心1) 用戶信息修改。2) 用戶密碼修改。3) 訂單管理。4) 用戶注銷。表5 用戶中心模塊功能表序號功能列表功能明細(xì)1用戶信息修改編輯并保存用戶的注冊信息2用戶密碼修改修改登錄密碼3訂單管理查看當(dāng)前擁有訂單信息和狀態(tài),在送餐之前可以取消不想要的訂單,距離訂餐時間30分鐘內(nèi)取消訂單則會扣除該用戶信用度一分4用戶注銷用戶注銷1.2.6 管理員審查注冊員工資格1) 查看待審查注冊員工信息。2) 通過該員工注冊。3) 放棄該注冊

6、員工。表6 管理員審查模塊功能表序號功能列表功能明細(xì)1查看待審查注冊員工信息查看待審查注冊員工詳細(xì)信息2通過注冊員工通過電話或者郵件的方式確認(rèn)注冊員工的信息是否屬實(shí),信息正確則通過注冊,該系統(tǒng)不對外開放3放棄注冊員工放棄該注冊人員1.3 系統(tǒng)其它需求1.3.1系統(tǒng)擴(kuò)展性要求 系統(tǒng)的運(yùn)行將為以后的學(xué)生食堂在網(wǎng)上運(yùn)行提供寶貴的經(jīng)驗(yàn),所以,對于系統(tǒng)功能的擴(kuò)充要求比較高,系統(tǒng)后期的升級才能順利方便,這就要求在建立系統(tǒng)的構(gòu)架和設(shè)計系統(tǒng)時,一定要注意系統(tǒng)的可擴(kuò)展性,而且現(xiàn)在很多項(xiàng)目開發(fā)是分期進(jìn)行的。暫時準(zhǔn)備的擴(kuò)展有一些比較高級的功能,比如系統(tǒng)向用戶提供收藏夾模塊功能,用戶可以把喜歡吃的食物收藏起來,下次購

7、買時可以直接生成訂單,還有網(wǎng)上充值和結(jié)賬模塊,使訂餐的全程除了送餐外,全部實(shí)現(xiàn)在網(wǎng)上,達(dá)到真正的網(wǎng)絡(luò)化。1.3.2時間特性要求1) 在用戶執(zhí)行添加刪除食物,取消訂單等操作的時候,在運(yùn)行環(huán)境規(guī)定的條件下,單次操作的響應(yīng)時間要求在3秒鐘之內(nèi)。2) 系統(tǒng)同時上線人數(shù)不超過數(shù)據(jù)庫承受能力時,相應(yīng)速度不應(yīng)超過3秒。1.3.3 錯誤處理要求1) 在用戶輸入一些不合理的數(shù)據(jù)的時候,能夠進(jìn)行合理的提示信息,并且正確處理跳轉(zhuǎn)邏輯,不能因?yàn)檩斎脲e誤而導(dǎo)致系統(tǒng)的錯誤,或者程序停止運(yùn)行。2) 程序運(yùn)行時,對服務(wù)器和網(wǎng)絡(luò)通信故障能夠識別并提示,當(dāng)故障排除后,程序恢復(fù)正常運(yùn)行。3) 數(shù)據(jù)庫要求有備份機(jī)制,以防止數(shù)據(jù)在意外

8、情況下丟失。1.3.4 安全需求 數(shù)據(jù)庫安全:數(shù)據(jù)庫級備份和恢復(fù)。數(shù)據(jù)庫級用戶進(jìn)行角色和權(quán)限授權(quán)。使得在異常情況發(fā)生時,系統(tǒng)可以得以快速恢復(fù),避免數(shù)據(jù)的丟失或?qū)⑵溆绊懡档阶畹拖薅?。同樣,要保證存儲過程中數(shù)據(jù)不被非法訪問和篡改。應(yīng)用系統(tǒng)的安全:通過對用戶的身份鑒別,并實(shí)施相應(yīng)的訪問控制策略后,系統(tǒng)之分普通教職工用戶和管理員,特殊操作如更改或刪除數(shù)據(jù)庫的操作必須受到嚴(yán)格的權(quán)限限制,以保證系統(tǒng)的正常運(yùn)行。2 前臺子系統(tǒng)的總體設(shè)計2.1 MVC設(shè)計方法介紹 圖3 MVC組件類型的關(guān)系和功能8MVC英文即Model-View-Controller,即把一個應(yīng)用的輸入、處理、輸出流程按照Model、Vie

9、w、Controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成三個層模型層、視圖層、控制層。 視圖(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)

10、則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計模型的框架。它僅僅告訴你按這種模型設(shè)計就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對一個開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計。MVC設(shè)計模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計方法,而只告訴你應(yīng)

11、該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對編程的開發(fā)人員非常重要。業(yè)務(wù)模型還有一個很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對象的數(shù)據(jù) 保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。我們可以將這個模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。 控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶

12、請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個連接,控制層接受請求后, 并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應(yīng)多個視圖,一個視圖可能對應(yīng)多個模型。 圖4 MVC的分工與協(xié)作模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖3所示。2.2 系統(tǒng)

13、整體架構(gòu)通過對系統(tǒng)的需求分析,確定了整個系統(tǒng)為一個WEB系統(tǒng),采用的是MVC模式進(jìn)行網(wǎng)站的開發(fā),在這個系統(tǒng)中使用的Web Server是Tomcat 6.0,DBMS(數(shù)據(jù)庫管理軟件)是SQL Server 2000,并且使用Microsoft提供的JDBC驅(qū)動程序?;贛VC模式的WEB項(xiàng)目的優(yōu)點(diǎn)在上一節(jié)中已經(jīng)介紹過了,在知道了Jsp、Servlet、Javabean分別在MVC模式中的角色和功能后,這里對網(wǎng)站的整體構(gòu)架做一個詳細(xì)描述,工作流程為:a) Web客戶機(jī)向Web服務(wù)器發(fā)出請求;b) Web服務(wù)器把這一請求轉(zhuǎn)送給控制器Servlet;c) Servlet對JavaBean進(jìn)行必要的

14、操作;d) 控制器把處理結(jié)果轉(zhuǎn)發(fā)給JSP視圖;e) JSP視圖對模型進(jìn)行格式化以備顯示,并把HTML結(jié)果回送給Web服務(wù)器;f) Web服務(wù)器再把信息回送給Web客戶機(jī)。 圖5:系統(tǒng)構(gòu)架圖2.3 前臺子系統(tǒng)功能模塊設(shè)計前臺子系統(tǒng)的功能模塊圖如下: 圖6: 前臺子系統(tǒng)功能模塊圖1) 登錄注冊:教職工用戶注冊為系統(tǒng)用戶,登錄使用該系統(tǒng);2) 查詢今日菜單:任何用戶都可以查詢今日菜單,點(diǎn)擊按鈕則顯示今日菜單;3) 購物車:用來臨時保存登錄用戶所購買的物品,用戶可以對購物車內(nèi)的物品進(jìn)行添加刪除清空等操作,確認(rèn)購買后,可以提交訂單;4) 用戶中心:用戶登錄后可以修改自己的注冊信息,密碼,查看自己的訂單狀

15、態(tài)和信息,并且可以退出系統(tǒng);5) 留言板:任何用戶均可查看留言,并且允許簽寫新留言和回復(fù)留言,用于普通用戶和其他用戶交流、與管理員的交互和管理員用戶進(jìn)行答疑等,管理員用戶可以刪除任何留言。2.4 前臺子系統(tǒng)總體頁面設(shè)計1). 頁面框架開發(fā)一個網(wǎng)站,好的界面風(fēng)格和頁面框架是非常重要的,特別是對電子商務(wù)網(wǎng)站如本食堂訂餐系統(tǒng)更需要有好的”門面” 。本系統(tǒng)采用的是比較傳統(tǒng)的框架,如圖7所示。 圖7 頁面框架可以看到,頁面包含三個部分,最上面是菜單部分,下面的左邊部分是一個固定頁面,右邊部分包好了根據(jù)不同的頁面顯示的內(nèi)容,所有頁面都直接套用該框架。2). 頁面風(fēng)格對于本系統(tǒng)來說,網(wǎng)站的美觀是用戶訂餐的一

16、種胃口的保證,是吸引顧客的重要因素之一,所以一般需要在頁面里面制作專業(yè)的圖片和動畫,本系統(tǒng)中的頭部和左邊都有一個精美而且實(shí)用的FLASH動畫,分別為top.swf和menu.swf,增加了頁面的美感。同時在頁面的整體風(fēng)格上,定義了兩個統(tǒng)一的式樣單style.css和web.css。2.5 數(shù)據(jù)庫設(shè)計2.5.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計前臺子系統(tǒng)以及管理員審查模塊的ER圖如下:圖8 前臺子系統(tǒng)部分模塊E-R圖教職工實(shí)體的主要屬性:教職工號,用戶名,密碼,性別,聯(lián)系電話,辦公室地址,單位,信用度。待審查教職工名單實(shí)體的主要屬性:教職工號,用戶名,密碼,性別,聯(lián)系電話,辦公室地址,單位。管理員實(shí)體的屬性:

17、編號,用戶名,密碼,真實(shí)姓名,電話。菜譜實(shí)體的屬性:食物編號,食物名,類型,描述,圖片,價格,是否為今日菜。購物車實(shí)體的屬性: 食物名,食物數(shù)量,總價格,訂餐人,送餐時間,送餐地址。訂單實(shí)體的屬性: 訂單號,食物名,單個食物價格,食物數(shù)量,訂餐用戶,送餐時間,送餐地址。留言的屬性:留言編號,IP,留言者郵箱,留言時間,留言內(nèi)容,回復(fù)內(nèi)容,回復(fù)時間,昵稱。2.5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計以下僅對重要的表進(jìn)行列舉和分析。表7:教職工信息表 userInfo字段名稱中文描述數(shù)據(jù)類型非空缺省值備注userId用戶編號int (4)YPKuserName用戶名varchar (20)YuserSex性別c

18、har (8)YuserPwd密碼varchar (16)YuserTel電話char (11)YuserAd地址Varchar(50)YuserDepartment工作部門Varchar(50)Y為送餐地址的默認(rèn)值Feedback信用度int (4)Y4信用度小于1時注銷賬戶說明:用戶使用userName和userPwd進(jìn)行登錄, userTel將作為管理員與用戶取得聯(lián)系的重要方式,其他信息用于管理員進(jìn)行身份審核時對照只用,信用度每個人初始為4,以后根據(jù)規(guī)則,信用度將會調(diào)整,當(dāng)信用度小于1時,該用戶將被取消訂餐功能。 userDepartment 將為以后的送餐地址提供默認(rèn)值。表8:菜單表

19、Menu字段名稱中文描述數(shù)據(jù)類型非空缺省值備注menuId食物編號Int(4)YPKmenuName名稱varchar (20)YmenuType類型varchar (20)menuDescribe描述varchar (50)YmenuPicture圖片varchar (50)YmenuPrice價格varchar (50)Yistoday是否今日菜Int(4)Y00為非今日菜,1為今日菜說明: menuId作為一個菜的唯一標(biāo)識, menuType只能是葷菜,素菜,涼菜,飲料,米飯,便于在今日菜單中進(jìn)行菜品分類, menuPicture保存的是圖片的路徑, istoday作為一個標(biāo)識,當(dāng)管理員

20、添加一個菜的時候,默認(rèn)是沒有在今日菜單上的,當(dāng)管理員發(fā)布了之后,該屬性值就為1。 表9:留言信息表 Messages字段名稱中文描述數(shù)據(jù)類型非空缺省值備注id留言編號int (4)YPKipIP地址varchar (50)Yemail郵箱varchar (50)time留言時間varchar (50)Ycontent留言內(nèi)容varchar (50)Yrestores回復(fù)內(nèi)容varchar (50)restore_time回復(fù)時間varchar (50)xm姓名varchar (50)說明: id為留言的唯一標(biāo)識,ip記錄了留言者的IP地址,time自動保存提交留言的時間, content為留言

21、內(nèi)容,而restores作為一個留言的屬性,表示一條留言只能有一條回復(fù),如果多次回復(fù),回復(fù)內(nèi)容將會覆蓋,之保存最后一天回復(fù)內(nèi)容,回復(fù)時間restore_time也是只保留最后一條回復(fù)的時間。表10:訂單信息表 Orders字段名稱中文描述數(shù)據(jù)類型非空缺省值備注Id菜品標(biāo)識int (4)YPKorderId 個人訂單編號int (4)YgoodName 食物名varchar (50)YgoodPrice食物價格varchar (50)YgoodNum 食物數(shù)量int (4)Yusername訂餐者varchar (50)YRoomAddress 送餐地址varchar (50)YorderTime 送餐時間varchar (50)Y說明: 該表的設(shè)計為一個重點(diǎn)。Id作為主鍵,標(biāo)識訂單上的某一個食物,以便控制以后擴(kuò)展功能時對單個食物的控制。orderId作為一個用戶特有的訂單號,從1開始,即每個用戶都可以有從1開始的訂單號, userName表示訂餐人,所以一個訂單由orderId和userName共同決定。在一個表中, userName相同并且orderId相同的菜屬于同一張訂單,一個人可以有多張訂單。如圖: 圖9 orders表圖用戶liyanhui有

溫馨提示

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

評論

0/150

提交評論