2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p>  摘 要- 1 -</p><p>  ABSTRACT- 2 -</p><p>  第1章 概 述- 4 -</p><p>  1.1目的和意義- 4 -</p><p>  1.2課題的項目背景- 4

2、-</p><p>  1.3開發(fā)平臺簡介- 4 -</p><p>  1.3.1 ASP.NET簡介- 4 -</p><p>  1.3.2 B/S- 5 -</p><p>  1.4系統(tǒng)開發(fā)硬件環(huán)境- 6 -</p><p>  1.5系統(tǒng)開發(fā)軟件環(huán)境- 6 -</p><p&g

3、t;  第2章 需求分析- 7 -</p><p>  2.1系統(tǒng)功能需求- 7 -</p><p>  2.2輸入要求- 7 -</p><p>  2.3用戶界面良好、操作簡單- 7 -</p><p>  2.4系統(tǒng)用例圖- 8 -</p><p>  2.4.1影院工作人員用例圖- 8 -</

4、p><p>  2.4.2客戶用例圖- 8 -</p><p>  2.5系統(tǒng)數(shù)據(jù)流圖- 9 -</p><p>  第3章 概要設(shè)計- 12 -</p><p>  3.1系統(tǒng)總體規(guī)劃- 12 -</p><p>  3.1.1項目規(guī)劃- 12 -</p><p>  3.1.2系統(tǒng)功能

5、結(jié)構(gòu)圖- 12 -</p><p>  3.2系統(tǒng)模塊設(shè)計- 13 -</p><p>  3.2.1用戶模塊- 13 -</p><p>  3.2.2影片模塊- 13 -</p><p>  3.2.3大廳模塊- 14 -</p><p>  3.2.4放映信息模塊- 14 -</p>&

6、lt;p>  3.2.5客戶模塊- 14 -</p><p>  3.2.6訂單模塊- 15 -</p><p>  3.3系統(tǒng)E-R模型分析- 15 -</p><p>  3.3.1實體分析- 15 -</p><p>  3.3.2系統(tǒng)整體的E-R圖- 15 -</p><p>  3.3.3實體

7、屬性定義- 16 -</p><p>  3.3.4數(shù)據(jù)字典- 17 -</p><p>  第4章 詳細(xì)設(shè)計- 18 -</p><p>  4.1數(shù)據(jù)庫設(shè)計- 18 -</p><p>  4.2系統(tǒng)設(shè)計- 22 -</p><p>  4.2.1設(shè)計思路- 22 -</p><p&

8、gt;  4.2.2方法的說明- 23 -</p><p>  第5章 系統(tǒng)測試- 32 -</p><p>  5.1功能測試- 32 -</p><p>  5.2性能測試- 34 -</p><p>  5.3改進(jìn)意見- 35 -</p><p>  第6章 總 結(jié)- 36 -</p>

9、<p>  6.1今后努力的方向- 36 -</p><p>  6.2結(jié)束語- 36 -</p><p>  致 謝- 38 -</p><p>  參考文獻(xiàn)- 39 -</p><p>  附 錄- 40 -</p><p>  附錄A:軟件安裝、使用- 40 -</p>

10、<p>  附錄B:光盤資料說明- 44 -</p><p>  影院票務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  本文講述了信息管理與信息系統(tǒng)的發(fā)展現(xiàn)狀,并在充分了解影院的運作流程的基礎(chǔ)上,分析了影院對影片管理、票務(wù)銷售等的具體需求,給出了系統(tǒng)的整體設(shè)計方案以及詳細(xì)設(shè)計方案。文中主要側(cè)

