




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、存檔日期: 存檔編號(hào): 本科生畢業(yè)設(shè)計(jì) 題 目: 火車訂票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓 名: 2015年 答辯通過的論文及程序 系 別: 全套開題報(bào)告、英文翻譯、論文、程序、任務(wù)書、進(jìn)展報(bào)告 專 業(yè): RMB:100 年 級(jí) 、 學(xué) 號(hào): qq:1113121143 指 導(dǎo) 教 師: 江蘇師范大學(xué)科文學(xué)院印制江蘇師范大學(xué)計(jì)算機(jī)學(xué)院學(xué)士學(xué)位畢業(yè)設(shè)計(jì)原創(chuàng)性聲明本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)說明書 火車訂票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 是本人在導(dǎo)師指導(dǎo)下,在江蘇師范大學(xué)計(jì)算機(jī)學(xué)院學(xué)習(xí)期間,進(jìn)行畢業(yè)設(shè)計(jì)時(shí)取得的成果。本人知道,除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本畢業(yè)設(shè)計(jì)說明書不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的研究
2、成果。對(duì)本文的研究做出貢獻(xiàn)的個(gè)人或集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。班級(jí):11物聯(lián)學(xué)號(hào):學(xué)生簽名: 2015 年05月23 日火車訂票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要:隨著生活節(jié)奏的加快,人們對(duì)火車訂票有了更高的要求,而計(jì)算機(jī)科學(xué)的飛速發(fā)展為網(wǎng)上訂票系統(tǒng)提供了更好的解決方案。本系統(tǒng)使用JAVA 語言開發(fā),myeclipise為工作平臺(tái)和SQL Server 2005的數(shù)據(jù)庫(kù),使用jsp技術(shù)以及jdbc數(shù)據(jù)訪問技術(shù)。Web程序前臺(tái)使用了 html+css+javascript技術(shù)制作頁面,Windows程序使用了JSwing組件技術(shù)制作 J2ME窗體。本火車訂票
3、管理系統(tǒng)滿足了網(wǎng)上火車訂票的基本需求,其中包含查詢、訂票、退票等功能。本系統(tǒng)能很好的運(yùn)用到網(wǎng)上火車訂票的環(huán)節(jié)中,根據(jù)用戶的權(quán)限,分成管理員和普通用戶兩類,快捷方便的為用戶提供訂票管理服務(wù)。其中老人購(gòu)買臥鋪優(yōu)先分配下鋪為主要特色。 關(guān)鍵詞: Java、MyEclipse、Jsp、SQL Server 2005 The Design and Implementation of Train Ticket Management SystemAbstract:With the accelerating rhythm of life, people have a higher request for th
4、e train ticket booking, and the rapid development of computer science for online reservation system provides a better solution.The system of development uses JAVA , the work platform is myeclipse and SQL Server 2005 database .The system uses jdbc jsp technology and data access technology. Web applic
5、ation foreground uses html + css + javascript technical production page. Windows program uses JSwing component technology to make J2ME form. This train ticket booking management system can meet the basic needs of the train tickets online, which contains the query, booking tickets, upgrade, refund, e
6、tc.The system can apply to the online train ticket booking link, according to the user's permissions, divided into two types of administrators and ordinary users, fast and convenient for users provide ticketing management services. The old man to buy a sleeper berth for
7、the main features of priority allocation.Keywords: Java、MyEclipse、Jsp、SQL Server 2005目 錄第1章 緒論11.1 項(xiàng)目開發(fā)背景11.2 國(guó)內(nèi)相關(guān)進(jìn)展現(xiàn)狀分析11.3 系統(tǒng)開發(fā)目的與意義11.4 本文研究?jī)?nèi)容及主要貢獻(xiàn)2第2章 開發(fā)平臺(tái)介紹32.1 B/S體系結(jié)構(gòu)介紹32.1.1 B/S介紹32.1.2 C/S 與 B/S 區(qū)別32.2 SQL Server 2005 簡(jiǎn)介32.2.1 SQL Server 2005介紹32.2.2 SQL Server 2005的特點(diǎn)32.3 MyEclipse介紹4
8、2.4本章小結(jié)4第3章 系統(tǒng)分析53.1 可行性分析53.1.1 經(jīng)濟(jì)可行性53.1.2 技術(shù)可行性53.1.3 操作可行性53.2 系統(tǒng)需求分析53.2.1 功能需求53.2.2 數(shù)據(jù)需求63.2.3 性能需求63.3 本章小結(jié)7第4章 總體設(shè)計(jì)84.1 軟件結(jié)構(gòu)設(shè)計(jì)8 總體流程圖84.1.2 注冊(cè)用戶功能模塊84.1.3 管理員用戶功能模塊94.1.4 E-R圖94.2 數(shù)據(jù)庫(kù)設(shè)計(jì)104.2.1 用戶表104.2.2 用戶組表104.2.3 車次表104.2.4 車次線路表114.2.5 車次席位表114.2.6 車票表124.3本章小結(jié)12第 5章 系統(tǒng)實(shí)現(xiàn)135.1 登錄界面135.2
9、 車輛管理145.3 車次管理155.4 余票查詢175.5 火車訂票185.6 本章小結(jié)21第6章 總結(jié)與展望226.1 總結(jié)226.2 展望226.3 本章小結(jié)22畢業(yè)設(shè)計(jì)體會(huì)23致謝24參考文獻(xiàn)25英文翻譯26第1章 緒論1.1 項(xiàng)目開發(fā)背景信息化推動(dòng)工業(yè)化,用現(xiàn)代信息技術(shù)改革傳統(tǒng)產(chǎn)業(yè),這是一項(xiàng)具有戰(zhàn)略性的任務(wù)。鐵路作為現(xiàn)代工業(yè)文明的產(chǎn)物,如何運(yùn)用已有的技術(shù),來實(shí)現(xiàn)運(yùn)營(yíng)、管理、服務(wù)的信息化是如今的一個(gè)重要課題。由于我國(guó)國(guó)土面積廣闊、人口基數(shù)龐大,激生出“春運(yùn)”這樣的特有現(xiàn)狀,鐵路運(yùn)輸問題一直存在,訂票管理的問題也尤為突出?;疖囉喥惫芾淼囊?guī)范化一直是困擾我們的老問題,也是其工作難點(diǎn)。訂票管
10、理只是火車市場(chǎng)中最基本的業(yè)務(wù),但是它同時(shí)涵蓋了管理與服務(wù)多方面的內(nèi)容。人工訂票越來越跟不上人們快捷的生活方式,也難以滿足更人性化的需求1。窗口售票的方式低效無力,旅客往往需要排長(zhǎng)隊(duì)才能買到票,有時(shí)等待半天被告知所需車票已售空,白白浪費(fèi)大量寶貴時(shí)間。計(jì)算機(jī)技術(shù)的發(fā)展帶動(dòng)了火車事業(yè)的轉(zhuǎn)型,目前,火車訂票管理正在往網(wǎng)絡(luò)的方向過渡,以此緩解現(xiàn)實(shí)壓力。隨著信息技術(shù)的飛速發(fā)展,將計(jì)算機(jī)科學(xué)技術(shù)運(yùn)用到火車訂票管理中無疑是一個(gè)明智之選2?;疖囉喥惫芾淼目茖W(xué)化、信息化也標(biāo)志我國(guó)科學(xué)強(qiáng)國(guó)的決心,是現(xiàn)代交通尤其是鐵路交通發(fā)展的必經(jīng)之路。1.2 國(guó)內(nèi)相關(guān)進(jìn)展現(xiàn)狀分析目前國(guó)內(nèi)火車訂票管理系統(tǒng)已得以大范圍的推廣,但是收獲
11、還不夠理想,每到節(jié)假日,仍能在各大火車站售票窗口前看到長(zhǎng)長(zhǎng)的隊(duì)伍。“12306”作為國(guó)內(nèi)最大的官方火車訂票系統(tǒng)承受了太大的壓力,曾經(jīng)一度出現(xiàn)網(wǎng)上訂票需要排隊(duì)的情況,這就變得和實(shí)體購(gòu)票一樣,失去了它實(shí)時(shí)易用的特性。它更多的在城鎮(zhèn)居民、高校學(xué)生這樣一類受眾中得到廣泛使用,作為一個(gè)全民系統(tǒng),它具有一定的局限性,未能將另一部分人考慮進(jìn)來,如農(nóng)民工。其次,它缺少競(jìng)爭(zhēng)對(duì)手,也就很難有更多的動(dòng)力來源,于是多年來國(guó)內(nèi)火車訂票管理系統(tǒng)進(jìn)展緩慢。1.3 系統(tǒng)開發(fā)目的與意義 隨著信息技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日趨成熟,計(jì)算機(jī)技術(shù)在人們?nèi)粘5纳a(chǎn)生活中扮演著重要角色。其擁有智能化、便捷化、高效化、低錯(cuò)誤等特
12、點(diǎn),而這樣一些特點(diǎn)正是現(xiàn)代網(wǎng)上火車訂票管理所需要的。合理的利用這些優(yōu)點(diǎn),可以有效的提高火車運(yùn)營(yíng)管理的經(jīng)濟(jì)效益,有利于提高火車行業(yè)的市場(chǎng)競(jìng)爭(zhēng)力?;谖覈?guó)鐵路訂票管理方面的諸多現(xiàn)狀,經(jīng)過多方面的調(diào)查,結(jié)合已有的一些火車訂票管理系統(tǒng),開發(fā)一個(gè)適合當(dāng)下的火車訂票管理系統(tǒng),通過實(shí)現(xiàn)票務(wù)信息的計(jì)算機(jī)管理,以提高工作效率。實(shí)現(xiàn)計(jì)算機(jī)管理的最佳技術(shù)就是數(shù)據(jù)庫(kù)技術(shù),利用數(shù)據(jù)庫(kù)將整個(gè)火車站的票務(wù)情況存入計(jì)算機(jī),再配置上功能豐富的用戶接口,以滿足用戶需求3。利用java語言和數(shù)據(jù)庫(kù)技術(shù)編寫的本火車訂票管理系統(tǒng),擁有較好的人機(jī)交互界面4,能很好的被用戶接受,方便了旅客的購(gòu)票出行;有完善的數(shù)據(jù)庫(kù),存儲(chǔ)量大,檢索方便。本
13、系統(tǒng)符合火車訂票管理的基本業(yè)務(wù)流程,能夠模擬售票員(管理員)和用戶之間的各項(xiàng)操作。實(shí)現(xiàn)了快捷方便的票務(wù)信息查詢、智能自動(dòng)的網(wǎng)上訂票、人性化的退票改簽,另外該系統(tǒng)還包含了管理人員對(duì)票務(wù)的維護(hù)管理。合理利用網(wǎng)絡(luò)資源,建設(shè)更高效的管理系統(tǒng),提高對(duì)車票管理工作的服務(wù)水平和工作效率,這對(duì)于火車事業(yè)和旅客本身都非常有意義5。1.4 本文研究?jī)?nèi)容及主要貢獻(xiàn)本文研究?jī)?nèi)容:第一章交代研究背景與課題意義,第二章介紹開發(fā)平臺(tái)的相關(guān)信息,第三章進(jìn)行可行性分析和需求分析,第四章具體說明火車站訂票系統(tǒng)的總體設(shè)計(jì)方案,第五章展示系統(tǒng)實(shí)現(xiàn)情況,第六章總結(jié)本論文。主要貢獻(xiàn):此火車訂票管理系統(tǒng),能夠讓人們利用計(jì)算機(jī)方便快速的查詢
14、火車信息。本軟件集火車基本數(shù)據(jù)、車次管理、車票查詢于一身,目的在于讓管理人員更加快捷方便的對(duì)火車時(shí)刻進(jìn)行更新和調(diào)整,同時(shí)能夠讓用戶更加方便和快速的查詢火車車次、時(shí)刻信息。此火車訂票管理系統(tǒng)使火車余票信息的查詢工作更加自動(dòng)化、規(guī)范化、系統(tǒng)化。一方面能夠提高管理人員的工作效率,以減輕傳統(tǒng)人工管理方式所帶需求的物力、人力;另一方面,因?yàn)楸拒浖哂胁閷し奖?、可靠性良好、存?chǔ)量大的優(yōu)點(diǎn),所以實(shí)現(xiàn)了訂票信息查詢及管理的自動(dòng)化。第2章 開發(fā)平臺(tái)介紹軟件的開發(fā)離不開平臺(tái),接下來就大體介紹本系統(tǒng)開發(fā)過程中所用到的開發(fā)平臺(tái)相關(guān)資料。2.1 B/S體系結(jié)構(gòu)介紹2.1.1 B/S介紹瀏覽器/服務(wù)器(Browser/S
15、erver)模式構(gòu)成的B/S結(jié)構(gòu),是隨著Internet技術(shù)的興起出現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)模式6,是對(duì)C/S結(jié)構(gòu)的一種改進(jìn)的結(jié)構(gòu)。這種模式將大部分系統(tǒng)邏輯功能集中到服務(wù)器上,而客戶端上只有小部分事務(wù)邏輯,系統(tǒng)開發(fā)起來更簡(jiǎn)單,維護(hù)也方便。開發(fā)一次到位,人們可以隨時(shí)隨地,以不同的方式(如LAN, WAN, Internet)訪問共同的數(shù)據(jù)庫(kù)并操作它。同時(shí)服務(wù)器數(shù)據(jù)庫(kù)安全性能高,能很好的保護(hù)數(shù)據(jù)和管理訪問權(quán)限。B/S結(jié)構(gòu),主要是利用了不斷發(fā)展的瀏覽器技術(shù),同時(shí)結(jié)合多種瀏覽器腳本語言(如VBScript、JavaScript等)和ActiveX技術(shù)6,用常用的瀏覽器就實(shí)現(xiàn)了原來需要專用軟件才能實(shí)現(xiàn)的許多功能,成
16、本得到了很大的節(jié)約,是如今首選的軟件系統(tǒng)構(gòu)造技術(shù)。2.1.2 C/S 與 B/S 區(qū)別C/S(Client/Server)是建立在局域網(wǎng)的基礎(chǔ)上的,B/S(Browser/Server)是建立在廣域網(wǎng)的基礎(chǔ)上的7;B/S程序中軟件的重用性要比C/S好;B/S結(jié)構(gòu)利用瀏覽器表現(xiàn)形式豐富,而C/S則較為單一;B/S結(jié)構(gòu)受操作系統(tǒng)影響小,C/S結(jié)構(gòu)受操作系統(tǒng)影響大?;疖囉喥惫芾硐到y(tǒng)使用 B/S結(jié)構(gòu)比C/S結(jié)構(gòu)有著很大的優(yōu)越性,一來節(jié)約成本,二來方便,只要能上網(wǎng),就能購(gòu)票,利于操作。綜上所述,本設(shè)計(jì)的火車站訂票管理系統(tǒng)選取的是B/S。2.2 SQL Server 2005 簡(jiǎn)介 2.2.1 SQL S
17、erver 2005介紹數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)科學(xué)與技術(shù)的重要組成部分,是信息管理與數(shù)據(jù)處理的核心。Microsoft SQL Server 2005 則是目前一個(gè)較為全面的數(shù)據(jù)庫(kù)平臺(tái),是 Windows 操作系統(tǒng)上重要的一種數(shù)據(jù)庫(kù)管理系統(tǒng),數(shù)據(jù)庫(kù)設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),它將數(shù)據(jù)按特定的分類、分組系統(tǒng)和邏輯層次結(jié)合起來,是面向用戶的。Microsoft SQL Server 2005使用了集成的商業(yè)智能工具可以為用戶提供企業(yè)級(jí)的數(shù)據(jù)管理8。此外 Microsoft SQL Server 2005 結(jié)合了分析、報(bào)表、集成和通知功能,可以構(gòu)建和管理可用性高和性能理想的數(shù)據(jù)應(yīng)用程序,這使得用戶可
18、以快速部署 BI解決方案。同時(shí)Microsoft SQL Server 2005 數(shù)據(jù)庫(kù)還為數(shù)據(jù)提供了強(qiáng)大的存儲(chǔ)功能,它能很好的解決計(jì)算機(jī)信息處理過程中大量數(shù)據(jù)有效存儲(chǔ)的問題,實(shí)現(xiàn)數(shù)據(jù)共享、減少系統(tǒng)中的數(shù)據(jù)冗余、保護(hù)數(shù)據(jù)安全、快速檢索數(shù)據(jù),其安全性和可靠性在關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)上尤為突出。2.2.2 SQL Server 2005的特點(diǎn)(1)安全性SQL Server2005中的安全模式將用戶和對(duì)象分開,并允許對(duì)數(shù)據(jù)存取進(jìn)行更大的控制。另外,所有系統(tǒng)表格將作為視圖得到實(shí)施,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象進(jìn)行了更大程度的控制9。(2)SQL服務(wù)中介SQL服務(wù)中介將為大型、營(yíng)業(yè)范圍內(nèi)的應(yīng)用軟件,提供一個(gè)分布式
19、的、異步應(yīng)用框架。(3)Web服務(wù)使用SQL Server2005,開發(fā)人員將能夠在數(shù)據(jù)庫(kù)層開發(fā)Web服務(wù),將SQL Server當(dāng)作一個(gè)超文本傳輸協(xié)議(HTTP)偵聽器,并且為網(wǎng)絡(luò)服務(wù)中心應(yīng)用軟件提供一個(gè)新型的數(shù)據(jù)存取功能10。2.3 MyEclipse介紹MyEclipse企業(yè)級(jí)工作平臺(tái),是在eclipse的基礎(chǔ)上增加自己的插件而構(gòu)成的功能更強(qiáng)大的企業(yè)級(jí)集成開發(fā)環(huán)境11,它是一個(gè)十分優(yōu)秀的插件集合,用于開發(fā)Java、Java EE以及移動(dòng)應(yīng)用。MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持相當(dāng)不錯(cuò)。 MyEclipse可以支持JavaServlet、AJAX、
20、JSP、JSF、Struts、Spring、JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能12。可以說MyEclipse是幾乎囊括了目前市面上所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。支持快速添加技術(shù)功能到Web項(xiàng)目中,使用可視化編輯器以便編碼和配置,并且還可以在多種應(yīng)用服務(wù)器上測(cè)試任務(wù)。作為本設(shè)計(jì)的開發(fā)平臺(tái)是很合適的。2.4本章小結(jié)本章介紹了系統(tǒng)中運(yùn)用到的B/S結(jié)構(gòu)、SQL Server 2005數(shù)據(jù)庫(kù)以及MyEclipse工作平臺(tái)。第3章 系統(tǒng)分析 系統(tǒng)的搭建離不開前期分析,接下來就本系統(tǒng)進(jìn)行可行性分析與需求分析。3.1 可行性分析3.1.1 經(jīng)濟(jì)可行性本火車訂票管理系統(tǒng)軟件所需的開發(fā)軟硬件方便獲取
21、、成本較低,系統(tǒng)開發(fā)周期不長(zhǎng),后期維護(hù)過程也相對(duì)簡(jiǎn)單13,一旦投入使用,可以有效的提高訂票管理的效率,降低原有人力、財(cái)力的消耗。又由于我國(guó)鐵路事業(yè)蓬勃發(fā)展,系統(tǒng)投入使用產(chǎn)生的效益遠(yuǎn)大于前期投入,因此本系統(tǒng)符合經(jīng)濟(jì)可行性的要求。3.1.2 技術(shù)可行性本訂票系統(tǒng)開發(fā)涉及到的技術(shù)包含如下幾個(gè)方面:(1)配置環(huán)境(2)系統(tǒng)架構(gòu)的規(guī)劃(3)頁面開發(fā)(4)數(shù)據(jù)庫(kù)技術(shù)環(huán)境配置用到windows系統(tǒng)計(jì)算機(jī)一臺(tái),搭建MyEclipse平臺(tái)和Tomcat服務(wù)器等14。系統(tǒng)以B/S為整體架構(gòu),前臺(tái)瀏覽器(IE等)、后臺(tái)服務(wù)器,頁面用到j(luò)sp技術(shù),MyEclipse軟件本身操作簡(jiǎn)單、界面友好、系統(tǒng)完善、兼容性高,使用
22、Java語言編寫便捷。數(shù)據(jù)庫(kù)使用SQL Server 2005,使用時(shí)上手容易數(shù)據(jù)庫(kù)完整性強(qiáng)、安全性高。以上軟件、語言都相對(duì)熟悉,因此技術(shù)上可行。3.1.3 操作可行性用戶通過常規(guī)瀏覽器輸入網(wǎng)址即可注冊(cè)、登錄,實(shí)現(xiàn)網(wǎng)上訂票,實(shí)現(xiàn)用戶與數(shù)據(jù)的實(shí)時(shí)交互。系統(tǒng)采用菜單形式,界面簡(jiǎn)潔友好,操作簡(jiǎn)便15。管理員用戶登錄后臺(tái),對(duì)票務(wù)、列車信息進(jìn)行維護(hù),只需對(duì)業(yè)務(wù)流程了解即可,無需掌握相關(guān)的數(shù)據(jù)庫(kù)等知識(shí)。系統(tǒng)設(shè)計(jì)時(shí)就考慮到用戶接受能力,將界面盡可能做到方便可操作。3.2 系統(tǒng)需求分析3.2.1 功能需求 本系統(tǒng)所需具備的主要功能包括以下兩個(gè)模塊:(1) 用戶功能模塊1 注冊(cè)登錄功能2 查看系統(tǒng)公告功能3 查
23、看、修改個(gè)人信息功能4 增刪聯(lián)系人功能5 修改密碼功能6 余票查詢功能7 訂票、退票功能8 查看已購(gòu)車票信息功能(2) 管理員功能模塊1 登錄功能2 用戶管理功能:新建用戶、刪除用戶、更改用戶信息3 編輯列車基礎(chǔ)信息功能:車型管理(高鐵、動(dòng)車、普快、特快等)、車輛管理(座位分級(jí)、設(shè)置席位數(shù)量、設(shè)置席位價(jià)格)、車站管理(增加、刪除車站信息)4 運(yùn)營(yíng)管理功能:車次管理(編輯車次、車型、途經(jīng)站點(diǎn)、行駛時(shí)間)、運(yùn)行時(shí)刻編輯功能5 售票管理功能:出票、退票、訂單管理6 公告管理功能:發(fā)布、修改、刪除公告信息3.2.2 數(shù)據(jù)需求數(shù)據(jù)需求在系統(tǒng)中表現(xiàn)為數(shù)據(jù)信息的輸入輸出。對(duì)本訂票系統(tǒng)分析,其中涉及的部分?jǐn)?shù)據(jù)
24、輸入輸出如下表:表3.1 數(shù)據(jù)需求表數(shù)據(jù)輸入數(shù)據(jù)處理數(shù)據(jù)輸出用戶輸入始末車站及乘車日期 檢索數(shù)據(jù)庫(kù)系統(tǒng) 符合要求的車次及余票信息 用戶輸入相關(guān)訂票信息 執(zhí)行訂票邏輯 反饋操作(訂票成功) 用戶輸入乘車人、身份證等信息 檢索數(shù)據(jù)庫(kù)系統(tǒng) 已購(gòu)車票信息 用戶輸入退票信息 執(zhí)行相關(guān)邏輯 反饋操作(退票成功)數(shù)據(jù)處理、輸出的準(zhǔn)確性的前提是數(shù)據(jù)輸入時(shí)的準(zhǔn)確性。由于數(shù)據(jù)輸入是手工完成的,錯(cuò)誤輸入在所難免,這就給系統(tǒng)帶來不必要的麻煩。錯(cuò)誤的數(shù)據(jù)是無法被檢索的,無法被執(zhí)行的,也沒有必要將這樣的冗余數(shù)據(jù)錄入數(shù)據(jù)庫(kù),來增加系統(tǒng)壓力。于是系統(tǒng)對(duì)輸入數(shù)據(jù)要有合理的約束,不符合要求的數(shù)據(jù)應(yīng)該被拒絕,同時(shí)給出相應(yīng)的錯(cuò)誤提示
25、信息,便于用戶二次操作16。3.2.3 性能需求為了使火車訂票長(zhǎng)期運(yùn)作,本系統(tǒng)應(yīng)當(dāng)滿足安全、穩(wěn)定、便捷、高效的性能需求17。(1)及時(shí)準(zhǔn)確對(duì)于旅客來說,時(shí)間就是金錢,有時(shí)晚了一分鐘訂票就可能需要花上半天等下一班車,這時(shí)候訂票系統(tǒng)的及時(shí)準(zhǔn)確性顯得尤為關(guān)鍵。系統(tǒng)開發(fā)之初就預(yù)計(jì)到了這些問題,充分考慮未來會(huì)承受的購(gòu)票壓力,采用合理訂票邏輯,避免了市面上其他相同軟件出現(xiàn)的訂票需要排隊(duì)、排隊(duì)后車票已售空的尷尬局面。用戶隨時(shí)查看余票數(shù)量,訂票后余票數(shù)實(shí)時(shí)同步,刷新即顯示,及時(shí)準(zhǔn)確。(2)易用便捷火車訂票系統(tǒng)面向的是大眾群體,在中國(guó)尤其是“春運(yùn)”時(shí)期,農(nóng)民工作為主要受眾18,他們對(duì)計(jì)算機(jī)的相關(guān)功用并非那么熟悉
26、,所以開發(fā)一個(gè)具有良好人機(jī)交互界面的系統(tǒng)是十分必要的。易用便捷這樣的特性很大程度上決定著系統(tǒng)的成敗,系統(tǒng)應(yīng)采用便捷的用戶接口,簡(jiǎn)單的引導(dǎo)提示,使絕大部分人輕而易舉的使用本系統(tǒng)。(3)安全穩(wěn)定安全問題在任何軟件中都是舉足輕重的,在本訂票系統(tǒng)中也是如此。一方面管理員不會(huì)泄露用戶信息,另一方面系統(tǒng)對(duì)管理員、用戶進(jìn)行權(quán)限劃分,用戶只能瀏覽相關(guān)的車次、車輛、價(jià)格信息,無權(quán)限對(duì)其修改。使用到的SQL Server 數(shù)據(jù)庫(kù)也是很穩(wěn)定的,對(duì)數(shù)據(jù)的存儲(chǔ)、更新以及數(shù)據(jù)的一致性這些處理能力也是公認(rèn)的19。(4)可擴(kuò)展性考慮到中國(guó)市場(chǎng)的瞬息萬變,系統(tǒng)的可擴(kuò)展性也是十分重要的。系統(tǒng)充分考慮到日后鐵路線路的變更、天氣因素
27、、人們生活消費(fèi)水平的改變等,將系統(tǒng)設(shè)計(jì)成可擴(kuò)充形。管理員可以在后臺(tái)操作,變更列車行駛線路、路程、時(shí)間、價(jià)格等一系列的操作。這樣一來系統(tǒng)就能跟上變革,長(zhǎng)期使用。3.3 本章小結(jié)本章對(duì)系統(tǒng)進(jìn)行可行性分析,認(rèn)定系統(tǒng)設(shè)計(jì)是可行的。進(jìn)行需求分析,包括功能需求、數(shù)據(jù)需求、性能需求。第4章 總體設(shè)計(jì) 系統(tǒng)總體設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)兩個(gè)部分。4.1 軟件結(jié)構(gòu)設(shè)計(jì) 總體流程圖 本系統(tǒng)分成基礎(chǔ)數(shù)據(jù)、車次管理、售票管理和售后四個(gè)部分20,其具體項(xiàng)目和總體流程如圖4.1所示: 圖4.1 系統(tǒng)流程圖4.1.2 注冊(cè)用戶功能模塊 根據(jù)需求分析所得,注冊(cè)用戶功能如圖4.2所示:圖4.2 注冊(cè)用戶功能模塊圖4.1.
28、3 管理員用戶功能模塊 據(jù)需求分析所得,管理員功能設(shè)計(jì)如圖4.3所示:圖4.3管理員用戶功能模塊圖4.1.4 E-R圖 本系統(tǒng)實(shí)體包括車次、用戶、訂票信息,其各實(shí)體關(guān)系如E-R圖4.4所示21:圖4.4 實(shí)體E-R圖4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)使用SQL Server2005設(shè)計(jì)數(shù)據(jù)庫(kù),其中主要設(shè)計(jì)的表如表4.1、表4.2、表4.3、表4.4、表4.5、表4.6所示:4.2.1 用戶表 管理員和注冊(cè)用戶存一起,根據(jù)用戶組區(qū)分,管理員允許不記錄姓名和身份證號(hào)。表4.1 用戶 Administrator4.2.2 用戶組表 包括管理員和注冊(cè)用戶兩類。表4.2 用戶組 AdministratorGrou
29、p4.2.3 車次表 儲(chǔ)存車次信息。表4.3 車次 checi4.2.4 車次線路表 存儲(chǔ)車次具體線路信息。表4.4 車次線路 checilines4.2.5 車次席位表 存儲(chǔ)車次席位信息。表4.5 車次席位 checisites4.2.6 車票表 存儲(chǔ)車票信息。表4.6 車票 chepiao4.3本章小結(jié) 本章列出了系統(tǒng)總體流程圖、功能模塊圖以及重要的數(shù)據(jù)庫(kù)表。第 5章 系統(tǒng)實(shí)現(xiàn) 本章將介紹系統(tǒng)主要功能模塊的實(shí)現(xiàn),包括登錄界面、 車輛管理、車次管理、余票查詢、火車訂票。5.1 登錄界面系統(tǒng)根據(jù)用戶名識(shí)別管理員和普通用戶的登錄,同時(shí)可以在登錄界面注冊(cè)新用戶。圖5.1登錄界面圖 主要功能代碼如下
30、: </script></head> <body><form> <center> <div id="mainbody"><center> <div class="login_940_642"><table><tr><td style='width:479px;height:193px'></td><td></td></tr><tr><td>
31、;</td><td><table> <tr><td>用戶名</td><td><input id="txtUsername"name="txtUsername" type="text" /></td></tr><tr><td>密碼</td><td><input id="txtPassword" name="txtPassword&quo
32、t; type="password"value="" /></td></tr><tr><td></td><td><input id="btnOk" name="btnOk"onclick="_doPostback('./Action/UserAction.jsp','SubmitLogin','')"type="button" value=&qu
33、ot;登錄" /> <input id="btnCancel"name="btnCancel"onclick="_doPostback('./Action/UserAction.jsp','CancelLogin','')"type="button" value="注冊(cè)" /></td></tr></table></td></tr></table>&
34、lt;/div></center> </div></center></form></body></html>5.2 車輛管理管理員可以添加、刪除、修改車輛類型信息22。圖5.2車型管理圖 主要功能代碼如下:SessionConfig sc = new SessionConfig(session);String userName = sc.getUsername();int userGroupid = sc.getUsergroupid();MenuConfig menuConfig = new MenuConfig(
35、"車輛類型",sc);String ActionPath = "./Action/ChelxAction.jsp"DataRowEx foreignKeys = new DataRowEx();DataCellEx primaryKey = new DataCellEx();primaryKey.SetKey("Lxid");PageEdit pageEdit = new PageEdit(request,response,primaryKey,foreignKeys);int Lxid = TypeConvert.ToInt32(p
36、ageEdit.getPrimarykey().GetValue();CChelx obj = new CChelx();if( Lxid > 0 ) obj = CChelxDal.Create(Lxid);else obj.setmLxid( TypeConvert.ToInt32( "編號(hào)"); obj.setmLxno( TypeConvert.ToString( "類型代碼"); obj.setmLxname( TypeConvert.ToString( "類型名稱");%><jsp:include pag
37、e="./Program/Banner.jsp"></jsp:include><%out.print(menuConfig.ToHtml();%><%PageEditConfig pageEditConfig = new PageEditConfig("編輯車輛類型",out);pageEditConfig.enableEdit=true;/*btnOk-btnCancel*/pageEditConfig.btnOk.OnClick("_doPostback('"+ActionPath+&q
38、uot;','Submit','" + Lxid + "')");pageEditConfig.btnCancel.OnClick("_doPostback('"+ActionPath+"','EditCancel','')");/*txt類型代碼*/TextBox txtLxno = new TextBox("txtLxno",TypeConvert.ToString(obj.getmLxno();pageEditC
39、onfig.AddItem( "類型代碼", txtLxno);/*txt類型名稱*/TextBox txtLxname = new TextBox("txtLxname",TypeConvert.ToString(obj.getmLxname();pageEditConfig.AddItem( "類型名稱", txtLxname);pageEditConfig.toHtml();%><jsp:include page="./Program/Footer.jsp"></jsp:include
40、>5.3 車次管理管理員可以編輯車次的具體信息,包括車次代碼、車型、途徑站、運(yùn)行時(shí)間、總里程等。圖5.3車次管理圖 主要功能代碼如下:PageEditConfig pageEditConfig = new PageEditConfig("編輯車次",out);pageEditConfig.enableEdit=true;/*btnOk-btnCancel*/pageEditConfig.btnOk.OnClick("_doPostback('"+ActionPath+"','Submit','&qu
41、ot; + Ccid + "')");pageEditConfig.btnCancel.OnClick("_doPostback('"+ActionPath+"','EditCancel','')");/*txt車次代碼*/TextBox txtCcno = new TextBox("txtCcno",TypeConvert.ToString(obj.getmCcno();pageEditConfig.AddItem( "車次代碼", tx
42、tCcno);/*txt車輛類型*/DropDownList txtLxid = new DropDownList();txtLxid.setID("txtLxid");txtLxid.setValue( TypeConvert.ToString(obj.getmLxid() );CChelxList objCChelxList = CChelxDal.Select();for(CChelx objCChelx : objCChelxList ) txtLxid.addItems( TypeConvert.ToString( objCChelx.getmLxid(), Ty
43、peConvert.ToString(objCChelx.getmLxno();pageEditConfig.AddItem( "車輛類型", txtLxid);/*txt運(yùn)行時(shí)間*/TextBox txtMinlong = new TextBox("txtMinlong",TypeConvert.ToString(obj.getmMinlong();pageEditConfig.AddItem( "運(yùn)行時(shí)間", txtMinlong+"(分鐘)");/*txt總里程*/TextBox txtLongth = ne
44、w TextBox("txtLongth",TypeConvert.ToString(obj.getmLongth();pageEditConfig.AddItem( "總里程", txtLongth+"(公里)");/*編輯線路*/pageEditConfig.AddItem( "線路", "<div id=dataLings></div>");pageEditConfig.toHtml();%><style>#txtCzno width:45px;
45、#txtMinrun width:45px; #txtMinstop width:45px; #txtLongthrun width:45px; #txtCzno width:45px; </style><jsp:include page="./Program/Footer.jsp"></jsp:include>5.4 余票查詢用戶根據(jù)首末站名、發(fā)車時(shí)間來查詢余票信息。圖5.4余票查詢圖 主要功能代碼如下:</script><table cellpadding="0" cellspacing=&quo
46、t;0" border="0" class=esedit><Tr><th class=esedit_th>始發(fā)站</th><td class=esedit_td> <%= txtIdxstart.toString() %> </td><th class=esedit_th>終到站</th><td class=esedit_td><%= txtIdxend.toString() %> </td> <th class=esed
47、it_th>上車日期</th><td class=esedit_td> <%= txtTimestart.toString() %><br /></td> <Td class=esedit_td colspan="1" ><%= btnSearch.toString() %></Td></Tr> <Tr><th class=esedit_th>車輛類型</th><td class=esedit_td><%=
48、txtLxid.toString() %> </td><th class=esedit_th>車次</th><td class=esedit_td><%= txtCcid.toString() %> </td> <td class=esedit_td colspan="3"> *上車日期用8位整數(shù)表示"年月日",*站點(diǎn)名稱,中文</td></Tr></table> </div><Br/><div id
49、=pagetitle>查詢結(jié)果</div><%if( TypeConvert.Equals(action,"search") )/提交查詢條件,生成查詢結(jié)果到本頁 if( TypeConvert.IsNullOrEmpty(Idxstart,Idxend ,Timestart) | Timestart.length() != "20140524".length() | TypeConvert.Equals(Idxstart,Idxend)%><div class=pagedata><br />請(qǐng)輸入合
50、法的查詢條件,<br />時(shí)間和出發(fā)終到地點(diǎn)不能為空,時(shí)間日期參數(shù)要求8位年月日,<br />始發(fā)和終到站點(diǎn)不能為同一站<br />發(fā)車時(shí)間小于2小時(shí),不能提交訂單</div><% 5.5 火車訂票乘客根據(jù)所需選擇車票訂購(gòu)火車票。圖5.5火車訂票圖 主要功能代碼如下: SessionConfig sc = new SessionConfig(session); String userName = sc.getUsername(); int userGroupid = sc.getUsergroupid(); MenuConfig menuC
51、onfig = new MenuConfig("車票",sc); String ActionPath = "./Action/RunningtimeAction.jsp" UrlBuilder urlBuilder = new UrlBuilder(request);int cpoid = TypeConvert.ToInt32(urlBuilder.getParams("cpoid");CChepiaoorder objOrder = CChepiaoorder.Create(cpoid);int count = objOrder.
52、getmCounts(); int type = objOrder.getmTypes(); int runningid = objOrder.getmRunningid(); String Idxstart = objOrder.getmIdxstart(); String Idxend = objOrder.getmIdxend(); String Timestart = objOrder.getmTimestart(); CRunningtime obj = CRunningtimeDal.Create(runningid); CCheci objCheci = CCheciDal.Cr
53、eate(obj.getmCcid(); LinesMgr lm = new LinesMgr(CLinesDal.Select("ccid="+ obj.getmCcid(),"order by idx"); %><jsp:include page="./Program/Banner.jsp"></jsp:include><%out.print(menuConfig.ToHtml();%><%PageEditConfig pageEditConfig = new PageEditCon
54、fig("提交訂單",out);pageEditConfig.enableEdit=true;/*btnOk-btnCancel*/pageEditConfig.btnOk.OnClick("_doPostback('"+ActionPath+"','SubmitTickit','" + runningid + "')");pageEditConfig.btnOk.setText("提交訂單");pageEditConfig.btnCancel.O
55、nClick("_doPostback('"+ActionPath+"','EditCancel','')"); /*txt車次編號(hào)*/ Static txtCcno = new Static("txtCcno",obj.getmCcno();pageEditConfig.AddItem( "車次", txtCcno+"("+lm.getNameFirst()+"->"+ lm.getNameEnd() +")&
56、quot;); Static txtIdxstart = new Static("txtIdxstart",Idxstart);Static txtIdxend = new Static("txtIdxend",Idxend);CRunningdetail rdStart = CRunningdetailDal.Select("runningid="+ obj.getmRunningid()+" and czno='"+ Idxstart +"'", "" )
57、.get(0);CRunningdetail rdEnd = CRunningdetailDal.Select("runningid="+ obj.getmRunningid()+" and czno='"+ Idxend +"'", "" ).get(0);CRunningdetailList rdMids = CRunningdetailDal.Select("runningid="+ obj.getmRunningid() + " and idx>=&quo
58、t;+rdStart.getmIdx()+" and idx <= "+ rdEnd.getmIdx() +" ", "ORDER BY IDX" ); Calendar time1 = Calendar.getInstance(); time1.setTime(rdStart.getmTimestart(); Calendar time2 = Calendar.getInstance(); time2.setTime(rdEnd.getmTimestart(); String idxList = "," f
59、or( int i = 0 ; i < rdMids.size()-1 ; i+ ) idxList += rdMids.get(i).getmIdx()+"-"+ rdMids.get(i+1).getmIdx()+"," pageEditConfig.AddItem( "路線", txtIdxstart+"("+ time1.get(Calendar.HOUR_OF_DAY)+"時(shí)" + time1.get(Calendar.MINUTE)+"分"+")&
60、quot;+"->"+txtIdxend+"("+ time2.get(Calendar.HOUR_OF_DAY)+"時(shí)" + time2.get(Calendar.MINUTE)+"分"+")" ); Static txtTimestart = new Static("txtTimestart",Timestart);pageEditConfig.AddItem( "發(fā)車時(shí)間", txtTimestart); Static txttype = ne
61、w Static("txttype",new SiteType(type).typeName);pageEditConfig.AddItem( "席位類型", txttype); Static txtcount = new Static("txtcount",count+"");pageEditConfig.AddItem( "席位數(shù)量", txtcount); String html="<table border=0>"html += "<tr>"html += "<th>席位號(hào)</th>" html += "<th>席位類別</th>" html += &quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 快樂成長(zhǎng)小班教育的未來展望計(jì)劃
- 2025年軟考更改后的復(fù)習(xí)要點(diǎn)試題及答案
- 優(yōu)化招聘流程的策略與實(shí)施計(jì)劃
- 優(yōu)化資源配置的年度工作計(jì)劃
- 為法學(xué)概論加分的試題及答案
- 2024年黑龍江建華區(qū)公益性崗位招聘筆試真題
- 2024年安徽相山水泥公司招聘筆試真題
- 法學(xué)概論考試形式與內(nèi)容的結(jié)合研究試題及答案
- 軟件設(shè)計(jì)師??技寄芙馕雠c試題及答案
- 河南省新鄉(xiāng)市部分重點(diǎn)中學(xué)2025屆七下數(shù)學(xué)期末統(tǒng)考模擬試題含解析
- SWOT分析法很全面課件
- 膀胱造瘺的護(hù)理課件
- 基坑工程施工驗(yàn)收記錄表
- 消防應(yīng)急疏散演練人員簽到表(標(biāo)準(zhǔn)通用版)
- 微生物實(shí)驗(yàn)室病原微生物評(píng)估報(bào)告
- 陜旅版五年級(jí)英語上冊(cè)句型詞匯知識(shí)點(diǎn)總結(jié)
- 漢字構(gòu)字的基本原理和識(shí)字教學(xué)模式分析
- RouterOS介紹
- 十字軸鍛造成型工藝及模具設(shè)計(jì)畢業(yè)論文
- 主體結(jié)構(gòu)監(jiān)理實(shí)施細(xì)則范本
- 控制性詳細(xì)規(guī)劃 - 寧波市規(guī)劃局
評(píng)論
0/150
提交評(píng)論