交大外賣訂餐系統(tǒng)_第1頁
交大外賣訂餐系統(tǒng)_第2頁
交大外賣訂餐系統(tǒng)_第3頁
交大外賣訂餐系統(tǒng)_第4頁
交大外賣訂餐系統(tǒng)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計II設計報告題 目:基于Android交大外賣訂餐系統(tǒng)指導老師評語: 評定成績: 簽名: 日期:小組成員:目 錄一、概述11.1課程設計的目的11.2設計任務與要求1二、需求分析報告21 引言21.1 編寫目的21.2 產品范圍22 綜合描述22.1 產品的狀況22.2 產品的功能22.3 用戶類和特性32.4 開發(fā)環(huán)境32.5 目標平臺33 外部接口需求43.1 用戶界面43.2 硬件接口43.3 軟件接口44 系統(tǒng)功能需求45 其它非功能需求55.1 性能需求55.2 安全措施需求55.3 安全性需求65.4 軟件質量屬性65.5 業(yè)務規(guī)則66 分析模型66.1 數據流圖66.2

2、用例圖96.3系統(tǒng)時序圖和協(xié)作圖126.4系統(tǒng)活動圖16三、設計報告191 設計概述191.1限制與約束191.2設計原則和設計要求192系統(tǒng)的概要設計與分析192.1系統(tǒng)功能設計192.2子系統(tǒng)與模塊202.3系統(tǒng)出錯處理設計232.4 系統(tǒng)接口設計232數據庫設計242.1數據庫邏輯設計242.2基表設計283系統(tǒng)詳細設計與實現303.1 web端系統(tǒng)功能的開發(fā)303.2 Android客戶端功能的開發(fā)37四、軟件測試報告431 引言432 檢查具體內容432.1 軟件代碼測試432.2 軟件系統(tǒng)測試453 測試總結報告46五、用戶操作手冊471 引言472 軟件概述472.2 功能472

3、.3 性能483 運行環(huán)境483.1 硬件483.2 支持軟件484 使用說明494.1 安裝和初始化494.2 出錯和恢復495 運行說明495.1 web管理端495.2Android客戶端51六、項目開發(fā)總結報告56一、概述1.1課程設計的目的1. 通過本次課程設計,熟練掌握一種開發(fā)語言Java和開發(fā)環(huán)境Eclipse。并掌握android手機客戶端開發(fā)過程。開發(fā)語言的熟練需要通過編寫一定長度的代碼(10002000行代碼)才能達到,開發(fā)環(huán)境的熟練需要反復的程序調試訓練。2. 加深對軟件工程的理解,訓練編寫程序的良好習慣。包括:認真編寫需求分析文檔、做好系統(tǒng)功能設計、學會自己進行程序的算

4、法、數據結構設計、3. 培養(yǎng)良好的程序設計風格(模塊劃分、接口設計、函數和變量命名規(guī)則)和習慣(程序備份、版本更新與控制),提高軟件測試、調試的能力與技巧。4. 通過本次課程設計,應該達到具有獨立完成小型應用設計的能力,具備編寫較為規(guī)范的軟件設計文檔的能力。1.2設計任務與要求基于android的交大外賣訂餐系統(tǒng)的設計與實現1. 學習android開發(fā);2. 完成軟件android客戶端和web端的開發(fā)和文檔的編寫。二、需求分析報告1 引言1.1 編寫目的本需求分析報告的目的是規(guī)范化交大外賣訂餐系統(tǒng)軟件的編寫,旨在于提高軟件開發(fā)過程中的能見度,便于對軟件開發(fā)過程中的控制和管理,同時提出了交大外

5、賣訂餐系統(tǒng)軟件的軟件開發(fā)過程,并作為工作成果的原始數據,同時也表明了軟件的共性,以期待能過獲得更大范圍的應用。開發(fā)交大外賣訂餐系統(tǒng)手機客戶端旨在于彌補交大外賣手機客戶端的空缺,使同學用android智能手機就可以方便的預定外賣,真正做到互聯(lián)網的全方位覆蓋。1.2 產品范圍交大外賣訂餐系統(tǒng)適用于具有android智能手機的用戶,在使用本軟件后,外賣訂餐覆蓋面更廣,不會再因為身邊沒有電腦訂外賣而發(fā)愁,真正做到方便同學,并且可以通過代理廣告而使服務商獲得額外收益。2 綜合描述2.1 產品的狀況通過本系統(tǒng),用戶可以通過手機上網的方式來訂外賣,其特點如下:l 數據的維護效率大大提高,容易保管,如果丟失或

