畢業(yè)設計-.NET高鐵車票訂票系統(tǒng)-前臺設計_第1頁
畢業(yè)設計-.NET高鐵車票訂票系統(tǒng)-前臺設計_第2頁
畢業(yè)設計-.NET高鐵車票訂票系統(tǒng)-前臺設計_第3頁
畢業(yè)設計-.NET高鐵車票訂票系統(tǒng)-前臺設計_第4頁
畢業(yè)設計-.NET高鐵車票訂票系統(tǒng)-前臺設計_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、高鐵車票訂票系統(tǒng)前臺設計摘 要 本文是針對高鐵車票訂票實際情況,按照軟件工程的結構化設計思想,經(jīng)過工程的可行性研究和需求分析數(shù)據(jù)庫設計總體設計詳細設計,以及代碼的實現(xiàn)和測試等步驟設計開發(fā)了高鐵車票訂票系統(tǒng)。運用了數(shù)據(jù)流圖和數(shù)據(jù)字典E-R圖和數(shù)據(jù)庫邏輯結構層次圖系統(tǒng)流程圖以及程序流程圖,對該系統(tǒng)的數(shù)據(jù)需求數(shù)據(jù)庫系統(tǒng)軟件結構系統(tǒng)流程以及處理過程等進行了分析和設計。icrosoft SQL Server 2005數(shù)據(jù)庫來開發(fā)這個高鐵車票訂票系統(tǒng)。該系統(tǒng)可以解決的是高鐵車票訂票系統(tǒng)所要解決的問題,可以根本滿足高鐵車票訂票的根本要求,包括會員注冊、車次查詢、車票預訂、費用在線支付、訂單查詢/修改、個人信

2、息維護模塊、留言板、訂票須知、信息公告,其中主要實現(xiàn)了查詢、訂票、退票等三個方面的功能。該系統(tǒng)能運用到高鐵的訂票工作中,可以根據(jù)用戶的需求設者其權限,方便快捷的為用戶提供效勞。關鍵詞:信息管理;高鐵售票; ;Microsoft SQL Server 2005High iron ticket system front desk designAbstractThis article focuses on the actual situation of high-speed rail ticket booking,structured according to the software engine

3、ering design, talked about the project feasibility study and needs analysis 、Overall Design, Database Design, detailed design, and code implementation and testing procedures designed and developed high-speed railway ticket booking system。The use of a data flow diagram and ER diagrams and data dictio

4、nary logical structure or hierarchy database system flow chart diagram and process flow chart, the data needs of the system software 、 database structure or system processes and processing were analyzed And design。The application software development tools and Microsoft SQL Server 2005 database to d

5、evelop the high-speed railway ticket booking system。The system can solve the problem of high-speed rail ticket booking system to solve the problem。You can basically meet the high-speed rail ticket booking, the basic requirements, including membership registration, train number, ticket booking, for o

6、nline payment, order inquiry / modification Personal information maintenance module, message board, booking instructions, information bulletin, mainly to achieve the query, ticketing, refunds and other three functions。The system can be applied to work in high-speed rail bookings, according to the ne

7、eds of users who set their permissions to provide users with convenient and efficient service.Keywords: information management; high-speed rail ticketing; Microsoft SQL Server 2005目 錄 TOC o 1-3 h z u HYPERLINK l _Toc295505294 第1章 緒論 PAGEREF _Toc295505294 h 5 HYPERLINK l _Toc295505295 1.1 引言 PAGEREF

8、_Toc295505295 h 5 HYPERLINK l _Toc295505296 1.2 國內(nèi)外現(xiàn)狀 PAGEREF _Toc295505296 h 5 HYPERLINK l _Toc295505297 1.3 課題意義 PAGEREF _Toc295505297 h 6 HYPERLINK l _Toc295505298 1.4 應用范圍 PAGEREF _Toc295505298 h 6 HYPERLINK l _Toc295505299 第2章 系統(tǒng)地可行性研究與需求分析 PAGEREF _Toc295505299 h 7 HYPERLINK l _Toc295505300 2.

9、1 可行性分析 PAGEREF _Toc295505300 h 7 HYPERLINK l _Toc295505301 2.1.1 法律方面的可行性 PAGEREF _Toc295505301 h 7 HYPERLINK l _Toc295505302 2.1.2 使用方面的可行性 PAGEREF _Toc295505302 h 7 HYPERLINK l _Toc295505303 2.1.3 經(jīng)濟可行性 PAGEREF _Toc295505303 h 7 HYPERLINK l _Toc295505304 2.1.4 技術可行性 PAGEREF _Toc295505304 h 7 HYPE

10、RLINK l _Toc295505305 2.1.5 操作可行性 PAGEREF _Toc295505305 h 7 HYPERLINK l _Toc295505306 2.2 需求分析 PAGEREF _Toc295505306 h 7 HYPERLINK l _Toc295505307 2.2.1 功能需求 PAGEREF _Toc295505307 h 7 HYPERLINK l _Toc295505308 2.2.2 數(shù)據(jù)需求 PAGEREF _Toc295505308 h 9 HYPERLINK l _Toc295505309 2.2.3 性能需求 PAGEREF _Toc2955

11、05309 h 9 HYPERLINK l _Toc295505310 2.2.4 數(shù)據(jù)流圖 PAGEREF _Toc295505310 h 10 HYPERLINK l _Toc295505311 2.2.5 數(shù)據(jù)字典 PAGEREF _Toc295505311 h 10 HYPERLINK l _Toc295505312 2.2.6 實體聯(lián)系圖 PAGEREF _Toc295505312 h 11 HYPERLINK l _Toc295505313 第3章 數(shù)據(jù)庫設計 PAGEREF _Toc295505313 h 13 HYPERLINK l _Toc295505314 3.1 SQL