11、重于該系統(tǒng)軟件方面的設(shè)計與實現(xiàn),以及主要功能模塊的分析和設(shè)計。該系統(tǒng)采用Visual Studio 2005(C#)開發(fā),軟件界面簡潔友好,真正體現(xiàn)了所見即所得的思想。數(shù)據(jù)庫采用了SQL Server2005,充分考慮了系統(tǒng)的安全性和穩(wěn)定性,能夠及時有效地對整個系統(tǒng)的數(shù)據(jù)進(jìn)行儲存和維護(hù)。</p><p>  影院票務(wù)管理系統(tǒng)是應(yīng)用于影院的電子售票的系統(tǒng),有前臺客戶操作和后臺影院工作人員操作兩大部分組成。前臺主要包

12、括在線注冊,客戶登錄,查看影片信息,對影片進(jìn)行打分和評論操作,查看大廳信息,購買預(yù)售票,取消預(yù)售票,以及對預(yù)售票付款最終確定訂單等功能。后臺主要包括用戶信息的添加、修改、刪除,放映廳信息的添加、修改、刪除,影片信息的添加、修改、刪除,放映信息的添加、修改、刪除,訂單的查看以及生成報表等功能。</p><p>  系統(tǒng)代碼分離分成了二個層次:應(yīng)用層,數(shù)據(jù)庫訪問層和一個用來輔助的類庫——實體層。應(yīng)用層是作為跟用戶交互

13、的層次,用戶的操作在應(yīng)用層上實現(xiàn),數(shù)據(jù)的輸入以及采集在應(yīng)用層上進(jìn)行,數(shù)據(jù)的展示在應(yīng)用層上完成;實體層是數(shù)據(jù)庫中各個表字段的一個映射,每張表對應(yīng)于一個實體類,它用來保存二個層之間傳遞時的數(shù)據(jù)值,保證數(shù)據(jù)不會丟失以及正確性和同步性;數(shù)據(jù)庫訪問層是直接與數(shù)據(jù)庫交互的一層,是數(shù)據(jù)庫的操作層,數(shù)據(jù)庫中數(shù)據(jù)的添加、修改和刪除都由它來完成。</p><p>  關(guān)鍵字:影院票務(wù);B/S;ASP.NET;CSS+DIV; SQL

14、 Server 2005;代碼分離</p><p>  Design and Implementation of cinema ticketing system</p><p><b>  ABSTRACT</b></p><p>  This article describes the developm

15、ent status of information management and information systems, and fully understand the operation of the theater process based on the analysis of the specific needs of the theater on film management, ticket sales, the ove

16、rall system design and detailed designprograms. The paper focuses mainly on the Design and Implementation of the system software, as well as analysis and design of main function modules. The system uses the Visual Studio

17、 2005 (C #) development, </p><p>  Key words: Cinema Ticket; B / S; ASP.NET; the CSS + DIV; SQL Server 2005; code separation</p><p><b>  第1章 概 述</b></p><p><b>  

18、1.1目的和意義</b></p><p>  影院售票系統(tǒng)是計算機(jī)技術(shù)與影院管理相結(jié)合的產(chǎn)物,通過影院售票系統(tǒng)實現(xiàn)了對影院的高效管理。隨著計算機(jī)技術(shù)的不斷提高,計算機(jī)已經(jīng)深入到社會生活的各個角落。而采用人工管理的方法,不僅效率低,易出錯,手續(xù)繁瑣,而且耗費大量人力。為了滿足售票人員對售票,訂票,退票等進(jìn)行高效的管理,在工作人員的具備一定的計算機(jī)操作能力的前提下,特編此影院售票系統(tǒng)軟件以提高影院的管理效

19、率。</p><p>  1.2課題的項目背景</p><p>  隨著社會經(jīng)濟(jì)的快速發(fā)展,人們的娛樂活動越來越豐富,其中看電影占了很大的比例。開發(fā)此系統(tǒng)的目的是解決喜愛電影的人們買票難的問題。以前要買電影票必須到電影院買,這樣既浪費時間,浪費精力,而且最終還不一定買到自己想看要的。有了本系統(tǒng),可以很方便的讓影迷在家上網(wǎng)查看影院的影片以及票務(wù)的信息,這樣既省時又省力,可以同時了解到不同影片

20、的信息,有更多的選擇。本系統(tǒng)充分利用網(wǎng)絡(luò)資源和人力資源。</p><p>  面對全球性影院觀看熱潮,國內(nèi)外對影院觀看的視覺需求,以及其規(guī)模的優(yōu)勢,其獨有的互動效果和場內(nèi)氣憤贏得了越來越多的人的喜歡。1980 ~ 1984年平均產(chǎn)量達(dá)120部,每年觀眾人次平均在250億左右。同時中國電影也進(jìn)入一個蓬勃發(fā)展的新時期,中國美術(shù)片從形式到內(nèi)部都極其富有民族色彩。伴隨電影的發(fā)展,國內(nèi)外的電子票務(wù)系統(tǒng)也告訴的發(fā)展,國內(nèi)有許

21、多的電子影院票務(wù)系統(tǒng),如格瓦拉以及一些團(tuán)購網(wǎng)站都有相關(guān)的內(nèi)容。</p><p><b>  1.3開發(fā)平臺簡介</b></p><p>  1.3.1 ASP.NET簡介</p><p>  ASP.NET是Microsoft.NET的一部分,作為戰(zhàn)略產(chǎn)品,不僅僅是 Active Server Page (ASP) 的下一個版本;它還提供了一個

22、統(tǒng)一的 Web 開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級 Web 應(yīng)用程序所需的各種服務(wù)。ASP.NET 的語法在很大程度上與 ASP 兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)??梢酝ㄟ^在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.NET 功能,隨時增強(qiáng) ASP 應(yīng)用程序的功能。</p><p>  ASP.NET 是一個已編譯的、基于 .NET 的環(huán)境,可以用

23、任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個 .NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。</p><p>  ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Micros

24、oft Visual Studio .NET)一起工作。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點,包括開發(fā)人員可以用來將服務(wù)器控件拖放到 Web 頁的 GUI 和完全集成的調(diào)試支持。</p><p>  微軟為ASP.NET設(shè)計了這樣一些策略:易于寫出結(jié)構(gòu)清晰的代碼、代碼易于重用和共享、可用編譯類語言編寫等等,目的是讓程序員更容易開發(fā)出Web應(yīng)用,滿足計算向Web轉(zhuǎn)移的戰(zhàn)略需要。&

25、lt;/p><p>  ASP.NET提供了穩(wěn)定的性能、優(yōu)秀的升級性、更快速的開發(fā)、更簡便的管理、全新的語言以及網(wǎng)絡(luò)服務(wù)。貫穿整個ASP.NET的主題就是系統(tǒng)幫用戶做了大部分不重要的瑣碎的工作。</p><p>  ASP.NET支持多種語言,支持編譯類語言,支持比如VB、VC++、C#等,它比這些編譯類語言運行速度快,更適合編寫大型應(yīng)用。</p><p>  快速發(fā)展

26、的分布式應(yīng)用也需要更快速、更模塊化、更易操作、更多平臺支持和重復(fù)利用性更強(qiáng)的開發(fā),需要一種新的技術(shù)來適應(yīng)不同的系統(tǒng),網(wǎng)絡(luò)應(yīng)用和網(wǎng)站需要提供一種更加強(qiáng)大的可升級的服務(wù)。ASP.NET能夠適應(yīng)上面的要求。</p><p><b>  1.3.2 B/S</b></p><p>  B/S模式,即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其

27、本質(zhì)是三層結(jié)構(gòu)C/S模式。</p><p>  在B/S模式中,客戶端運行瀏覽器軟件。瀏覽器以超文本形式向Web服務(wù)器提出訪問數(shù)據(jù)庫的要求,Web服務(wù)器接受客戶端請求后,將這個請求轉(zhuǎn)化為SQL語法,并交給數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器得到請求后,驗證其合法性,并進(jìn)行數(shù)據(jù)處理,然后將處理后的結(jié)果返回給Web服務(wù)器,Web 服務(wù)器再一次將得到的所有結(jié)果進(jìn)行轉(zhuǎn)化,變成HTML文檔形式,轉(zhuǎn)發(fā)給客戶端瀏覽器以友好的Web頁面形