6、出錯很容易修復。系統(tǒng)的數據都存儲在服務器的數據庫中,定時備份可以使數據一直保持完好。l 方便查詢,節(jié)省勞動力。用戶可以通過手機直接把自己想要訂的外賣存入數據庫中,商店的服務器端只需要少數管理人員來處理訂單。l 用戶可以通過手機隨時隨地訂外賣,方便快捷,并且高效。2.2 產品的功能本預訂系統(tǒng)包括Web端和Android客戶端兩部分。Web端主要實現外賣資源以及訂單的管理功能,Android客戶端實現用戶的登錄注冊、預訂和查看訂單的功能。2.3 用戶類和特性用戶類別用戶特性超級管理員管理此系統(tǒng)的一切可用功能。普通管理員外賣的添加、處理訂單等。用戶登陸、注冊、預定等。2.4 開發(fā)環(huán)境開發(fā)此交大外賣訂

7、餐系統(tǒng)需要用到如下軟件環(huán)境。1. Eclipse 編程軟件。Eclipse是一個相當著名的開源Java IDE,主要以其開放性、極為高效的GUI、先進的代碼編輯器等著稱,其項目包括許多各種各樣的子項目組,包括 Eclipse插件、功能部件等,主要采用SWT界面庫,支持多種本機界面風格。2. JDK 1.7系統(tǒng)選此作為開發(fā)環(huán)境,因為JDK 1.7版本是目前JDK最新的版本,有許多開發(fā)者用到的功能,可以通過不同的操作系統(tǒng)平臺在官方網站上免費下載使用。3. Microsoft SQL Server 2005 數據庫Microsoft SQL Server 2005是目前中小型應用開發(fā)中比較流行的數據

8、庫,Microsoft SQL Server 2005在一定程度上保證了數據的完整性和安全性。4. Tomcat 7.0 以上版本Tomcat是一個優(yōu)秀的Web應用容器,運行穩(wěn)定、可靠、效率高,并且是開源的,可以從網上免費下載,節(jié)約開發(fā)成本。5. Android系統(tǒng)Android系統(tǒng)平臺的手機功能強大,此系統(tǒng)開源、應用程序無界限,隨著Android手機的普及,Android應用的需求勢必會越來越大,這是一個潛力巨大的市場,會吸引無數軟件開發(fā)廠商和開發(fā)者投身其中。2.5 目標平臺開發(fā)此外賣預訂系統(tǒng)需要目標平臺如下。1. 服務器端瀏覽器,建議使用IE 8.0及以上版本。2. 手機平臺為Androi

9、d 2.3或者更高的版本。3 外部接口需求3.1 用戶界面(1) 采用的圖形用戶界面(GUl)標準或者產品系列的風格:采用簡約的風格,運用頁面布局技術,以藍色作為主色調。(2) 將要使用在每一個屏幕(圖形用戶界面)上的軟件組件,包括:l 標準按鈕;各個頁面均包含l 導航鏈接:各個頁面包含導航欄,方便用戶進行頁面切換(3) 各種顯示格式的規(guī)定,包括:l 不同情況下文字的對齊方式:表格居中對齊,段落居左對齊l 不同情況下數字的表現格式與對齊方式:表格居中對齊,段落居左對齊l 日期的表現方法與格式:統(tǒng)一采用4位年2位月2位日,兩兩之間用“-”間隔。(4) 每一個操作均有結果顯示。3.2 硬件接口使用

10、的通訊協(xié)議:TCP/IP協(xié)議3.3 軟件接口操作系統(tǒng):Windows 7數據庫:SQL Server2005集成的商業(yè)組件:eclipse 3.7 Tomcat 7.0 AndroidSDK4 系統(tǒng)功能需求經過需求采集和需求分析,確定關鍵需求,本系統(tǒng)應該具有的功能如下:Web端功能:l 管理員有權限限制,普通和超級管理員所操作管理的層次不一樣。l 管理員可更改密碼,超級管理員可添加、刪除普通管理員。l 可以添加外賣可預訂資源,如菜單、飲料等,并填寫外賣的描述信息。l 可以添加外賣分類,并填寫新分類的描述信息。l 可以修改外賣的狀態(tài),有貨或者缺貨。l 可以對訂單進行操作同步到客戶端,第一時間通知