12、Server 2005數(shù)據(jù)庫簡介 PAGEREF _Toc295505314 h 13 HYPERLINK l _Toc295505315 3.2 系統(tǒng)數(shù)據(jù)庫結構設計 PAGEREF _Toc295505315 h 13 HYPERLINK l _Toc295505316 3.2.1 車次表 PAGEREF _Toc295505316 h 13 HYPERLINK l _Toc295505317 3.2.2 訂單表 PAGEREF _Toc295505317 h 13 HYPERLINK l _Toc295505318 3.2.3 售票表 PAGEREF _Toc295505318 h 14

13、HYPERLINK l _Toc295505319 3.2.4 系統(tǒng)表 PAGEREF _Toc295505319 h 14 HYPERLINK l _Toc295505320 3.2.5 退票表 PAGEREF _Toc295505320 h 14 HYPERLINK l _Toc295505321 第4章 系統(tǒng)的總體設計 PAGEREF _Toc295505321 h 15 HYPERLINK l _Toc295505322 4.1 系統(tǒng)軟件的結構設計 PAGEREF _Toc295505322 h 15 HYPERLINK l _Toc295505323 4.1.1 軟件結構 PAGER

14、EF _Toc295505323 h 15 HYPERLINK l _Toc295505324 4.1.2 模塊算法 PAGEREF _Toc295505324 h 15 HYPERLINK l _Toc295505325 4.2 系統(tǒng)流程圖 PAGEREF _Toc295505325 h 17 HYPERLINK l _Toc295505326 第5章 系統(tǒng)的詳細設計 PAGEREF _Toc295505326 h 19 HYPERLINK l _Toc295505327 5.1 用戶操作業(yè)務流程圖 PAGEREF _Toc295505327 h 19 HYPERLINK l _Toc295

15、505328 5.1.1 用戶系統(tǒng)主程序流程圖。如圖5.1 所示: PAGEREF _Toc295505328 h 19 HYPERLINK l _Toc295505329 5.1.2 車次信息查詢業(yè)務流程圖.如圖5.2所示: PAGEREF _Toc295505329 h 20 HYPERLINK l _Toc295505330 5.1.3 訂票處理流程圖.如圖5.3所示: PAGEREF _Toc295505330 h 21 HYPERLINK l _Toc295505331 5.1.4 訂票信息查詢處理流程圖.如圖5.4所示: PAGEREF _Toc295505331 h 22 HYP

16、ERLINK l _Toc295505332 5.1.5 退票處理流程圖.如圖5.5所示: PAGEREF _Toc295505332 h 23 HYPERLINK l _Toc295505333 5.2 接口設計 PAGEREF _Toc295505333 h 24 HYPERLINK l _Toc295505334 5.2.1 用戶接口 PAGEREF _Toc295505334 h 24 HYPERLINK l _Toc295505335 5.2.2 外部接口 PAGEREF _Toc295505335 h 24 HYPERLINK l _Toc295505336 5.2.3 內(nèi)部接口

17、PAGEREF _Toc295505336 h 24 HYPERLINK l _Toc295505337 5.3 詳細頁面設計 PAGEREF _Toc295505337 h 24 HYPERLINK l _Toc295505338 5.4 物理結構設計要點 PAGEREF _Toc295505338 h 24 HYPERLINK l _Toc295505339 5.4.1 系統(tǒng)登錄主界面 PAGEREF _Toc295505339 h 25 HYPERLINK l _Toc295505340 5.4.2 售票車票系統(tǒng)的主界面 PAGEREF _Toc295505340 h 25 HYPERL

18、INK l _Toc295505341 5.4.3 車票預定系統(tǒng)主界面 PAGEREF _Toc295505341 h 26 HYPERLINK l _Toc295505342 5.4.4 退票系統(tǒng)主界面 PAGEREF _Toc295505342 h 27 HYPERLINK l _Toc295505343 第6章 測試 PAGEREF _Toc295505343 h 28 HYPERLINK l _Toc295505344 6.1 數(shù)據(jù)與數(shù)據(jù)庫完整性的測試 PAGEREF _Toc295505344 h 28 HYPERLINK l _Toc295505345 6.2 功能的測試 PAGE

19、REF _Toc295505345 h 28 HYPERLINK l _Toc295505346 6.3 業(yè)務周期測試 PAGEREF _Toc295505346 h 28 HYPERLINK l _Toc295505347 6.4 用戶界面的測試 PAGEREF _Toc295505347 h 29 HYPERLINK l _Toc295505348 結 論 PAGEREF _Toc295505348 h 30 HYPERLINK l _Toc295505349 致 謝 PAGEREF _Toc295505349 h 31 HYPERLINK l _Toc295505350 參 考 文 獻

20、PAGEREF _Toc295505350 h 32 HYPERLINK l _Toc295505351 附錄A 譯文 PAGEREF _Toc295505351 h 33 HYPERLINK l _Toc295505352 附錄B 外文原文 PAGEREF _Toc295505352 h 40第1章 緒論1.1 引言1969年,美國IBM公司首次宣布除操作系統(tǒng)繼續(xù)隨計算機配送外,其余軟件一律計價出售,從此開創(chuàng)了軟件成為獨立商品的先河。短短四十幾年的時間,計算機軟件的重要性與日俱增。從PC機到筆記本電腦,從因特網(wǎng)到移動 ,從先進的武器到現(xiàn)代的家電,計算機軟件幾乎無處不在,無時不在。世界上最大的

21、軟件公司微軟公司及其創(chuàng)始人,已成為全球知名度最高的企業(yè)之一。在很多興旺國家,軟件產(chǎn)業(yè)已成為社會的支柱產(chǎn)業(yè),軟件工程師也成為最受青睞的一種職業(yè)。正是由于軟件的開展,使計算機應用逐步滲透到社會生活的各個角落,使各行各業(yè)都發(fā)生了很大的變化。這同時也促使人們對軟件的品種,數(shù)量,功能和質(zhì)量等提出了越來越高的要求。然而,軟件的規(guī)模越大,越復雜,人們的軟件開發(fā)能力越顯得力不從心。于是,人們開始重視軟件開發(fā)過程,方法,工具和環(huán)境的研究,軟件工程應運而生。軟件工程技術歷經(jīng)四十多年的開展,目前已進入成熟期。軟件過程改善的熱潮使軟件企業(yè)對軟件工程技術的認識有了質(zhì)的飛躍,正在被越來越廣泛地接收。過程改善和技術提升的結

