校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)──訂單管理子模塊的開發(fā)與實(shí)現(xiàn)_第1頁(yè)
校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)──訂單管理子模塊的開發(fā)與實(shí)現(xiàn)_第2頁(yè)
校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)──訂單管理子模塊的開發(fā)與實(shí)現(xiàn)_第3頁(yè)
校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)──訂單管理子模塊的開發(fā)與實(shí)現(xiàn)_第4頁(yè)
校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)──訂單管理子模塊的開發(fā)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第第頁(yè))校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)──訂單管理子模塊的開發(fā)與實(shí)現(xiàn)摘要:二十一世紀(jì)是一個(gè)集數(shù)字化,網(wǎng)絡(luò)化,信息化的,以網(wǎng)絡(luò)為核心的社會(huì)。隨著Internet的飛速發(fā)展,使得網(wǎng)絡(luò)的應(yīng)用日益的廣泛。由于,生活節(jié)奏的日益加快,人們對(duì)于就餐的方式也逐漸改變著,針對(duì)這一改變,網(wǎng)上訂餐變得越來(lái)越普遍。對(duì)此針對(duì)于大學(xué)生這一群體我們?cè)O(shè)計(jì)了校園網(wǎng)上訂餐系統(tǒng)。訂單管理是網(wǎng)上訂餐管理系統(tǒng)中不可缺少的一部分,他是整個(gè)網(wǎng)上訂餐管理系統(tǒng)中最后的一環(huán),主要的作用是保存用戶的訂餐信息,這樣餐廳就可以根據(jù)訂單來(lái)配送餐品。同樣餐廳也可以根據(jù)訂單的詳情來(lái)確定是否受理這個(gè)用戶的訂餐需求。同樣用戶也可以根據(jù)訂單管理來(lái)確認(rèn)送到的餐品是否正確,對(duì)于下次點(diǎn)餐也起到參考的作用。訂單管理的實(shí)現(xiàn)是通過(guò)JSP來(lái)設(shè)計(jì)用戶交互界面,結(jié)合框架設(shè)計(jì)的后臺(tái),數(shù)據(jù)庫(kù)是采用Oracle數(shù)據(jù)庫(kù),它能夠處理大量的數(shù)據(jù),兼容性良好。首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成滿意的可行系統(tǒng)。關(guān)鍵詞:JSP;Oracle;訂單管理;訂餐系統(tǒng)Abstract:Thetwenty-firstCenturyisadigital,

networked,

information-based,

thenetworkasthecoreofthe

society.

WiththerapiddevelopmentofInternet,

whichmakes

thenetworkincreasinglywiderangeofapplications.

Because,

thepaceoflife

isaccelerating,

peopleforthe

dining

wayalsograduallychanging,

accordingtothis

change,

onlinemealordering

becomesmoreandmorepopular.

This

pin

forthe

studentsinthisgroup

wedesign

theCampus

Onlinemealorderingsystem.Ordermanagement

isanindispensablepartof

onlinemealordering

managementsystem,

heisthelast

ofthe

onlinemealordering

management

system,

themainroleisto

preserveuserorderinginformation,

so

therestaurantcan

accordingtotheorder

to

delivery

offood.

Thesame

restaurant

canalso

determinetheadmissibilityof

the

users

ordering

demand

accordingtotheorder

details.

Users

canalsoaccordingto

thesame

ordermanagement

toconfirm

tothe

food

iscorrect,

forthenext

meal

also

playareference

role.Implementationof

ordermanagement

is

todesign

theuserinterface

by

JSP,

combinedwiththe

framedesignofthe

background,

thedatabaseis

usingOracledatabase,

itcanhandlealargenumberof

data,

goodcompatibility.Firstofall

inashortperiodoftime

toestablishthesystem

applicationprototype,

then,

demandfortheinitialprototypesystemiteration,

andconstantlyrevisedandimproved,

untiltheformationofaviablesystem

satisfaction.Keywords:JSP;

Oracle;

ordermanagement;