28、式顯示出來。</p><p>  在C/S結(jié)構(gòu)模式下,應(yīng)用系統(tǒng)被分為客戶機(jī)和服務(wù)器兩部分,其作用分別是Client主要用來管理接口,執(zhí)行客戶機(jī)應(yīng)用程序、采集數(shù)據(jù)以及向Server發(fā)出應(yīng)用請求,完成應(yīng)用處理.Server主要用來承擔(dān)系統(tǒng)的數(shù)據(jù)共享管理、通訊管理、文件管理和向Client提供服務(wù),完成數(shù)據(jù)訪問和事務(wù)處理。實現(xiàn)了功能分布,即由Client端承擔(dān)了部分處理任務(wù),但數(shù)據(jù)集中在Server中。在查詢處理中,由

29、Client提出查詢請求,而Server完成對數(shù)據(jù)庫的查詢?nèi)蝿?wù),查詢結(jié)果通過網(wǎng)絡(luò)傳輸?shù)紺lient。</p><p>  B/S模式管理信息系統(tǒng)基本上克服了C/S 模式管理信息系統(tǒng)的不足。</p><p>  B/S模式提供了一致的用戶界面,B/S模式的應(yīng)用軟件都是基于Web瀏覽器的,這些瀏覽器的界面都很相似。對于無用戶交互功能的頁面,用戶接觸的界面都是一致的,從而可以降低軟件的培訓(xùn)費用。

30、</p><p>  系統(tǒng)基于Web設(shè)計,采用B/S結(jié)構(gòu)體系,具有易安裝、成本低、易升級、可擴(kuò)充、完全開放、不受站點空間限制等特點。B/S模式具有更強(qiáng)的信息系統(tǒng)集成性,所有應(yīng)用數(shù)據(jù)安裝在服務(wù)器端,客戶端無需安裝任何軟件,系統(tǒng)升級只需在服務(wù)器端進(jìn)行升級操作。</p><p>  1.4系統(tǒng)開發(fā)硬件環(huán)境</p><p>  奔騰4以上CPU,10G以上硬盤空間,512M

31、B以上內(nèi)存,網(wǎng)絡(luò)上行速度大于512KB/S, 運行時對數(shù)據(jù)的保密性要求不高對一般的數(shù)據(jù)不要求進(jìn)行加密。</p><p>  1.5系統(tǒng)開發(fā)軟件環(huán)境</p><p><b>  服務(wù)器端</b></p><p>  操作系統(tǒng):Windows 7 或 Windows XP</p><p>  .Net環(huán)境:.Net fram

32、ework 2.0</p><p>  數(shù)據(jù)庫軟件:SQL Server Management Studio(SQL Server 2005)</p><p>  瀏覽器:IE6.0或以上版本</p><p><b>  客戶端</b></p><p>  操作系統(tǒng):Windows 7</p><p&

33、gt;  瀏覽器:IE6或以上版本</p><p><b>  第2章 需求分析</b></p><p><b>  2.1系統(tǒng)功能需求</b></p><p>  提供系統(tǒng)人員基本信息的設(shè)置,包括添加、修改、刪除;影片</p><p>  提供放映廳基本信息的設(shè)置,包括添加、修改、刪除以及座位的查

34、看;</p><p>  提供影片基本信息的設(shè)置,包括添加、修改、刪除;</p><p>  提供放映信息基本信息的設(shè)置,包括添加、修改、刪除;</p><p>  提供放映廳和影片廣告的展示;</p><p>  提供各種票務(wù)信息的組合查詢,包括放映信息、訂單、座位;</p><p>  顧客可以預(yù)定影票,取消影票的

35、預(yù)定;</p><p>  顧客可以對預(yù)訂票進(jìn)行模擬付款,付款之后不允許退票;</p><p>  工作人員對訂單進(jìn)行統(tǒng)計,并可生成報表;</p><p>  影片進(jìn)行評分和放映日期統(tǒng)計,展示給顧客看;</p><p>  顧客可以對影片進(jìn)行打分、評論,并且將評分前十名的影片展示出來;</p><p><b>

36、;  2.2輸入要求</b></p><p>  輸入數(shù)據(jù)主要有:客戶郵箱,客戶密碼,手機(jī)號碼,銀行賬號,用戶名,用戶密碼,座位數(shù),大廳號,價格,影片名,時長,主演、導(dǎo)演等。手機(jī)號碼、銀行賬號、大廳號、座位數(shù)、價格、時長為整型數(shù)據(jù),客戶郵箱為郵箱格式,其余大部分為字符型。輸入一般采用界面的形式,如文本框,下拉框,單選框,復(fù)選框等。</p><p>  2.3用戶界面良好、操作簡

37、單</p><p>  系統(tǒng)頁面一律采用CSS+DIV排版界面,統(tǒng)一的窗口,提示信息位置及字體大小顏色醒目。因此看起來美觀簡潔,操作簡單易懂。</p><p>  對查詢提供精確查詢和模糊查詢,又使用了“表格方式”的用戶界面。</p><p>  對所有數(shù)據(jù)輸入進(jìn)行完整性和合法性檢查,盡量減少操作錯誤。</p><p>  整個系統(tǒng)可用鍵盤或

38、鼠標(biāo)操作。</p><p>  在各輸入處有提示信息,便于系統(tǒng)用戶的輸入。</p><p>  打印機(jī)輸出和屏幕顯示可同步進(jìn)行,給用戶“所見即所得”的新感受。</p><p><b>  2.4系統(tǒng)用例圖</b></p><p>  2.4.1影院工作人員用例圖</p><p>  系統(tǒng)的影院工作