22、合是軟件產(chǎn)業(yè)開展的趨勢。軟件復用和軟件構件技術,再工程技術及領域工程技術正逐步成為主流軟件技術,是軟件工程化,工業(yè)化生產(chǎn)技術的核心技術。也推動了一些行業(yè)的開展,比方說票務方面,本次設計我選擇了具有比擬典型的并且有一定實際應用價值的課題高鐵車票訂票系統(tǒng)。1.2 國內(nèi)外現(xiàn)狀“目前,從技術上看,軟件開發(fā)的主要模式仍以手工作坊式為住,但工程化技術的采用呈穩(wěn)步上升趨勢。軟件企業(yè)的過程改善,標準化,規(guī)?;蔀橐环N趨勢。推行軟件的工程化,工業(yè)化生產(chǎn)技術和模式是軟件企業(yè)開展并形成規(guī)模經(jīng)濟的必由之路,這已成為學術界和產(chǎn)業(yè)界的共識。 當前,學術界和產(chǎn)業(yè)界的共識是:在注重軟件工程技術研究的同時應注重軟件過程的研究

23、;軟件開發(fā)單位不僅需要技術創(chuàng)新采用先進技術,更需要將其過程改善放在首位。過程改善和技術的緊密結合才是完善的軟件開發(fā)解決方案。進入九十年代以來,軟件過程研究及企業(yè)過程改善成為熱潮,和軟件工程技術研究及企業(yè)技術創(chuàng)新受到同等重視,兩方面都得到了長足的開展。在技術方面,軟件工程技術不斷開展,軟件工具市場不斷擴大。我國政府支持的國家重點科技攻關工程青鳥工程長期從事對軟件工程技術的研究,在上述幾方面及其集成上均有卓有成效的成果,保持了和國際前沿同步,同時,為我國軟件產(chǎn)業(yè)根底設施建設以及軟件工程學科建設做出了積極奉獻。 課題意義隨著高鐵的興起,火車站市場的管理和標準問題,已經(jīng)是困擾我們多年的一個老問題,也是

24、政府部門管理中的一個重點、難點.訂票是客運業(yè)務中的一個最最根本的業(yè)務,從外表上來看,它只是高鐵業(yè)務中的一個簡單局部,但是它涉及到管理與客戶效勞等多方面的問題,因此,過去傳統(tǒng)的售票方式遠遠不能夠滿足現(xiàn)代客運業(yè)務流量急速增長的趨勢,這就要求研發(fā)出一種全新的訂票方式來滿足客戶的需要,那就是網(wǎng)上訂票,這種方式可以大大地緩解車票訂購頂峰時期的客運壓力,并可以為用戶提供方便快捷的訂票效勞.1.4 應用范圍高鐵車票的管理和標準問題,是困擾我們多年的一個老問題,也是政府管理中的一個難點,訂票是客運業(yè)務中的一個最根本的業(yè)務,外表上看,它只是長途客運業(yè)務的一個簡單的局部,但是它涉及到管理與客戶效勞等多方面,因此,

25、過去傳統(tǒng)的售票方式已經(jīng)不能滿足現(xiàn)代客運業(yè)務流量劇增的客觀要求,這就要求一種全新的訂票方式網(wǎng)上訂票,來緩解訂票頂峰時期的客運壓力,并為用戶提供方便快捷的訂票效勞。本次設計便是利用開發(fā)工具asp和SQL Server 2005數(shù)據(jù)庫共同開發(fā)的一個高鐵車票訂票系統(tǒng),它能方便快捷地運用在訂票業(yè)務的營運之中。本系統(tǒng)設計主要是根據(jù)訂票業(yè)務的根本流程進行的,系統(tǒng)功能主要包括如下幾個方面:查詢:分為對信息的查詢和客戶對已訂車票信息的查詢訂票:通過查詢系統(tǒng),客戶根據(jù)自己的需求找到滿意的車次,直接通過網(wǎng)上訂票確定已預訂選中的高鐵車票。第2章 系統(tǒng)地可行性研究與需求分析2.1 可行性分析該階段主要通過對系統(tǒng)目標地初

26、步調(diào)研和分析,從而提出可行性方案并進行研究論證.我在這主要從法律方面的可行性、使用方面的可行性、經(jīng)濟可行性、技術可行性、操作可行性五方面進行分析論證。 法律方面的可行性 該系統(tǒng)的開發(fā)和研制,將不會侵犯他人、集體和國家的利益,不會違反國家的相關政策和法律。 使用方面的可行性 該系統(tǒng)操作簡單,需要高鐵售票人員熟悉業(yè)務流程,一般的工作人員即可勝任。 經(jīng)濟可行性 由于本系統(tǒng)是為了高鐵車票訂票所使用的系統(tǒng),安裝該應用程序,即可馬上使用此系統(tǒng),系統(tǒng)本錢主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后,可以節(jié)省大量的人力、財力、物力,所帶來的經(jīng)濟效益是遠遠大于系統(tǒng)軟件的開發(fā)本錢。所以,從經(jīng)濟的角度來看,是完全可