orderingsystem1引言1.1背景和意義眾所周知,隨著現(xiàn)代科學(xué)技術(shù)的不斷提高,現(xiàn)今的生活節(jié)奏加快,人們的生活也與傳統(tǒng)的生活模式有很大的不同。其中互聯(lián)網(wǎng)在人們的生活中得到了廣泛的應(yīng)用,現(xiàn)在足不出戶,就能獲得自己需要的菜品和服務(wù)。人們對(duì)餐飲的要求也越來(lái)越高,不僅要求色香味俱全,而且對(duì)于就餐的時(shí)間和方式也有了更高的要求,許多顧客由于工作繁忙無(wú)法抽出時(shí)間來(lái)享受美味,一般是不愿自己去吃飯的,他們寧愿訂餐。在學(xué)校有很多的大學(xué)生在寢室里,不愿下寢室去吃飯,所以他們其中有很多的人喜歡訂餐。這時(shí)候他們必須有一個(gè)平臺(tái)來(lái)提供他們一些信息,網(wǎng)上訂餐系統(tǒng)就可以方便地為他們提供詳細(xì)的查詢。在互聯(lián)網(wǎng)世界里面,誰(shuí)早一步在應(yīng)用上創(chuàng)新,誰(shuí)就掌握了未來(lái)的方向,誰(shuí)便能把握機(jī)遇,成為時(shí)代的先驅(qū),成功的締造者網(wǎng)上訂餐系統(tǒng)開發(fā)是為了更好地適應(yīng)市場(chǎng)需求,緩解餐館的地域限制,為消費(fèi)者節(jié)省時(shí)間和精力、并實(shí)現(xiàn)更便捷的交易方式。通過(guò)網(wǎng)上訂餐系統(tǒng)使用戶可以足不出戶就能在網(wǎng)上進(jìn)行查瀏覽菜品介紹、點(diǎn)菜訂餐,使管理人員快速方便的管理用戶、訂單以及菜單資料的維護(hù),這樣使得訂餐變得更方便。1.2系統(tǒng)開發(fā)設(shè)計(jì)思想該系統(tǒng)是基于B2C(Business-to-Customer)模式實(shí)現(xiàn),基于Myeclipse集成開發(fā)環(huán)境平臺(tái)架構(gòu)開發(fā)設(shè)計(jì)。使用Java語(yǔ)言中的JSP技術(shù)和Mysql數(shù)據(jù)庫(kù)開發(fā),通過(guò)編寫JavaBeans來(lái)進(jìn)行后臺(tái)業(yè)務(wù)邏輯控制,主要實(shí)現(xiàn)對(duì)網(wǎng)上訂餐的使用、需求、以及用戶訂餐的動(dòng)態(tài)管理等。使得網(wǎng)上訂餐的管理更加及時(shí)、高效,提高了工作效率。該系統(tǒng)主要包括菜品管理,留言管理,預(yù)訂管理,用戶管理等幾個(gè)大的功能模塊。1.3開發(fā)工具和環(huán)境簡(jiǎn)介1.3.1開發(fā)工具經(jīng)過(guò)比較,以及自己所掌握的知識(shí)所限,最終決定采用在Windows下使用JSP+Mysql開發(fā),該系統(tǒng)要到的主要工具有:MyEclipse:MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse

Enterprise

Workbench

,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse

IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,CSS,Javascript,Struts,Spring,Hibernate,JSP,Tomcat,Mysql。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò)。Mysql:Mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典Mysql

AB公司。Mysql是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。Mysql的SQL“結(jié)構(gòu)化查詢語(yǔ)句”。SQL是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。Mysql軟件采用了GPL。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了Mysql作為網(wǎng)站數(shù)據(jù)庫(kù)。Mysql的特性:性能快捷、優(yōu)化SQL語(yǔ)言容易使用、開放源代碼支持多線程,充分利用CPU資源可移植性和可靠性遵循國(guó)際標(biāo)準(zhǔn)和國(guó)際化支持,為多種編程語(yǔ)言提供APIJSP:JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP技術(shù)的優(yōu)點(diǎn):一、一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。

