非標(biāo)準(zhǔn)化旅游產(chǎn)品預(yù)訂系統(tǒng)的實(shí)現(xiàn)方法研究-計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)畢業(yè)設(shè)計(jì)-畢業(yè)論文_第1頁(yè)
非標(biāo)準(zhǔn)化旅游產(chǎn)品預(yù)訂系統(tǒng)的實(shí)現(xiàn)方法研究-計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)畢業(yè)設(shè)計(jì)-畢業(yè)論文_第2頁(yè)
非標(biāo)準(zhǔn)化旅游產(chǎn)品預(yù)訂系統(tǒng)的實(shí)現(xiàn)方法研究-計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)畢業(yè)設(shè)計(jì)-畢業(yè)論文_第3頁(yè)
非標(biāo)準(zhǔn)化旅游產(chǎn)品預(yù)訂系統(tǒng)的實(shí)現(xiàn)方法研究-計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)畢業(yè)設(shè)計(jì)-畢業(yè)論文_第4頁(yè)
非標(biāo)準(zhǔn)化旅游產(chǎn)品預(yù)訂系統(tǒng)的實(shí)現(xiàn)方法研究-計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)畢業(yè)設(shè)計(jì)-畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE33 摘要 本文針對(duì)用戶沒有時(shí)間買票、買票難以及目前旅游公司靠人工的記錄客戶的火車票需求信息的情況而開發(fā)了這款火車票網(wǎng)上在線預(yù)訂管理系統(tǒng)。本系統(tǒng)的研究可以解決這一問題,系統(tǒng)的實(shí)現(xiàn)不僅讓旅客能更加方便更加快捷地預(yù)訂火車票這一產(chǎn)品,也極大地減輕旅游公司在火車票預(yù)訂這塊的人力物力財(cái)力,提高公司的盈利。此次系統(tǒng)的開發(fā)按照軟件工程的結(jié)構(gòu)化設(shè)計(jì)思想,經(jīng)過項(xiàng)目的可行性研究和需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì),以及編碼實(shí)現(xiàn)和調(diào)試等步驟進(jìn)行設(shè)計(jì)開發(fā)。并運(yùn)用數(shù)據(jù)流圖和數(shù)據(jù)字典、E-R圖和數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)、層次圖、系統(tǒng)流程圖、以及程序流程圖,對(duì)該系統(tǒng)的數(shù)據(jù)需求、數(shù)據(jù)庫(kù)、系統(tǒng)軟件結(jié)構(gòu)、系統(tǒng)流程、以及處理過程等進(jìn)行了分析和設(shè)計(jì)。 本次設(shè)計(jì)采用java語(yǔ)言、jsp、struts和spring框架、MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)以及MyEclipse開發(fā)工具來(lái)開發(fā)一個(gè)基于網(wǎng)站的火車票預(yù)訂管理系統(tǒng),使得公司管理員能夠有效地管理車次、旅客信息、退票信息。同時(shí)旅客可以通過查詢到相關(guān)的火車票信息,選擇適合自己的車票,也可以直接在網(wǎng)上訂票、退票,省時(shí)省力。 火車票網(wǎng)上在線預(yù)訂管理系統(tǒng)在功能上已基本實(shí)現(xiàn)管理員在后臺(tái)進(jìn)行車次信息、訂單信息、注冊(cè)會(huì)員信息等模塊的相關(guān)操作以及管理員身份驗(yàn)證和用戶在前臺(tái)注冊(cè)、身份驗(yàn)證,以及查詢余票、訂票、退票的相關(guān)操作。此系統(tǒng)操作簡(jiǎn)單、界面簡(jiǎn)潔,使用人員稍加培訓(xùn)就可以完全掌握和使用該系統(tǒng)。此系統(tǒng)的缺陷就是界面不夠絢麗,比較單一,同時(shí)有些模塊功能的設(shè)計(jì)考慮得不是很周全。關(guān)鍵詞:信息管理;火車售票;數(shù)據(jù)庫(kù)管理系統(tǒng) Abstract Thetrainticketsonlinebookingmanagementsystem,whichispresentedinthispaper,isdevelopedtosolvethreefollowingproblems.Thefirstproblemistheuserdoesnothavetimetobuytickets.Thesecondproblemisthatitisdifficultfortheuserstobuytickets.Thethirdproblemisthattravelcompaniesrelyonthemanualrecordofcustomerdemandinformation.Thissystemcansolvethisproblem,theimplementationofthesystemnotonlywillenabletravelersbookingtrainticketsmoreconvenientandfaster,butalsogreatlyreducethecostoftravelcompanyonhuman,materialandfinancialresourcesforbookingtraintickets,soastoimprovetheprofitabilityofthecompany.Thedevelopmentofthissystem,whichisbasedonstructureddesignmethodofsoftwareengineering,canbedividedintofeasibilitystudy,requirementsanalysis,systemdesign,detaildesign.Inthedesignphase,datafollowchart,datadictionary,E-Rgraphic,databaselogicalstructure,andtypicalUMLmodelingfacilitysuchasclassdiagram,activitydiagram,usecasediagramandsequencediagramareuesdtoanalysisanddesignthedatademandofthesystem,thedatabase,thesoftwarestructure,systemprocessandtreatmentprocess. Thedesignusesthejavalanguage,jsp,strutsandthespringframework,MySQLdatabasemanagementsystem,aswellastheMyEclipsedevelopmenttoolstodevelopaweb-basedtrainticketbookingsystem,makingthecompanyadministratormanagethetrips,passengerinformation,refundinformationeffectively.Atthesametimevisitorscanquerytherelevantticketinformation,chooseticket,butalsodirectlybookonline,andrefund,soastosavetimeandeffort. Trainticketsonlinebookingmanagementsystemhasthebasicfunctions.Firstlyadministratorscanmanagetripsinformation,orderinformation,memberinformation.Secondlyadministratorshavetoauthenticatebythesystem.Thirdlyuserscanregisterintheforeground,authenticate,performquery,booking,andrefund-relatedoperations.Thissystemisuser-friendly.Afterminimaltraining,theuserscanfullygraspandusethesystem.Thedefectsofthissystemisthattheinterfaceisnotbrilliant,relativelysimple,thedesignconsiderationsofsomemodulefunctionalityisnotverycomprehensive.Keywords:Informationmanagement;Ticketselling;Databasemanagement目錄TOC\o"1-4"\h\z\u1緒論 11.1引言 11.2問題描述 11.3任務(wù) 11.4本論文的主要結(jié)構(gòu) 22系統(tǒng)的可行性研究與需求分析 32.1可行性研究 32.1.1經(jīng)濟(jì)可行性 32.1.2技術(shù)可行性 32.1.3操作可行性 32.2需求分析 32.2.1功能需求 42.2.2數(shù)據(jù)需求 52.2.3性能需求 62.2.4數(shù)據(jù)流圖 62.2.5數(shù)據(jù)字典 72.2.6實(shí)體-聯(lián)系圖 92.2.7數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu) 103系統(tǒng)的總體設(shè)計(jì) 123.1系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì) 123.1.1軟件結(jié)構(gòu) 123.2系統(tǒng)流程圖 134系統(tǒng)的詳細(xì)設(shè)計(jì) 174.1接口設(shè)計(jì) 174.1.1用戶接口 174.1.2外部接口 174.1.3內(nèi)部接口 174.1.4軟件接口 174.1.5模塊內(nèi)部 184.2過程設(shè)計(jì) 184.2.1程序流程圖 185系統(tǒng)的實(shí)現(xiàn)與調(diào)試 205.1應(yīng)用系統(tǒng)的開發(fā)及測(cè)試 205.1.1后臺(tái)管理系統(tǒng)運(yùn)行結(jié)果截圖: 215.1.2前臺(tái)訂票網(wǎng)站運(yùn)行截圖 316結(jié)論 396.1系統(tǒng)評(píng)價(jià) 396.2安全性 39參考文獻(xiàn) 40致謝 411緒論1.1引言 隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)在人們的生活中扮演著越來(lái)越重要的角色。傳統(tǒng)的紙質(zhì)火車票、飛機(jī)票也慢慢被電子票所取代,而人工記錄火車票的預(yù)訂銷售也逐漸以網(wǎng)上預(yù)訂系統(tǒng)來(lái)代替。在線火車票預(yù)訂管理系統(tǒng)有著查找迅速、方便、可靠性強(qiáng)、存儲(chǔ)量大等傳統(tǒng)人工記錄無(wú)法比擬的優(yōu)勢(shì)。 傳統(tǒng)的人工去記錄用戶的火車票預(yù)訂信息,不僅效率低下,也很不方便,更容易造成數(shù)據(jù)上的混亂,另外很難應(yīng)付車票訂購(gòu)高峰時(shí)刻的大量數(shù)據(jù)處理問題,還會(huì)出現(xiàn)由此帶來(lái)的大量記錄存放和管理所帶來(lái)的問題。客戶預(yù)訂火車票也很不方便。本系統(tǒng)的研究可以解決這一問題。系統(tǒng)的實(shí)現(xiàn)不僅讓旅客能更加方便更加快捷地預(yù)訂火車票這一產(chǎn)品,也極大地減輕公司在火車票預(yù)訂這塊的人力物力財(cái)力,提高公司的盈利。1.2問題描述 許多的旅行網(wǎng)站中提供標(biāo)準(zhǔn)化的旅游產(chǎn)品,方便了人們的出行,帶來(lái)生活上的便利。但是在旅游公司中像火車票這類隨意性很強(qiáng)的非標(biāo)準(zhǔn)化產(chǎn)品卻一直由員工手工進(jìn)行記錄,不僅效率低下,也很不方便,更容易造成數(shù)據(jù)上的混亂。另外很難應(yīng)付車票訂購(gòu)高峰時(shí)刻的大量數(shù)據(jù)處理問題,還會(huì)出現(xiàn)由此帶來(lái)的大量記錄存放和管理所帶來(lái)的問題。同時(shí)手工記錄會(huì)經(jīng)常記錄錯(cuò)誤的需求信息,不僅客戶帶來(lái)極大的不便,而且還會(huì)給客戶留下不好的印象。因此建立火車票預(yù)訂管理系統(tǒng)是一個(gè)很好的解決辦法。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)火車票信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn):查找迅速、方便、可靠性強(qiáng)、存儲(chǔ)量大等。這些優(yōu)點(diǎn)能夠極大地提高公司在火車票預(yù)訂信息管理方面的效率,同時(shí)節(jié)約了成本提高了收入。因此本文所研究的火車票預(yù)訂管理系統(tǒng)分為后臺(tái)管理系統(tǒng)和前臺(tái)預(yù)訂系統(tǒng)。后臺(tái)管理系統(tǒng)主要是生成車次信息供旅客去訂票參考,以及后臺(tái)供管理員對(duì)車次信息、訂單信息、管理員信息以及會(huì)員信息的管理操作,而前臺(tái)主要供用戶去注冊(cè)、查詢火車票、預(yù)訂火車票、查詢訂單、退票的相關(guān)操作。同時(shí)前后臺(tái)分開給管理員和普通的用戶使用,不同的用戶分配有不同的權(quán)限,不僅明確了使用人群,而且也較大的提高了火車票預(yù)訂管理系統(tǒng)的安全性。操作簡(jiǎn)單、安全可靠、界面美觀的火車票在線預(yù)訂管理系統(tǒng)優(yōu)勢(shì)顯而易見。1.3任務(wù) 本次設(shè)計(jì)采用java語(yǔ)言[1][2]、jsp、struts和spring框架、MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)以及MyEclipse開發(fā)工具[3]來(lái)開發(fā)一個(gè)基于網(wǎng)站的火車票預(yù)訂管理系統(tǒng),使得公司管理員能夠有效地管理車次、旅客信息、退票信息。同時(shí)旅客可以通過查詢到相關(guān)的火車票信息,選擇適合自己的車票,也可以直接在網(wǎng)上訂票、退票,省時(shí)省力。1.4本論文的主要結(jié)構(gòu) 本學(xué)位論文主要由五個(gè)部分組成,其內(nèi)容具體安排如: 第一部分是緒論。主要介紹了本課題的來(lái)源、選題背景、問題描述和論文的主要結(jié)構(gòu)。 第二部分介紹系統(tǒng)的可行性研究與需求分析。 第三部分介紹系統(tǒng)的總體設(shè)計(jì)。 第四部分介紹系統(tǒng)的詳細(xì)設(shè)計(jì)。 第五部分是介紹系統(tǒng)的實(shí)現(xiàn)與調(diào)試。 第六部分是本課題研究的結(jié)論。2系統(tǒng)的可行性研究與需求分析2.1可行性研究 該階段通過對(duì)系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們?cè)谶@里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三方面進(jìn)行分析。2.1.1經(jīng)濟(jì)可行性 開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的網(wǎng)上訂票系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。2.1.2技術(shù)可行性 開發(fā)工具:Myeclipse 數(shù)據(jù)庫(kù)環(huán)境:Mysql 系統(tǒng)環(huán)境:MicrosoftWindows2000或以上版本。 系統(tǒng)實(shí)現(xiàn)依靠相對(duì)熟悉的Java語(yǔ)言[4]、jsp技術(shù)[5]、struts2和spring框架、Mysql數(shù)據(jù)庫(kù)系統(tǒng)[6],其基本操作實(shí)質(zhì)還是對(duì)數(shù)據(jù)庫(kù)進(jìn)行添加、刪除、查找等操作,暫不存在技術(shù)問題。2.1.3操作可行性 系統(tǒng)采用菜單式,實(shí)現(xiàn)用戶與數(shù)據(jù)庫(kù)的交互、界面簡(jiǎn)潔友好、操作方便。用戶只需對(duì)訂票流程和業(yè)務(wù)調(diào)查了解即可,不需掌握數(shù)據(jù)庫(kù)等相關(guān)知識(shí)。2.2需求分析 需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對(duì)訂票系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo),并對(duì)系統(tǒng)所需要的基礎(chǔ)數(shù)據(jù)以及數(shù)據(jù)處理要求進(jìn)行分析,從而確定用戶的需求。用戶對(duì)系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。2.2.1功能需求 系統(tǒng)的輸入顯示信息都在jsp頁(yè)面中[7][8][9][10],網(wǎng)上訂票系統(tǒng)中應(yīng)該具備如下功能: 后臺(tái)模塊: 登錄:管理員通過輸入自己正確的用戶名、密碼以及驗(yàn)證碼登入到后臺(tái)管理系統(tǒng),若登錄失敗,將會(huì)給出錯(cuò)誤提示并在3秒鐘內(nèi)跳轉(zhuǎn)到登陸界面。 2.管理員信息管理 管理員成功登錄到后臺(tái)管理頁(yè)面之后可以通關(guān)管理員信息管理模塊修改自己的用戶名和密碼信息,并將修改后的信息保存到數(shù)據(jù)庫(kù)中。 3.車次信息管理 ①添加車次信息:管理員成功登錄到后臺(tái)管理頁(yè)面之后可以批量的添加車次信息車次信息包括:車次編號(hào)、始發(fā)站、終點(diǎn)站、出發(fā)時(shí)間、到達(dá)時(shí)間、到達(dá)時(shí)間、硬座剩余票、硬座價(jià)格、臥鋪剩余票、臥鋪價(jià)格。這些信息是必須填寫的。 ②車次信息查詢:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的車次信息,查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。 ③車次信息修改:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的車次信息,在查詢結(jié)果中選中要進(jìn)行修改的車次信息進(jìn)行修改。 ④車次信息刪除:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的車次信息,在查詢結(jié)果中選中要進(jìn)行修改的車次信息進(jìn)行刪除。 4.訂單管理 ①訂單信息查詢:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的車次信息,查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。 ②訂單信息修改:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的訂單信息,在查詢結(jié)果中選中要進(jìn)行修改的訂單信息進(jìn)行修改。 5.會(huì)員管理 ①會(huì)員信息查詢:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的會(huì)員信息,查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。 ②會(huì)員信息修改:管理員可以通過動(dòng)態(tài)條件查詢相應(yīng)的會(huì)員信息,在查詢結(jié)果中選中要進(jìn)行修改的會(huì)員信息進(jìn)行修改。 前臺(tái)模塊: 1.會(huì)員注冊(cè) 會(huì)員在進(jìn)入火車票預(yù)訂網(wǎng)站之后可通過會(huì)員注冊(cè)模塊進(jìn)行注冊(cè)。 2.會(huì)員登錄 會(huì)員通過自己注冊(cè)的用戶名和密碼進(jìn)行登錄火車票預(yù)訂網(wǎng)站,若會(huì)員沒有注冊(cè)或者登錄失敗將只能查詢火車票的相關(guān)信息,但是不能進(jìn)行預(yù)訂的活動(dòng)。 3.車票信息查詢分為對(duì)車次信息的查詢和客戶對(duì)已訂車票信息的查詢,要求: ①對(duì)車次的查詢,可以按照車次編號(hào)、始發(fā)站、終點(diǎn)站、出發(fā)時(shí)間進(jìn)行查詢,結(jié)果以分頁(yè)形式展現(xiàn)給用戶。 ②車次信息包括:車次編號(hào)、始發(fā)站、終點(diǎn)站、發(fā)車時(shí)間、到達(dá)時(shí)間、剩余票數(shù),票價(jià)。 ③車次信息只允許用戶查詢,不能修改。 ④訂單信息查詢:可以按照字的身份證號(hào)、訂票的起始時(shí)間等動(dòng)態(tài)條件進(jìn)行查詢結(jié)果以分頁(yè)形式展現(xiàn)給用戶。 4.訂票 通過查詢系統(tǒng),客戶根據(jù)自己的需求找到滿意的車次,再輸入個(gè)人信息后直接通過網(wǎng)上訂票確定已預(yù)訂選中的車票,要求:訂票記錄應(yīng)包括:姓名、手機(jī)號(hào)、身份證號(hào)、車次編號(hào)、出發(fā)時(shí)間、票類型、總價(jià)、座位類型、訂購(gòu)日期。 5.退票 可退票,通過查詢系統(tǒng),客戶可以根據(jù)自己的身份證,或者訂票起始時(shí)間找到自己的訂單信息,通過點(diǎn)擊退票退去已購(gòu)車票。2.2.2數(shù)據(jù)需求 信息需求,即在系統(tǒng)中需要處理哪些數(shù)據(jù)。本系統(tǒng)的信息需求如表2.1所示。 表2.1信息輸入輸出信息輸入信息處理信息輸出用戶輸入車次編號(hào),或者始發(fā)站、終點(diǎn)站、出發(fā)時(shí)間檢索系統(tǒng)數(shù)據(jù)庫(kù)符合用戶需求的車次及相關(guān)信息用戶輸入個(gè)人信息及所需訂購(gòu)的車票信息更新系統(tǒng)中的訂票信息,將新信息存入系統(tǒng)數(shù)據(jù)庫(kù)操作反饋(如訂票成功)2.2.3性能需求 為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,本系統(tǒng)應(yīng)該滿足以下的性能需求。 1.準(zhǔn)確性和及時(shí)性 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。系統(tǒng)應(yīng)能及時(shí)而且準(zhǔn)確的根據(jù)用戶權(quán)限及所輸入的信息做出響應(yīng)。由于本系統(tǒng)的查詢功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,而車票的數(shù)量和時(shí)間又影響用戶的決策活動(dòng),其準(zhǔn)確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。 2.易用性 本系統(tǒng)是直接面對(duì)用戶的,而用戶往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面,從而保證系統(tǒng)的易用性。 3.安全性 網(wǎng)上訂票系統(tǒng)中涉及到的數(shù)據(jù)是客運(yùn)公司相當(dāng)重要的信息,系統(tǒng)要保證用戶的權(quán)限,對(duì)于車次等信息用戶只享有查詢服務(wù),不得更改。系統(tǒng)還要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)備份、日常安全管理、以及系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。同時(shí)系統(tǒng)還要保證對(duì)數(shù)據(jù)庫(kù)進(jìn)行及時(shí)更新,保證數(shù)據(jù)一致性。2.2.4數(shù)據(jù)流圖 1)火車票咋先預(yù)訂管理系統(tǒng)后臺(tái)數(shù)據(jù)流圖: 圖2.1后臺(tái)數(shù)據(jù)流圖 2)火車票在線預(yù)訂管理系統(tǒng)前臺(tái)數(shù)據(jù)流圖: 圖2.2前臺(tái)數(shù)據(jù)流圖2.2.5數(shù)據(jù)字典 表2.2管理員信息數(shù)據(jù)字典名字:管理員信息名字:管理員信息別名:描述:存放管理員信息的文件,以供管理員登陸定義:管理員信息=姓名+性別+電話+密碼位置:輸出到CRT終端或類似的顯示部件 表2.3會(huì)員信息數(shù)據(jù)字典名字:會(huì)員信息名字:會(huì)員信息別名:描述:存放會(huì)員信息的文件,供會(huì)員注冊(cè)和登陸定義:會(huì)員信息=姓名+性別+電話+密碼+身份證號(hào)+注冊(cè)時(shí)間位置:輸出到CRT終端或類似的顯示部件 表2.4車次信息數(shù)據(jù)字典名字:車次信息名字:車次信息\描述:存放車次信息的文件,以供用戶查詢定義:車次信息=車號(hào)+出發(fā)地+目的地+發(fā)車時(shí)間+到達(dá)時(shí)間+坐位類型+余票數(shù)目+票價(jià)位置:輸出到CRT終端或類似的顯示部件 表2.5訂票信息數(shù)據(jù)字典名字:訂票信息名字:訂票信息別名:訂單信息描述:存放訂單信息的文件,以供用戶查詢,并作相應(yīng)操作定義:訂票記錄=用戶名+身份證號(hào)+用戶電話+車號(hào)+發(fā)車日期+訂購(gòu)日期+車票類型+座位類型+總價(jià)位置:輸出到CRT終端或類似的顯示部件 表2.6車票信息數(shù)據(jù)字典名字:車票信息名字:車票信息別名:描述:存放車票信息的文件,以供用戶查詢,并作相應(yīng)操作定義:車票信息=車號(hào)+座位號(hào)+用戶名+身份證號(hào)+座位類型+車票類型+價(jià)格+訂票日期位置:輸出到CRT終端或類似的顯示部件2.2.6實(shí)體-聯(lián)系圖 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。針對(duì)火車站網(wǎng)上訂票系統(tǒng),通過對(duì)網(wǎng)上訂票工作的過程、內(nèi)容以及數(shù)據(jù)流程分析,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 1.車次信息:車號(hào)、出發(fā)地、目的地、發(fā)車時(shí)間、到達(dá)時(shí)間、座位類型剩余票、票價(jià)。 2.訂票記錄:訂單號(hào)、用戶名、身份證號(hào)、電話、車號(hào)、出發(fā)時(shí)間、車票類型、訂購(gòu)日期、座位類型、總價(jià)。 3.車票信息:座位號(hào)、車號(hào)、用戶名、身份證號(hào)、座位類型、車票類型、價(jià)格、出發(fā)時(shí)間。 4.管理員信息:編號(hào)、姓名、性別、電話、密碼。 5.會(huì)員信息:身份證號(hào)、姓名、性別、電話、密碼、注冊(cè)時(shí)間。 E-R圖如圖2.2所示: 圖2.3實(shí)體-聯(lián)系圖(ER圖)2.2.7數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu) 火車站網(wǎng)上訂票系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如表2.7至表2.11所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表[11],其中在會(huì)員信息表以及管理員信息表中為了信息不被泄露分別對(duì)密碼字段進(jìn)行了加密處理。在處理過程中為了處理用戶訂票的并發(fā)問題是用了行級(jí)鎖來(lái)解決這一問題。 表2.7車次信息表tb_train字段名數(shù)據(jù)類型是否可空說明trainIdvarcharNOTNULL車號(hào)(主鍵)trainStartPlacevarcharNOTNULL出發(fā)地trainEndPlacevarcharNOTNULL目的地trainStartTimedatetimeNOTNULL發(fā)車時(shí)間(主鍵)trainEndTimedatetimeNOTNULL到達(dá)時(shí)間hartSeatLeftintNOTNULL硬座余票hardSeatPriceintNOTNULL硬座價(jià)格softSeatLeftintNOTNULL臥鋪余票softSeatPriceintNOTNULL臥鋪價(jià)格表2.8訂單表tb_order字段名數(shù)據(jù)類型是否可空說明orderIdintNOTNULL訂單號(hào)(主鍵)userNamevarcharNOTNULL會(huì)員名userPhonevarcharNOTNULL會(huì)員電話)userIdvarcharNOTNULL身份證號(hào)trainIdvarcharNOTNULL車號(hào)trainStartTimedatetimeNOTNULL出發(fā)時(shí)間ticketTypevarcharNOTNULL票類型bookTimedatetimeNOTNULL訂購(gòu)日期totalPriceIntNOTNULL訂購(gòu)票數(shù)seatTypevarcharNOTNULL座位類型 表2.9火車票信息表tb_ticket字段名數(shù)據(jù)類型是否可空說明seatIdintNOTNULL訂單號(hào)(主鍵)trainIdvarcharNOTNULL車號(hào)(主鍵)userNamevarcharNOTNULL會(huì)員姓名userIdvarcharNOTNULL身份證號(hào)seatTypevarcharNOTNULL座位類型ticketTypevarcharNOTNULL車票類型ticketPriceintNOTNULL票價(jià) 表2.10管理員表tb_admin字段名數(shù)據(jù)類型是否可空說明adminIdIntNOTNULL管理員編號(hào)(主鍵)adminNamevarcharNOTNULL姓名adminSexvarchar性別adminPhonevarchar電話adminPassWordvarcharNOTNULL密碼 表2.11會(huì)員表tb_user字段名數(shù)據(jù)類型是否可空說明userIdvarcharNOTNULL身份證號(hào)(主鍵)userNamevarcharNOTNULL姓名userSexvarcharNOTNULL性別userPhonevarcharNOTNULL電話userPassWordvarcharNOTNULL密碼registerTimetimestampNOTNULL注冊(cè)時(shí)間3系統(tǒng)的總體設(shè)計(jì)3.1系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)3.1.1軟件結(jié)構(gòu) 1)后臺(tái)分為管理員信息管理、車次信息管理、訂單信息管理、會(huì)員信息管理四個(gè)模塊。其層次圖[13]如圖3.1所示: 圖3.1火車票預(yù)訂后臺(tái)管理系統(tǒng)的層次圖 2)前臺(tái)可劃分為查詢、訂票、退票三個(gè)部分。其中信息查詢又可分為車次查詢和訂單查詢兩個(gè)部分。其層次圖如圖3.2所示: 圖3.2火車站預(yù)訂前臺(tái)系統(tǒng)的層次圖3.2系統(tǒng)流程圖 1)后臺(tái)頂層數(shù)據(jù)流程圖[14]如下圖3.3所示: 圖3.3后臺(tái)頂層數(shù)據(jù)流程圖 車次,訂單,會(huì)員的查詢系統(tǒng)流程圖大致一致,所以歸納如下: 圖3.4后臺(tái)數(shù)據(jù)查詢流程圖 車次,訂單,會(huì)員的更新系統(tǒng)流程圖大致一致,所以歸納如下: 圖3.4后臺(tái)數(shù)據(jù)更新流程圖 2)前臺(tái)頂層流程圖如下圖3.5所示。圖3.5至圖3.9為各模塊詳細(xì)系統(tǒng)流程圖。 圖3.5頂層系統(tǒng)流程 圖3.6查詢車次信息流程圖 圖3.6車次,訂單信息查詢系統(tǒng)流程圖大致一致,用戶通過輸入查詢條件進(jìn)行查詢車次信息和自己的訂單信息所以歸納如下: 圖3.7車次,訂單信息查詢系統(tǒng)流程圖 用戶成功登陸之后根據(jù)動(dòng)態(tài)查詢條件查找到自己需求的車票后通過輸入正確的信息進(jìn)行訂票,系統(tǒng)會(huì)將訂票成功與否的信息反饋給用戶。 圖3.8用戶訂票流程圖 用戶成功登陸之后根據(jù)動(dòng)態(tài)查詢條件查詢條件查詢到自己的訂單之后可以進(jìn)行退票操作,系統(tǒng)會(huì)將用戶退票成功或失敗的信息反饋給用戶。 圖3.9退票系統(tǒng)流程圖4系統(tǒng)的詳細(xì)設(shè)計(jì)4.1接口設(shè)計(jì)4.1.1用戶接口 用戶通過界面接口實(shí)現(xiàn)參數(shù)的輸入,進(jìn)入相應(yīng)的界面后輸入提示的信息即可產(chǎn)生相應(yīng)的任務(wù)。4.1.2外部接口 接口通過一個(gè)數(shù)據(jù)轉(zhuǎn)換器,將網(wǎng)絡(luò)二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換為一個(gè)合適的數(shù)據(jù)結(jié)構(gòu)單位并添加到緩沖區(qū)中。4.1.3內(nèi)部接口 表4.1內(nèi)部接口說明表頂層模塊二級(jí)模塊接口數(shù)據(jù)模塊底層數(shù)據(jù)操作模塊取出記錄集,執(zhí)行SQL語(yǔ)句用戶操作模塊對(duì)應(yīng)數(shù)據(jù)庫(kù)相關(guān)表操作界面模塊界面模塊生成任務(wù)緩沖區(qū)模塊生成批處理4.1.4軟件接口 本系統(tǒng)程序所使用的數(shù)據(jù)庫(kù)來(lái)源于主機(jī)數(shù)據(jù)庫(kù),所以系統(tǒng)數(shù)據(jù)與主機(jī)數(shù)據(jù)庫(kù)數(shù)據(jù)向一致。4.1.5模塊內(nèi)部 模塊以接受參數(shù)方式獨(dú)立登陸主機(jī)數(shù)據(jù)庫(kù)并且獨(dú)立運(yùn)行,返回?cái)?shù)據(jù)顯示在界面上。4.2過程設(shè)計(jì)4.2.1程序流程圖 1)管理員只有成功通過身份驗(yàn)證才能進(jìn)入后臺(tái)管理系統(tǒng)來(lái)管理各項(xiàng)信息,系統(tǒng)會(huì)將操作的結(jié)果返回給管理員,圖4.1為火車票預(yù)訂后臺(tái)管理系統(tǒng)程序流程圖: 圖4.1火車票預(yù)訂后臺(tái)管理系統(tǒng)程序流程圖 2) 沒有注冊(cè)的用戶只能查詢火車余票,注冊(cè)后的會(huì)員登陸之后可以預(yù)定滿足自己要求的火車票,同時(shí)還能根據(jù)條件查詢自己的訂單和退票操作。圖4.1為火車票預(yù)訂前臺(tái)網(wǎng)站程序流程圖: 圖4.2火車票預(yù)訂前臺(tái)網(wǎng)站程序流程圖5系統(tǒng)的實(shí)現(xiàn)與調(diào)試5.1應(yīng)用系統(tǒng)的開發(fā)及測(cè)試 為了保證測(cè)試的質(zhì)量,將測(cè)試過程分成幾個(gè)階段,即代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。 (1)單元測(cè)試 單元測(cè)試[15]集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯(cuò)誤。 (2)集成測(cè)試 集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來(lái)同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。例如一個(gè)模塊對(duì)另一個(gè)模塊可能由于疏忽的問題而造成有害影響;把子功能組合起來(lái)可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來(lái)是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。 (3)確認(rèn)測(cè)試 確認(rèn)測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能是否如同用戶所合理期待的那樣。 (4)系統(tǒng)測(cè)試 軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試[16]、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。單獨(dú)對(duì)系統(tǒng)的測(cè)試主要從以下幾方面入手: ①功能測(cè)試:測(cè)試是否滿足開發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測(cè)試是系統(tǒng)測(cè)試最常用和必須的測(cè)試,通常還會(huì)以正式的軟件說明書為測(cè)試標(biāo)準(zhǔn)。 ②強(qiáng)度測(cè)試及性能測(cè)試[3]:測(cè)試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。 ③安全測(cè)試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對(duì)本系統(tǒng)主要是對(duì)權(quán)限系統(tǒng)的測(cè)試和對(duì)無(wú)效數(shù)據(jù)、錯(cuò)數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測(cè)試。經(jīng)過上述的測(cè)試過程對(duì)軟件進(jìn)行測(cè)試后,軟件基本滿足開發(fā)的要求,測(cè)試宣告結(jié)束。5.1.1后臺(tái)管理系統(tǒng)運(yùn)行結(jié)果截圖 1)后臺(tái)管理系統(tǒng)登陸界面,管理員必須輸入一次輸入正確的用戶名,密碼和驗(yàn)證碼,驗(yàn)證通過之后才能進(jìn)入后臺(tái)管理系統(tǒng),否則給出出錯(cuò)提示跳轉(zhuǎn)到登陸界面由前臺(tái)的jsp頁(yè)面信息傳遞到struts[17]中的Action中進(jìn)行判斷處理,登錄頁(yè)面如圖5.1所示 圖5.1后臺(tái)登陸頁(yè)面 管理員登錄的主要代碼如下: /** *管理員登陸 * *@returnsuccess,error */ publicStringadminLogin(){ if(adminInfoDao.adminLogin(userName,passWord)){ HttpServletRequestrequest=ServletActionContext.getRequest(); request.getSession().setAttribute("userName",userName); request.getSession().setAttribute("passWord",passWord); if(request.getSession().getAttribute("rand").equals(verifycode))//驗(yàn)證驗(yàn)證碼正確與否 returnSUCCESS; else{ message="登錄失敗,請(qǐng)檢查驗(yàn)證碼!"; returnERROR; } }else{ message="登錄失敗,請(qǐng)檢查用戶名和密碼!"; returnERROR; } }publicbooleanadminLogin(StringadminName,StringadminPassWord){ jdbcTemplate=newJdbcTemplate(dataSource); Stringsql="selectadminPassWordfromtb_adminwhereadminName='" +adminName+"'"; List<AdminInfo>list=jdbcTemplate.query(sql,newAdminMapper()); if(list!=null){ for(AdminInfoadminInfo:list){ if(adminInfo.getAdminPassWord().equals(adminPassWord)) returntrue; } } returnfalse; } 2)后臺(tái)管理系統(tǒng)登錄失敗界面,如圖5.2所示: 圖5.2后臺(tái)登陸失敗頁(yè)面 3)系統(tǒng)后臺(tái)主要有管理車次信息、訂單信息、注冊(cè)會(huì)員信息,以及管理員修改自己的個(gè)人信息等功能。管理員只有經(jīng)過身份驗(yàn)證成功之后才能進(jìn)入后臺(tái)管理頁(yè)面,否則系統(tǒng)會(huì)提示你重新登錄。圖5.3為后臺(tái)管理系統(tǒng)的主界面。 圖5.3系統(tǒng)主界面 4)點(diǎn)擊增加車次信息按鈕進(jìn)行添加車次信息,可以批量添加車次信息,在頁(yè)面中對(duì)輸入的信息進(jìn)行了驗(yàn)證[1],不能提交為空的數(shù)據(jù),可以添加多個(gè)車次信息,同時(shí)也可以減少車次信息提交的數(shù)量如圖5.4所示: 圖5.4添加車次信息頁(yè)面 添加車次信息的主要代碼如下: /** *添加車次信息 */ publicbooleanAddTrain(List<TrainInfo>trainInfo){ jdbcTemplate=newJdbcTemplate(dataSource); for(TrainInfotrainInfo2:trainInfo){ Stringsql="insertintotb_train(trainId,trainStartPlace,trainEndPlace,trainStartTime," +"trainEndTime,hardSeatLeft,hardSeatPrice,softSeatLeft,softSeatPrice)values(?,?,?,?,?,?,?,?,?)"; Objectargs[]={trainInfo2.getTrainId(), trainInfo2.getTrainStartPlace(), trainInfo2.getTrainEndPlace(), trainInfo2.getTrainStartTime(), trainInfo2.getTrainEndTime(),trainInfo2.getHardSeatLeft(), trainInfo2.getHardSeatPrice(), trainInfo2.getSoftSeatLeft(),trainInfo2.getSoftSeatPrice()}; try{ jdbcTemplate.update(sql,args); }catch(DataAccessExceptione){ e.printStackTrace(); returnfalse; } } returntrue; } 5)查詢車次信息,可以進(jìn)行多條件進(jìn)行動(dòng)態(tài)條件查詢,以分頁(yè)形式展示給用戶,結(jié)果如圖5.5所示: 圖5.5查詢車次信息頁(yè)面 圖5.5查詢車次信息頁(yè)面 查詢車次信息的主要代碼如下: /** *動(dòng)態(tài)查找車次信息 */ @SuppressWarnings("unchecked") publicList<TrainInfo>findTrain(StringtrainId,DatetrainStartTime, StringtrainStartPlace,intbeginIndex,intpageSize){ SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd"); Stringdate; if(trainStartTime!=null){ date=format.format(trainStartTime); }else date=""; System.out.println(date); booleanflags1=false,flags2=false; jdbcTemplate=newJdbcTemplate(dataSource); Stringsql="select*fromtb_train"; if(trainId!=null&&!"".equals(trainId.trim())){ flags1=true; sql=sql+"wheretrainId='"+trainId+"'"; } if(date!=null&&!"".equals(date.trim())){ flags2=true; if(flags1) sql=sql+"and'"+date +"'=DATE_FORMAT(trainStartTime,'%Y-%m-%d')"; else sql=sql+"where'"+date +"'=DATE_FORMAT(trainStartTime,'%Y-%m-%d')"; } if(trainStartPlace!=null&&!"".equals(trainStartPlace.trim())){ if(flags1||flags2){ sql=sql+"andtrainStartPlacelike'%"+trainStartPlace+"%'"; }else{ sql=sql+"wheretrainStartPlacelike'%"+trainStartPlace+"%'"; } } sql+="limit"+beginIndex+","+pageSize; List<TrainInfo>list=jdbcTemplate.query(sql,newTrainMapper()); returnlist; } 查詢結(jié)果如圖5.6所示: 圖5.6查詢車次信息結(jié)果 點(diǎn)擊修改按鈕進(jìn)行修改車次信息,界面如圖5.7所示: 圖5.7修改車次信息頁(yè)面 7)點(diǎn)擊訂單管理按鈕進(jìn)行查詢會(huì)員已經(jīng)預(yù)定的車票信息,界面如圖5.8所示: 圖5.8查詢訂單信息頁(yè)面 查詢訂單的主要代碼如下: /** *動(dòng)態(tài)查找訂單信息 */ @SuppressWarnings("unchecked") publicList<OrderInfo>findOrder(StringtrainId,StringticketType, DatebookTime,StringseatType,StringuserId,intbeginIndex, intpageSize){ SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd"); StringbookDate; Stringsql="select*fromtb_orderwhere1=1"; jdbcTemplate=newJdbcTemplate(dataSource); if(bookTime!=null){ bookDate=format.format(bookTime); }else{ bookDate=""; } if(trainId!=null&&!"".equals(trainId.trim())){ sql=sql+"andtrainIdlike'%"+trainId+"%'"; } if(seatType!=null&&!"".equals(seatType.trim())){ sql=sql+"andseatType='"+seatType+"'"; } if(bookDate!=null&&!"".equals(bookDate)){ sql=sql+"and'"+bookDate +"'=DATE_FORMAT(bookTime,'%Y-%m-%d')"; } if(ticketType!=null&&!"".equals(ticketType)){ sql=sql+"andticketType='"+ticketType+"'"; } if(userId!=null&&!"".equals(userId)){ sql=sql+"anduserId='"+userId+"'"; } sql+="limit"+beginIndex+","+pageSize; System.out.println(sql); List<OrderInfo>list=jdbcTemplate.query(sql,newOrderMapper()); System.out.println(list); returnlist; } 查詢結(jié)果界面如圖5.9所示: 圖5.9訂單查詢結(jié)果 點(diǎn)擊修改按鈕來(lái)修改訂單信息,界面如圖5.10所示: 圖5.10修改訂單信息頁(yè)面 8)點(diǎn)擊會(huì)員管理按鈕進(jìn)行會(huì)員信息的查詢,界面如圖5.11所示: 圖5.11查詢會(huì)員信息頁(yè)面 查詢注冊(cè)會(huì)員信息主要代碼如下: /** *根據(jù)動(dòng)態(tài)條件查詢會(huì)員信息 * *@paramvipInfo *@returnList<VipInfo>findVip */ @SuppressWarnings("unchecked") publicList<VipInfo>findVip(VipInfovipInfo){ jdbcTemplate=newJdbcTemplate(dataSource); SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd"); StringregisterDate; if(vipInfo.getRegisterTime()!=null){ registerDate=format.format(vipInfo.getRegisterTime()); }else{ registerDate=""; } Stringsql="select*fromtb_vipwhere1=1"; if(vipInfo.getUserName()!=null &&!"".equals(vipInfo.getUserName().trim())) sql=sql+"anduserNamelike'%"+vipInfo.getUserName()+"%'"; if(vipInfo.getUserSex()!=null &&!"".equals(vipInfo.getUserSex().trim())) sql=sql+"anduserSex='"+vipInfo.getUserSex()+"'"; if(vipInfo.getRegisterTime()!=null &&!"".equals(vipInfo.getRegisterTime().toString().trim())) sql=sql+"and'"+registerDate +"'=DATE_FORMAT(registerTime,'%Y-%m-%d')"; if(vipInfo.getUserId()!=null &&!"".equals(vipInfo.getUserId().trim())) sql=sql+"anduserId='"+vipInfo.getUserId()+"'"; System.out.println(sql); list=jdbcTemplate.queryForList(sql); returnlist; } 點(diǎn)擊查詢查看結(jié)果,界面如圖5.12所示: 圖5.12會(huì)員信息顯示頁(yè)面 點(diǎn)擊修改按鈕來(lái)修改會(huì)員的信息,界面如圖5.13所示: 圖5.13修改會(huì)員信息頁(yè)面5.1.2前臺(tái)訂票網(wǎng)站運(yùn)行截圖 1)本系統(tǒng)設(shè)計(jì)要求用戶通過登錄框選擇訪問權(quán)限,登錄系統(tǒng)。其中,用戶須輸入用戶名和密碼,以進(jìn)入系統(tǒng)。未使用過本系統(tǒng)的用戶選擇注冊(cè)會(huì)員,系統(tǒng)自動(dòng)跳轉(zhuǎn)至主界面。系統(tǒng)用戶權(quán)限登錄訪問時(shí),車次信息查詢、訂票信息查詢、訂票、退票等功能均可用。系統(tǒng)用戶輸入正確的用戶名和密碼,訪問系統(tǒng),得到其相應(yīng)的權(quán)限。沒有注冊(cè)的用戶可以查詢但不可以預(yù)訂和查詢訂單操作,訂票如圖5.14。 圖5.14登陸界面 2)當(dāng)用戶的用戶名或者密碼錯(cuò)誤時(shí)將跳轉(zhuǎn)到錯(cuò)誤提示頁(yè)面,并且三秒鐘之后會(huì)跳轉(zhuǎn)到主頁(yè)面中,登錄失敗界面如圖5.15所示: 圖5.15登錄失敗界面 3)會(huì)員必須填寫姓名,身份證號(hào),性別,密碼以及手機(jī)號(hào)碼進(jìn)行注冊(cè),如果不填寫相關(guān)內(nèi)容或者填寫的格式不正確提交的話將會(huì)有提示框來(lái)提示用戶重新注冊(cè)。注冊(cè)頁(yè)面如圖5.16所示: 圖5.16注冊(cè)頁(yè)面 會(huì)員注冊(cè)主要代碼如下: 4)前臺(tái)預(yù)訂網(wǎng)站主界面,用戶可以進(jìn)行查詢火車余票信息,可以登錄之后進(jìn)行訂票,查詢訂單,退票等操作,也可以注冊(cè)會(huì)員。用戶如果沒有注冊(cè)會(huì)員,那么該用戶就只能進(jìn)行查詢相應(yīng)的火車票余票信息而不能進(jìn)行預(yù)訂車票、查詢訂單、退票操作。注冊(cè)成功后的會(huì)員不僅可以查詢火車余票,而且可以預(yù)訂滿足自己要求的火車票,還能查詢自己的訂單以及選擇退票操作。在用戶注冊(cè)的過程中都進(jìn)行了前后臺(tái)驗(yàn)證處理。如果用戶輸入的個(gè)人信息有誤,則系統(tǒng)會(huì)提示用戶的輸入信息有誤,然后跳轉(zhuǎn)到首頁(yè)中。用戶注冊(cè)成功之后會(huì)跳轉(zhuǎn)到首頁(yè)中,其用戶名會(huì)顯示在頁(yè)面中,圖5.17為前臺(tái)用戶注冊(cè)、登錄、查詢余票、預(yù)訂車票,以及退票操作的主界面。 圖5.17預(yù)訂網(wǎng)站主界面 5)對(duì)車次信息的查詢,系統(tǒng)提供了車次信息,進(jìn)行精確的查詢,系統(tǒng)經(jīng)過檢索,返回符合用戶要求的車次,再由用戶自行選擇滿意的車次。 圖5.18預(yù)訂網(wǎng)站查詢車次頁(yè)面 會(huì)員查詢車票的主要代碼如下:/ ** *根據(jù)動(dòng)態(tài)條件查詢車次里的車票信息 * *@paramfindTicketDate *,findTicketStart,findTicketEnd,findTicketId *@returnlist */ @SuppressWarnings("unchecked") publicList<TrainInfo>findTicket(DatefindTicketDate, StringfindTicketStart,StringfindTicketEnd,StringfindTicketId, intbeginIndex,intpageSize){ jdbcTemplate=newJdbcTemplate(dataSource); SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd"); Stringdate; if(findTicketDate!=null){ date=format.format(findTicketDate); }else date=""; Stringsql="select*fromtb_trainwhere1=1"; if(findTicketStart!=null&&!"".equals(findTicketStart.trim())){ sql=sql+"andtrainStartPlacelike'%"+findTicketStart+"%'"; } if(findTicketDate!=null&&!"".equals(findTicketDate)){ sql=sql+"and'"+date +"'=DATE_FORMAT(trainStartTime,'%Y-%m-%d')"; } if(findTicketEnd!=null&&!"".equals(findTicketEnd)) sql=sql+"andtrainEndPlacelike'%"+findTicketEnd+"%'"; if(findTicketId!=null&&!"".equals(findTicketId)) sql=sql+"andtrainIdlike'%"+findTicketId+"%'"; sql+="limit"+beginIndex+","+pageSize; System.out.println(sql); List<TrainIn

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論