27、行的。 技術可行性 數(shù)據(jù)庫環(huán)境: Microsoft SQL Server 2005 系統(tǒng)環(huán)境: Microsoft Windows 2005或以上版本系統(tǒng)實現(xiàn)依靠開發(fā)工具icrosoft SQL Server 2005數(shù)據(jù)庫系統(tǒng),其根本操作實質(zhì)還是對數(shù)據(jù)庫進行查找、刪除、添加等操作,暫時沒有技術問題。 操作可行性 界面設計時,充分考慮了使用人員的習慣,界面友好簡潔,操作方便;數(shù)據(jù)輸入簡單、迅速、標準、可靠;統(tǒng)計、計算準確等優(yōu)點。2.2 需求分析 需求分析是軟件設計的一個極其重要的環(huán)節(jié)。本階段將對高鐵車票訂票系統(tǒng)的應用情況作出全面了解,以確保系統(tǒng)的目標,并對系統(tǒng)所需要的相關數(shù)據(jù)以及數(shù)據(jù)處理要求

28、進行分析,從而確保用戶的需求。用戶對系統(tǒng)的需求我將從以下幾方面進行分析。2.2.1 功能需求 本高鐵車票訂票系統(tǒng)應該具備如下功能:1 會員注冊 此系統(tǒng)通過注冊會員成為本系統(tǒng)的會員,來獲得用戶名和密碼,才能進入本系統(tǒng)。2 車次查詢 車次查詢分為對車次信息的查詢和客戶對已訂車票信息的查詢.要求:對車次的查詢,可以按照發(fā)車車次進行查詢。車次信息包括:車號、出發(fā)地、目的地、發(fā)車日期、開出時刻、票價。座位類型設定:軟座和硬座。車次信息只允許用戶查詢,不能修改。3 預定車票 通過查詢系統(tǒng),客戶根據(jù)自己的需求找到滿意并適合自己的車次,再輸入個人信息后直接通過網(wǎng)上訂票確定并預定選中的車票.要求: 訂票記錄包括

29、:車號、種類、開車時間、車票價格。4 取消預訂 由于某些原因,或者突發(fā)情況,無法趕到預定車票的時間,客戶通過退回車票,可以找到預定的車票,可以通過取消預定來退去已購車票。 5 留言板通過留言板你可以發(fā)表心中的疑惑,對高鐵的一切情況,也可以發(fā)表自己的見解.對售票人員的效勞滿意度,對高鐵上效勞人員的看法等問題都可以通過留言板來留言,讓管理人員及時了解情況,以便迅速做出調(diào)整,做到每一個乘客滿意放心。6 訂票須知 通過訂票須知,可以答復你一些簡單的疑惑,如高鐵上不允許帶的違禁物品,坐高鐵要注意的事項,多少升高以下的兒童可以免票等相應的情況,你可以通過訂票須知知道.因此,在訂票之前,不妨仔細閱讀一下須知

30、,詳細了解樂坐高鐵的種種事項后,再開始訂票。7 信息公告 通過信息公告,可以讓乘客知道高鐵是否運行,有時可能由于天氣原因等情況,火車站會采取停止高鐵的運行,這些信息可以通過信息公告來知道,以便乘客能夠及時知曉,對訂票有很大的幫助。2.2.2 數(shù)據(jù)需求數(shù)據(jù)需求,即在系統(tǒng)中需要處理的數(shù)據(jù).根據(jù)對高鐵車票訂票系統(tǒng)的分析,本系統(tǒng)的數(shù)據(jù)需求。如表:信息輸入信息處理信息輸出用戶輸入所需車次檢索系統(tǒng)數(shù)據(jù)庫顯示出符合用戶需求的車次及相關信息用戶輸入個人信息及所需訂購的車票信息更新系統(tǒng)中的訂票信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反應如訂票成功用戶輸入自己的名字、身份證號;或交易的訂單號檢索系統(tǒng)數(shù)據(jù)庫符合用戶需求的訂

31、票信息用戶輸入自己的名字檢索系統(tǒng)數(shù)據(jù)庫以得到訂票記錄,刪除用戶請求的訂票記錄,更新系統(tǒng)數(shù)據(jù)庫顯示出操作反應如退票成功等 表2.1 信息輸入輸出 性能需求為了保證系統(tǒng)能夠長期、平安、穩(wěn)定、可靠、高效的運行,本系統(tǒng)應該滿足以下的性能需求。1 準確性和及時性系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。系統(tǒng)應能及時而且準確的根據(jù)用戶權限及所輸入的信息做出響應。由于本系統(tǒng)的查詢功能對于整個系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票的數(shù)量和時間又影響用戶的決策活動,其準確性和及時性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性和及時性。2 易用性本系統(tǒng)是直

32、接面對用戶的,而用戶往往對計算機并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應該盡量使用用戶熟悉的術語和中文信息的界面,從而保證系統(tǒng)的易用性。3 平安性網(wǎng)上訂票系統(tǒng)中涉及到的數(shù)據(jù)是客運公司相當重要的信息,系統(tǒng)要保證用戶的權限,對于車次等信息用戶只享有查詢效勞,不得更改;系統(tǒng)還要提供方便的手段供系統(tǒng)維護人員進行數(shù)據(jù)備份、日常平安管理、以及系統(tǒng)意外崩潰時數(shù)據(jù)的恢復等工作。同時系統(tǒng)還要保證對數(shù)據(jù)庫進行及時更新,保證數(shù)據(jù)一致性。 數(shù)據(jù)流圖 本系統(tǒng)的數(shù)據(jù)流圖如圖2.2所示:事務事務事務用戶信息事務用戶事務接收事務車次信息車次信息更新數(shù)據(jù)庫事務接收事務訂

33、單信息反饋事務用戶事務事務更新數(shù)據(jù)庫接收事務事務訂單信息事務查詢訂單修改訂單反應用戶訂票事務接收事務反應用戶更新數(shù)據(jù)庫更新數(shù)據(jù)庫用戶信息接收事務退票 圖2.2 數(shù)據(jù)流圖 數(shù)據(jù)字典 如圖2.32.5所示: 名字:車次信息別名:描述:存放車次信息的文件,以供用戶查詢定義:車次信息=車號+出發(fā)地+目的地+發(fā)車日期+開出時刻+到達時刻+ 坐位類型+票價位置:輸出到CRT終端或類似的顯示部件圖2.3 車次信息數(shù)據(jù)字典名字:訂票信息別名:訂單信息描述:存放訂單信息的文件,以供用戶查詢,并作相應操作定義:訂票記錄=用戶名+車號+發(fā)車日期+訂購日期+訂購票數(shù)+總價位置:輸出到CRT終端或類似的顯示部件圖2.4