39、人員用例圖如圖2-1所示</p><p>  圖2-1 影院工作人員用例圖</p><p>  2.4.2客戶用例圖</p><p>  系統(tǒng)的客戶人員用例圖如圖2-2所示</p><p>  圖2-2 客戶人員用例圖</p><p><b>  2.5系統(tǒng)數(shù)據(jù)流圖</b></p>

40、<p>  2.5.1工作人員數(shù)據(jù)流圖</p><p>  本系統(tǒng)影院工作人員的操作數(shù)據(jù)流圖如圖2-3</p><p>  圖2-3 操作人員的操作數(shù)據(jù)流圖</p><p>  2.5.1客戶數(shù)據(jù)流圖</p><p>  本系統(tǒng)顧客的操作數(shù)據(jù)流圖如圖2-4</p><p>  圖2-4 顧客的操作數(shù)據(jù)流圖&l

41、t;/p><p><b>  第3章 概要設(shè)計</b></p><p><b>  3.1系統(tǒng)總體規(guī)劃</b></p><p><b>  3.1.1項目規(guī)劃</b></p><p>  影院票務(wù)管理系統(tǒng)是應(yīng)用于影院的電子售票的系統(tǒng),有前臺客戶操作和后臺影院工作人員操作兩大部分組成

42、。</p><p><b>  前臺功能模塊</b></p><p>  前臺主要包括在線注冊,客戶登錄,查看影片信息,對影片進(jìn)行打分和評論操作,查看大廳信息,購買預(yù)售票,取消預(yù)售票,以及對預(yù)售票付款最終確定訂單等功能。</p><p><b>  后臺功能模塊</b></p><p>  后臺主要

43、包括用戶信息的添加、修改、刪除,放映廳信息的添加、修改、刪除,影片信息的添加、修改、刪除,放映信息的添加、修改、刪除,訂單的查看以及生成報表等功能。</p><p>  3.1.2系統(tǒng)功能結(jié)構(gòu)圖</p><p>  影院票務(wù)管理系統(tǒng)的前臺系統(tǒng)功能圖,如圖3-1所示</p><p>  圖3-1 影院票務(wù)管理系統(tǒng)前臺功能表</p><p>  

44、影院票務(wù)管理系統(tǒng)的后臺系統(tǒng)功能圖,如圖3-2所示</p><p>  圖3-2 影院票務(wù)管理系統(tǒng)后臺功能表</p><p><b>  3.2系統(tǒng)模塊設(shè)計</b></p><p>  根據(jù)結(jié)構(gòu)化設(shè)計中模塊的劃分方法,即盡量把密切相關(guān)的子問題劃歸到同一個模塊;把不相關(guān)的子問題劃歸到系統(tǒng)的不同模塊。將系統(tǒng)劃分為6個模塊,下面將介紹每個模塊的功能結(jié)構(gòu)

45、以及模塊說明書。</p><p><b>  3.2.1用戶模塊</b></p><p>  功能:用戶信息的添加、修改、刪除;用戶登錄,系統(tǒng)會驗證正在登錄的用戶名、密碼以及權(quán)限是否正確;添加新的管理員。模塊說明書見表3-1</p><p>  表3-1 在線注冊模塊說明書</p><p><b>  3.2.

46、2影片模塊</b></p><p>  功能:影片信息的添加、修改、刪除,其中影片圖片保存圖片名稱,圖片由影院工作人員上傳;評分與評論,顧客對此操作具有選擇性,可以不進(jìn)行;影片根據(jù)不同信息的展示,其中評分高低由客戶的評分結(jié)果判斷;由用戶輸入一串字符,系統(tǒng)根據(jù)符合演員或?qū)а莼蚱我庖粋€條件進(jìn)行查詢。模塊說明書見表3-2</p><p>  表3-2 影片模塊說明書</p&

47、gt;<p><b>  3.2.3大廳模塊</b></p><p>  功能:大廳信息的添加、修改、刪除,其中大廳圖片保存圖片名稱,圖片由影院工作人員上傳;展示某個大廳的座位排列以及座位預(yù)定信息。模塊說明書見表3-3</p><p>  表3-3 大廳模塊說明書</p><p>  3.2.4放映信息模塊</p>

48、<p>  功能:放映信息的添加、修改、刪除;根據(jù)多個條件進(jìn)行組合查詢用于系統(tǒng)的判斷和應(yīng)用,條件由顧客輸入。模塊說明書見表3-4</p><p>  表3-4 放映信息模塊說明書</p><p><b>  3.2.5客戶模塊</b></p><p>  功能:客戶信息的添加、修改;根據(jù)密保問題和相應(yīng)的密保答案修改密碼或設(shè)置新的密碼;

49、登錄時根據(jù)當(dāng)前登錄的客戶郵箱和密碼驗證是否正確。客戶模塊說明書見表3-5</p><p>  表3-5 客戶模塊說明書</p><p><b>  3.2.6訂單模塊</b></p><p>  功能:訂單信息的添加、修改、刪除;對預(yù)訂票的付款;根據(jù)多個條件進(jìn)行組合查詢用于系統(tǒng)的判斷和應(yīng)用,條件由系統(tǒng)自動獲??;生成報表。客戶模塊說明書見表3-6

50、</p><p>  表3-6 訂單模塊說明書</p><p>  3.3系統(tǒng)E-R模型分析</p><p><b>  3.3.1實體分析</b></p><p>  根據(jù)系統(tǒng)分析,確定系統(tǒng)有以下幾個實體:顧客,評分,大廳,電影,訂單,報表,座位,放映信息,用戶,共9個實體。</p><p> 

51、 3.3.2系統(tǒng)整體的E-R圖</p><p>  E-R分析:一個大廳有多個座位,每個座位只能屬于一個大廳;一個大廳可以有多個放映信息,一個放映信息只能在一個大廳內(nèi);每個影片有多個放映信息,每個放映信息只有一個影片;每個影片有多個評分和評論,每個評分和評論只對應(yīng)于一個影片;每個客戶可以有多次評分和評論,每個評分和評論只對應(yīng)于一個客戶;每個客戶可以有多個訂單,每個訂單只屬于一個客戶;每個訂單可以生成多個報表,每個