11、用戶。Android手機客戶端功能:l 登錄外賣android手機客戶端,用戶可以隨時隨地通過手機登錄交大外賣的客戶端。l 注冊賬號,用戶若沒有賬號,可以通過手機客戶端進行注冊成為系統(tǒng)會員。l 修改個人信息,如果用戶個人信息發(fā)生了改變,用戶可以通過手機登錄的方式方便地更改個人信息,這也為交大外賣管理用戶的信息資料提供了便利。l 預訂資源,這是本系統(tǒng)最重要的部分,用戶可以通過本系統(tǒng)方便快捷地預訂其想要的外賣,這也是為用戶提供的最主要的功能。l 查看訂單,當用戶想要查詢預訂結果,或者想要了解訂單的詳細信息時,通過手機客戶端可以快速查看訂單。 5 其它非功能需求5.1 性能需求l 相互合作的用戶數量

12、:無上限l 系統(tǒng)支持的并發(fā)操作數量:記錄相關信息無上限,設置相關信息時一時間只能有一個用戶設置相應的相關信息。l 一般操作的響應時間應在35秒內,響應時間也應在可接受的時間內完成,具體情況以網絡速度為限制l 與實時系統(tǒng)的時間關系:時間一一對應。l 容量需求(相對于服務器) 存儲器:2Gb 數據庫中表的最大行數:無上限。5.2 安全措施需求系統(tǒng)用戶通過用戶名和密碼方式來控制用戶對數據的訪問與操作,不同的用戶權限不同,確保正確的用戶使用正確的數據。5.3 安全性需求每個用戶在第一次登錄后,必須更改他的系統(tǒng)預置登錄密碼,系統(tǒng)預置的登錄密碼不能重用。服務器要處理好與Internet鏈接的借口,防止病毒

13、傳播以及黑客攻擊。5.4 軟件質量屬性 l 健壯性:系統(tǒng)應能夠長時間無故障運行;l 易用性:web管理端界面應采用圖形化操作方式,便于業(yè)務人員操作,保證中專以上文化程度的人員可以無障礙操作;android客戶端應采用圖形化操作方式,保證熟悉手機操作的各階層用戶的使用。l 容錯性:用戶輸錯數據都有提示信息,具有較好的容錯性能;l 可擴展性:充分考慮到將來需求的修改或增加,采用模塊化設計,避免需求變更時大規(guī)模修改程序。5.5 業(yè)務規(guī)則web管理端管理員對每個訂單都要進行處理,并提交處理結果反饋給android客戶端。6 分析模型6.1 數據流圖6.1.1頂層數據流圖系統(tǒng)用戶DF5超級管理員DF1D

14、F6交大外賣訂餐系統(tǒng)DF2DF7DF3普通管理員DF8DF4系統(tǒng)數據庫圖2-1系統(tǒng)頂層數據流圖數據說明:DF1:管理員輸入的數據,包括:普通管理員的用戶名,密碼,級別信息DF2:操作結果以及公共信息;DF3:管理人員輸入到系統(tǒng)中的數據,處理用戶相關信息,處理外賣訂單相關信息,添加外賣分類,添加外賣菜單新外賣,修改外賣信息,修改菜單信息。DF4:修改和查詢菜單、外賣相關的信息操作結果以及公共信息;DF5:用戶輸入的相關注冊信息,用戶的訂單信息,用戶退訂的信息。DF6:修改和查詢訂單、外賣相關的信息操作結果以及公共信息;DF7:所有用戶,普通管理員,超級管理員輸入的持久化數據,包括用戶信息,管理員

15、信息,訂單信息,菜單信息,訂單處理信息。DF8:所有用戶,普通管理員,超級管理員輸入的持久化數據,包括用戶信息,管理員信息,訂單信息,菜單信息,訂單處理信息結果顯示,以及修改查詢相關信息所得到的結果集。6.1.2一層數據流圖系統(tǒng)用戶超級管理員DF5-1DF1DF5-2DF6-1DF2Android應用子系統(tǒng)子系統(tǒng)Web服務子系統(tǒng)DF3DF6-2DF7系統(tǒng)數據庫普通管理員DF4圖2-2系統(tǒng)一層數據流圖數據說明:其中DF1,DF2,DF3,DF4,DF7,DF8同頂層數據流相同DF5分解為DF5-1和DF5-2.DF5-1為用戶輸入到Android應用子系統(tǒng)的相關注冊信息,用戶的訂單信息,用戶退訂