34、 訂票信息數(shù)據(jù)字典名字:會員信息別名:用戶信息描述:存放會員信息的文件,以供會員方便的查詢訂單信息,進而做出相應的操作定義:會員信息=真實姓名+身份證號+性別+籍貫+聯(lián)系 位置:輸出到CRT終端或類似的顯示部件 圖2.5 會員信息數(shù)據(jù)字典 實體聯(lián)系圖 用戶的需求具體表達在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸出和輸入。針對火車站網(wǎng)上訂票系統(tǒng),通過對網(wǎng)上訂票工作的過程、內(nèi)容以及數(shù)據(jù)流程分析,設計如下所示的數(shù)據(jù)項和數(shù)據(jù)結構:1車次信息包括:車號、出發(fā)地、目的地、發(fā)車日期、開出時刻、剩余座位數(shù)、票價。2訂票記錄包括:訂單號、身份證號、車號、訂購日期、訂購票數(shù)、總價

35、。3會員信息包括:真實姓名、身份證號、性別、籍貫、聯(lián)系 。E-R圖如圖2.2所示: nnn11m查詢退票訂票訂單號用戶身份證號車號訂購日期總價發(fā)車日期訂票信息會員真實姓名籍貫性別 車次車次 出發(fā)地目的地發(fā)車日期開出時刻坐位類型票價訂購票數(shù)圖2.6 實體聯(lián)系圖(E-R圖)第3章 數(shù)據(jù)庫設計3.1 SQL Server 2005數(shù)據(jù)庫簡介 Microsoft的SQL Server作為眾多數(shù)據(jù)庫軟件的一種,是網(wǎng)絡世界的一個支撐。 從20世紀80年代后期開發(fā)SQL Server,到2005年底SQL Server 2005的發(fā)布,Microsoft經(jīng)歷十幾年的磨練,使SQL Server從無到有,從小

36、到大,而且新一代的SQL Server已經(jīng)開始逐漸成為Windows操作系統(tǒng)未來的核心,成為主流數(shù)據(jù)庫軟件。 SQL Server 是一個關系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了。Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 那么較專注于SQL Server在UNIX

37、 操作系統(tǒng)上的應用。到了2005年底,Microsoft公司經(jīng)過5年的努力,推出了其最新版本SQL Server 2005。3.2 系統(tǒng)數(shù)據(jù)庫結構設計 高鐵車票訂票系統(tǒng)數(shù)據(jù)庫忠各個表格的設計結果如下表.3.2.1 車次表字段名數(shù)據(jù)類型是否可空說明CidintNOT NULL車號主鍵0Carnamevarchar(50)NOT NULL車名CTypevarchar(50)NOT NULL車次類型表 3.1 車次表3.2.2 訂單表字段名數(shù)據(jù)類型是否可空說明OidintNOT NULL訂單號主鍵OCarvarchar(50)NOT NULL車號外鍵Oticketypevarchar(10)NOT

38、NULL訂票類型ObuyTimedatetimeNOT NULL訂單時間OusetimedatetimeNOT NULL發(fā)車時間OmoneymoneyNOT NULL價格Oadminvarchar(50)NOT NULL用戶名表 訂單表 3.2.3 售票表字段名數(shù)據(jù)類型是否可空說明SidintNOT NULL車號主鍵SCarvarchar(50)NOT NULL車次外鍵SticketTypevarchar(10)NOT NULL車次類型外鍵StimedatetimeNOT NULL發(fā)車日期外鍵Smoneymoney NULL價格SadminvarcharNULL用戶名表3.3 售票表3.2.4

39、 系統(tǒng)表字段名數(shù)據(jù)類型是否可空說明SysidinNOT NULL車號主鍵SysBuyTimevarchar(50) NULL買票時間SysOrderTimevarchar(50) NULL訂票時間SysuipiaoTimeVarchar(50)NULL退票時間表3.4 系統(tǒng)表 退票表字段名數(shù)據(jù)類型是否可空說明TidintNOT NULL退票車號Tnamevarchar(50)NOT NULL退票類型TtimedatetimeNOT NULL退票時間TmoneymoneyNULL退票價格表 退票表第4章 系統(tǒng)的總體設計4.1 系統(tǒng)軟件的結構設計4 軟件結構 本高鐵車票訂票系統(tǒng)可劃分為信息查詢、網(wǎng)

40、上訂票、取消訂票三個局部。其中信息查詢又可分為車次查詢和訂單查詢兩個局部。其層次圖如圖4.1所示。火車票網(wǎng)上訂票系統(tǒng)信息查詢車次查詢訂票查詢網(wǎng)上訂票取消訂票圖4.1 高鐵車票訂票系統(tǒng)層次圖4 模塊算法 1) 界面級算法 處理輸入信息,產(chǎn)生相應任務。如圖4.2所示:輸入數(shù)據(jù)產(chǎn)生任務客戶端校驗數(shù)據(jù)數(shù)據(jù)信息反應信息加工 圖4.2 界面級算法示意圖數(shù)據(jù)庫級算法4.3所示:底層數(shù)據(jù)庫操作封裝用戶界面級模塊任務數(shù)據(jù)校驗,調(diào)用相關模塊功能圖4.3 數(shù)據(jù)庫級算法示意圖任務級算法4.4所示:失敗任務觸發(fā)權限校驗生成數(shù)據(jù)請求并記錄數(shù)據(jù)處理并反應界面顯示圖4.4任務級算法示意圖2. 調(diào)用關系1界面模塊調(diào)用任務模塊2