52、報表只屬于一個訂單;每個用戶(工作人員)可以生成多個報表;每個報表只對應(yīng)于一個用戶。</p><p>  系統(tǒng)的E-R圖的設(shè)計如圖3-3</p><p>  圖3-3 系統(tǒng)的E-R關(guān)系圖</p><p>  3.3.3實體屬性定義</p><p>  用戶(用戶ID,用戶名,用戶密碼,權(quán)限)</p><p><b

53、>  主鍵:用戶ID</b></p><p>  影片(影片ID,影片名字,影片圖片,主演,導(dǎo)演,上映日期,語言,片長,類型,描述)</p><p><b>  主鍵:影片ID</b></p><p>  評分(影片ID,總分,平均分)</p><p><b>  主鍵:影片ID</b&

54、gt;</p><p>  客戶(客戶ID,客戶密碼,郵箱,密保問題,密保答案)</p><p><b>  主鍵:客戶ID</b></p><p>  訂單(訂單ID,客戶ID,放映ID,座位ID,購買時間,付款,客戶電話,驗證碼,銀行賬號)</p><p>  主鍵:訂單ID;外鍵:客戶ID,放映ID,座位ID<

55、;/p><p>  放映信息(放映ID,影片ID,大廳ID,票價,開始時間)</p><p>  主鍵:放映ID;外鍵:影片ID,大廳ID</p><p>  大廳(大廳號,座位數(shù),大廳圖片,描述)</p><p><b>  主鍵:大廳號</b></p><p>  座位(座位ID,大廳ID,排數(shù),

56、列數(shù),預(yù)定)</p><p>  主鍵:座位ID;外鍵:大廳ID</p><p><b>  3.3.4數(shù)據(jù)字典</b></p><p>  數(shù)據(jù)字典(Data dictionary)是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序源數(shù)據(jù)的目錄。主動數(shù)據(jù)字典是指在對數(shù)據(jù)庫或應(yīng)用程序結(jié)構(gòu)進(jìn)行修改時,其內(nèi)容可以由DBMS自動更新的數(shù)據(jù)字典。被動數(shù)據(jù)字典是指

57、修改時必須手工更新其內(nèi)容的數(shù)據(jù)字典。數(shù)據(jù)字典最重要的作用是作為分析階段的工具。任何字典最重要的用途都是供人查詢對不了解的條目的解釋,在結(jié)構(gòu)化分析中,數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個成分加以定義和說明。換句話說,數(shù)據(jù)流圖上所有的成分的定義和解釋的文字集合就是數(shù)據(jù)字典,而且在數(shù)據(jù)字典中建立的一組嚴(yán)密一致的定義很有助于改進(jìn)分析員和用戶的通信。</p><p><b>  后臺數(shù)據(jù)字典:</b>&l

58、t;/p><p>  管理請求:對系統(tǒng)基本信息設(shè)置的請求,系統(tǒng)根據(jù)請求加載相應(yīng)的處理界面;影片基本信息:片名,圖片,上映日期,時長,語言,主演,導(dǎo)演,類型,簡介;查詢條件(訂單):【是否付款||片名,大廳,場次】;訂單信息:片名,大廳,座位號,場次,客戶電話,購買時間;大廳基本信息:圖片,座位數(shù),簡介;場次基本信息:片名,大廳,票價,放映時間。</p><p><b>  前臺數(shù)據(jù)字

59、典:</b></p><p>  查看首頁命令:發(fā)送加載首頁命令,系統(tǒng)加載首頁;查看大廳命令:發(fā)送加載大廳命令,系統(tǒng)加載大廳界面展示給客戶;付款或我的訂單命令:查看當(dāng)前登錄的客戶的訂單;訂單信息:片名,大廳,座位號,價格,開始時間。</p><p><b>  第4章 詳細(xì)設(shè)計</b></p><p><b>  4.1數(shù)

60、據(jù)庫設(shè)計</b></p><p>  根據(jù)需求分析、系統(tǒng)設(shè)計以及數(shù)據(jù)流圖和數(shù)據(jù)字典可以設(shè)計系統(tǒng)的物理數(shù)據(jù)模型,系統(tǒng)的物理數(shù)據(jù)模型如圖4-3所示</p><p>  圖4-3 系統(tǒng)的物理數(shù)據(jù)模型CDM圖</p><p>  物理數(shù)據(jù)模型設(shè)計好之后,利用PowerDesigner生成相應(yīng)的邏輯數(shù)據(jù)模型,系統(tǒng)的邏輯數(shù)據(jù)模型如圖4-4所示</p>

61、<p>  圖4-4 系統(tǒng)的邏輯數(shù)據(jù)模型PDM圖</p><p>  邏輯數(shù)據(jù)模型生成之后,PowerDesigner利用它生成crebas.sql文件,即可在SQL Server Management Studio中執(zhí)行此文件的SQL語句,繼而生成了系統(tǒng)最終的數(shù)據(jù)庫。</p><p>  本系統(tǒng)采用SQL Server 2005數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名為TheaterTicketM

62、anager。數(shù)據(jù)庫中包含9張表,下面給出數(shù)據(jù)表結(jié)構(gòu):</p><p><b>  用戶表</b></p><p>  用戶表(tbl_User)主要用于保存影院工作人員的信息,該表的結(jié)構(gòu)如表4-1所示。</p><p>  表4-1 表tbl_User的結(jié)構(gòu)</p><p><b>  客戶表</b&g

63、t;</p><p>  客戶表(tbl_Customer)主要用于保存客戶的信息,該表的結(jié)構(gòu)如表4-2所示</p><p>  表4-2 表tbl_Customer的結(jié)構(gòu)</p><p><b>  影片表</b></p><p>  影片表(tbl_Movie)主要用于保存影片的信息,該表的結(jié)構(gòu)如表4-3所示<