16、的信息。DF5-2為從Android應用子系統(tǒng)到web服務子系統(tǒng)的相關注冊信息,用戶的訂單信息,用戶退訂的信息。DF6分解為DF6-1和DF6-2為web服務子系統(tǒng)返回的到web服務子系統(tǒng)的修改和查詢訂單、外賣相關的信息操作結果以及公共信息;DF6-1從Android應用子系統(tǒng)到用戶的修改和查詢訂單、外賣相關的信息操作結果以及公共信息;6.1.3二層數據流圖本系統(tǒng)中,Android應用子系統(tǒng)相關數據流比較簡單,不在詳細分析。只對web服務子系統(tǒng)的進行分解。前提:為圖形簡化,分析方便,不再考慮外部實體的數據流,只考慮子系統(tǒng)內部數據流動,并且由于訪客只有瀏覽公共信息權限,因此,公共信息的瀏覽在下分

17、析中不再出現,下分析模型只考慮登錄用戶的功能與數據流向,并且由于數據流在上一層數據流圖中有比較詳細的說明,在以后的數據流圖中除新出現的數據流外,不再進行說明。菜單表1.5外賣菜單管理用戶表,管理員表,菜單表1.4外賣訂單處理1.3外賣分類管理外賣分類表1.1登錄注冊用戶管理各類用戶1.2交互接口管理員,用戶表Android應用子系統(tǒng)圖2-3web管理子系統(tǒng)數據流圖6.2 用例圖圖2-4 管理員用例圖用例說明:本系統(tǒng)管理員包括兩類:繼承自管理員,分別是超級管理員和普通管理員。超級管理員具有管理管理員的功能,而普通管理員則負責本系統(tǒng)后臺的管理。圖2-5 總用例圖用例說明:本系統(tǒng)有三類參與者:用戶:

18、使用本系統(tǒng)想外賣出售方訂餐的人超級管理員:管理管理員相關信息普通管理員:管理網站信息注冊:注冊用戶申請網站會員資格下訂單:挑選需要的食品,向網站發(fā)送訂單信息取消訂單:對于預定好的訂單,不在需要的時候,用戶可以取消訂單修改密碼資料:登錄以后修改相關的密碼信息,包括修改管理員和用戶信息查詢訂單信息:申請訂單之后,可以查詢訂單相關的信息。管理管理員:超級管理員可以管理普通管理員的信息,包括添加,修改,刪除。添加外賣分類:在網站中,添加外賣的分類信息,將菜品分類。添加外賣信息:在有外賣分類的前提下,將外賣信息添加的已存在的外賣分類下。修改外賣分類:已添加的外賣分類,修改,刪除,查詢存在的相關信息修改外

19、賣信息:已添加的外賣信息,修改,刪除,查詢已存在的相關信息處理訂單:用戶下訂單之后,管理員處理訂單圖2-6 用戶用例圖用例說明:修改密碼資料:登錄以后修改相關的密碼信息,包括修改管理員和用戶信息管理管理員:超級管理員可以管理普通管理員的信息,包括添加,修改,刪除。添加外賣分類:在網站中,添加外賣的分類信息,將菜品分類。添加外賣信息:在有外賣分類的前提下,將外賣信息添加的已存在的外賣分類下。修改外賣分類:已添加的外賣分類,修改,刪除,查詢存在的相關信息修改外賣信息:已添加的外賣信息,修改,刪除,查詢已存在的相關信息處理訂單:用戶下訂單之后,管理員處理訂單圖2-7 超級管理員用例圖用例說明:管理管

20、理員:超級管理員可以管理普通管理員的信息,包括添加,修改,刪除。6.3系統(tǒng)時序圖和協(xié)作圖6.3.1管理員登錄時序圖和協(xié)作圖圖2-8登錄系統(tǒng)時序圖圖2-9登錄系統(tǒng)協(xié)作圖說明:1,發(fā)送輸入信息:發(fā)送給服務器2,查詢并驗證:查詢數據庫,驗證發(fā)送數據的正確性6.3.2管理員管理時序圖和協(xié)作圖圖2-10管理員管理系統(tǒng)時序圖圖2-11管理員管理系統(tǒng)協(xié)作圖說明:1輸入各類信息,輸入密碼函數。2,增、刪、改、查給類信息:增添刪除修改查詢,系統(tǒng)中的用戶、菜品分類、菜品等信息。3,顯示:刷新頁面函數4、通知通知管理員的函數6.3.3用戶操作時序圖和協(xié)作圖圖2-12用戶操作系統(tǒng)時序圖圖2-13用戶操作系統(tǒng)協(xié)作圖說明