41、任務模塊調(diào)用數(shù)據(jù)模塊3數(shù)據(jù)模塊調(diào)用界面模塊顯示4.2 系統(tǒng)流程圖系統(tǒng)。圖4.6圖4.9為各模塊詳細系統(tǒng)流程圖。查詢程序訂票程序退票程序火車站網(wǎng)上訂票系統(tǒng)系統(tǒng)數(shù)據(jù)庫事務相應信息操作反應 圖4.5 系統(tǒng)頂層流程圖 輸入所需車次的重要信息查詢程序系統(tǒng)數(shù)據(jù)庫符合用戶需求的車次信息事務圖4.6 車次信息查詢系統(tǒng)流程圖查詢程序系統(tǒng)數(shù)據(jù)庫符合用戶需求的訂票信息事務輸入查詢條件 圖4.7 訂單信息查詢系統(tǒng)流程圖 訂票程序系統(tǒng)數(shù)據(jù)庫操作反應事務輸入訂票信息 圖4.8 訂票系統(tǒng)流程圖退票程序系統(tǒng)數(shù)據(jù)庫操作反應事務輸入退票信息 圖4.9退票系統(tǒng)流程圖第5章 系統(tǒng)的詳細設計5.1 用戶操作業(yè)務流程圖5 用戶系統(tǒng)主程序

42、流程圖。如圖5.1 所示:NYYYNY開始主界面NY選擇訂票窗口選擇查詢窗口查詢界面訂票訂票界面選擇退票窗口YN退票退票界面退出N查詢車次信息訂票查詢訂票信息退票結束登錄框登錄,確定訪問權限 圖5.1 用戶程序主流程圖55.2所示:NNNYYYNNYY查詢界面用戶輸入要查詢條件查詢讀數(shù)據(jù)文件輸出查詢結果關閉窗口結束開始訂票訂票界面繼續(xù)查詢車次信息查詢車次信息訂票返回主頁 圖5.2車次信息查詢業(yè)務流程圖55.3所示:NNYYNYNY開始訂票界面訂票輸入訂票信息N返回主頁繼續(xù)訂票提交信息有效性修改數(shù)據(jù)文件Y關閉窗口結束錯誤提示圖5.3訂票處理流程圖55.4所示:NNNYYYNY查詢界面讀數(shù)據(jù)文件輸

43、出查詢結果關閉窗口結束開始Y返回主頁主界面退票退票界面繼續(xù)查詢訂票信息查詢訂票信息退票圖 5.4訂票信息查詢處理流程圖55.5所示:NNYYNYNY開始退票界面退票N返回主頁繼續(xù)退票提交信息有效性Y關閉窗口結束錯誤提示輸入退票信息5.2 接口設計 用戶接口 用戶通過界面接口來實現(xiàn)參數(shù)的輸入,進入相應的界面后輸入提示的信息即可產(chǎn)生相應的任務;在用戶登錄時,如果用戶輸入的信息是非法的系統(tǒng)會提示有錯誤信息。 外部接口 本系統(tǒng)得數(shù)據(jù)庫是用SQL,然后在計算機上創(chuàng)立OLEDB數(shù)據(jù)源,然后用的asp的幾個數(shù)據(jù)庫連接來實現(xiàn)與數(shù)據(jù)庫的連接。5 內(nèi)部接口 本系統(tǒng)包括如下幾個方面:登陸界面,訂票,車票時刻信息查詢

44、。需要的數(shù)據(jù)表有:Admin、Car、OrderTicket等表,這幾個數(shù)據(jù)表都有自己的主鍵,表之間通過主鍵實現(xiàn)連接。5.3 詳細頁面設計本身這個系統(tǒng)主要包括兩個登錄窗口:一個乘客登錄窗口,一個管理員登錄窗口。當一個乘客訪問這個頁面的時候,他首先可看到的是主頁面上有3個根本功能:銷售車票,預定車票,退回車票。你通過售票車票,可以查詢車次,價格等信息。乘客訂票是需要乘客進行注冊后才能擁有的功能,而第3個功能就是乘客訂票,通過輸入車次等信息,可以進行訂票。管理員登錄窗口,我們設為初始值,管理員登錄后擁有線路的添加,刪改的功能。5.4 物理結構設計要點給出本系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)結構中的每個數(shù)據(jù)項的

45、存儲要求,訪問方法、存取單位、存取的物理關系索引、設備、存儲區(qū)域、設計考慮和保密條件。設計系統(tǒng)界面,主要界面如下:5.4.1 系統(tǒng)登錄主界面 5.4.2 售票車票系統(tǒng)的主界面 5.4.3 車票預定系統(tǒng)主界面5.4.4 退票系統(tǒng)主界面第6章 測試6.1 數(shù)據(jù)與數(shù)據(jù)庫完整性的測試測試目標 確保數(shù)據(jù)庫訪問和進程正常進行,數(shù)據(jù)不會遭到損壞技術調(diào)用各個數(shù)據(jù)庫訪問方法和進程,并在其中填充有效和無效的數(shù)據(jù) 或?qū)?shù)據(jù)的請求。檢查數(shù)據(jù)庫,確保數(shù)據(jù)已按預期的方式填充,并且所有的數(shù)據(jù)庫事件已正常發(fā)生;或者檢查所返回的數(shù)據(jù),確保為正當?shù)睦碛蓹z索到了正確的數(shù)據(jù)。完成標準所有的數(shù)據(jù)庫訪問和進程都按照設計的方式運行,數(shù)據(jù)沒