64、/p><p>  表4-3 表tbl_Movie的結(jié)構(gòu)</p><p><b>  影片客戶表</b></p><p>  影片客戶表(tbl_MovieCust)主要用于保存客戶對影片的評分及評論的信息,該表的結(jié)構(gòu)如表4-4所示</p><p>  表4-4 表tbl_MovieCust的結(jié)構(gòu)</p><

65、;p><b>  得分表</b></p><p>  得分表(tbl_Grade)主要用于保存影片的平均分和獲得的總分,該表的結(jié)構(gòu)如表4-5所示</p><p>  表4-5 表tbl_Grade的結(jié)構(gòu)</p><p><b>  大廳表</b></p><p>  大廳表(tbl_Hall)

66、主要用于保存放映大廳的信息,該表的結(jié)構(gòu)如表4-6所示</p><p>  表4-6 表tbl_Hall的結(jié)構(gòu) </p><p><b>  座位表</b></p><p>  座位表(tbl_Seats)主要用于保存放映座位的信息,該表的結(jié)構(gòu)如表4-7所示</p><p>  表4-7 表tbl_Seats的結(jié)構(gòu)<

67、/p><p><b>  放映信息表</b></p><p>  放映信息表(tbl_Schedule)主要用于保存放映信息的信息,該表的結(jié)構(gòu)如表4-8所示</p><p>  表4-8 表tbl_Schedule的結(jié)構(gòu)</p><p><b>  訂單表</b></p><p>

68、;  訂單表(tbl_Order)主要用于保存訂單的信息,該表的結(jié)構(gòu)如表4-9所示</p><p>  表4-9 表tbl_Order的結(jié)構(gòu)</p><p>  至此系統(tǒng)最重要的部分?jǐn)?shù)據(jù)庫即已完成,在此基礎(chǔ)上規(guī)范的進(jìn)行系統(tǒng)的詳細(xì)設(shè)計,實現(xiàn)系統(tǒng)的系統(tǒng)的基本功能。</p><p><b>  4.2系統(tǒng)設(shè)計</b></p><p

69、><b>  4.2.1設(shè)計思路</b></p><p>  由于系統(tǒng)各個模塊之間的關(guān)系,故采用代碼分離方式進(jìn)行系統(tǒng)的設(shè)計。使設(shè)計思路更加的清晰,有利于標(biāo)準(zhǔn)化,維護(hù)起來更加的方便,增加了代碼的重復(fù)利用率,同時也增加了一定的安全性。但是也是有缺點的,此結(jié)構(gòu)降低了系統(tǒng)的性能,因為系統(tǒng)業(yè)務(wù)必須通過層之間的依賴實現(xiàn),也導(dǎo)致了級聯(lián)的修改,因為某一功能業(yè)務(wù)的修改需要自上而下的進(jìn)行。</p&g

70、t;<p>  圖4-5 系統(tǒng)設(shè)計的二個層次以及實體層</p><p>  如圖4-5系統(tǒng)代碼分離分成了二個層次:應(yīng)用層,數(shù)據(jù)庫訪問層和一個用來輔助的類庫——實體層。</p><p>  應(yīng)用層是作為跟用戶交互的層次,用戶的操作在應(yīng)用層上實現(xiàn),數(shù)據(jù)的輸入以及采集在應(yīng)用層上進(jìn)行,數(shù)據(jù)的展示在應(yīng)用層上完成;實體層是數(shù)據(jù)庫中各個表字段的一個映射,每張表對應(yīng)于一個實體類,它用來保存二

71、個層之間傳遞時的數(shù)據(jù)值,保證數(shù)據(jù)不會丟失以及正確性和同步性;數(shù)據(jù)庫訪問層是直接與數(shù)據(jù)庫交互的一層,是數(shù)據(jù)庫的操作層,數(shù)據(jù)庫中數(shù)據(jù)的添加、修改和刪除都由它來完成。</p><p>  其中應(yīng)用層的展示主要用到CSS+DIV的排版方式,某些驗證用到j(luò)avascript腳本語言。</p><p>  4.2.2方法的說明</p><p>  每個類中都有或多或少的方法,這

72、些所有的方法實現(xiàn)整個系統(tǒng)的功能,調(diào)用非本類中的方法需要要將該方法定義為public類型,并在該類中創(chuàng)建一個包含目標(biāo)方法類的實例對象,這樣就可以通過該實例對象調(diào)用目標(biāo)方法了。</p><p>  其中數(shù)據(jù)庫的鏈接語句保存在配置文件Wen.config中,<add name="SqlConnection"connectionString="DataSource=WIN-EH6NGO

73、UMVUB\SQLEXPRESS;InitialCatalog=TheaterTicketManager;Integrated Security=True" />,數(shù)據(jù)訪問層中的類用staticstringsqlConnection= ConfigurationManager.ConnectionStrings["SqlConnection"].ToString();SqlConnectionconn

74、=newSqlConnection(sqlConnection)就可以連接到數(shù)據(jù)庫,從而對數(shù)據(jù)庫進(jìn)行操作。</p><p>  以下作為介紹系統(tǒng)實現(xiàn)的例子。</p><p><b>  圖4-6 影片添加</b></p><p>  如圖4-6為影片添加的用戶界面,界面上有要求輸入的文本框,供選擇的下拉列表框和復(fù)選框以及上傳圖片的上傳控件。用戶

75、填寫的數(shù)據(jù)需要進(jìn)行驗證的都會進(jìn)行進(jìn)行并給出一定的錯誤提示和數(shù)據(jù)填寫提示。該界面中【確定】按鈕的事件會將一條新的影片信息插入到數(shù)據(jù)庫中。其中它的時間代碼為:</p><p>  string integerPattern = @"^[1-9]+[0-9]*$"; //數(shù)字驗證正則</p><p>  string path = Server.MapPath("