21、:1輸入各類信息,輸入密碼函數。2,增、刪、改、查給類信息:增添刪除修改查詢,系統(tǒng)中的菜品,訂單等信息。3,顯示:刷新頁面函數4、通知用戶,通知用戶的函數6.4系統(tǒng)活動圖本系統(tǒng)中,因為主要的活動為用戶訂餐和普通管理員處理訂單兩個活動,因而,我們主要分析這兩個活動。6.4.1用戶訂餐活動圖圖2-14用戶訂餐活動圖6.4.2管理員處理訂單活動圖圖2-15管理員處理訂單活動圖三、設計報告1 設計概述1.1 限制與約束本系統(tǒng)web管理端為B/S(瀏覽器/服務器)結構,采用JSP技術,系統(tǒng)框架為MVC模式,WWW服務器為TOMCAT 7,數據庫服務器為SQL SERVER 2005,瀏覽器為IE 8。1

22、.2設計原則和設計要求l 系統(tǒng)環(huán)境: 服務器端:Windows 7操作系統(tǒng),有IE8瀏覽器即可。 客戶端:智能手機android 2.3系統(tǒng)l 安全性要求:只有授權用戶才能登錄系統(tǒng),對于某個操作,需要具有相應權限才能進行操作。 l 平臺中文化:采用GB2312編碼標準;符合中文使用習慣的操作界面,所有與用戶相關的信息都必須用中文顯示。l 數據庫采用JDBC連接方式:以JDBC方式并使用標準SQL語句對數據庫進行操作2系統(tǒng)的概要設計與分析2.1系統(tǒng)功能設計此軟件系統(tǒng)概要設計報告是基于交大外賣訂餐系統(tǒng)需求分析報告所編寫的,旨在按照客戶需求開發(fā)出客戶所需要的軟件。Web端功能:l 管理員有權限限制,

23、普通和超級管理員所操作管理的層次不一樣。l 管理員可更改密碼,超級管理員可添加、刪除普通管理員。l 可以添加外賣可預訂資源,如菜單、飲料等,并填寫外賣的描述信息。l 可以添加外賣分類,并填寫新分類的描述信息。l 可以修改外賣的狀態(tài),有貨或者缺貨。l 可以對訂單進行操作同步到客戶端,第一時間通知用戶。Android手機客戶端功能:l 登錄外賣android手機客戶端,用戶可以隨時隨地通過手機登錄交大外賣的客戶端。l 注冊賬號,用戶若沒有賬號,可以通過手機客戶端進行注冊成為系統(tǒng)會員。l 修改個人信息,如果用戶個人信息發(fā)生了改變,用戶可以通過手機登錄的方式方便地更改個人信息,這也為交大外賣管理用戶的

24、信息資料提供了便利。l 預訂資源,這是本系統(tǒng)最重要的部分,用戶可以通過本系統(tǒng)方便快捷地預訂其想要的外賣,這也是為用戶提供的最主要的功能。l 查看訂單,當用戶想要查詢預訂結果,或者想要了解訂單的詳細信息時,通過手機客戶端可以快速查看訂單。2.2子系統(tǒng)與模塊交大外賣訂餐管理系統(tǒng)具有兩大子系統(tǒng),android客戶應用子系統(tǒng)和web管理子系統(tǒng)。2.2.1 android客戶應用子系統(tǒng)android客戶應用子系統(tǒng)包括登陸注冊模塊、修改個人信息模塊、外賣資源模塊、訂單模塊。(1) 登陸注冊模塊包括用戶注冊和用戶登錄兩大功能。NO.1 用戶注冊基本功能用戶填寫個人信息進行注冊。輸入項用戶名、密碼、手機號碼、

25、送餐地址、性別、電子郵箱輸出項注冊成功、注冊失敗、用戶名已存在等NO.2 用戶登錄基本功能用戶進行登錄。輸入項用戶名、密碼輸出項登錄成功、登錄失敗(2) 修改個人信息模塊包括修改個人信息功能。NO.3 修改個人信息基本功能用戶登陸后對個人信息進行修改輸入項密碼、手機號碼、送餐地址、性別、電子郵箱輸出項修改成功、修改失敗(3) 外賣資源模塊包括查看外賣信息。NO.4查看外賣信息 基本功能查看所有外賣的信息。輸入項無輸出項名稱、規(guī)格、價格、狀態(tài)(4) 訂單模塊包括下訂單、查詢訂單功能。NO.5 下訂單基本功能用戶進行外賣訂餐輸入項要求送貨時間、最晚到貨時間輸出項預訂成功并顯示訂單信息NO.6 查看