46、有遭到損壞。需考慮的特殊事項進程應該以手工方式調(diào)用應使用小型或最小的數(shù)據(jù)庫來使所有無法接受的事件具有更大的可視度6.2 功能的測試測試目標 確保功能正常,其中包括導航,數(shù)據(jù)輸入,處理和檢索等功能技術用有效的和無效的數(shù)據(jù)來執(zhí)行各個用例。1在使用有效的數(shù)據(jù)時得到預期的結果2在使用無效的數(shù)據(jù)時顯示相應的錯誤信息和警告消息3各業(yè)務規(guī)那么都得到了有效的應用完成標準所有方案的測試全部執(zhí)行所發(fā)現(xiàn)的缺陷全部解決需考慮的特殊事項產(chǎn)品已完成功能的提交是否在測試的范圍內(nèi)6.3 業(yè)務周期測試 業(yè)務周期測試是模擬一段時間內(nèi)系統(tǒng)的運行情況6.4 用戶界面的測試測試目標 系統(tǒng)的界面美觀,得體,功能正常,符合用戶的要求,窗口

47、的對象和特征符合標準。技術人工測試或自動化測試工具進行測試,模擬用戶的操作,確保界面能夠正確的瀏覽,在不同的瀏覽器下顯示正常。完成標準核實頁面到達用戶的標準需考慮的特殊事項不同瀏覽器,不同的窗口大小的顯示。結 論二十一世紀是一個高速、快捷的年代。在這個高速開展的年代里,速度成了我們追求的目標;二是提高工作效率;三是降低本錢。因此,辦公自動化的高速度、高效率、高便捷、低本錢便成了我們的目的,為此開發(fā)了這個高鐵車票訂票系統(tǒng)。本系統(tǒng)可以大大簡化退票、訂票、查詢等十分繁瑣的工作,簡化辦公環(huán)節(jié),提高工作效率,而且易學、易用,滿足客戶需求。這次系統(tǒng)的設計從最開始的可行性研究,需求分析,到系統(tǒng)的總體設計,詳

48、細設計,再到編碼、測試等的一個整體過程,使我真正明白了要做一個軟件的難度,特別是要做一個真正可用的軟件,就更難了。在老師和同學的幫助下,我把以往所學的軟件工程、數(shù)據(jù)庫知識結合起來,利用asp開發(fā)工具,加上SQL Server 2005數(shù)據(jù)庫系統(tǒng),完成了本次課程設計,盡量使它能滿足各個方面的要求。當然,我的個人能力有限,還有很多缺乏的地方,敬請諒解。在這次課程設計過程中我遇到了不少的難題,比方數(shù)據(jù)庫操作問題,界面設計問題,函數(shù)使用與實現(xiàn)問題,消息處理問題等等。其中,最關鍵的是在最初對系統(tǒng)的需求分析做的不透徹,導致后續(xù)設計工作乃至編碼時的修改工作量變大。以至于為了能按時完成設計任務,我一連度過了幾

49、個通宵。尤其,越接近結束,就越是時常出現(xiàn)問題。所以,通過這次課程設計我深刻體會到軟件工程還是必須學精通點、學透徹點。通過這次課程設計,我學會了如何對所學課程綜合運用,穩(wěn)固了軟件工程的一般標準,對數(shù)據(jù)庫的使用也有了更進一步了解??傮w來說,課程設計讓我學了不少知識。我認為課程設計是我們學習生涯中相當重要的一課,除了驗證學生的學習成果外,也是訓練一個人獨立思考及解決問題的能力.在這里,我要感謝指導老師和同學在這次課程設計中對我的幫助。致 謝在論文完成之際,我要特別感謝我的指導老師李月峰老師的熱情關心和悉心指導。在我撰寫論文的過程中,李老師傾注了大量的心血和汗水,無論是在論文的選題、構思和資料的收集方

50、面,還是在論文的研究方法以及成文定稿方面,我都得到了李老師悉心細致的教誨和無私的幫助,特別是他廣博的學識、深厚的學術素養(yǎng)、嚴謹?shù)闹螌W精神和一絲不茍的工作作風使我終生受益,在此表示真誠地感謝和深深的謝意。 在論文的寫作過程中,也得到了許多同學的珍貴建議,同時還得到許多在工作過程中許多同事的支持和幫助,在此一并致以誠摯的謝意。 感謝所有關心、支持、幫助過我的良師益友。 最后,向在百忙中抽出時間對本文進行評審并提出珍貴意見的各位老師表示衷心地感謝!參 考 文 獻.第1版.北京:清華大學出版社,20212 康會光,王俊偉,張瑞萍.SQL Server 2005 中文版標準教程. 第1版.北京:清華大學

51、出版社,20073 四維科技,曹衍龍.數(shù)據(jù)庫開發(fā)實用工程案例精選.北京:人民郵電出版社,20044 高級特性.第1版.北京:電子工業(yè)出版社,20025 陳豫龍.DELPHI 6數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航.J第I版.北京:人民郵電出版社,2002,20(11):35-366 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.北京:高等教育出版社,2000年7 張立厚等著,管理信息系統(tǒng),世界圖書出版公司,2002,288:38-408 陳淑珍,楊濤.基于Internet的遠程教學系統(tǒng)設計與實現(xiàn).現(xiàn)代教育技術,2001,(36) :34-359 胡延平,盧曉慶,馮明東,王慧;基于.Net架構的交通旅游售票系統(tǒng)的設計與實現(xiàn)J

52、;計算機工程與設計;2005年01期10 邱巖,王慶玲;用.NET實現(xiàn)系統(tǒng)整合的關鍵技術J;計算機工程與應用;2003年24期11 于松濤.精通SQL server 2000數(shù)據(jù)庫管理與開發(fā)M.北京:人民郵電出版社,2003.1012 孫涌.?現(xiàn)代軟件工程?.北京希望電子出版社,2003年8月:1-246附錄A 譯文模擬測試模糊測試Fuzz testing 是一項對代碼質(zhì)量有著深遠影響的簡單技術。在本文中,Elliotte Rusty Harold 成心將隨機的壞數(shù)據(jù)插入應用程序,以觀察發(fā)生的結果。他也解釋了如何使用如校驗和、XML 數(shù)據(jù)存儲及代碼驗證等防護性編碼技術,來加固您的程序以抵抗隨機