76、pictures");</p><p>  bool fileOK = false;</p><p>  if (txtMovieName.Text.Trim().ToString().Length == 0)</p><p><b>  {</b></p><p>  lblPrompt.Text = &qu

77、ot;片名不能為空";</p><p><b>  }</b></p><p>  else if (txtYear.Text.Trim().ToString().Length == 0)</p><p><b>  {</b></p><p>  lblPrompt.Text = &qu

78、ot;年份不能為空";</p><p><b>  }</b></p><p>  else if (!Regex.IsMatch(txtYear.Text.Trim().ToString(), integerPattern))</p><p><b>  {</b></p><p>  

79、lblPrompt.Text = "年份為整數(shù)";</p><p><b>  }</b></p><p>  else if (txtYear.Text.Trim().ToString().Length != 4)</p><p><b>  {</b></p><p>  l

80、blPrompt.Text = "年份為四位";</p><p><b>  }</b></p><p>  else if (txtDuration.Text.Trim().ToString().Length == 0)</p><p><b>  {</b></p><p>

81、  lblPrompt.Text = "時長不能為空";</p><p><b>  }</b></p><p>  else if (!Regex.IsMatch(txtDuration.Text.Trim().ToString(), integerPattern))</p><p><b>  {</b&

82、gt;</p><p>  lblPrompt.Text = "時長為整數(shù)";</p><p><b>  }</b></p><p>  else if (txtLanguage.Text.Trim().ToString().Length == 0)</p><p><b>  {<

83、/b></p><p>  lblPrompt.Text = "語言種類不能為空";</p><p><b>  }</b></p><p>  else if (txtMainActors.Text.Trim().ToString().Length == 0)</p><p><b>

84、;  {</b></p><p>  lblPrompt.Text = "主演不能為空";</p><p><b>  }</b></p><p>  else if (txtDirector.Text.Trim().ToString().Length == 0)</p><p><

85、b>  {</b></p><p>  lblPrompt.Text = "導(dǎo)演不能為空";</p><p><b>  }</b></p><p>  else if (cblType.SelectedItem == null)</p><p><b>  {</b

86、></p><p>  lblPrompt.Text = "影片類型不能為空";</p><p><b>  }</b></p><p>  else if (txtDescription.Text.Trim().ToString().Length == 0)</p><p><b>

87、  {</b></p><p>  lblPrompt.Text = "簡介不能為空";</p><p><b>  }</b></p><p>  else if (!fulImg.HasFile)</p><p><b>  {</b></p>&l

88、t;p>  Response.Write(fulImg.FileName);</p><p>  lblPrompt.Text = "請選擇影片圖片";</p><p><b>  }</b></p><p>  else if (fulImg.HasFile)</p><p><b>

89、;  {</b></p><p>  string fileExtension = Path.GetExtension(fulImg.FileName).ToLower(); //需要用到命名空間System.IO</p><p>  string type = "";</p><p>  string[] allowedExte

90、nsions ={ ".gif", ".jpg", ".png", ".jpeg" };</p><p>  for (int i = 0; i < allowedExtensions.Length; i++)</p><p><b>  {</b></p><p

91、>  if (fileExtension == allowedExtensions[i])</p><p><b>  {</b></p><p>  fileOK = true;</p><p><b>  }</b></p><p><b>  }</b></p

92、><p>  if (fileOK == false)</p><p><b>  {</b></p><p>  lblPromptImg.Text = "請選擇(.gif, .jpg, .png, .jpeg)格式的圖片";</p><p><b>  }</b></p&g

93、t;<p>  else if (fileOK == true)</p><p><b>  {</b></p><p>  fulImg.SaveAs(path + "\\" + fulImg.FileName);</p><p>  movieEntity.movieName = txtMovieName.

94、Text.Trim().ToString();</p><p>  movieEntity.movieImg = fulImg.FileName.Trim().ToString();</p><p>  movieEntity.mainActors = txtMainActors.Text.Trim().ToString();</p><p>  movieEnti

95、ty.director = txtDirector.Text.Trim().ToString();</p><p>  movieEntity.beOnLineTime = Convert.ToDateTime(txtYear.Text.Trim().ToString() + "-" + ddlMonth.SelectedItem.Text.Trim().ToString() + "

96、-" + ddlDay.SelectedItem.Text.Trim().ToString());</p><p>  movieEntity.language = txtLanguage.Text.Trim().ToString();</p><p>  movieEntity.duration = Convert.ToDecimal(txtDuration.Text.Trim

97、().ToString());</p><p>  for (int i = 0; i < cblType.Items.Count; i++)</p><p><b>  {</b></p><p>  if (cblType.Items[i].Selected)</p><p><b>  {</

98、b></p><p>  type = type + cblType.Items[i].ToString() + "、";</p><p><b>  }</b></p><p><b>  }</b></p><p>  movieEntity.movieType = t

99、ype.Substring(0, type.Length - 1);</p><p>  movieEntity.description = txtDescription.Text.Trim().ToString();</p><p>  DataTable dt = movieDAO.getMovieByMovieName(txtMovieName.Text.Trim().ToStrin

100、g());</p><p>  if (dt.Rows.Count == 0)</p><p><b>  {</b></p><p>  movieDAO.InsertMovieInfo(movieEntity);</p><p>  lblPrompt.Text = "影片添加成功";</p

101、><p><b>  }</b></p><p>  else if (dt.Rows.Count > 0)</p><p><b>  {</b></p><p>  lblPrompt.Text = "影片信息已經(jīng)存在";</p><p><b

102、>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  其中調(diào)用了MovieDAO類中的方法getMovieByMovieName()檢查影片信息是否已經(jīng)存在,調(diào)用MovieDAO類中的方法InsertMovieInfo()插入一個新的影片記錄

103、到數(shù)據(jù)庫中去。下面介紹MovieDAO中的這兩個方法:</p><p>  /// <summary></p><p>  /// 根據(jù)片名查找影片</p><p>  /// </summary></p><p>  /// <param name="movieEntity"><

104、/param></p><p>  /// <returns></returns></p><p>  public DataTable getMovieByMovieName(string movieName)</p><p><b>  {</b></p><p>  string sq

105、lStr = "select * from tbl_Movie where MovieName='" + movieName + "'";</p><p>  conn.Open();</p><p>  SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);</p>

106、<p>  conn.Close();</p><p>  DataSet ds = new DataSet();</p><p>  da.Fill(ds);</p><p>  DataTable dt = ds.Tables[0];</p><p>  return dt;</p><p><b&

107、gt;  }</b></p><p>  /// <summary></p><p>  /// 根據(jù)頁碼數(shù)選擇影片信息</p><p>  /// </summary></p><p>  /// <param name="pgNum"></param><

108、/p><p>  /// <returns></returns></p><p>  public DataTable getMovie(int pgNum)</p><p><b>  {</b></p><p>  int temp = 5 * pgNum;//涉及到每頁的數(shù)目</p>

109、<p>  int sum = getAllMovie().Rows.Count;</p><p>  string sqlStr = "select * from (select top 5 * from (select top " + temp + " * from tbl_Movie order by BeOnDateTime desc)a order by Be

110、OnDateTime asc)b order by BeOnDateTime desc";//涉及到每頁的數(shù)目</p><p>  if (sum % 5 != 0)//涉及到每頁的數(shù)目</p><p><b>  {</b></p><p>  if (pgNum == (sum / 5 + 1))//涉及到每頁的數(shù)目</p&