26、訂單基本功能對訂單詳細信息進行查看輸入項無輸出項訂單編號、下單時間、送貨狀態(tài)2.2.2 web管理子系統(tǒng)web管理子系統(tǒng)包括修改密碼模塊、管理員管理模塊、外賣分類管理模塊、外賣資源管理模塊、訂單管理模塊。(1) 修改密碼模塊包括修改密碼功能。NO.1 修改密碼基本功能修改自己的密碼輸入項用戶名、原密碼、新密碼、密碼確認輸出項修改成功、修改失敗(2) 管理員管理模塊包括添加管理員、刪除管理員功能。NO.2 添加管理員基本功能超級管理員添加普通管理員輸入項登錄名、登錄密碼輸出項添加成功、添加失敗NO.3 刪除管理員基本功能刪除已有普通管理員輸入項無輸出項刪除成功、刪除失敗(3) 訂單管理模塊包括處

27、理訂單功能。NO.4 處理訂單基本功能對android客戶端提交的訂單進行處理輸入項預訂成功、預定中、預定失敗輸出項字符串信息,通知客戶端處理結果(4) 外賣分類管理模塊包括添加外賣分類信息功能、修改外賣分類信息功能、刪除外賣分類功能。NO.5 添加外賣分類信息基本功能添加外賣類別信息輸入項類名、圖片、描述、備注輸出項添加成功、添加失敗NO.6 修改外賣分類信息基本功能修改外賣分類信息輸入項類名、圖片、描述、備注輸出項修改成功、修改失敗NO.7刪除外賣分類信息基本功能刪除外賣分類信息輸入項無輸出項刪除成功、刪除失敗(5) 外賣信息管理模塊包括添加、修改、刪除外賣資源信息功能。NO.8 添加外賣

28、資源信息基本功能添加外賣資源信息輸入項名稱、分類、規(guī)格、價格、描述、狀態(tài)輸出項添加成功、添加失敗NO.9 修改外賣資源信息基本功能修改外賣資源信息輸入項名稱、分類、規(guī)格、價格、描述、狀態(tài)輸出項修改成功、修改失敗NO.10 刪除外賣資源信息基本功能刪除外賣資源信息輸入項名稱、分類、規(guī)格、價格、描述、狀態(tài)輸出項刪除成功、刪除失敗2.3系統(tǒng)出錯處理設計系統(tǒng)出錯出理設計主要通過兩種方法來實現,一是JAVA程序中拋出異常;二是在程序中設置邏輯判斷來實現。如果發(fā)生錯誤,將錯誤信息在后臺輸出,并將頁面轉到錯誤處理頁面。2.4 系統(tǒng)接口設計 本系統(tǒng)的接口主要分為三大類接口,一是與數據庫服務器的接口;二是各子系