二、系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。

三、強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。四、多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。1.3.2環(huán)境簡(jiǎn)介軟件運(yùn)行環(huán)境:操作系統(tǒng):Windows7操作系統(tǒng)數(shù)據(jù)庫(kù):MySql網(wǎng)絡(luò)通信協(xié)議:TCP/IP支持軟件:MyEclipsetomcatJDK2需求分析2.1可行性分析2.1.1經(jīng)濟(jì)可行性由于這個(gè)項(xiàng)目是學(xué)校分配給我們的考慮到他的特殊性,所以無(wú)需購(gòu)買新的設(shè)備和對(duì)開發(fā)人員的培訓(xùn)等費(fèi)用。所以,在經(jīng)濟(jì)上本系統(tǒng)的開發(fā)是可行的。此外系統(tǒng)對(duì)開發(fā)的需求以及軟硬件要求都不是很高,所以在軟硬件的支出上十分有限。因此,本系統(tǒng)在任何一臺(tái)連接Internet的機(jī)器上都可以運(yùn)行,有很高的經(jīng)濟(jì)可行性。按上述兩方面進(jìn)行可行性分析、研究后,我們認(rèn)為該項(xiàng)目在技術(shù)上是可行的,在經(jīng)濟(jì)上也是沒問題的,所以完全可以進(jìn)行開發(fā)。2.1.2技術(shù)可行性本系統(tǒng)選擇jsp作為開發(fā)語(yǔ)言,選擇Mysql作為后臺(tái)數(shù)據(jù)庫(kù),采用B2C結(jié)構(gòu),使用hibernate連接數(shù)據(jù)庫(kù)。而JSP可以創(chuàng)建和運(yùn)用動(dòng)態(tài)、交互的WEB服務(wù)器應(yīng)用程序。同時(shí),JSP具有向跨平臺(tái)跨服務(wù)器的優(yōu)點(diǎn)。Mysql是一個(gè)杰出的數(shù)據(jù)庫(kù)平臺(tái),具有功能強(qiáng)大,很好的可移植性等特點(diǎn),可用于開發(fā)研究等。所以在技術(shù)方面理論上是可行的。2.1.3法律可行性本系統(tǒng)沒有侵犯?jìng)€(gè)人隱私和個(gè)人責(zé)任方面的問題,使用本系統(tǒng)不會(huì)引起法律方面的糾紛問題,所以開發(fā)本系統(tǒng)具有法律可行性。綜上所述,本系統(tǒng)的開發(fā)是符合現(xiàn)在的實(shí)際情況的,并具有一定的實(shí)用意義。在技術(shù)、經(jīng)濟(jì)、操作上,法律上都可以看到此系統(tǒng)的可行性,并且很具有其實(shí)現(xiàn)的必要。2.2用戶需求分析2.2.1功能分析作為一個(gè)網(wǎng)上訂餐系統(tǒng)的訂單管理子系統(tǒng)。首先為了保證客戶能夠很好的對(duì)餐品進(jìn)行選購(gòu),在訂單的需求是產(chǎn)品的用戶能有效的保存客戶的信息,這對(duì)于配送貨物來(lái)說(shuō)是必不可少的。在后臺(tái)方便用戶能對(duì)訂單進(jìn)行操作,相應(yīng)的處理客戶的請(qǐng)求。功能如表2-1所示:表2-1前臺(tái)功能功能模塊說(shuō)明網(wǎng)上訂餐后臺(tái)登錄訂單的填寫與配送通過(guò)相關(guān)驗(yàn)證,管理員對(duì)于訂單進(jìn)行操作后臺(tái)功能如表2-2所示:表2-2后臺(tái)功能功能模塊說(shuō)明訂單管理對(duì)訂單進(jìn)行操作2.2.2用例分析用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模,用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。本系統(tǒng)業(yè)務(wù)用例圖如圖2-3所示:訂單后臺(tái)登陸前臺(tái)登陸填寫操作訂單后臺(tái)登陸前臺(tái)登陸圖2-3業(yè)務(wù)圖本系統(tǒng)分管理員和用戶2個(gè)權(quán)限。管理員主要功能:訂單管理、添加訂單。用戶主要功能是:訂單查詢,添加訂單。本系統(tǒng)的主要角色包括管理員、普通用戶。下面介紹應(yīng)用程序的主要用例:如表2-4所示:表2-4管理員用例圖功能模塊說(shuō)明填寫訂單訂單管理訂單的填寫對(duì)訂單進(jìn)行相關(guān)的操作顧客用例描述如表2-5所示:表2-5顧客用例圖功能模塊說(shuō)明填寫訂單訂單查詢訂單的填寫查詢自己的訂單2.3業(yè)務(wù)流程分析業(yè)務(wù)流程分析該系統(tǒng)應(yīng)該主要的用戶有兩大類,一是賣家,在使用系統(tǒng)時(shí)為管理員身份;而是買家,在使用時(shí)是普通身份。下面分別就這兩類用戶介紹具體的業(yè)務(wù)流程。2.3.1管理員業(yè)務(wù)流程分析1.輸入網(wǎng)址,進(jìn)入網(wǎng)站主頁(yè)面。2.輸入用戶名和密碼并登錄并判斷,跳轉(zhuǎn)到管理員界面3.登錄成功后便可以使用下訂單,查詢訂單等功能4.點(diǎn)擊訂單管理后即可對(duì)網(wǎng)站內(nèi)儲(chǔ)存的訂單信息,進(jìn)行相應(yīng)的適當(dāng)操作,以維護(hù)網(wǎng)站的正常運(yùn)行5.注銷登錄,退出網(wǎng)站2.3.2普通用戶業(yè)務(wù)流程1.輸入網(wǎng)址,進(jìn)入網(wǎng)站主頁(yè)面。2.若是已經(jīng)注冊(cè)用戶,可以直接登錄。若不是,則先注冊(cè),再登錄。3.登錄成功后即可以使用網(wǎng)站的下訂單功能和查看訂單功能等。2.4數(shù)據(jù)流程圖系統(tǒng)中的數(shù)據(jù)流程圖是結(jié)構(gòu)化系統(tǒng)分析的工具。它既可以表達(dá)數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向及存儲(chǔ),又可以表達(dá)系統(tǒng)的邏輯功能和數(shù)據(jù)的邏輯變換。數(shù)據(jù)流程圖既能表達(dá)現(xiàn)行人工系統(tǒng)的數(shù)據(jù)流程和邏輯處理功能,也能表達(dá)自動(dòng)化系統(tǒng)的數(shù)據(jù)流程和邏輯處理功能。數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型開始開始用戶注冊(cè)用戶登錄用戶注冊(cè)用戶登錄N驗(yàn)證身份填寫信息驗(yàn)證身份填寫信息Y登陸成功注冊(cè)成功登陸成功注冊(cè)成功瀏覽菜單瀏覽菜單加入購(gòu)物車加入購(gòu)物車確認(rèn)訂單確認(rèn)訂單提交訂單提交訂單退出退出結(jié)束結(jié)束圖2-4-1用戶業(yè)務(wù)流程數(shù)據(jù)流圖英文縮寫DFD(Data

Flow

Diagram)它是描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程本系統(tǒng)主要的數(shù)據(jù)流圖如圖2-4-2所示:用戶表管理員登陸注冊(cè)登陸登陸注冊(cè)登陸接受/查看訂單表接受/查看管理員訂單管理員用戶訂單用戶圖2-4-2數(shù)據(jù)流程圖3概要設(shè)計(jì)3.1訂單子系統(tǒng)的功能模塊概要設(shè)計(jì)本網(wǎng)上訂餐中的訂單管理子系統(tǒng)的功能模塊主要分為前臺(tái)功能模塊和后臺(tái)功能模塊,前臺(tái)功能模塊主要是填寫訂單并提交,查看用戶自己的訂單。后臺(tái)功能模塊主要是管理員對(duì)于訂單的管理,如果管理員想訂餐也是可以實(shí)現(xiàn)的。3.1.1用戶模塊概要設(shè)計(jì)網(wǎng)上訂餐系統(tǒng)用戶功能模塊圖如圖3-1所示:普通用戶普通用戶提交訂單查詢訂單提交訂單查詢訂單圖3-1網(wǎng)上訂餐系統(tǒng)用戶功能模塊圖首先用戶首先登錄網(wǎng)站,如果用戶還沒有登錄名,要先進(jìn)行注冊(cè)。注冊(cè)后,在登錄時(shí)用戶名與密碼驗(yàn)證通過(guò)就能進(jìn)入網(wǎng)站系統(tǒng)進(jìn)行菜品的選擇以及訂單生成。如果用戶名不存在或密碼不正確,則提示重新登錄。用戶成功登錄之后,進(jìn)入主頁(yè)面,用戶便可以使用訂單查看功能。3.1.2管理員功能模塊概要設(shè)計(jì)網(wǎng)上訂餐系統(tǒng)管理員功能模塊圖如圖3-2所示:管理員管理員訂單管理提交訂單訂單管理提交訂單圖3-2網(wǎng)上訂餐系統(tǒng)管理員功能模塊圖管理員模塊又可分為幾個(gè)小模塊:管理員先登錄,登錄成功后會(huì)跳入到后臺(tái)的管理界面,他可以給自己點(diǎn)的菜品下訂單同時(shí)也可以對(duì)用戶的訂餐訂單進(jìn)行管理。4數(shù)據(jù)庫(kù)設(shè)計(jì)4.1概念模型設(shè)計(jì)概念模型設(shè)計(jì)的典型方法是用E-R圖方法,E-R圖也即實(shí)體-聯(lián)系圖(EntityRelationshipDiagram),提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。網(wǎng)上訂餐管理系統(tǒng)中構(gòu)成E-R圖的基本要素是實(shí)體型、屬性和聯(lián)系,其表示方法為:實(shí)體型(Entity):具有相同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來(lái)抽象和刻畫同類實(shí)體;在E-R圖中用矩形表示,矩形框內(nèi)寫明實(shí)體名;比如本系統(tǒng)中的管理員和用戶都是實(shí)體。如果是弱實(shí)體的話,在矩形外面再套實(shí)線矩形。屬性(Attribute):實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來(lái)刻畫。在E-R圖中用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);比如本系統(tǒng)中用戶的用戶名,用戶密碼;訂單的訂單號(hào),下單日期等都是屬性。如果是多值屬性的話,再橢圓形外面再套實(shí)線橢圓。如果是派生屬性則用虛線橢圓表示。聯(lián)系(Relationship):聯(lián)系也稱關(guān)系,信息世界中反映實(shí)體內(nèi)部或?qū)嶓w之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。在E-R圖中用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n),如本系統(tǒng)中的管理,管理員可以管理菜單,管理員對(duì)菜單是1:n。網(wǎng)上訂餐管理系統(tǒng)E-R圖如圖4-1所示:圖4-1E-R圖4.2數(shù)據(jù)庫(kù)邏輯模型依據(jù)團(tuán)建工程數(shù)據(jù)設(shè)計(jì)規(guī)范和系統(tǒng)E-R圖,訂單管理子系統(tǒng)的數(shù)據(jù)邏輯模型如下,包括2表:訂單表(編號(hào),訂單編號(hào),要求,其他要求,狀態(tài),日期,用戶編號(hào),菜品編號(hào))。訂單用戶信息表(編號(hào),住址,固定電話,手機(jī),備注,送餐日期,用戶編號(hào));4.3數(shù)據(jù)庫(kù)表設(shè)計(jì)數(shù)據(jù)表是數(shù)據(jù)庫(kù)中一個(gè)非常重要的對(duì)象,是其他對(duì)象的基礎(chǔ)。沒有數(shù)據(jù)表,關(guān)鍵字、主鍵、索引等也就無(wú)從談起。在數(shù)據(jù)庫(kù)畫板中可以顯示數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表,創(chuàng)建數(shù)據(jù)表,修改表的定義等數(shù)據(jù)表是數(shù)據(jù)庫(kù)中一個(gè)非常重要的對(duì)象,是其他對(duì)象的基礎(chǔ)。根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對(duì)于本系統(tǒng)信息數(shù)據(jù)庫(kù)主要有訂單表如4-3-1所示,訂單用戶信息表如4-3-2所示:表4-3-1訂單表名稱類型空備注order_idorder_numorder_noticeother_noticestatesorder_dateuser_idmenu_idIntIntVarchar(255)Varchar(255)Varchar(255)Varchar(255)IntintNoYesYesYesYesYesYesyes主鍵訂單編號(hào)要求其他要求狀態(tài)日期用戶編號(hào)菜品編號(hào)表4-3-2訂單用戶信息表名稱類型空備注idadresstelmovPhonoticesend_dateuser_idIntIntVarchar(255)Varchar(255)Varchar(255)Varchar(255)IntNoYesYesYesYesYesYes主鍵地址固定電話手機(jī)備注送餐用戶編號(hào)4.4平臺(tái)數(shù)據(jù)表的實(shí)現(xiàn)