53、數(shù)據(jù)。他以一個練習進行總結,在練習中他以一個代碼破壞者的角度進行思考 這是一種用于防護代碼的至關重要的技術。多年來,我驚嘆于有如此大量能夠使 Microsoft Word 崩潰的壞文件。少數(shù)字節(jié)錯位,會使整個應用程序毀于一旦。在舊式的、無內(nèi)存保護的操作系統(tǒng)中,整個計算機通常就這樣崩潰掉了。Word 為什么不能意識到它接收到了壞的數(shù)據(jù),并發(fā)出一條錯誤信息呢?為什么它會僅僅因為少數(shù)字節(jié)被損壞就破壞自己的棧、堆呢?當然,Word 并不是惟一一個面對畸形文件時表現(xiàn)得如此糟糕的程序。本文介紹了一種試圖防止這種災難的技術。在模糊測試中,用隨機壞數(shù)據(jù)也稱做 fuzz攻擊一個程序,然后等著觀察哪里遭到了破壞。

54、模糊測試的技巧在于,它是不符合邏輯的:自動模糊測試不去猜想哪個數(shù)據(jù)會導致破壞就像人工測試員那樣,而是將盡可能多的雜亂數(shù)據(jù)投入程序中。由這個測試驗證過的失敗模式通常對程序員來說是個徹底的震憾,因為任何按邏輯思考的人都不會想到這種失敗。模糊測試是一項簡單的技術,但它卻能揭示出程序中的重要 bug。它能夠驗證出現(xiàn)實世界中的錯誤模式并在您的軟件發(fā)貨前對潛在的應當被堵塞的攻擊渠道進行提示。模糊測試的實現(xiàn)是一個非常簡單的過程:1. 準備一份插入程序中的正確的文件。 2. 用隨機數(shù)據(jù)替換該文件的某些局部。 3. 用程序翻開文件。 4. 觀察破壞了什么。 可以用任意多種方式改變該隨機數(shù)據(jù)。例如,可以將整個文件

55、打亂,而不是僅替換其中的一局部,也可以將該文件限制為 ASCII 文本或非零字節(jié)。不管用什么方式進行分割,關鍵是將大量隨機數(shù)據(jù)放入應用程序并觀察出故障的是什么。測試基于 C 的應用程序當字符串包含額外的零時,許多用 C 編寫的程序都會出問題 這類問題太過頻繁以至于額外的零能夠徹底隱藏代碼中其他的問題。一旦驗證出程序存在零字節(jié)問題,就可以移除它們,從而讓其他的問題浮現(xiàn)出來。 可以手動進行初始化測試,但要想到達最正確的效果那么確實需要采用自動化模糊測試。在這種情況下,當面臨破壞輸入時首先需要為應用程序定義適當?shù)腻e誤行為。如果當輸入數(shù)據(jù)被破壞時,您發(fā)現(xiàn)程序正常運行,且未定義發(fā)生的事件,那么這就是第一

56、個 bug。隨后將隨機數(shù)據(jù)傳遞到程序中直到找到了一個文件,該文件不會觸發(fā)適當?shù)腻e誤對話框、消息、異常,等等。存儲并記錄該文件,這樣就能在稍后重現(xiàn)該問題。如此重復。盡管模糊測試通常需要一些手動編碼,但還有一些工具能提供幫助。例如,清單 1 顯示了一個簡單的 Java 類,該類隨機更改文件的特定長度。我常愿意在開始的幾個字節(jié)后面啟動模糊測試,因為程序似乎更可能注意到早期的錯誤而不是后面的錯誤。您的目的是想找到程序未檢測到的錯誤,而不是尋找已經(jīng)檢測到的。清單 1. 用隨機數(shù)據(jù)替換文件局部的類import java.io.*;import java.security.SecureRandom;impo

57、rt java.util.Random;public class Fuzzer private Random random = new SecureRandom(); private int count = 1; public File fuzz(File in, int start, int length) throws IOException byte data = new byte(int) in.length(); DataInputStream din = new DataInputStream(new FileInputStream(in); din.readFully(data)

58、; fuzz(data, start, length); String name = fuzz_ + count + _ + in.getName(); File fout = new File(name); FileOutputStream out = new FileOutputStream(fout); out.write(data); out.close(); din.close(); count+; return fout; / Modifies byte array in place public void fuzz(byte in, int start, int length)

59、byte fuzz = new bytelength; random.nextBytes(fuzz); System.arraycopy(fuzz, 0, in, start, fuzz.length); 關于代碼我可以用很多種方式優(yōu)化 HYPERLINK :/ ibm /developerworks/cn/java/j-fuzztest.html l listing1#listing1 清單 1 中的代碼。例如,有著 java.nio 的內(nèi)存映射文件是一個相當不錯的選擇。我也能夠改良這個錯誤處理及可配置性。因為不想讓這些細節(jié)混淆這里所要說明的觀點,所以我將代碼保持了原樣。 模糊測試文件很簡單

60、。將其傳至應用程序通常不那么困難。如 AppleScript 或 Perl 腳本語言通常是編寫模糊測試的最正確選擇。對于 GUI 程序,最困難的局部是識別出應用程序是否檢測出正確的故障模式。有時,最簡單的方法是讓一個人坐在程序前將每一個測試通過或失敗的結果都標記下來。一定要將所有生成的隨機測試用例單獨地命名并保存下來,這樣就能夠重現(xiàn)這個過程中檢測到的任何故障。可靠的編碼遵循了這樣的根本原那么:絕不會讓程序中插入未經(jīng)過一致性及合理性驗證的外部數(shù)據(jù)。如果從文件中讀入一個數(shù)字并期望其為正數(shù),那么,在使用其進行進一步處理前對其先驗證一下。如果期望字符串只包含 ASCII 字母,請確定它確實是這樣。如果

溫馨提示

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

評論

0/150

提交評論