29、統(tǒng)及各頁面間的接口。 2.4.1數據庫服務器接口設計對于數據庫服務器接口,采用主流的JDBC接口, JDBC(Java Data Base Connectivity, java數據庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數據庫開發(fā)人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發(fā)人員能夠用純 Java API 編寫數據庫應用程序。2.4.2系統(tǒng)內部接口設計系統(tǒng)內部接口一般采用WEB內部對象SESSION 、REQUEST和POST來實現,當系統(tǒng)需要登錄才能執(zhí)行相應的操作

30、時,采用SESSION來傳值,主要實現在服務器端代碼內部中傳值,具體的實現方法主要通過兩個函數來實現,一是session.setAttribute(),另一個是session.getAttribute();當系統(tǒng)需要從客戶端向服務器端來傳值時,用REQUEST和POST對象來實現。2數據庫設計2.1數據庫邏輯設計2.1.1數據庫E-R圖1. 用戶實體包括用戶名、性別、密碼、電子郵件、聯(lián)系電話、送餐地址。用戶名送餐地址性別密碼用戶電子郵件聯(lián)系電話圖3-2 用戶實體的E-R圖2. 管理員實體包括管理員登錄名、性別、密碼、管理員級別。密碼管理員級別管理員登錄名管理員圖3-3 管理員實體的E-R圖3.

31、 外賣分類實體包括管編號、類名、圖片、規(guī)則描述、描述。描述編號圖片類名外賣分類規(guī)則描述圖3-4 外賣分類實體的E-R圖4. 外賣菜單實體包括菜編號、菜級別、菜名、描述、所屬分組、價格、狀態(tài)。菜編號菜級別描述外賣菜單菜名狀態(tài)價格所屬分組圖3-5 外賣菜單實體的E-R圖5. 訂單實體包括訂單編號、提交人、處理人、訂單狀態(tài)、提交時間、備注信息。訂單編號處理人訂單狀態(tài)提交人訂單備注信息提交時間圖3-6 訂單實體的E-R圖6. 訂單明細實體包括訂單編號、所屬訂單號、菜單、處理狀態(tài)、開始時間、結束時間。菜單訂單編號所屬訂單號訂單明細處理狀態(tài)開始時間結束時間圖3-7 訂單明細實體的E-R圖2.1.2數據庫關

32、系圖圖3-8 數據庫各表關系圖說明:l resource表中的rgroup關聯(lián)rgoup表中的gidl oinfo表中的rgid關聯(lián)resource表中的rgid2.2 基表設計基表編號:1基表英文名稱:adinfo基表中文名稱:管理員表字段編號字段名稱數據類型主鍵是否為空說明1Adnamevarchar(20)是否管理員登陸名2Adpwdvarchar(20)否否管理員密碼3Adlevelint否否管理員級別基表編號:2基表英文名稱:users基表中文名稱:用戶表字段編號字段名稱數據類型主鍵是否為空說明1Unamevarchar(20)是否用戶登錄名2Pwdvarchar(20)否否登錄密碼

33、3telNumvarchar(20)否否聯(lián)系電話4realNamenvarchar(100)否否送貨地址5Genderchar(10)否否性別(默認男)6Emailvarchar(40)否否電子郵件基表編號:3基表英文名稱:rgroup基表中文名稱:外賣分類字段編號字段名稱數據類型主鍵是否為空說明1gIdint是否編號2gNamenvarchar(10)否否類名3gImgvarchar(40)否否圖片4gDetailnvarchar(200)否否描述5gOrderDetnvarchar(200)否否備注信息基表編號:4基表英文名稱:resource基表中文名稱:菜單字段編號字段名稱數據類型主鍵

34、是否為空說明1Ridint是否菜編號2Rgroupint否否所屬分組3Rgidnvarchar(20)是否菜名4Rlevelnvarchar(20)否否菜級別5Rmoneydouble否否價格6Rdetailnvarchar(100)否否描述7Rstatusnvarchar(20)否否狀態(tài)(默認有貨)基表編號:5基表英文名稱:olist基表中文名稱:訂單表字段編號字段名稱數據類型主鍵是否為空說明1Oidint是否訂單編號2Onamevarchar(20)否否提交人3Otimevarchar(20)否否提交時間4Odealvarchar(20)否否處理人(默認無)5Ostatusvarchar(

35、20)否否訂單狀態(tài)(默認預定中)6oreasonvarchar(100)否否備注信息(默認無)基表編號:6基表英文名稱:oinfo基表中文名稱:訂單明細字段編號字段名稱數據類型主鍵是否為空說明1Oridint是否預定編號2Oidint否否所屬訂單號3Rgidvarchar(20)否否菜單4Ftimevarchar(20)否否開始時間5Etimevarchar(20)否否結束時間6Ostatusvarchar(20)否否處理狀態(tài)(默認預定中)備注:l resource表中的rgroup關聯(lián)rgoup表中的gidl oinfo表中的rgid關聯(lián)resource表中的rgid3系統(tǒng)詳細設計與實現3.

36、1 web端系統(tǒng)功能的開發(fā)3.1.1服務器端總框架服務器端各個jsp文件和servlet文件的關系,如下圖所示:說明:ListServlet、OrderServlet和RegAndLoginServlet是控制器,負責處理服務器Web端管理員發(fā)來的請求,DB是負責處理具體業(yè)務的工具方法類,這些jsp文件在前臺顯示。動作編號動作內容a管理員登陸b修改管理員密碼c刪除管理員d添加管理員e重置管理員密碼f添加分類g修改、刪除分類h修改、刪除外賣i添加外賣j修改、刪除外賣k顯示、處理訂單3.1.2管理員登陸功能的開發(fā)打開Web端的登錄頁面,登錄頁面通過adindex.jsp實現,向控制器RegAndL

37、oginServlet發(fā)出請求并處理其返回信息來實現管理員的登錄。開發(fā)RegAndLoginServlet,RegAndLoginServlet是交大外賣訂餐系統(tǒng)主要的控制器之一,管理員的登錄、注銷、修改信息都要通過RegAndLoginServlet的處理并跳轉。RegAndLoginServlet位于Web端項目WEB-INF/classes目錄下,實現關鍵代碼如下:RegAndLoginServlet.javapublic class RegAndLoginServlet extends HttpServlet public void doPost(HttpServletRequest

38、req, HttpServletResponse res)throws ServletException, IOException req.setCharacterEncoding(gb2312);res.setCharacterEncoding(gb2312);/ 得到請求的響應actionString action = req.getParameter(action);/ 得到session對象HttpSession session = req.getSession(true);PrintWriter pw = res.getWriter();String msg = ;if (actio

39、n.equals(adlogin) session.removeAttribute(adname);String adname = req.getParameter(adname).trim();/ 得到登陸名String pwd = req.getParameter(pwd).trim();/ 得到登陸密碼/ 拼裝從數據庫得到登陸管理員密碼的SQL語句String sqla = select adpwd from adinfo where adname= + adname+ ;String pwdFromDB = DB.getInfo(sqla);/ 執(zhí)行查詢得到正確密碼if (pwdFro

40、mDB != null & pwd.equals(pwdFromDB) / 登陸成功session.setAttribute(adname, adname);/ 將登陸管理員保存進sessionmsg = 登陸成功。;/ 提示登陸成功 else / 登陸失敗的提示msg = 錯誤的用戶名和密碼,請重新登陸 + 重新登陸;/ 將信息發(fā)送到信息顯示頁面req.setAttribute(msg, msg);req.getRequestDispatcher(adinfo.jsp).forward(req, res); else if (action.equals(adlogout) / 注銷sessi

41、on.removeAttribute(adname);msg = 退出成功。;/ 提示注銷成功req.setAttribute(msg, msg);req.getRequestDispatcher(adinfo.jsp).forward(req, res);3.1.3分類管理功能的開發(fā)本模塊包含的功能主要有分類的添加、修改與刪除。(1) 管理員登錄系統(tǒng)后,在分類管理頁面即可修改和刪除分組。分組管理頁面是由adminGroup.jsp顯示的,管理員在adminGroup.jsp頁面中選擇修改/刪除,將向ListServlet發(fā)出請求,ListServlet處理該請求,關鍵代碼如下:ListSer

42、vlet.javapublic void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException req.setCharacterEncoding(gb2312);/ 設置req編碼為gb2312res.setCharacterEncoding(gb2312);/ 設置res編碼為gb2312String action = req.getParameter(action);/ 得到請求的響應actionHttpSession session = req.getSess

43、ion(true);/ 得到session對象/ 得到登陸的管理員IDString adnameSes = (String) session.getAttribute(adname);String msg = ;/ 聲明消息字符串 else if (action.equals(editGroup) / 編輯分組int gId = Integer.parseInt(req.getParameter(gId);Vector ginfo = DB.getGroupInfo(gId);req.setAttribute(ginfo, ginfo);req.getRequestDispatcher(Gro

44、upInfo.jsp).forward(req, res);(2) 管理員登錄系統(tǒng)后,在分組管理頁面即可增加分組。分組管理頁面是由adminGroup.jsp顯示,管理員在adminGroup.jsp頁面中選擇添加分組,將由addGroup.jsp向ListServlet發(fā)出請求,ListServlet處理該請求,關鍵代碼如下: else if (action.equals(addGroup) int gId = DB.getId(rgroup, gId);/ 得到添加分組的ID/ 得到填寫的信息String gName = req.getParameter(gName);String gIm

45、g = req.getParameter(gImg);String gDetail = req.getParameter(gDetail);String gOrderDet = req.getParameter(gOrderDet);String sql = insert into rgroup(gId,gName,gImg,gDetail,gOrderDet)values(N + gId + ,N + gName + ,N + gImg + ,N + gDetail + ,N + gOrderDet + );/ 拼裝SQLSystem.out.println(sql);if (DB.upda

46、te(sql) 0) / 執(zhí)行更新msg = 添加分組成功返回; else msg = 未知錯誤,添加失敗;this.forward(req, res, msg, adinfo.jsp);3.1.4外賣管理功能的開發(fā)本模塊包含的功能主要有顯示外賣信息、修改外賣信息、刪除外賣信息、添加外賣和查詢外賣。(1) 管理員登錄系統(tǒng)后,外賣管理頁面進行分頁顯示,需要開發(fā)的頁面有adminResource.jsp和adminFenYe.jsp,實現代碼如下。adminResource.jsp(2) 上述代碼為adminResource.jsp,在其執(zhí)行完成后,頁面跳轉至adminFenYe.jsp,關鍵代碼

47、如下。adminFenYe.jsp%Vector list = (Vector) session.getAttribute(list);int group = Integer.parseInt(list.get(0);String gName = list.get(1);/得到分組名String cpStr = request.getParameter(cp);int currPage = 1;/設置默認當前頁為第一頁if (cpStr != null) currPage = Integer.parseInt(cpStr.trim(); /得到當前頁int span = 5;/每頁顯示記錄條數為5條int totalPage = DB.getTotal(span, group); /得到總頁數%Vector v = DB.getPa

溫馨提示

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

最新文檔

評論

0/150

提交評論