據(jù)平臺(tái)的需求分析和功能模塊的劃分,所涉及的實(shí)體有訂單表,訂單用戶信息表。訂單子系統(tǒng)數(shù)據(jù)庫(kù)需要建2張表:訂單表TB_ORDER如圖4-4-1所示,訂單用戶信息表Order_info如圖4-4-2所示:圖4-4-1訂單表TB_ORDER建表的SQL語(yǔ)句為:createtableTB_ORDERS(ORDER_IDNUMBER(10)NOTNULLPRIMARYKEY,ORDER_NUMNUMBER(10),OTHER_NOTICEVARCHAR2(255),ORDER_NOTICEVARCHAR2(255),STATESVARCHAR2(255),ORDER_DATEVARCHAR2(255),USER_IDNUMBER(10)referencesTB_USER(USER_ID),MENU_IDNUMBER(10)referencesTB_MENU(MENU_ID));圖4-4-1訂單表USER_INFO建表的SQL語(yǔ)句為:createtableUSER_INFO(IDNUMBER(10)NOTNULLPRIMARYKEY,ADDRESSVARCHAR2(255),TELVARCHAR2(255),MOVPHOVARCHAR2(255),NOTICEVARCHAR2(255),SEND_DATEVARCHAR2(255),USER_IDNUMBER(10)referencesTB_USER(USER_ID));5詳細(xì)設(shè)計(jì)5.1前臺(tái)訂單界面設(shè)計(jì)訂單管理模塊主要是對(duì)用戶的購(gòu)物車傳過(guò)來(lái)的數(shù)據(jù)進(jìn)行接收,這樣用戶在確認(rèn)自己的訂單沒有偏差之后,會(huì)有一個(gè)信息欄需要填寫,這個(gè)信息欄是有關(guān)用戶信息。通過(guò)用戶輸入的信息,管理員可以對(duì)于用戶的訂單進(jìn)行操作。訂單填寫頁(yè)面如圖5-1所示:圖5-1訂單填寫頁(yè)面當(dāng)用戶點(diǎn)擊確認(rèn)后會(huì)跳轉(zhuǎn)到承購(gòu)提交訂單的頁(yè)面如圖5-2所示:圖5-2當(dāng)用戶確認(rèn)訂單后可以選擇繼續(xù)購(gòu)物,或者查看自己的訂單。如果管理員沒有受理訂單相應(yīng)的該用戶是不會(huì)查詢出他對(duì)應(yīng)的訂單。用戶查詢訂單的界面如圖5-3所示:圖5-3實(shí)現(xiàn)該功能的主要代碼:用戶訂單查詢:Personp=personDao.findByName(n); UserInfouserinfo=personDao.findUser(p.getUser_id()); Set<Orders>set=personDao.find(p.getUser_id()); List<MenuList>list=newArrayList<MenuList>(); inti=1; for(Orderso:set) { MenuListml=newMenuList(); ml.setMenuId(i++); MyMenumenu=orderDao.find(o.getOrder_id()); ml.setOrderID(o.getOrder_id()); ml.setName(menu.getMenu_name()); ml.setCount(o.getOrder_num()); ml.setPrice(menu.getMenu_price()); ml.setState(o.getStates()); ml.setTotal(o.getOrder_num()*menu.getMenu_price()); ml.setUserID(p.getUser_id()); ml.setUsername(p.getUser_name()); if(userinfo!=null) { ml.setUserTel(userinfo.getMovPho()); ml.setSendTime(userinfo.getSendDate()); } list.add(ml); } ac.getSession().setAttribute("searchlist",list); ac.getSession().setAttribute("name",n);用戶添加訂單代碼:ist<MenuList>list=newArrayList<MenuList>(); QueryResult<Orders>qr=nextPage.viewList(orderDao,page,10,Orders.class,orderby); inti=1; for(Orderso:qr.getResultSet()) { MenuListml=newMenuList(); ml.setMenuId(i++); MyMenumenu=orderDao.find(o.getOrder_id()); ml.setOrderID(o.getOrder_id()); ml.setName(menu.getMenu_name()); ml.setCount(o.getOrder_num()); ml.setPrice(menu.getMenu_price()); ml.setTotal(o.getOrder_num()*menu.getMenu_price()); Personp=orderDao.findUserByID(o.getOrder_id()); ml.setUserID(p.getUser_id()); ml.setUsername(p.getUser_name()); UserInfoui=personDao.findUser(p.getUser_id()); if(ui!=null) { ml.setUserTel(ui.getMovPho()); ml.setSendTime(ui.getSendDate()); } list.add(ml); } returnlist;5.2后臺(tái)訂單管理頁(yè)面的設(shè)計(jì)后臺(tái)的訂單頁(yè)面主要是對(duì)于管理員來(lái)操作的,其功能主要是管理員對(duì)訂單進(jìn)行受理、查看等功能,本模塊暫時(shí)不支持對(duì)于訂單進(jìn)行刪除。為了方便用戶查詢自己的訂單,我們暫時(shí)不支持該功能。相應(yīng)的我們會(huì)在一段時(shí)間內(nèi)對(duì)訂單進(jìn)行統(tǒng)一的處理,后臺(tái)訂單的主頁(yè)面如圖5-4所示:圖5-4后臺(tái)訂單管理頁(yè)面實(shí)現(xiàn)該功能的主要代碼: HttpServletRequestac=ServletActionContext.getRequest(); intid=Integer.parseInt(ac.getParameter("orderID")); Stringsh=ac.getParameter("search"); //這里的sh只是一個(gè)標(biāo)志 Ordersorder=orderDao.find(Orders.class,id); order.setStates("0"); orderDao.update(order);if(sh==null||sh.equals("")) //如果它為空則僅僅執(zhí)行審查然后跳轉(zhuǎn)到update視圖 return"update"; else return"searched"; //不為空則跳轉(zhuǎn)到searched視圖 }6測(cè)試、測(cè)試是系統(tǒng)開發(fā)時(shí)期最后一個(gè)階段,是保證軟件質(zhì)量的重要手段。軟件測(cè)試就是在受控制的條件下對(duì)系統(tǒng)或應(yīng)用程序進(jìn)行操作并評(píng)價(jià)操作結(jié)果的過(guò)程,所謂控制條件應(yīng)包括正常條件與非正常條件。軟件測(cè)試過(guò)程中應(yīng)該故意地去促使錯(cuò)誤的發(fā)生,也就是事情在不該出現(xiàn)的時(shí)候出現(xiàn)或者在應(yīng)該出現(xiàn)的時(shí)候沒有出現(xiàn)。從本質(zhì)上說(shuō),軟件測(cè)試是"探測(cè)",在"探測(cè)"中發(fā)現(xiàn)軟件的毛病。6.1測(cè)試的重要性、目的及方法6.1.1測(cè)試重要性軟件的測(cè)試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測(cè)試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來(lái),軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測(cè)試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測(cè)試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測(cè)試的巨大困難。在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這些觀點(diǎn)對(duì)軟件測(cè)試工作是極為不利的,必須澄清認(rèn)識(shí)、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。6.1.2測(cè)試目的如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。其實(shí)這是不對(duì)的,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒有價(jià)值的,事實(shí)并非如此。首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。6.1.3測(cè)試方法軟件測(cè)試是用來(lái)發(fā)現(xiàn)系統(tǒng)和用戶需求不符合的過(guò)程。測(cè)試方法分為:白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試是對(duì)軟件過(guò)程性細(xì)節(jié)做出細(xì)致的檢查。這樣的方法是把測(cè)試對(duì)象看做是一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)以及有關(guān)的信息,設(shè)計(jì)或者選擇測(cè)試用例,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同的節(jié)點(diǎn)來(lái)檢查程序的狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期達(dá)成一致。因此,白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或者是邏輯測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:1.對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。2.對(duì)所有的邏輯判定,取“真”或者取“假”的兩種情況至少能測(cè)一遍。3.在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。4.測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。本次系統(tǒng)測(cè)試主要是選擇黑盒測(cè)試,軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行測(cè)試。這樣的方法是把測(cè)試對(duì)象看成一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部屬性,只是根據(jù)程序的需求規(guī)格說(shuō)明書,檢查程序的功能是否符合它的功能說(shuō)明,因此黑盒測(cè)試又叫功能測(cè)試或者數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:1.是否有不正確或遺漏的功能。

