




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第第頁)校園B2C網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)──訂單管理子模塊的開發(fā)與實現(xiàn)摘要:二十一世紀是一個集數(shù)字化,網(wǎng)絡化,信息化的,以網(wǎng)絡為核心的社會。隨著Internet的飛速發(fā)展,使得網(wǎng)絡的應用日益的廣泛。由于,生活節(jié)奏的日益加快,人們對于就餐的方式也逐漸改變著,針對這一改變,網(wǎng)上訂餐變得越來越普遍。對此針對于大學生這一群體我們設(shè)計了校園網(wǎng)上訂餐系統(tǒng)。訂單管理是網(wǎng)上訂餐管理系統(tǒng)中不可缺少的一部分,他是整個網(wǎng)上訂餐管理系統(tǒng)中最后的一環(huán),主要的作用是保存用戶的訂餐信息,這樣餐廳就可以根據(jù)訂單來配送餐品。同樣餐廳也可以根據(jù)訂單的詳情來確定是否受理這個用戶的訂餐需求。同樣用戶也可以根據(jù)訂單管理來確認送到的餐品是否正確,對于下次點餐也起到參考的作用。訂單管理的實現(xiàn)是通過JSP來設(shè)計用戶交互界面,結(jié)合框架設(shè)計的后臺,數(shù)據(jù)庫是采用Oracle數(shù)據(jù)庫,它能夠處理大量的數(shù)據(jù),兼容性良好。首先在短時間內(nèi)建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成滿意的可行系統(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)代科學技術(shù)的不斷提高,現(xiàn)今的生活節(jié)奏加快,人們的生活也與傳統(tǒng)的生活模式有很大的不同。其中互聯(lián)網(wǎng)在人們的生活中得到了廣泛的應用,現(xiàn)在足不出戶,就能獲得自己需要的菜品和服務。人們對餐飲的要求也越來越高,不僅要求色香味俱全,而且對于就餐的時間和方式也有了更高的要求,許多顧客由于工作繁忙無法抽出時間來享受美味,一般是不愿自己去吃飯的,他們寧愿訂餐。在學校有很多的大學生在寢室里,不愿下寢室去吃飯,所以他們其中有很多的人喜歡訂餐。這時候他們必須有一個平臺來提供他們一些信息,網(wǎng)上訂餐系統(tǒng)就可以方便地為他們提供詳細的查詢。在互聯(lián)網(wǎng)世界里面,誰早一步在應用上創(chuàng)新,誰就掌握了未來的方向,誰便能把握機遇,成為時代的先驅(qū),成功的締造者網(wǎng)上訂餐系統(tǒng)開發(fā)是為了更好地適應市場需求,緩解餐館的地域限制,為消費者節(jié)省時間和精力、并實現(xiàn)更便捷的交易方式。通過網(wǎng)上訂餐系統(tǒng)使用戶可以足不出戶就能在網(wǎng)上進行查瀏覽菜品介紹、點菜訂餐,使管理人員快速方便的管理用戶、訂單以及菜單資料的維護,這樣使得訂餐變得更方便。1.2系統(tǒng)開發(fā)設(shè)計思想該系統(tǒng)是基于B2C(Business-to-Customer)模式實現(xiàn),基于Myeclipse集成開發(fā)環(huán)境平臺架構(gòu)開發(fā)設(shè)計。使用Java語言中的JSP技術(shù)和Mysql數(shù)據(jù)庫開發(fā),通過編寫JavaBeans來進行后臺業(yè)務邏輯控制,主要實現(xiàn)對網(wǎng)上訂餐的使用、需求、以及用戶訂餐的動態(tài)管理等。使得網(wǎng)上訂餐的管理更加及時、高效,提高了工作效率。該系統(tǒng)主要包括菜品管理,留言管理,預訂管理,用戶管理等幾個大的功能模塊。1.3開發(fā)工具和環(huán)境簡介1.3.1開發(fā)工具經(jīng)過比較,以及自己所掌握的知識所限,最終決定采用在Windows下使用JSP+Mysql開發(fā),該系統(tǒng)要到的主要工具有:MyEclipse:MyEclipse企業(yè)級工作平臺(MyEclipse
Enterprise
Workbench
,簡稱MyEclipse)是對Eclipse
IDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,CSS,Javascript,Struts,Spring,Hibernate,JSP,Tomcat,Mysql。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。Mysql:Mysql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典Mysql
AB公司。Mysql是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。Mysql的SQL“結(jié)構(gòu)化查詢語句”。SQL是用于訪問數(shù)據(jù)庫的最常用標準化語言。Mysql軟件采用了GPL。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了Mysql作為網(wǎng)站數(shù)據(jù)庫。Mysql的特性:性能快捷、優(yōu)化SQL語言容易使用、開放源代碼支持多線程,充分利用CPU資源可移植性和可靠性遵循國際標準和國際化支持,為多種編程語言提供APIJSP:JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應用程序的開發(fā)變得迅速和容易。JSP技術(shù)的優(yōu)點:一、一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。
二、系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。
三、強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。四、多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。1.3.2環(huán)境簡介軟件運行環(huán)境:操作系統(tǒng):Windows7操作系統(tǒng)數(shù)據(jù)庫:MySql網(wǎng)絡通信協(xié)議:TCP/IP支持軟件:MyEclipsetomcatJDK2需求分析2.1可行性分析2.1.1經(jīng)濟可行性由于這個項目是學校分配給我們的考慮到他的特殊性,所以無需購買新的設(shè)備和對開發(fā)人員的培訓等費用。所以,在經(jīng)濟上本系統(tǒng)的開發(fā)是可行的。此外系統(tǒng)對開發(fā)的需求以及軟硬件要求都不是很高,所以在軟硬件的支出上十分有限。因此,本系統(tǒng)在任何一臺連接Internet的機器上都可以運行,有很高的經(jīng)濟可行性。按上述兩方面進行可行性分析、研究后,我們認為該項目在技術(shù)上是可行的,在經(jīng)濟上也是沒問題的,所以完全可以進行開發(fā)。2.1.2技術(shù)可行性本系統(tǒng)選擇jsp作為開發(fā)語言,選擇Mysql作為后臺數(shù)據(jù)庫,采用B2C結(jié)構(gòu),使用hibernate連接數(shù)據(jù)庫。而JSP可以創(chuàng)建和運用動態(tài)、交互的WEB服務器應用程序。同時,JSP具有向跨平臺跨服務器的優(yōu)點。Mysql是一個杰出的數(shù)據(jù)庫平臺,具有功能強大,很好的可移植性等特點,可用于開發(fā)研究等。所以在技術(shù)方面理論上是可行的。2.1.3法律可行性本系統(tǒng)沒有侵犯個人隱私和個人責任方面的問題,使用本系統(tǒng)不會引起法律方面的糾紛問題,所以開發(fā)本系統(tǒng)具有法律可行性。綜上所述,本系統(tǒng)的開發(fā)是符合現(xiàn)在的實際情況的,并具有一定的實用意義。在技術(shù)、經(jīng)濟、操作上,法律上都可以看到此系統(tǒng)的可行性,并且很具有其實現(xiàn)的必要。2.2用戶需求分析2.2.1功能分析作為一個網(wǎng)上訂餐系統(tǒng)的訂單管理子系統(tǒng)。首先為了保證客戶能夠很好的對餐品進行選購,在訂單的需求是產(chǎn)品的用戶能有效的保存客戶的信息,這對于配送貨物來說是必不可少的。在后臺方便用戶能對訂單進行操作,相應的處理客戶的請求。功能如表2-1所示:表2-1前臺功能功能模塊說明網(wǎng)上訂餐后臺登錄訂單的填寫與配送通過相關(guān)驗證,管理員對于訂單進行操作后臺功能如表2-2所示:表2-2后臺功能功能模塊說明訂單管理對訂單進行操作2.2.2用例分析用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進行建模,用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。本系統(tǒng)業(yè)務用例圖如圖2-3所示:訂單后臺登陸前臺登陸填寫操作訂單后臺登陸前臺登陸圖2-3業(yè)務圖本系統(tǒng)分管理員和用戶2個權(quán)限。管理員主要功能:訂單管理、添加訂單。用戶主要功能是:訂單查詢,添加訂單。本系統(tǒng)的主要角色包括管理員、普通用戶。下面介紹應用程序的主要用例:如表2-4所示:表2-4管理員用例圖功能模塊說明填寫訂單訂單管理訂單的填寫對訂單進行相關(guān)的操作顧客用例描述如表2-5所示:表2-5顧客用例圖功能模塊說明填寫訂單訂單查詢訂單的填寫查詢自己的訂單2.3業(yè)務流程分析業(yè)務流程分析該系統(tǒng)應該主要的用戶有兩大類,一是賣家,在使用系統(tǒng)時為管理員身份;而是買家,在使用時是普通身份。下面分別就這兩類用戶介紹具體的業(yè)務流程。2.3.1管理員業(yè)務流程分析1.輸入網(wǎng)址,進入網(wǎng)站主頁面。2.輸入用戶名和密碼并登錄并判斷,跳轉(zhuǎn)到管理員界面3.登錄成功后便可以使用下訂單,查詢訂單等功能4.點擊訂單管理后即可對網(wǎng)站內(nèi)儲存的訂單信息,進行相應的適當操作,以維護網(wǎng)站的正常運行5.注銷登錄,退出網(wǎng)站2.3.2普通用戶業(yè)務流程1.輸入網(wǎng)址,進入網(wǎng)站主頁面。2.若是已經(jīng)注冊用戶,可以直接登錄。若不是,則先注冊,再登錄。3.登錄成功后即可以使用網(wǎng)站的下訂單功能和查看訂單功能等。2.4數(shù)據(jù)流程圖系統(tǒng)中的數(shù)據(jù)流程圖是結(jié)構(gòu)化系統(tǒng)分析的工具。它既可以表達數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向及存儲,又可以表達系統(tǒng)的邏輯功能和數(shù)據(jù)的邏輯變換。數(shù)據(jù)流程圖既能表達現(xiàn)行人工系統(tǒng)的數(shù)據(jù)流程和邏輯處理功能,也能表達自動化系統(tǒng)的數(shù)據(jù)流程和邏輯處理功能。數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型開始開始用戶注冊用戶登錄用戶注冊用戶登錄N驗證身份填寫信息驗證身份填寫信息Y登陸成功注冊成功登陸成功注冊成功瀏覽菜單瀏覽菜單加入購物車加入購物車確認訂單確認訂單提交訂單提交訂單退出退出結(jié)束結(jié)束圖2-4-1用戶業(yè)務流程數(shù)據(jù)流圖英文縮寫DFD(Data
Flow
Diagram)它是描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程本系統(tǒng)主要的數(shù)據(jù)流圖如圖2-4-2所示:用戶表管理員登陸注冊登陸登陸注冊登陸接受/查看訂單表接受/查看管理員訂單管理員用戶訂單用戶圖2-4-2數(shù)據(jù)流程圖3概要設(shè)計3.1訂單子系統(tǒng)的功能模塊概要設(shè)計本網(wǎng)上訂餐中的訂單管理子系統(tǒng)的功能模塊主要分為前臺功能模塊和后臺功能模塊,前臺功能模塊主要是填寫訂單并提交,查看用戶自己的訂單。后臺功能模塊主要是管理員對于訂單的管理,如果管理員想訂餐也是可以實現(xiàn)的。3.1.1用戶模塊概要設(shè)計網(wǎng)上訂餐系統(tǒng)用戶功能模塊圖如圖3-1所示:普通用戶普通用戶提交訂單查詢訂單提交訂單查詢訂單圖3-1網(wǎng)上訂餐系統(tǒng)用戶功能模塊圖首先用戶首先登錄網(wǎng)站,如果用戶還沒有登錄名,要先進行注冊。注冊后,在登錄時用戶名與密碼驗證通過就能進入網(wǎng)站系統(tǒng)進行菜品的選擇以及訂單生成。如果用戶名不存在或密碼不正確,則提示重新登錄。用戶成功登錄之后,進入主頁面,用戶便可以使用訂單查看功能。3.1.2管理員功能模塊概要設(shè)計網(wǎng)上訂餐系統(tǒng)管理員功能模塊圖如圖3-2所示:管理員管理員訂單管理提交訂單訂單管理提交訂單圖3-2網(wǎng)上訂餐系統(tǒng)管理員功能模塊圖管理員模塊又可分為幾個小模塊:管理員先登錄,登錄成功后會跳入到后臺的管理界面,他可以給自己點的菜品下訂單同時也可以對用戶的訂餐訂單進行管理。4數(shù)據(jù)庫設(shè)計4.1概念模型設(shè)計概念模型設(shè)計的典型方法是用E-R圖方法,E-R圖也即實體-聯(lián)系圖(EntityRelationshipDiagram),提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。網(wǎng)上訂餐管理系統(tǒng)中構(gòu)成E-R圖的基本要素是實體型、屬性和聯(lián)系,其表示方法為:實體型(Entity):具有相同屬性的實體具有相同的特征和性質(zhì),用實體名及其屬性名集合來抽象和刻畫同類實體;在E-R圖中用矩形表示,矩形框內(nèi)寫明實體名;比如本系統(tǒng)中的管理員和用戶都是實體。如果是弱實體的話,在矩形外面再套實線矩形。屬性(Attribute):實體所具有的某一特性,一個實體可由若干個屬性來刻畫。在E-R圖中用橢圓形表示,并用無向邊將其與相應的實體連接起來;比如本系統(tǒng)中用戶的用戶名,用戶密碼;訂單的訂單號,下單日期等都是屬性。如果是多值屬性的話,再橢圓形外面再套實線橢圓。如果是派生屬性則用虛線橢圓表示。聯(lián)系(Relationship):聯(lián)系也稱關(guān)系,信息世界中反映實體內(nèi)部或?qū)嶓w之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。在E-R圖中用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1,1:n或m:n),如本系統(tǒng)中的管理,管理員可以管理菜單,管理員對菜單是1:n。網(wǎng)上訂餐管理系統(tǒng)E-R圖如圖4-1所示:圖4-1E-R圖4.2數(shù)據(jù)庫邏輯模型依據(jù)團建工程數(shù)據(jù)設(shè)計規(guī)范和系統(tǒng)E-R圖,訂單管理子系統(tǒng)的數(shù)據(jù)邏輯模型如下,包括2表:訂單表(編號,訂單編號,要求,其他要求,狀態(tài),日期,用戶編號,菜品編號)。訂單用戶信息表(編號,住址,固定電話,手機,備注,送餐日期,用戶編號);4.3數(shù)據(jù)庫表設(shè)計數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎(chǔ)。沒有數(shù)據(jù)表,關(guān)鍵字、主鍵、索引等也就無從談起。在數(shù)據(jù)庫畫板中可以顯示數(shù)據(jù)庫中的所有數(shù)據(jù)表,創(chuàng)建數(shù)據(jù)表,修改表的定義等數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎(chǔ)。根據(jù)系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,對于本系統(tǒng)信息數(shù)據(jù)庫主要有訂單表如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主鍵訂單編號要求其他要求狀態(tài)日期用戶編號菜品編號表4-3-2訂單用戶信息表名稱類型空備注idadresstelmovPhonoticesend_dateuser_idIntIntVarchar(255)Varchar(255)Varchar(255)Varchar(255)IntNoYesYesYesYesYesYes主鍵地址固定電話手機備注送餐用戶編號4.4平臺數(shù)據(jù)表的實現(xiàn)
據(jù)平臺的需求分析和功能模塊的劃分,所涉及的實體有訂單表,訂單用戶信息表。訂單子系統(tǒng)數(shù)據(jù)庫需要建2張表:訂單表TB_ORDER如圖4-4-1所示,訂單用戶信息表Order_info如圖4-4-2所示:圖4-4-1訂單表TB_ORDER建表的SQL語句為: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語句為:createtableUSER_INFO(IDNUMBER(10)NOTNULLPRIMARYKEY,ADDRESSVARCHAR2(255),TELVARCHAR2(255),MOVPHOVARCHAR2(255),NOTICEVARCHAR2(255),SEND_DATEVARCHAR2(255),USER_IDNUMBER(10)referencesTB_USER(USER_ID));5詳細設(shè)計5.1前臺訂單界面設(shè)計訂單管理模塊主要是對用戶的購物車傳過來的數(shù)據(jù)進行接收,這樣用戶在確認自己的訂單沒有偏差之后,會有一個信息欄需要填寫,這個信息欄是有關(guān)用戶信息。通過用戶輸入的信息,管理員可以對于用戶的訂單進行操作。訂單填寫頁面如圖5-1所示:圖5-1訂單填寫頁面當用戶點擊確認后會跳轉(zhuǎn)到承購提交訂單的頁面如圖5-2所示:圖5-2當用戶確認訂單后可以選擇繼續(xù)購物,或者查看自己的訂單。如果管理員沒有受理訂單相應的該用戶是不會查詢出他對應的訂單。用戶查詢訂單的界面如圖5-3所示:圖5-3實現(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后臺訂單管理頁面的設(shè)計后臺的訂單頁面主要是對于管理員來操作的,其功能主要是管理員對訂單進行受理、查看等功能,本模塊暫時不支持對于訂單進行刪除。為了方便用戶查詢自己的訂單,我們暫時不支持該功能。相應的我們會在一段時間內(nèi)對訂單進行統(tǒng)一的處理,后臺訂單的主頁面如圖5-4所示:圖5-4后臺訂單管理頁面實現(xiàn)該功能的主要代碼: HttpServletRequestac=ServletActionContext.getRequest(); intid=Integer.parseInt(ac.getParameter("orderID")); Stringsh=ac.getParameter("search"); //這里的sh只是一個標志 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測試、測試是系統(tǒng)開發(fā)時期最后一個階段,是保證軟件質(zhì)量的重要手段。軟件測試就是在受控制的條件下對系統(tǒng)或應用程序進行操作并評價操作結(jié)果的過程,所謂控制條件應包括正常條件與非正常條件。軟件測試過程中應該故意地去促使錯誤的發(fā)生,也就是事情在不該出現(xiàn)的時候出現(xiàn)或者在應該出現(xiàn)的時候沒有出現(xiàn)。從本質(zhì)上說,軟件測試是"探測",在"探測"中發(fā)現(xiàn)軟件的毛病。6.1測試的重要性、目的及方法6.1.1測試重要性軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這些觀點對軟件測試工作是極為不利的,必須澄清認識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。6.1.2測試目的如果測試的目的是為了盡可能多地找出錯誤,那么測試就應該直接針對軟件比較復雜的部分或是以前出錯比較多的位置。其實這是不對的,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;是為了證明程序有錯,而不是證明程序無錯誤;一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導,認為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。6.1.3測試方法軟件測試是用來發(fā)現(xiàn)系統(tǒng)和用戶需求不符合的過程。測試方法分為:白盒測試和黑盒測試。白盒測試是對軟件過程性細節(jié)做出細致的檢查。這樣的方法是把測試對象看做是一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)以及有關(guān)的信息,設(shè)計或者選擇測試用例,對程序所有的邏輯路徑進行測試。通過在不同的節(jié)點來檢查程序的狀態(tài),確定實際狀態(tài)是否與預期達成一致。因此,白盒測試又稱為結(jié)構(gòu)測試或者是邏輯測試。白盒測試主要是想對程序模塊進行如下檢查:1.對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。2.對所有的邏輯判定,取“真”或者取“假”的兩種情況至少能測一遍。3.在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體。4.測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。本次系統(tǒng)測試主要是選擇黑盒測試,軟件的黑盒測試意味著測試要在軟件的接口處進行測試。這樣的方法是把測試對象看成一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部屬性,只是根據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明,因此黑盒測試又叫功能測試或者數(shù)據(jù)驅(qū)動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:1.是否有不正確或遺漏的功能。
2.在接口上,輸入是否正確的接受,能否輸出正確的結(jié)果。
3.是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤。
4.性能上是否能夠滿足要求。
5.是否有初始化或者終止性錯誤6.2測試的步驟與開發(fā)過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由若干個模塊組成。因此,大型軟件系統(tǒng)的測試基本上由下述幾個步驟組成:1.模塊測試在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設(shè)計的錯誤。2.系統(tǒng)測試在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。3.驗收測試在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。6.3測試內(nèi)容6.3.1前臺訂單管理子系統(tǒng)的測試用戶信息填寫訂單時的測試:按提示信息后輸入的信息:地址:重慶師范大學惠風苑3座203號房間送貨時間:2015-1-20-上午-11點移動電話注:快點送來結(jié)果如圖6-1所示:圖6-1用戶輸入錯誤的信息地址:重慶送貨時間:2015-1-20-上午-11點移動電話:131123備注:快點送來結(jié)果如圖6-2所示: 圖6-2用戶查詢自己的訂單:輸入要查詢的用戶名:正確輸入:123查詢結(jié)果如圖6-3所示:圖6-3錯誤輸入:沒有查詢結(jié)果如圖6-4所示:圖6-46.3.2后臺訂單管理子系統(tǒng)的測試訂單受理測試:訂單未受理之前的如圖6-5所示:圖6-5輸入:當查詢出為受理訂單時,點擊受理按鈕后看結(jié)果是否會發(fā)生變化結(jié)果如圖6-6、圖6-7所示:圖6-6圖6-76.4測試總結(jié)此次測試采用黑盒測試方法。做了許多測試用例,但限于篇幅只寫出了幾個典型的測試用例。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寧波諾丁漢大學《白描花卉臨摹與寫生》2023-2024學年第一學期期末試卷
- 網(wǎng)頁設(shè)計與制作項目式教程(HTML CSS)(慕課版)-習題及答案 項目四
- 山東省昌樂縣第二中學2025年高三物理試題查缺補漏試題(文理)含解析
- 內(nèi)蒙古大學創(chuàng)業(yè)學院《口腔頜面部解剖》2023-2024學年第二學期期末試卷
- 2025年中考語文熱點寫作素材積累:澳門回歸之盛世蓮花譜寫“一國兩制”新篇章
- 2023年上海高考語文試卷(含答案)
- 基礎(chǔ)梁架空施工方案
- 橡膠制品施工方案
- 2025年四愛屬性測試題及答案
- 5年級下冊英語外研版第一模塊課文
- 腰椎ODI評分完整版
- 最新-吡格列酮研究進展-課件
- 單相電和三相電課件
- 俄羅斯的經(jīng)濟與政治課件
- 01車輪踏面清掃裝置左
- 中國氣血健康白皮書
- 化學品安全技術(shù)說明書 MSDS( 石腦油)
- DB13T 5542-2022 水利水電工程施工組織設(shè)計編制指南
- 二期6KV系統(tǒng)1
- 研究生面試復試英語+常問問題
- 安徽省教育科學研究項目課題申請書【模板】
評論
0/150
提交評論