影院票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
影院票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
影院票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
影院票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
影院票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩72頁(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)介

目錄TOC\o"1-3"\h\u18617摘要 -1-8119ABSTRACT -2-8271第1章概述 -4-326991.1目的和意義 -4-102491.2課題的項(xiàng)目背景 -4-237701.3開(kāi)發(fā)平臺(tái)簡(jiǎn)介 -4-289011.3.1ASP.NET簡(jiǎn)介 -4-108091.3.2B/S -5-140961.4系統(tǒng)開(kāi)發(fā)硬件環(huán)境 -6-231731.5系統(tǒng)開(kāi)發(fā)軟件環(huán)境 -6-29930第2章需求分析 -7-121252.1系統(tǒng)功能需求 -7-233792.2輸入要求 -7-74112.3用戶界面良好、操作簡(jiǎn)單 -7-166992.4系統(tǒng)用例圖 -8-112262.4.1影院工作人員用例圖 -8-278462.4.2客戶用例圖 -8-210172.5系統(tǒng)數(shù)據(jù)流圖 -9-27271第3章概要設(shè)計(jì) -12-179143.1系統(tǒng)總體規(guī)劃 -12-29733.1.1項(xiàng)目規(guī)劃 -12-82393.1.2系統(tǒng)功能結(jié)構(gòu)圖 -12-106833.2系統(tǒng)模塊設(shè)計(jì) -13-41603.2.1用戶模塊 -13-21433.2.2影片模塊 -13-157233.2.3大廳模塊 -14-94063.2.4放映信息模塊 -14-325893.2.5客戶模塊 -14-46683.2.6訂單模塊 -15-135843.3系統(tǒng)E-R模型分析 -15-121273.3.1實(shí)體分析 -15-304643.3.2系統(tǒng)整體的E-R圖 -15-80963.3.3實(shí)體屬性定義 -16-321673.3.4數(shù)據(jù)字典 -17-6284第4章詳細(xì)設(shè)計(jì) -18-130254.1數(shù)據(jù)庫(kù)設(shè)計(jì) -18-176724.2系統(tǒng)設(shè)計(jì) -22-175484.2.1設(shè)計(jì)思路 -22-224684.2.2方法的說(shuō)明 -23-3520第5章系統(tǒng)測(cè)試 -32-281815.1功能測(cè)試 -32-47815.2性能測(cè)試 -34-119825.3改進(jìn)意見(jiàn) -35-27801第6章總結(jié) -36-114866.1今后努力的方向 -36-119196.2結(jié)束語(yǔ) -36-5036致謝 -38-20667參考文獻(xiàn) -39-5003附錄 -40-24466附錄A:軟件安裝、使用 -40-30411附錄B:光盤資料說(shuō)明 -44-計(jì)算機(jī)與信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文)48-影院票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要本文講述了信息管理與信息系統(tǒng)的發(fā)展現(xiàn)狀,并在充分了解影院的運(yùn)作流程的基礎(chǔ)上,分析了影院對(duì)影片管理、票務(wù)銷售等的具體需求,給出了系統(tǒng)的整體設(shè)計(jì)方案以及詳細(xì)設(shè)計(jì)方案。文中主要側(cè)重于該系統(tǒng)軟件方面的設(shè)計(jì)與實(shí)現(xiàn),以及主要功能模塊的分析和設(shè)計(jì)。該系統(tǒng)采用VisualStudio2014(C#)開(kāi)發(fā),軟件界面簡(jiǎn)潔友好,真正體現(xiàn)了所見(jiàn)即所得的思想。數(shù)據(jù)庫(kù)采用了SQLServer2014,充分考慮了系統(tǒng)的安全性和穩(wěn)定性,能夠及時(shí)有效地對(duì)整個(gè)系統(tǒng)的數(shù)據(jù)進(jìn)行儲(chǔ)存和維護(hù)。影院票務(wù)管理系統(tǒng)是應(yīng)用于影院的電子售票的系統(tǒng),有前臺(tái)客戶操作和后臺(tái)影院工作人員操作兩大部分組成。前臺(tái)主要包括在線注冊(cè),客戶登錄,查看影片信息,對(duì)影片進(jìn)行打分和評(píng)論操作,查看大廳信息,購(gòu)買預(yù)售票,取消預(yù)售票,以及對(duì)預(yù)售票付款最終確定訂單等功能。后臺(tái)主要包括用戶信息的添加、修改、刪除,放映廳信息的添加、修改、刪除,影片信息的添加、修改、刪除,放映信息的添加、修改、刪除,訂單的查看以及生成報(bào)表等功能。系統(tǒng)代碼分離分成了二個(gè)層次:應(yīng)用層,數(shù)據(jù)庫(kù)訪問(wèn)層和一個(gè)用來(lái)輔助的類庫(kù)——實(shí)體層。應(yīng)用層是作為跟用戶交互的層次,用戶的操作在應(yīng)用層上實(shí)現(xiàn),數(shù)據(jù)的輸入以及采集在應(yīng)用層上進(jìn)行,數(shù)據(jù)的展示在應(yīng)用層上完成;實(shí)體層是數(shù)據(jù)庫(kù)中各個(gè)表字段的一個(gè)映射,每張表對(duì)應(yīng)于一個(gè)實(shí)體類,它用來(lái)保存二個(gè)層之間傳遞時(shí)的數(shù)據(jù)值,保證數(shù)據(jù)不會(huì)丟失以及正確性和同步性;數(shù)據(jù)庫(kù)訪問(wèn)層是直接與數(shù)據(jù)庫(kù)交互的一層,是數(shù)據(jù)庫(kù)的操作層,數(shù)據(jù)庫(kù)中數(shù)據(jù)的添加、修改和刪除都由它來(lái)完成。關(guān)鍵字:影院票務(wù);B/S;ASP.NET;CSS+DIV;SQLServer2014;代碼分離DesignandImplementation

of

cinema

ticketing

systemABSTRACTThisarticledescribesthedevelopmentstatusofinformationmanagementandinformationsystems,andfullyunderstandtheoperationofthetheaterprocessbasedontheanalysisofthespecificneedsofthetheateronfilmmanagement,ticketsales,theoverallsystemdesignanddetaileddesignprograms.ThepaperfocusesmainlyontheDesignandImplementationofthesystemsoftware,aswellasanalysisanddesignofmainfunctionmodules.ThesystemusestheVisualStudio2014(C#)development,softwareinterfaceissimpleandfriendly,andtrulyembodiestheideaofWYSIWYG.DatabaseusingSQLServer2014,givefullconsiderationtothesafetyandstabilityofthesystem,timelyandeffectivestorageandmaintenanceofthedataoftheentiresystem.

Cinematicketingmanagementsystemisusedinthetheaterofthee-ticketingsystem,front-officecustomeroperationsandbackstagetheaterstafftooperatethetwomajorcomponents.Front,includingonlineregistration,CustomerLogintoviewthemovieinformation,rateandreviewthefilm,viewthehallinformation,topurchaseadvancetickets,cancelthepre-saletickets,andadvanceticketpaymenttofinalizeordersandotherfunctions.Background,includinguserinformationtoadd,modify,delete,theaterinformationtoadd,modify,delete,videoinformationtoadd,modify,delete,screeninginformationtoadd,modify,delete,viewordersandgeneratereportsandotherfunctions.

Thesystemcodeseparationintotwolayers:applicationlayer,databaseaccesslayerandonefortheauxiliarylibrary-physicallayer.Theapplicationlayerasthelevelofinteractionwiththeuser,theuser'sactionsontheapplicationlayer,datainputandcollectionontheapplicationlayer,thedisplayofthedataattheapplicationlayer;physicallayeristhedatabasetablefieldsmappingeachtablecorrespondstoanentityclass,whichisusedtosavethevalueofthedatapassedbetweentwolayerstoensurethatdataisnotlostaswellasaccuracyandsynchronization;databaseaccesslayerisalayerofdirectinteractionwiththedatabase,operationofthedatabaselayer,datainthedatabasetoadd,modify,andremovedbyit.Keywords:CinemaTicket;B/S;ASP.NET;theCSS+DIV;SQLServer2014;codeseparation第1章概述1.1目的和意義影院售票系統(tǒng)是計(jì)算機(jī)技術(shù)與影院管理相結(jié)合的產(chǎn)物,通過(guò)影院售票系統(tǒng)實(shí)現(xiàn)了對(duì)影院的高效管理。隨著計(jì)算機(jī)技術(shù)的不斷提高,計(jì)算機(jī)已經(jīng)深入到社會(huì)生活的各個(gè)角落。而采用人工管理的方法,不僅效率低,易出錯(cuò),手續(xù)繁瑣,而且耗費(fèi)大量人力。為了滿足售票人員對(duì)售票,訂票,退票等進(jìn)行高效的管理,在工作人員的具備一定的計(jì)算機(jī)操作能力的前提下,特編此影院售票系統(tǒng)軟件以提高影院的管理效率。1.2課題的項(xiàng)目背景隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,人們的娛樂(lè)活動(dòng)越來(lái)越豐富,其中看電影占了很大的比例。開(kāi)發(fā)此系統(tǒng)的目的是解決喜愛(ài)電影的人們買票難的問(wèn)題。以前要買電影票必須到電影院買,這樣既浪費(fèi)時(shí)間,浪費(fèi)精力,而且最終還不一定買到自己想看要的。有了本系統(tǒng),可以很方便的讓影迷在家上網(wǎng)查看影院的影片以及票務(wù)的信息,這樣既省時(shí)又省力,可以同時(shí)了解到不同影片的信息,有更多的選擇。本系統(tǒng)充分利用網(wǎng)絡(luò)資源和人力資源。面對(duì)全球性影院觀看熱潮,國(guó)內(nèi)外對(duì)影院觀看的視覺(jué)需求,以及其規(guī)模的優(yōu)勢(shì),其獨(dú)有的互動(dòng)效果和場(chǎng)內(nèi)氣憤贏得了越來(lái)越多的人的喜歡。1980~1984年平均產(chǎn)量達(dá)120部,每年觀眾人次平均在250億左右。同時(shí)中國(guó)電影也進(jìn)入一個(gè)蓬勃發(fā)展的新時(shí)期,中國(guó)美術(shù)片從形式到內(nèi)部都極其富有民族色彩。伴隨電影的發(fā)展,國(guó)內(nèi)外的電子票務(wù)系統(tǒng)也告訴的發(fā)展,國(guó)內(nèi)有許多的電子影院票務(wù)系統(tǒng),如格瓦拉以及一些團(tuán)購(gòu)網(wǎng)站都有相關(guān)的內(nèi)容。1.3開(kāi)發(fā)平臺(tái)簡(jiǎn)介1.3.1ASP.NET簡(jiǎn)介ASP.NET是Microsoft.NET的一部分,作為戰(zhàn)略產(chǎn)品,不僅僅是ActiveServerPage(ASP)的下一個(gè)版本;它還提供了一個(gè)統(tǒng)一的Web開(kāi)發(fā)模型,其中包括開(kāi)發(fā)人員生成企業(yè)級(jí)Web應(yīng)用程序所需的各種服務(wù)。ASP.NET的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)。可以通過(guò)在現(xiàn)有ASP應(yīng)用程序中逐漸添加ASP.NET功能,隨時(shí)增強(qiáng)ASP應(yīng)用程序的功能。ASP.NET是一個(gè)已編譯的、基于.NET的環(huán)境,可以用任何與.NET兼容的語(yǔ)言(包括VisualBasic.NET、C#和JScript.NET.)創(chuàng)作應(yīng)用程序。另外,任何ASP.NET應(yīng)用程序都可以使用整個(gè).NETFramework。開(kāi)發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語(yǔ)言運(yùn)行庫(kù)環(huán)境、類型安全、繼承等等。ASP.NET可以無(wú)縫地與WYSIWYGHTML編輯器和其他編程工具(包括MicrosoftVisualStudio.NET)一起工作。這不僅使得Web開(kāi)發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開(kāi)發(fā)人員可以用來(lái)將服務(wù)器控件拖放到Web頁(yè)的GUI和完全集成的調(diào)試支持。微軟為ASP.NET設(shè)計(jì)了這樣一些策略:易于寫出結(jié)構(gòu)清晰的代碼、代碼易于重用和共享、可用編譯類語(yǔ)言編寫等等,目的是讓程序員更容易開(kāi)發(fā)出Web應(yīng)用,滿足計(jì)算向Web轉(zhuǎn)移的戰(zhàn)略需要。ASP.NET提供了穩(wěn)定的性能、優(yōu)秀的升級(jí)性、更快速的開(kāi)發(fā)、更簡(jiǎn)便的管理、全新的語(yǔ)言以及網(wǎng)絡(luò)服務(wù)。貫穿整個(gè)ASP.NET的主題就是系統(tǒng)幫用戶做了大部分不重要的瑣碎的工作。ASP.NET支持多種語(yǔ)言,支持編譯類語(yǔ)言,支持比如VB、VC++、C#等,它比這些編譯類語(yǔ)言運(yùn)行速度快,更適合編寫大型應(yīng)用。快速發(fā)展的分布式應(yīng)用也需要更快速、更模塊化、更易操作、更多平臺(tái)支持和重復(fù)利用性更強(qiáng)的開(kāi)發(fā),需要一種新的技術(shù)來(lái)適應(yīng)不同的系統(tǒng),網(wǎng)絡(luò)應(yīng)用和網(wǎng)站需要提供一種更加強(qiáng)大的可升級(jí)的服務(wù)。ASP.NET能夠適應(yīng)上面的要求。1.3.2B/SB/S模式,即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來(lái)的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)是三層結(jié)構(gòu)C/S模式。在B/S模式中,客戶端運(yùn)行瀏覽器軟件。瀏覽器以超文本形式向Web服務(wù)器提出訪問(wèn)數(shù)據(jù)庫(kù)的要求,Web服務(wù)器接受客戶端請(qǐng)求后,將這個(gè)請(qǐng)求轉(zhuǎn)化為SQL語(yǔ)法,并交給數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器得到請(qǐng)求后,驗(yàn)證其合法性,并進(jìn)行數(shù)據(jù)處理,然后將處理后的結(jié)果返回給Web服務(wù)器,Web服務(wù)器再一次將得到的所有結(jié)果進(jìn)行轉(zhuǎn)化,變成HTML文檔形式,轉(zhuǎn)發(fā)給客戶端瀏覽器以友好的Web頁(yè)面形式顯示出來(lái)。在C/S結(jié)構(gòu)模式下,應(yīng)用系統(tǒng)被分為客戶機(jī)和服務(wù)器兩部分,其作用分別是Client主要用來(lái)管理接口,執(zhí)行客戶機(jī)應(yīng)用程序、采集數(shù)據(jù)以及向Server發(fā)出應(yīng)用請(qǐng)求,完成應(yīng)用處理.Server主要用來(lái)承擔(dān)系統(tǒng)的數(shù)據(jù)共享管理、通訊管理、文件管理和向Client提供服務(wù),完成數(shù)據(jù)訪問(wèn)和事務(wù)處理。實(shí)現(xiàn)了功能分布,即由Client端承擔(dān)了部分處理任務(wù),但數(shù)據(jù)集中在Server中。在查詢處理中,由Client提出查詢請(qǐng)求,而Server完成對(duì)數(shù)據(jù)庫(kù)的查詢?nèi)蝿?wù),查詢結(jié)果通過(guò)網(wǎng)絡(luò)傳輸?shù)紺lient。B/S模式管理信息系統(tǒng)基本上克服了C/S模式管理信息系統(tǒng)的不足。B/S模式提供了一致的用戶界面,B/S模式的應(yīng)用軟件都是基于Web瀏覽器的,這些瀏覽器的界面都很相似。對(duì)于無(wú)用戶交互功能的頁(yè)面,用戶接觸的界面都是一致的,從而可以降低軟件的培訓(xùn)費(fèi)用。系統(tǒng)基于Web設(shè)計(jì),采用B/S結(jié)構(gòu)體系,具有易安裝、成本低、易升級(jí)、可擴(kuò)充、完全開(kāi)放、不受站點(diǎn)空間限制等特點(diǎn)。B/S模式具有更強(qiáng)的信息系統(tǒng)集成性,所有應(yīng)用數(shù)據(jù)安裝在服務(wù)器端,客戶端無(wú)需安裝任何軟件,系統(tǒng)升級(jí)只需在服務(wù)器端進(jìn)行升級(jí)操作。1.4系統(tǒng)開(kāi)發(fā)硬件環(huán)境奔騰4以上CPU,10G以上硬盤空間,512MB以上內(nèi)存,網(wǎng)絡(luò)上行速度大于512KB/S,運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。1.5系統(tǒng)開(kāi)發(fā)軟件環(huán)境服務(wù)器端操作系統(tǒng):Windows7或WindowsXP.Net環(huán)境:.Netframework2.0數(shù)據(jù)庫(kù)軟件:SQLServerManagementStudio(SQLServer2014)瀏覽器:IE6.0或以上版本客戶端操作系統(tǒng):Windows7瀏覽器:IE6或以上版本第2章需求分析2.1系統(tǒng)功能需求提供系統(tǒng)人員基本信息的設(shè)置,包括添加、修改、刪除;影片提供放映廳基本信息的設(shè)置,包括添加、修改、刪除以及座位的查看;提供影片基本信息的設(shè)置,包括添加、修改、刪除;提供放映信息基本信息的設(shè)置,包括添加、修改、刪除;提供放映廳和影片廣告的展示;提供各種票務(wù)信息的組合查詢,包括放映信息、訂單、座位;顧客可以預(yù)定影票,取消影票的預(yù)定;顧客可以對(duì)預(yù)訂票進(jìn)行模擬付款,付款之后不允許退票;工作人員對(duì)訂單進(jìn)行統(tǒng)計(jì),并可生成報(bào)表;影片進(jìn)行評(píng)分和放映日期統(tǒng)計(jì),展示給顧客看;顧客可以對(duì)影片進(jìn)行打分、評(píng)論,并且將評(píng)分前十名的影片展示出來(lái);2.2輸入要求輸入數(shù)據(jù)主要有:客戶郵箱,客戶密碼,手機(jī)號(hào)碼,銀行賬號(hào),用戶名,用戶密碼,座位數(shù),大廳號(hào),價(jià)格,影片名,時(shí)長(zhǎng),主演、導(dǎo)演等。手機(jī)號(hào)碼、銀行賬號(hào)、大廳號(hào)、座位數(shù)、價(jià)格、時(shí)長(zhǎng)為整型數(shù)據(jù),客戶郵箱為郵箱格式,其余大部分為字符型。輸入一般采用界面的形式,如文本框,下拉框,單選框,復(fù)選框等。2.3用戶界面良好、操作簡(jiǎn)單系統(tǒng)頁(yè)面一律采用CSS+DIV排版界面,統(tǒng)一的窗口,提示信息位置及字體大小顏色醒目。因此看起來(lái)美觀簡(jiǎn)潔,操作簡(jiǎn)單易懂。對(duì)查詢提供精確查詢和模糊查詢,又使用了“表格方式”的用戶界面。對(duì)所有數(shù)據(jù)輸入進(jìn)行完整性和合法性檢查,盡量減少操作錯(cuò)誤。整個(gè)系統(tǒng)可用鍵盤或鼠標(biāo)操作。在各輸入處有提示信息,便于系統(tǒng)用戶的輸入。打印機(jī)輸出和屏幕顯示可同步進(jìn)行,給用戶“所見(jiàn)即所得”的新感受。2.4系統(tǒng)用例圖2.4.1影院工作人員用例圖系統(tǒng)的影院工作人員用例圖如圖2-1所示圖2-1影院工作人員用例圖2.4.2客戶用例圖系統(tǒng)的客戶人員用例圖如圖2-2所示圖2-2客戶人員用例圖2.5系統(tǒng)數(shù)據(jù)流圖2.5.1工作人員數(shù)據(jù)流圖本系統(tǒng)影院工作人員的操作數(shù)據(jù)流圖如圖2-3圖2-3操作人員的操作數(shù)據(jù)流圖2.5.1客戶數(shù)據(jù)流圖本系統(tǒng)顧客的操作數(shù)據(jù)流圖如圖2-4圖2-4顧客的操作數(shù)據(jù)流圖第3章概要設(shè)計(jì)3.1系統(tǒng)總體規(guī)劃3.1.1項(xiàng)目規(guī)劃影院票務(wù)管理系統(tǒng)是應(yīng)用于影院的電子售票的系統(tǒng),有前臺(tái)客戶操作和后臺(tái)影院工作人員操作兩大部分組成。前臺(tái)功能模塊前臺(tái)主要包括在線注冊(cè),客戶登錄,查看影片信息,對(duì)影片進(jìn)行打分和評(píng)論操作,查看大廳信息,購(gòu)買預(yù)售票,取消預(yù)售票,以及對(duì)預(yù)售票付款最終確定訂單等功能。后臺(tái)功能模塊后臺(tái)主要包括用戶信息的添加、修改、刪除,放映廳信息的添加、修改、刪除,影片信息的添加、修改、刪除,放映信息的添加、修改、刪除,訂單的查看以及生成報(bào)表等功能。3.1.2系統(tǒng)功能結(jié)構(gòu)圖影院票務(wù)管理系統(tǒng)的前臺(tái)系統(tǒng)功能圖,如圖3-1所示圖3-1影院票務(wù)管理系統(tǒng)前臺(tái)功能表影院票務(wù)管理系統(tǒng)的后臺(tái)系統(tǒng)功能圖,如圖3-2所示圖3-2影院票務(wù)管理系統(tǒng)后臺(tái)功能表3.2系統(tǒng)模塊設(shè)計(jì)根據(jù)結(jié)構(gòu)化設(shè)計(jì)中模塊的劃分方法,即盡量把密切相關(guān)的子問(wèn)題劃歸到同一個(gè)模塊;把不相關(guān)的子問(wèn)題劃歸到系統(tǒng)的不同模塊。將系統(tǒng)劃分為6個(gè)模塊,下面將介紹每個(gè)模塊的功能結(jié)構(gòu)以及模塊說(shuō)明書(shū)。3.2.1用戶模塊功能:用戶信息的添加、修改、刪除;用戶登錄,系統(tǒng)會(huì)驗(yàn)證正在登錄的用戶名、密碼以及權(quán)限是否正確;添加新的管理員。模塊說(shuō)明書(shū)見(jiàn)表3-1表3-1在線注冊(cè)模塊說(shuō)明書(shū)模塊名稱:用戶模塊說(shuō)明:只有管理員可以添加用戶和刪除用戶,管理員可以修改所有人的信息,普通用戶只可以修改自己的信息;用戶登錄為指定的根據(jù)名字漢語(yǔ)拼音生成的用戶名,初始密碼為111111,登陸之后自行修改密碼;忘記密碼之后只能由管理員修改;添加新的管理員,只有管理員可以操作此項(xiàng)。3.2.2影片模塊功能:影片信息的添加、修改、刪除,其中影片圖片保存圖片名稱,圖片由影院工作人員上傳;評(píng)分與評(píng)論,顧客對(duì)此操作具有選擇性,可以不進(jìn)行;影片根據(jù)不同信息的展示,其中評(píng)分高低由客戶的評(píng)分結(jié)果判斷;由用戶輸入一串字符,系統(tǒng)根據(jù)符合演員或?qū)а莼蚱我庖粋€(gè)條件進(jìn)行查詢。模塊說(shuō)明書(shū)見(jiàn)表3-2表3-2影片模塊說(shuō)明書(shū)模塊名稱:影片模塊說(shuō)明:包括影片基本信息的添加、修改、刪除,這些功能由影院工作人員操作完成;包括影片的評(píng)分和評(píng)論,此功能由客戶完成;包括影片選擇項(xiàng)的展示,例如按照上映日期倒序展示,按照影片評(píng)分由高到低展示,這些功能有系統(tǒng)自動(dòng)實(shí)現(xiàn);包括符合演員或?qū)а莼蛑餮菀豁?xiàng)和多項(xiàng)的條件查詢,這個(gè)功能由客戶的輸入信息和系統(tǒng)的查詢完成。3.2.3大廳模塊功能:大廳信息的添加、修改、刪除,其中大廳圖片保存圖片名稱,圖片由影院工作人員上傳;展示某個(gè)大廳的座位排列以及座位預(yù)定信息。模塊說(shuō)明書(shū)見(jiàn)表3-3表3-3大廳模塊說(shuō)明書(shū)模塊名稱:大廳模塊說(shuō)明:包括大廳基本信息的添加、修改、刪除,這些功能由影院工作人員操作完成;包括大廳座位信息以圖形界面展示,同時(shí)展示出座位預(yù)定情況,此功能由影院工作人員選擇大廳之后由系統(tǒng)完成。3.2.4放映信息模塊功能:放映信息的添加、修改、刪除;根據(jù)多個(gè)條件進(jìn)行組合查詢用于系統(tǒng)的判斷和應(yīng)用,條件由顧客輸入。模塊說(shuō)明書(shū)見(jiàn)表3-4表3-4放映信息模塊說(shuō)明書(shū)模塊名稱:放映信息模塊說(shuō)明:包括放映信息基本信息的添加、修改、刪除,這些功能由影院工作人員操作完成,其中每個(gè)大廳沒(méi)兩場(chǎng)的放映有15分鐘的間隔,由系統(tǒng)來(lái)作出判斷;包括根據(jù)大廳號(hào)和影片名以及自今天起往后三天之內(nèi)的放映信息的查詢,此功能需要客戶選擇大廳號(hào)、影片和日期三個(gè)條件之后由系統(tǒng)完成。3.2.5客戶模塊功能:客戶信息的添加、修改;根據(jù)密保問(wèn)題和相應(yīng)的密保答案修改密碼或設(shè)置新的密碼;登錄時(shí)根據(jù)當(dāng)前登錄的客戶郵箱和密碼驗(yàn)證是否正確。客戶模塊說(shuō)明書(shū)見(jiàn)表3-5表3-5客戶模塊說(shuō)明書(shū)模塊名稱:客戶模塊說(shuō)明:包括客戶信息的添加、修改,其中添加由客戶自行注冊(cè)添加,修改信息由客戶自行完成;客戶忘記密碼時(shí)可以根據(jù)密保問(wèn)題與相應(yīng)的密保答案設(shè)置新的密碼;客戶登錄賬號(hào)為客戶注冊(cè)時(shí)的郵箱。3.2.6訂單模塊功能:訂單信息的添加、修改、刪除;對(duì)預(yù)訂票的付款;根據(jù)多個(gè)條件進(jìn)行組合查詢用于系統(tǒng)的判斷和應(yīng)用,條件由系統(tǒng)自動(dòng)獲取;生成報(bào)表。客戶模塊說(shuō)明書(shū)見(jiàn)表3-6表3-6訂單模塊說(shuō)明書(shū)模塊名稱:訂單模塊說(shuō)明:包括訂單信息的添加、修改、刪除,其中訂單的增加為添加為付款的預(yù)售票訂單的添加,修改為是否對(duì)預(yù)售票付款的修改,刪除為對(duì)未付款的預(yù)售票訂單刪除,付款的預(yù)售票不可退票,以上功能均由登錄的客戶操作完成,未登錄的客戶不可操作;包括根據(jù)場(chǎng)次信息判斷登錄客戶時(shí)候已經(jīng)進(jìn)行過(guò)添加訂單操作,已經(jīng)進(jìn)行過(guò)添加訂單操作的只能再次添加座位;包括根據(jù)不同的條件生成不同的報(bào)表,此功能由影院工作人員操作完成。3.3系統(tǒng)E-R模型分析3.3.1實(shí)體分析根據(jù)系統(tǒng)分析,確定系統(tǒng)有以下幾個(gè)實(shí)體:顧客,評(píng)分,大廳,電影,訂單,報(bào)表,座位,放映信息,用戶,共9個(gè)實(shí)體。3.3.2系統(tǒng)整體的E-R圖E-R分析:一個(gè)大廳有多個(gè)座位,每個(gè)座位只能屬于一個(gè)大廳;一個(gè)大廳可以有多個(gè)放映信息,一個(gè)放映信息只能在一個(gè)大廳內(nèi);每個(gè)影片有多個(gè)放映信息,每個(gè)放映信息只有一個(gè)影片;每個(gè)影片有多個(gè)評(píng)分和評(píng)論,每個(gè)評(píng)分和評(píng)論只對(duì)應(yīng)于一個(gè)影片;每個(gè)客戶可以有多次評(píng)分和評(píng)論,每個(gè)評(píng)分和評(píng)論只對(duì)應(yīng)于一個(gè)客戶;每個(gè)客戶可以有多個(gè)訂單,每個(gè)訂單只屬于一個(gè)客戶;每個(gè)訂單可以生成多個(gè)報(bào)表,每個(gè)報(bào)表只屬于一個(gè)訂單;每個(gè)用戶(工作人員)可以生成多個(gè)報(bào)表;每個(gè)報(bào)表只對(duì)應(yīng)于一個(gè)用戶。系統(tǒng)的E-R圖的設(shè)計(jì)如圖3-3圖3-3系統(tǒng)的E-R關(guān)系圖3.3.3實(shí)體屬性定義用戶(用戶ID,用戶名,用戶密碼,權(quán)限)主鍵:用戶ID影片(影片ID,影片名字,影片圖片,主演,導(dǎo)演,上映日期,語(yǔ)言,片長(zhǎng),類型,描述)主鍵:影片ID評(píng)分(影片ID,總分,平均分)主鍵:影片ID客戶(客戶ID,客戶密碼,郵箱,密保問(wèn)題,密保答案)主鍵:客戶ID訂單(訂單ID,客戶ID,放映ID,座位ID,購(gòu)買時(shí)間,付款,客戶電話,驗(yàn)證碼,銀行賬號(hào))主鍵:訂單ID;外鍵:客戶ID,放映ID,座位ID放映信息(放映ID,影片ID,大廳ID,票價(jià),開(kāi)始時(shí)間)主鍵:放映ID;外鍵:影片ID,大廳ID大廳(大廳號(hào),座位數(shù),大廳圖片,描述)主鍵:大廳號(hào)座位(座位ID,大廳ID,排數(shù),列數(shù),預(yù)定)主鍵:座位ID;外鍵:大廳ID3.3.4數(shù)據(jù)字典數(shù)據(jù)字典(Datadictionary)是一種用戶可以訪問(wèn)的記錄數(shù)據(jù)庫(kù)和應(yīng)用程序源數(shù)據(jù)的目錄。主動(dòng)數(shù)據(jù)字典是指在對(duì)數(shù)據(jù)庫(kù)或應(yīng)用程序結(jié)構(gòu)進(jìn)行修改時(shí),其內(nèi)容可以由DBMS自動(dòng)更新的數(shù)據(jù)字典。被動(dòng)數(shù)據(jù)字典是指修改時(shí)必須手工更新其內(nèi)容的數(shù)據(jù)字典。數(shù)據(jù)字典最重要的作用是作為分析階段的工具。任何字典最重要的用途都是供人查詢對(duì)不了解的條目的解釋,在結(jié)構(gòu)化分析中,數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個(gè)成分加以定義和說(shuō)明。換句話說(shuō),數(shù)據(jù)流圖上所有的成分的定義和解釋的文字集合就是數(shù)據(jù)字典,而且在數(shù)據(jù)字典中建立的一組嚴(yán)密一致的定義很有助于改進(jìn)分析員和用戶的通信。后臺(tái)數(shù)據(jù)字典:管理請(qǐng)求:對(duì)系統(tǒng)基本信息設(shè)置的請(qǐng)求,系統(tǒng)根據(jù)請(qǐng)求加載相應(yīng)的處理界面;影片基本信息:片名,圖片,上映日期,時(shí)長(zhǎng),語(yǔ)言,主演,導(dǎo)演,類型,簡(jiǎn)介;查詢條件(訂單):【是否付款||片名,大廳,場(chǎng)次】;訂單信息:片名,大廳,座位號(hào),場(chǎng)次,客戶電話,購(gòu)買時(shí)間;大廳基本信息:圖片,座位數(shù),簡(jiǎn)介;場(chǎng)次基本信息:片名,大廳,票價(jià),放映時(shí)間。前臺(tái)數(shù)據(jù)字典:查看首頁(yè)命令:發(fā)送加載首頁(yè)命令,系統(tǒng)加載首頁(yè);查看大廳命令:發(fā)送加載大廳命令,系統(tǒng)加載大廳界面展示給客戶;付款或我的訂單命令:查看當(dāng)前登錄的客戶的訂單;訂單信息:片名,大廳,座位號(hào),價(jià)格,開(kāi)始時(shí)間。第4章詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)需求分析、系統(tǒng)設(shè)計(jì)以及數(shù)據(jù)流圖和數(shù)據(jù)字典可以設(shè)計(jì)系統(tǒng)的物理數(shù)據(jù)模型,系統(tǒng)的物理數(shù)據(jù)模型如圖4-3所示圖4-3系統(tǒng)的物理數(shù)據(jù)模型CDM圖物理數(shù)據(jù)模型設(shè)計(jì)好之后,利用PowerDesigner生成相應(yīng)的邏輯數(shù)據(jù)模型,系統(tǒng)的邏輯數(shù)據(jù)模型如圖4-4所示圖4-4系統(tǒng)的邏輯數(shù)據(jù)模型PDM圖邏輯數(shù)據(jù)模型生成之后,PowerDesigner利用它生成crebas.sql文件,即可在SQLServerManagementStudio中執(zhí)行此文件的SQL語(yǔ)句,繼而生成了系統(tǒng)最終的數(shù)據(jù)庫(kù)。本系統(tǒng)采用SQLServer2014數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名為TheaterTicketManager。數(shù)據(jù)庫(kù)中包含9張表,下面給出數(shù)據(jù)表結(jié)構(gòu):用戶表用戶表(tbl_User)主要用于保存影院工作人員的信息,該表的結(jié)構(gòu)如表4-1所示。表4-1表tbl_User的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度為空主鍵描述UserIDint 否是用戶IDUserNamevarchar50否用戶名UPassWordvarchar50否用戶密碼UserRightsint否用戶權(quán)限客戶表客戶表(tbl_Customer)主要用于保存客戶的信息,該表的結(jié)構(gòu)如表4-2所示表4-2表tbl_Customer的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度為空主鍵描述CustomerIDint否是客戶IDCPassWordvarchar50否客戶密碼Emailvarchar150否登錄郵箱PwdQuestionvarchar150否密保問(wèn)題PwdAnswervarchar150否密保答案影片表影片表(tbl_Movie)主要用于保存影片的信息,該表的結(jié)構(gòu)如表4-3所示表4-3表tbl_Movie的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述MovieIDint 否是影片IDMovieNamevarchar150否片名MovieImgvarchar150否影片圖片MainActorsvarchar150是主演Directorvarchar50是主演BeOnDateTimedatetime是上映日期Languagevarchar50是語(yǔ)言Durationdecimal18,0否時(shí)長(zhǎng)MovieTypevarchar100是類型Descriptionvarchar4000否影片描述影片客戶表影片客戶表(tbl_MovieCust)主要用于保存客戶對(duì)影片的評(píng)分及評(píng)論的信息,該表的結(jié)構(gòu)如表4-4所示表4-4表tbl_MovieCust的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述MovieIDint 否是影片IDCustomerIDint否是客戶IDGradeNumint150是評(píng)分MovieCommentvarchar2000否評(píng)論CommentTimedatatime否評(píng)論時(shí)間得分表得分表(tbl_Grade)主要用于保存影片的平均分和獲得的總分,該表的結(jié)構(gòu)如表4-5所示表4-5表tbl_Grade的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述MovieIDint 否是影片IDGradeSumint否否總分GradeAvgdecimal18,1否平均分大廳表大廳表(tbl_Hall)主要用于保存放映大廳的信息,該表的結(jié)構(gòu)如表4-6所示表4-6表tbl_Hall的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述HallIDint 否是大廳號(hào)HallSeatsint否座位數(shù)HallImgvarchar150否大廳圖片Descriptionvarchar4000否大廳描述座位表座位表(tbl_Seats)主要用于保存放映座位的信息,該表的結(jié)構(gòu)如表4-7所示表4-7表tbl_Seats的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述SeatIDint 否是座位IDHallIDint否大廳號(hào)SeatRowint否座位排數(shù)SeatColumnint否座位列數(shù)Orderedint否是否預(yù)訂放映信息表放映信息表(tbl_Schedule)主要用于保存放映信息的信息,該表的結(jié)構(gòu)如表4-8所示表4-8表tbl_Schedule的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述ScheduleIDint 否是放映信息IDMovieIDint否影片號(hào)HallIDint否大廳IDSchedulePriceint否價(jià)格BeginDateTimedatetime否開(kāi)始時(shí)間訂單表訂單表(tbl_Order)主要用于保存訂單的信息,該表的結(jié)構(gòu)如表4-9所示表4-9表tbl_Order的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度空主鍵描述OrderIDint 否是訂單IDCustomerIDint否客戶IDScheduleIDint否放映信息IDSeatIDint否座位IDBuyDateTimedatetime否預(yù)定時(shí)間Orderedint付款CustomerPhonevarchar50客戶電話AuthCodeint驗(yàn)證碼BankNumvarchar50銀行賬號(hào)至此系統(tǒng)最重要的部分?jǐn)?shù)據(jù)庫(kù)即已完成,在此基礎(chǔ)上規(guī)范的進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)的系統(tǒng)的基本功能。4.2系統(tǒng)設(shè)計(jì)4.2.1設(shè)計(jì)思路由于系統(tǒng)各個(gè)模塊之間的關(guān)系,故采用代碼分離方式進(jìn)行系統(tǒng)的設(shè)計(jì)。使設(shè)計(jì)思路更加的清晰,有利于標(biāo)準(zhǔn)化,維護(hù)起來(lái)更加的方便,增加了代碼的重復(fù)利用率,同時(shí)也增加了一定的安全性。但是也是有缺點(diǎn)的,此結(jié)構(gòu)降低了系統(tǒng)的性能,因?yàn)橄到y(tǒng)業(yè)務(wù)必須通過(guò)層之間的依賴實(shí)現(xiàn),也導(dǎo)致了級(jí)聯(lián)的修改,因?yàn)槟骋还δ軜I(yè)務(wù)的修改需要自上而下的進(jìn)行。圖4-5系統(tǒng)設(shè)計(jì)的二個(gè)層次以及實(shí)體層如圖4-5系統(tǒng)代碼分離分成了二個(gè)層次:應(yīng)用層,數(shù)據(jù)庫(kù)訪問(wèn)層和一個(gè)用來(lái)輔助的類庫(kù)——實(shí)體層。應(yīng)用層是作為跟用戶交互的層次,用戶的操作在應(yīng)用層上實(shí)現(xiàn),數(shù)據(jù)的輸入以及采集在應(yīng)用層上進(jìn)行,數(shù)據(jù)的展示在應(yīng)用層上完成;實(shí)體層是數(shù)據(jù)庫(kù)中各個(gè)表字段的一個(gè)映射,每張表對(duì)應(yīng)于一個(gè)實(shí)體類,它用來(lái)保存二個(gè)層之間傳遞時(shí)的數(shù)據(jù)值,保證數(shù)據(jù)不會(huì)丟失以及正確性和同步性;數(shù)據(jù)庫(kù)訪問(wèn)層是直接與數(shù)據(jù)庫(kù)交互的一層,是數(shù)據(jù)庫(kù)的操作層,數(shù)據(jù)庫(kù)中數(shù)據(jù)的添加、修改和刪除都由它來(lái)完成。其中應(yīng)用層的展示主要用到CSS+DIV的排版方式,某些驗(yàn)證用到j(luò)avascript腳本語(yǔ)言。4.2.2方法的說(shuō)明每個(gè)類中都有或多或少的方法,這些所有的方法實(shí)現(xiàn)整個(gè)系統(tǒng)的功能,調(diào)用非本類中的方法需要要將該方法定義為public類型,并在該類中創(chuàng)建一個(gè)包含目標(biāo)方法類的實(shí)例對(duì)象,這樣就可以通過(guò)該實(shí)例對(duì)象調(diào)用目標(biāo)方法了。其中數(shù)據(jù)庫(kù)的鏈接語(yǔ)句保存在配置文件Wen.config中,<addname="SqlConnection"connectionString="DataSource=WIN-EH6NGOUMVUB\SQLEXPRESS;InitialCatalog=TheaterTicketManager;IntegratedSecurity=True"/>,數(shù)據(jù)訪問(wèn)層中的類用staticstringsqlConnection=ConfigurationManager.ConnectionStrings["SqlConnection"].ToString();SqlConnectionconn=newSqlConnection(sqlConnection)就可以連接到數(shù)據(jù)庫(kù),從而對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。以下作為介紹系統(tǒng)實(shí)現(xiàn)的例子。圖4-6影片添加如圖4-6為影片添加的用戶界面,界面上有要求輸入的文本框,供選擇的下拉列表框和復(fù)選框以及上傳圖片的上傳控件。用戶填寫的數(shù)據(jù)需要進(jìn)行驗(yàn)證的都會(huì)進(jìn)行進(jìn)行并給出一定的錯(cuò)誤提示和數(shù)據(jù)填寫提示。該界面中【確定】按鈕的事件會(huì)將一條新的影片信息插入到數(shù)據(jù)庫(kù)中。其中它的時(shí)間代碼為:stringintegerPattern=@"^[1-9]+[0-9]*$";//數(shù)字驗(yàn)證正則stringpath=Server.MapPath("pictures");boolfileOK=false;if(txtMovieName.Text.Trim().ToString().Length==0){lblPrompt.Text="片名不能為空";}elseif(txtYear.Text.Trim().ToString().Length==0){lblPrompt.Text="年份不能為空";}elseif(!Regex.IsMatch(txtYear.Text.Trim().ToString(),integerPattern)){lblPrompt.Text="年份為整數(shù)";}elseif(txtYear.Text.Trim().ToString().Length!=4){lblPrompt.Text="年份為四位";}elseif(txtDuration.Text.Trim().ToString().Length==0){lblPrompt.Text="時(shí)長(zhǎng)不能為空";}elseif(!Regex.IsMatch(txtDuration.Text.Trim().ToString(),integerPattern)){lblPrompt.Text="時(shí)長(zhǎng)為整數(shù)";}elseif(txtLanguage.Text.Trim().ToString().Length==0){lblPrompt.Text="語(yǔ)言種類不能為空";}elseif(txtMainActors.Text.Trim().ToString().Length==0){lblPrompt.Text="主演不能為空";}elseif(txtDirector.Text.Trim().ToString().Length==0){lblPrompt.Text="導(dǎo)演不能為空";}elseif(cblType.SelectedItem==null){lblPrompt.Text="影片類型不能為空";}elseif(txtDescription.Text.Trim().ToString().Length==0){lblPrompt.Text="簡(jiǎn)介不能為空";}elseif(!fulImg.HasFile){Response.Write(fulImg.FileName);lblPrompt.Text="請(qǐng)選擇影片圖片";}elseif(fulImg.HasFile){stringfileExtension=Path.GetExtension(fulImg.FileName).ToLower();//需要用到命名空間System.IOstringtype="";string[]allowedExtensions={".gif",".jpg",".png",".jpeg"};for(inti=0;i<allowedExtensions.Length;i++){if(fileExtension==allowedExtensions[i]){fileOK=true;}}if(fileOK==false){lblPromptImg.Text="請(qǐng)選擇(.gif,.jpg,.png,.jpeg)格式的圖片";}elseif(fileOK==true){fulImg.SaveAs(path+"\\"+fulImg.FileName);movieEntity.movieName=txtMovieName.Text.Trim().ToString();movieEntity.movieImg=fulImg.FileName.Trim().ToString();movieEntity.mainActors=txtMainActors.Text.Trim().ToString();movieEntity.director=txtDirector.Text.Trim().ToString();movieEntity.beOnLineTime=Convert.ToDateTime(txtYear.Text.Trim().ToString()+"-"+ddlMonth.SelectedItem.Text.Trim().ToString()+"-"+ddlDay.SelectedItem.Text.Trim().ToString());movieEntity.language=txtLanguage.Text.Trim().ToString();movieEntity.duration=Convert.ToDecimal(txtDuration.Text.Trim().ToString());for(inti=0;i<cblType.Items.Count;i++){if(cblType.Items[i].Selected){type=type+cblType.Items[i].ToString()+"、";}}movieEntity.movieType=type.Substring(0,type.Length-1);movieEntity.description=txtDescription.Text.Trim().ToString();DataTabledt=movieDAO.getMovieByMovieName(txtMovieName.Text.Trim().ToString());if(dt.Rows.Count==0){movieDAO.InsertMovieInfo(movieEntity);lblPrompt.Text="影片添加成功";}elseif(dt.Rows.Count>0){lblPrompt.Text="影片信息已經(jīng)存在";}}}其中調(diào)用了MovieDAO類中的方法getMovieByMovieName()檢查影片信息是否已經(jīng)存在,調(diào)用MovieDAO類中的方法InsertMovieInfo()插入一個(gè)新的影片記錄到數(shù)據(jù)庫(kù)中去。下面介紹MovieDAO中的這兩個(gè)方法:///<summary>///根據(jù)片名查找影片///</summary>///<paramname="movieEntity"></param>///<returns></returns>publicDataTablegetMovieByMovieName(stringmovieName){stringsqlStr="select*fromtbl_MoviewhereMovieName='"+movieName+"'";conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);DataTabledt=ds.Tables[0];returndt;}///<summary>///根據(jù)頁(yè)碼數(shù)選擇影片信息///</summary>///<paramname="pgNum"></param>///<returns></returns>publicDataTablegetMovie(intpgNum){inttemp=5*pgNum;//涉及到每頁(yè)的數(shù)目intsum=getAllMovie().Rows.Count;stringsqlStr="select*from(selecttop5*from(selecttop"+temp+"*fromtbl_MovieorderbyBeOnDateTimedesc)aorderbyBeOnDateTimeasc)borderbyBeOnDateTimedesc";//涉及到每頁(yè)的數(shù)目if(sum%5!=0)//涉及到每頁(yè)的數(shù)目{if(pgNum==(sum/5+1))//涉及到每頁(yè)的數(shù)目{sqlStr="select*from(selecttop"+sum%5+"*from(selecttop"+temp+"*fromtbl_MovieorderbyBeOnDateTimedesc)aorderbyBeOnDateTimeasc)borderbyBeOnDateTimedesc";//涉及到每頁(yè)的數(shù)目}}conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);DataTabledt=ds.Tables[0];returndt;}由此可以看出調(diào)用本類以外方法的一個(gè)條件就是目標(biāo)方法要是public類型的,另外一個(gè)條件就是要在調(diào)用目標(biāo)方法的類中添加MovieDAOmovieDAO=newMovieDAO();MovieEntitymovieEntity=newMovieEntity();添加這兩行代碼即可,就可以輕松的實(shí)現(xiàn)不同類中方法的調(diào)用。然而【確定】按鈕的事件方法和MovieDAO中的方法都用到了類MovieEntity,這也正體現(xiàn)了實(shí)體類的用處了,不同類之間數(shù)據(jù)的傳遞。實(shí)現(xiàn)按評(píng)分展現(xiàn)影片列表的方法如下:///<summary>///獲取平均分排名在前名的影片///</summary>///<returns></returns>publicDataTablegetMovieTopTen(intnum){stringsqlStr="";if(num==5){sqlStr="select*fromtbl_MoviewhereMovieIDin(selecttop5MovieIDfromtbl_GradeorderbyGradeAvgdesc)";}elseif(num==10){sqlStr="select*fromtbl_MoviewhereMovieIDin(selecttop10MovieIDfromtbl_GradeorderbyGradeAvgdesc)";}conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);returnds.Tables[0];}這里的參數(shù)是決定選出前十還是前五用來(lái)展示影片列表,系統(tǒng)前端首頁(yè)傳入?yún)?shù)值為5,首頁(yè)上展示評(píng)分前五的影片,用戶選擇更多的時(shí)候?qū)魅胫禐?0的參數(shù),系統(tǒng)將會(huì)展示評(píng)分前十的影片。圖4-7客戶的訂單操作(付款和取消訂單)如圖4-7所示為客戶對(duì)訂單的操作,其中訂單的展示,付款和取消訂單都用到了OrderDAO中的方法,三個(gè)方法如下:///<summary>///根據(jù)客戶信息獲取訂單詳情///</summary>///<paramname="cid"></param>///<returns></returns>publicDataTablegetOrderByCid(intcid,intstatus){DateTimetime=DateTime.Now;time=time.AddDays(-2);//查找可以訂票時(shí)間范圍內(nèi)的訂單stringsqlStr="selecta.OrderID,d.SeatID,c.MovieName,b.HallID,d.SeatRow,d.SeatColumn,b.SchedulePrice,b.BeginDateTimefromtbl_Ordera,tbl_Scheduleb,tbl_Moviec,tbl_Seatsdwherea.ScheduleID=b.ScheduleIDandb.MovieID=c.MovieIDanda.CustomerID="+cid+"anda.BuyDateTime>='"+time+"'anda.SeatID=d.SeatID";if(status==2){sqlStr=sqlStr+"orderbyBuyDateTimedesc";}elseif(status==1){sqlStr=sqlStr+"anda.Ordered=1orderbyBuyDateTimedesc";}elseif(status==0){sqlStr=sqlStr+"anda.Ordered=0orderbyBuyDateTimedesc";}conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);returnds.Tables[0];}系統(tǒng)自動(dòng)調(diào)用這個(gè)方法即實(shí)現(xiàn)了圖4-7中的訂單列表的展現(xiàn);///<summary>///根據(jù)訂單ID付款之后修改訂單信息///</summary>///<paramname="phone"></param>///<paramname="authCode"></param>///<paramname="oid"></param>publicvoidupdateOrderInfo(stringphone,intauthCode,stringbankNum,intoid){stringsqlStr="";sqlStr="updatetbl_OrdersetOrdered=1,CustPhone='"+phone+"',AuthCode="+authCode+",BankNum='"+bankNum+"'whereOrderID="+oid;conn.Open();SqlCommandcomm=newSqlCommand(sqlStr,conn);comm.ExecuteNonQuery();conn.Close();}圖4-7中的【付款】按鈕調(diào)用這個(gè)方法即實(shí)現(xiàn)了圖4-7中的訂單付款的操作;///<summary>///根據(jù)訂單ID刪除訂單///</summary>///<paramname="oid"></param>publicvoiddeleteOrder(intoid){stringsqlStr="deletefromtbl_OrderwhereOrderID="+oid;conn.Open();SqlCommandcomm=newSqlCommand(sqlStr,conn);comm.ExecuteNonQuery();conn.Close();}圖4-7中的【取消預(yù)定】按鈕調(diào)用這個(gè)方法即實(shí)現(xiàn)了圖4-7中的訂單取消的操作。以上為幾個(gè)系統(tǒng)設(shè)計(jì)的例子,整個(gè)系統(tǒng)就是按照這樣的思路實(shí)現(xiàn)功能。數(shù)據(jù)訪問(wèn)層中的類中的很多方法會(huì)被應(yīng)用層的控件事件或者方法重復(fù)調(diào)用,實(shí)現(xiàn)了代碼的復(fù)用,減少了一定的工作量。第5章系統(tǒng)測(cè)試5.1功能測(cè)試本系統(tǒng)的測(cè)試主要是功能測(cè)試,測(cè)試系統(tǒng)的功能的時(shí)候已正確的完成。功能測(cè)試的主要內(nèi)容是按實(shí)際操作的數(shù)據(jù)向系統(tǒng)的各個(gè)功能模塊輸入數(shù)據(jù),檢測(cè)輸出結(jié)果是否符合預(yù)期要求。例如:大廳的添加和訂單的生成報(bào)表,詳細(xì)如下:圖5-1大廳添加失敗圖5-2大廳添加輸入正確的數(shù)據(jù)圖5-3大廳添加之后同樣會(huì)給出相應(yīng)的提示圖5-4訂單列表的展示圖5-5生成exel文件的報(bào)表以生成時(shí)間為名稱經(jīng)測(cè)試,系統(tǒng)的功能基本已經(jīng)完成。5.2性能測(cè)試在對(duì)各個(gè)模塊的測(cè)試完成后對(duì)整個(gè)系統(tǒng)做一個(gè)完整的測(cè)試,以檢驗(yàn)各模塊在聯(lián)合運(yùn)行時(shí)運(yùn)行結(jié)果是否符合預(yù)期要求,運(yùn)行時(shí)占用的系統(tǒng)資源的大小,系統(tǒng)功能執(zhí)行所用的時(shí)間。由于本系統(tǒng)是基于B\S模式開(kāi)發(fā)的。因此,系統(tǒng)的性能很大程度上與服務(wù)器和網(wǎng)絡(luò)速度有很大的關(guān)系。經(jīng)測(cè)試,在CPU:2.00GHz,內(nèi)存3G的硬件配置和WindowsXP+IIS5.1的軟件配置上運(yùn)行本系統(tǒng),均能正常運(yùn)行。經(jīng)測(cè)試結(jié)果屬于正常接受范圍,不會(huì)造成數(shù)據(jù)庫(kù)和系統(tǒng)崩潰的現(xiàn)象。5.3改進(jìn)意見(jiàn)由于本人技術(shù)水平有限,完成時(shí)間倉(cāng)促,故系統(tǒng)還存在許多不足之處。經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)系統(tǒng)并不是完美的系統(tǒng),存在瑕疵。例如訂座位時(shí)的不方便,由于缺少技術(shù)與經(jīng)驗(yàn)無(wú)法實(shí)現(xiàn)目前市場(chǎng)上的訂座功能,這是最大的瑕疵;下拉列表框無(wú)法顯示與數(shù)據(jù)庫(kù)中相對(duì)應(yīng)的數(shù)據(jù),用了文本框與下拉列表框的顯隱解決這個(gè)問(wèn)題,等等。還有很多的技術(shù)難題需要去攻關(guān),需要盡量多的利用技術(shù)實(shí)現(xiàn)系統(tǒng)的完美性。第6章總結(jié)6.1今后努力的方向個(gè)人覺(jué)得這個(gè)課題的立足點(diǎn)非常好,非常有實(shí)際意義,如果能將系統(tǒng)的功能進(jìn)一步完善并投入使用,那將為我們的實(shí)訓(xùn)課程帶來(lái)很大的便利。一直希望能在系統(tǒng)中用上不一樣的技術(shù),首先想要對(duì)Javascript了解,用這門強(qiáng)大的腳本語(yǔ)言幫助實(shí)現(xiàn)一些功能,既可以使頁(yè)面更加的美觀,在一定程度上減少了服務(wù)器的壓力,有助于提高系統(tǒng)的性能。總之要精通一門技術(shù),是要建立在這個(gè)領(lǐng)域的知識(shí)架構(gòu)上的,只有這樣才能適應(yīng)當(dāng)前市場(chǎng)或者可預(yù)見(jiàn)的潛在未來(lái)市場(chǎng)的要求。6.2結(jié)束語(yǔ)在論文的最后,我想說(shuō)說(shuō)自己的許多感受。在這一段做畢業(yè)設(shè)計(jì)的日子里,除了遇到了許多的技術(shù)問(wèn)題以外,感覺(jué)到更多的是做事方法的問(wèn)題。自己在做畢業(yè)設(shè)計(jì)的時(shí)候會(huì)遇到許多的困難,比如在外實(shí)習(xí)的時(shí)間問(wèn)題,對(duì)于惰性的克服,對(duì)于某一階段,某些東西的取舍問(wèn)題。畢業(yè)設(shè)計(jì)是我們大學(xué)階段的最后一道檻,跨過(guò)之后我們將開(kāi)始自己嶄新的人生,翻開(kāi)人生新的篇章。學(xué)校學(xué)到的知識(shí)可以說(shuō)是十分的有限,我們需要花更多的時(shí)間去掌握現(xiàn)當(dāng)今正流行甚至是即將流行的技術(shù)與知識(shí),只有在不斷地充實(shí)過(guò)程中,我們的工作、生活才會(huì)更加的絢麗多彩。這次的畢設(shè)既是我大學(xué)期間的一個(gè)結(jié)點(diǎn),也是我將來(lái)工作的新的開(kāi)始。雖然我做的軟件在功能方面、安全性方面等還有很大的缺陷,但是這樣一個(gè)完整的過(guò)程,使我在實(shí)踐中吸取了不少的經(jīng)驗(yàn),相信在日后會(huì)對(duì)自己有更多的幫助。軟件工程是一個(gè)大的思想體系,今后無(wú)論做程序的開(kāi)發(fā)、測(cè)試或者轉(zhuǎn)行做其他的。我想這個(gè)工程化的思想方法始終是有用的,在大學(xué)里學(xué)的很多理論,日后用到的時(shí)候一定都會(huì)覺(jué)得很感慨。在編碼實(shí)現(xiàn)階段,我發(fā)覺(jué)自己有很多不懂的地方,學(xué)校里學(xué)的東西完全不能解決復(fù)雜的應(yīng)用,而且web應(yīng)用的開(kāi)發(fā),需要有一個(gè)系統(tǒng)的知識(shí)架構(gòu),單單了解一方面是不行的。希望在未來(lái)的工作和學(xué)習(xí)過(guò)程中能夠不斷加強(qiáng)自己對(duì)程序的理解和領(lǐng)悟,開(kāi)發(fā)出更多更完善、實(shí)用的系統(tǒng)。由于本人的知識(shí)水平和實(shí)踐經(jīng)驗(yàn)有限,論文中不免有一些疏漏、不當(dāng)甚至錯(cuò)誤之處,希望各位老師給予批評(píng)指正。致謝在這次制作畢業(yè)設(shè)計(jì)的過(guò)程中,我獲得了來(lái)自于同學(xué)們和老師們的幫助。尤其是導(dǎo)師XXX老師對(duì)我的指導(dǎo)。從最開(kāi)始的需求分析到程序代碼的實(shí)現(xiàn),XXX老師幫我解決了許多的困惑,并且提了不少的建議。尤其是XXX老師在非常忙的時(shí)候,依然會(huì)細(xì)心的幫我指導(dǎo),幫助我順利的完成畢業(yè)設(shè)計(jì)。另外,我也感謝校方給予我這樣一次的機(jī)會(huì),能夠獨(dú)立地完成一個(gè)課題,并在這個(gè)過(guò)程當(dāng)中,給予我們各種方便,使我們?cè)诩磳㈦x校的最后一段時(shí)間里,能夠更多學(xué)習(xí)一些實(shí)踐應(yīng)用知識(shí),增強(qiáng)了我們實(shí)踐操作和動(dòng)手應(yīng)用能力,提高了獨(dú)立思考的能力。再一次對(duì)我的母校表示感謝,即將畢業(yè),我感謝母校這四年來(lái)對(duì)于我的培育。同時(shí)也感謝所有在畢業(yè)設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué),以及在設(shè)計(jì)中被我引

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論