2.在接口上,輸入是否正確的接受,能否輸出正確的結(jié)果。

3.是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤。

4.性能上是否能夠滿足要求。

5.是否有初始化或者終止性錯(cuò)誤6.2測(cè)試的步驟與開發(fā)過(guò)程類似,測(cè)試過(guò)程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由若干個(gè)模塊組成。因此,大型軟件系統(tǒng)的測(cè)試基本上由下述幾個(gè)步驟組成:1.模塊測(cè)試在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。2.系統(tǒng)測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說(shuō)明中的錯(cuò)誤。3.驗(yàn)收測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說(shuō)明書中的錯(cuò)誤。6.3測(cè)試內(nèi)容6.3.1前臺(tái)訂單管理子系統(tǒng)的測(cè)試用戶信息填寫訂單時(shí)的測(cè)試:按提示信息后輸入的信息:地址:重慶師范大學(xué)惠風(fēng)苑3座203號(hào)房間送貨時(shí)間:2015-1-20-上午-11點(diǎn)移動(dòng)電話注:快點(diǎn)送來(lái)結(jié)果如圖6-1所示:圖6-1用戶輸入錯(cuò)誤的信息地址:重慶送貨時(shí)間:2015-1-20-上午-11點(diǎn)移動(dòng)電話:131123備注:快點(diǎn)送來(lái)結(jié)果如圖6-2所示: 圖6-2用戶查詢自己的訂單:輸入要查詢的用戶名:正確輸入:123查詢結(jié)果如圖6-3所示:圖6-3錯(cuò)誤輸入:沒有查詢結(jié)果如圖6-4所示:圖6-46.3.2后臺(tái)訂單管理子系統(tǒng)的測(cè)試訂單受理測(cè)試:訂單未受理之前的如圖6-5所示:圖6-5輸入:當(dāng)查詢出為受理訂單時(shí),點(diǎn)擊受理按鈕后看結(jié)果是否會(huì)發(fā)生變化結(jié)果如圖6-6、圖6-7所示:圖6-6圖6-76.4測(cè)試總結(jié)此次測(cè)試采用黑盒測(cè)試方法。做了許多測(cè)試用例,但限于篇幅只寫出了幾個(gè)典型的測(cè)試用例。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論