111、gt;<p><b>  {</b></p><p>  sqlStr = "select * from (select top " + sum % 5 + " * from (select top " + temp + " * from tbl_Movie order by BeOnDateTime desc)a order

112、by BeOnDateTime asc)b order by BeOnDateTime desc";//涉及到每頁的數(shù)目</p><p><b>  }</b></p><p><b>  }</b></p><p>  conn.Open();</p><p>  SqlDataAdap

113、ter da = new SqlDataAdapter(sqlStr, conn);</p><p>  conn.Close();</p><p>  DataSet ds = new DataSet();</p><p>  da.Fill(ds);</p><p>  DataTable dt = ds.Tables[0];</p

114、><p>  return dt;</p><p><b>  }</b></p><p>  由此可以看出調(diào)用本類以外方法的一個條件就是目標(biāo)方法要是public類型的,另外一個條件就是要在調(diào)用目標(biāo)方法的類中添加MovieDAOmovieDAO=newMovieDAO();MovieEntitymovieEntity=newMovieEntity(

115、);添加這兩行代碼即可,就可以輕松的實現(xiàn)不同類中方法的調(diào)用。然而【確定】按鈕的事件方法和MovieDAO中的方法都用到了類MovieEntity,這也正體現(xiàn)了實體類的用處了,不同類之間數(shù)據(jù)的傳遞。</p><p>  實現(xiàn)按評分展現(xiàn)影片列表的方法如下:</p><p>  /// <summary></p><p>  /// 獲取平均分排名在前名的影片

116、</p><p>  /// </summary></p><p>  /// <returns></returns></p><p>  public DataTable getMovieTopTen(int num)</p><p><b>  {</b></p>&

117、lt;p>  string sqlStr = "";</p><p>  if (num == 5)</p><p><b>  {</b></p><p>  sqlStr = "select * from tbl_Movie where MovieID in (select top 5 MovieID f

118、rom tbl_Grade order by GradeAvg desc)";</p><p><b>  }</b></p><p>  else if (num == 10)</p><p><b>  {</b></p><p>  sqlStr = "select * f

119、rom tbl_Movie where MovieID in (select top 10 MovieID from tbl_Grade order by GradeAvg desc)";</p><p><b>  }</b></p><p>  conn.Open();</p><p>  SqlDataAdapter da =

120、new SqlDataAdapter(sqlStr, conn);</p><p>  conn.Close();</p><p>  DataSet ds = new DataSet();</p><p>  da.Fill(ds);</p><p>  return ds.Tables[0];</p><p>&l

121、t;b>  }</b></p><p>  這里的參數(shù)是決定選出前十還是前五用來展示影片列表,系統(tǒng)前端首頁傳入?yún)?shù)值為5,首頁上展示評分前五的影片,用戶選擇更多的時候?qū)魅胫禐?0的參數(shù),系統(tǒng)將會展示評分前十的影片。</p><p>  圖4-7 客戶的訂單操作(付款和取消訂單)</p><p>  如圖4-7所示為客戶對訂單的操作,其中訂單的展示

122、,付款和取消訂單都用到了OrderDAO中的方法,三個方法如下:</p><p>  /// <summary></p><p>  /// 根據(jù)客戶信息獲取訂單詳情</p><p>  /// </summary></p><p>  /// <param name="cid"><

123、;/param></p><p>  /// <returns></returns></p><p>  public DataTable getOrderByCid(int cid,int status)</p><p><b>  {</b></p><p>  DateTime tim

124、e = DateTime.Now;</p><p>  time = time.AddDays(-2);//查找可以訂票時間范圍內(nèi)的訂單</p><p>  string sqlStr = "select a.OrderID,d.SeatID,c.MovieName,b.HallID,d.SeatRow,d.SeatColumn,b.SchedulePrice,b.BeginDa

125、teTime from tbl_Order a,tbl_Schedule b,tbl_Movie c,tbl_Seats d where a.ScheduleID=b.ScheduleID and b.MovieID=c.MovieID and a.CustomerID=" + cid + " and a.BuyDateTime>='" + time + "' and a.S

溫馨提示

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

評論

0/150

提交評論