[畢業(yè)論文]基于JAVA的火車票售票系統(tǒng)_第1頁(yè)
[畢業(yè)論文]基于JAVA的火車票售票系統(tǒng)_第2頁(yè)
[畢業(yè)論文]基于JAVA的火車票售票系統(tǒng)_第3頁(yè)
[畢業(yè)論文]基于JAVA的火車票售票系統(tǒng)_第4頁(yè)
[畢業(yè)論文]基于JAVA的火車票售票系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

1、山東交通學(xué)院2010屆畢業(yè)生畢業(yè)論文(設(shè)計(jì))題目:火車票售票系統(tǒng)院(系)別信息工程系 專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí)計(jì)算062 學(xué) 號(hào)060811234 姓 名鄭太文 指導(dǎo)教師張勇 徐海云 二一年六月原 創(chuàng) 聲 明本人鄭太文鄭重聲明:所呈交的論文“火車票售票系統(tǒng),是本人在指導(dǎo)老師徐海云、張勇的指導(dǎo)下開展研究工作所取得的成果。除文中特別加以標(biāo)注和致謝的地方外,論文中不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的研究成果,對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明,本人完全意識(shí)到本聲明的法律后果,尊重知識(shí)產(chǎn)權(quán),并愿為此承擔(dān)一切法律責(zé)任。 論文作者(簽字): 日期: 年 月 日 摘要當(dāng)

2、今時(shí)代交通很發(fā)達(dá),空中通道、海上通道、陸上通道應(yīng)有盡有,四通八達(dá)。作為陸路交通的龍頭老大火車,正發(fā)揮著自己不可替代的作用。幾乎每個(gè)人與火車交通都有著千絲萬(wàn)縷的關(guān)系。正因?yàn)閷?duì)當(dāng)前火車售票的系統(tǒng)有著莫大的興趣,同時(shí)也供有相同興趣愛(ài)好的朋友參考,因此決定開發(fā)一個(gè)火車售票系統(tǒng),解決現(xiàn)在面臨的挑戰(zhàn)。通過(guò)對(duì)火車信息的具體分析,得到一條分析售票的具體路線,售票員通過(guò)不同方式查詢得到結(jié)果最后把查詢到想要的票售給乘客。并且過(guò)程中可以售全國(guó)各地站點(diǎn)的車票,乘客可以在某一個(gè)站方便地買到別的站點(diǎn)的車票。通過(guò)整個(gè)系統(tǒng)的設(shè)計(jì),最終得到了比較完善的系統(tǒng),售票員可以通過(guò)登錄后實(shí)現(xiàn)售票和退票等功能。整個(gè)設(shè)計(jì)時(shí)一個(gè)比較繁瑣的過(guò)程

3、,本來(lái)火車站等信息在全國(guó)來(lái)說(shuō)就是一個(gè)龐大的數(shù)據(jù)庫(kù),要把這所有的數(shù)據(jù)充分利用與活用,并不見得是一件很容易的事。關(guān)鍵詞:售票系統(tǒng),票價(jià),站點(diǎn),車廂類型abstractwell-developed transportation era, air channels, sea lanes, land access everything, extending in all directions. as the leader in land transport - trains, are playing an irreplaceable role in their own. almost every man

4、 and train transport are inextricably linked. because of the current train ticketing system has a great interest. also,as a reference for the same interests of the people, therefore decided to develop a train ticketing system,account for the challenges what we now facing.through detailed analysis of

5、 information on the train, get a specific line of ticket, the conductor results in different ways by the last query you want to check the tickets sold to passengers. and the process can be sold throughout the site tickets, passengers can stand in one convenient site to buy other tickets.through the

6、design of the entire system, end up a relatively perfect system, after the conductor can be achieved by logging features such as ticketing and refunds. the design of a more complicated process, especially in the way the database, the people a little bit confusing. originally the railway station and

7、other information in the country as a whole is a huge database, which should make full use of all data and usage, and is not necessarily an easy thing. key words:train ticketing system, fare, site, train type目錄前言11火車票售票系統(tǒng)概述21.1火車票售票系統(tǒng)的概念21.2系統(tǒng)概述21.2.1設(shè)計(jì)目的和意義21.2.2適用范圍22需求分析32.1系統(tǒng)開發(fā)目標(biāo)32.2可行性分析32.3系統(tǒng)說(shuō)

8、明32.4系統(tǒng)功能簡(jiǎn)介43概要設(shè)計(jì)53.1系統(tǒng)主界面設(shè)計(jì)53.2功能要求63.2.1系統(tǒng)功能結(jié)構(gòu)圖63.2.2系統(tǒng)功能模塊說(shuō)明73.3數(shù)據(jù)庫(kù)分析與設(shè)計(jì)83.3.1數(shù)據(jù)庫(kù)需求分析83.3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)83.3.4數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)94詳細(xì)設(shè)計(jì)114.1軟件要求與運(yùn)行環(huán)境114.1.1軟件要求114.1.2運(yùn)行環(huán)境114.2系統(tǒng)文件管理模塊114.2.1界面設(shè)計(jì)114.2.2設(shè)計(jì)思路124.2.3主要代碼及實(shí)現(xiàn)124.3列車查詢和售票模塊124.3.1界面設(shè)計(jì)124.3.2設(shè)計(jì)思路134.3.3主要代碼及實(shí)現(xiàn)134.4退票模塊164.4.1界面設(shè)計(jì)164.4.2設(shè)計(jì)思路174.4.3主要代

9、碼及實(shí)現(xiàn)174.5幫助模塊194.5.1界面設(shè)計(jì)194.5.2設(shè)計(jì)思路204.5.3主要代碼及實(shí)現(xiàn)205系統(tǒng)的調(diào)測(cè)與修改235.1軟件測(cè)試的目的和原則235.2登錄信息的測(cè)試235.3修改密碼模塊的測(cè)試245.4查詢和售票模塊的測(cè)試275.5退票模塊的測(cè)試37結(jié) 論44致 謝45參考文獻(xiàn)46前言隨著計(jì)算機(jī)技術(shù)的發(fā)展,人們對(duì)計(jì)算機(jī)智能化的需求越來(lái)越大,對(duì)軟件的實(shí)用性、速度等性能的要求也越來(lái)越高。未來(lái)火車站的發(fā)展趨勢(shì)是完全自動(dòng)化的售票信息查詢,網(wǎng)絡(luò)訂票,智能化訂票,而且隨著計(jì)算機(jī)的普及,信息處理量的逐漸擴(kuò)大,手工處理方式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足人們管理活動(dòng)的需要,各種工作都逐漸由手工轉(zhuǎn)為自動(dòng)化,將使許多復(fù)

10、雜、繁瑣、且需要很多人力的工作變得簡(jiǎn)單。在本此畢業(yè)設(shè)計(jì)中,由于時(shí)間與水平的關(guān)系,當(dāng)然不可能做到這樣的程度,只不過(guò)是模擬一下由售票員來(lái)操作的售票系統(tǒng)而已?;疖囌臼燮惫芾硎潜鞠到y(tǒng)的根本任務(wù),通過(guò)實(shí)現(xiàn)票務(wù)信息的計(jì)算機(jī)管理,以提高工作效率。實(shí)現(xiàn)計(jì)算機(jī)管理的最佳技術(shù)就是數(shù)據(jù)庫(kù)技術(shù)。我們可以利用數(shù)據(jù)庫(kù)將整個(gè)火車站的票務(wù)情況存入計(jì)算機(jī),再配置上功能豐富的用戶接口,以滿足用戶需求。一個(gè)火車站售票信息管理系統(tǒng)應(yīng)達(dá)到的目標(biāo)是提供及時(shí)、廣泛的信息服務(wù),加快信息檢索的效率,實(shí)況靈活的查詢,減輕管理人員制作報(bào)表和統(tǒng)計(jì)分析的負(fù)擔(dān),且系統(tǒng)規(guī)模不太大但又要保證支持日常工作的要求,以便系統(tǒng)應(yīng)易于擴(kuò)充,方便日后統(tǒng)一聯(lián)網(wǎng)與管理,提

11、高管理水平。該軟件解決對(duì)于眾多乘客對(duì)于查詢的功能和實(shí)現(xiàn)售票退票的功能。采用對(duì)sql server數(shù)據(jù)庫(kù)的訪問(wèn),實(shí)現(xiàn)查詢功能,售票能讀出數(shù)據(jù)庫(kù)中車票信息,包括票價(jià)等,能顯示車票上的基本信息。退票功能能計(jì)算要求退的車票是否符合退票的標(biāo)準(zhǔn),符合標(biāo)準(zhǔn)的根據(jù)20%的手續(xù)費(fèi)用收取進(jìn)行差額退回,車票信息重返數(shù)據(jù)庫(kù)?;疖嚻笔燮惫芾硎且患容^復(fù)雜但又非常重要的事情,它是涉及國(guó)家鐵路運(yùn)輸?shù)恼9ぷ?、?guó)民經(jīng)濟(jì)的發(fā)展和人民生活水平質(zhì)量的大事情?;疖囀燮鄙婕暗皆S多內(nèi)容,有登陸用戶的帳號(hào)密碼問(wèn)題,有乘客超載問(wèn)題,有經(jīng)濟(jì)結(jié)算問(wèn)題,有訂票管理問(wèn)題。因此,本畢業(yè)設(shè)計(jì)就是專門解決這些問(wèn)題的。但如上所述,由于鐵路火車票務(wù)管理的復(fù)雜

12、性,本畢業(yè)設(shè)計(jì)與開發(fā)也僅是一個(gè)嘗試性的工作,但它很有啟發(fā)性,對(duì)于研究開發(fā)該類程序可以起一個(gè)拋磚引玉的作用。1火車票售票系統(tǒng)概述1.1火車票售票系統(tǒng)的概念火車票售票系統(tǒng)是對(duì)是使用計(jì)算機(jī)管理的方式來(lái)代替以前手工處理的工作。實(shí)現(xiàn)了乘客和售票員之間簡(jiǎn)單快速的售票操作交替過(guò)程。此外,售票員可以根據(jù)乘客的需要進(jìn)行各類車次車站的查詢,使乘客及時(shí)的了解到必要的車次信息。對(duì)于乘客的付款過(guò)程,售票員的操作也不再繁瑣,系統(tǒng)將自動(dòng)計(jì)算出該付的金額以及需要找回的金額。1.2系統(tǒng)概述本系統(tǒng)運(yùn)用ide和sql7等工具,開發(fā)實(shí)現(xiàn)的模塊有登陸模塊、按車次查詢模塊、按車站查詢模塊、售票模塊、退票模塊、口令修改模塊等。登陸模塊實(shí)現(xiàn)

13、售票員通過(guò)正確密碼登錄系統(tǒng)才能進(jìn)行各項(xiàng)操作;按車次查詢模塊實(shí)現(xiàn)輸入車次全稱或者是車次代號(hào)的一部分既能檢索出符合條件的車次信息;按車站查詢模塊可以查詢出所有經(jīng)過(guò)車站的的車次;售票模塊實(shí)現(xiàn)售票功能;退票模塊實(shí)現(xiàn)退票功能;口令修改模塊實(shí)現(xiàn)用戶的密碼修改功能;同時(shí)本文還分析了軟件工程、數(shù)據(jù)庫(kù)技術(shù)的相關(guān)理論。本系統(tǒng)具有良好的可移植性和可修改性。系統(tǒng)簡(jiǎn)單,易于操作,對(duì)相關(guān)的具有售票業(yè)務(wù)的企業(yè)具有一定的使用價(jià)值。1.2.1設(shè)計(jì)目的和意義在火車以主要交通工具的今天,有一個(gè)良好的售票系統(tǒng)顯得是如此的重要,對(duì)于火車各站點(diǎn)的售票系統(tǒng)以作為國(guó)有機(jī)密文件保存,不可能有開放的源代碼提供十分完善的火車售票系統(tǒng)的所有實(shí)現(xiàn)的功

14、能,甚至是連火車票的數(shù)據(jù)庫(kù),都不太可能得到全而且新的數(shù)據(jù)?;诖耍瑐€(gè)人決定作為興趣愛(ài)好,研究火車的售票系統(tǒng)的實(shí)現(xiàn)過(guò)程,盡管最終實(shí)現(xiàn)的不太可能與當(dāng)前火車站應(yīng)用的系統(tǒng)相媲美,但作為一個(gè)愛(ài)好,也應(yīng)做到盡可能的完善。希望該作品的實(shí)現(xiàn)能給愛(ài)好相同課題的朋友帶來(lái)點(diǎn)幫助。1.2.2適用范圍本系統(tǒng)適用于對(duì)火車票的售票系統(tǒng)有興趣的朋友,基于系統(tǒng)基本實(shí)現(xiàn)了火車票售票過(guò)程中的基本操作,對(duì)于更好的了解當(dāng)前國(guó)內(nèi)鐵路部門的的列車管理有一定幫助。2需求分析需求分析是系統(tǒng)開發(fā)早期的一個(gè)重要階段,是任一軟件開發(fā)成功的基礎(chǔ)。需求分析的目的是確定用戶的需求。2.1系統(tǒng)開發(fā)目標(biāo)設(shè)計(jì)并實(shí)現(xiàn)火車票售票系統(tǒng),使車站售票工作更加系統(tǒng)化、規(guī)范

15、化和自動(dòng)化,從而達(dá)到提高管理效率的目的。(1)利用計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)車票出售以及車次車站查詢管理。(2)操作簡(jiǎn)單,查詢方便。(3)系統(tǒng)擴(kuò)充容易,移植性好。(4)友好的用戶界面,既面向系統(tǒng)開發(fā)者,又面向用戶。2.2可行性分析可行性分析研究8的目的就是用最小的代價(jià)在盡可能短的時(shí)間里確定問(wèn)題是否能解決,通過(guò)分析系統(tǒng)的規(guī)模與目標(biāo),研究與此類似的系統(tǒng)后,本人具體從以下三方面考慮。(1)技術(shù)可行性本系統(tǒng)是采用ide3作為開發(fā)工具的,它具有界面友好、操作簡(jiǎn)便、速度較快等優(yōu)點(diǎn),并對(duì)于數(shù)據(jù)庫(kù)操作與管理、可視化開發(fā)環(huán)境、面向?qū)ο蟪绦蛟O(shè)計(jì)等方面的要求不是很高,本人已經(jīng)系統(tǒng)地學(xué)習(xí)過(guò)利用java語(yǔ)言1實(shí)現(xiàn)可視化界面的面向?qū)?/p>

16、象編程,為本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)提供了技術(shù)可行性。(2)經(jīng)濟(jì)可行性火車票售票系統(tǒng)是一個(gè)大型的管理系統(tǒng),而我個(gè)人是實(shí)現(xiàn)了其中部分功能,在開發(fā)時(shí)也需要軟件開發(fā)人員花費(fèi)一定的時(shí)間和精力,但真正應(yīng)用起這樣的軟件,給鐵路部門帶來(lái)的利益卻是不可估量的,節(jié)省了許多人力,物力上的開支,使信息管理工作變繁為簡(jiǎn),使其更加合理化、規(guī)范化。工作效率的提高就意為著整體水平的提高,是非常值得投資的。而且本系統(tǒng)開發(fā)過(guò)程中所使用的軟件都是開源軟件,無(wú)需購(gòu)買,在一定程度上節(jié)省了不必要的花費(fèi)。(3)操作可行性本系統(tǒng)是基于ide環(huán)境平臺(tái)開發(fā)的,移植性強(qiáng),易于操作。而且本系統(tǒng)還采用了可視化面向?qū)ο蟮墓ぞ唛_發(fā),其窗口、界面簡(jiǎn)潔易懂,所以系

17、統(tǒng)在操作上是可行的。2.3系統(tǒng)說(shuō)明本系統(tǒng)主要考慮了以下幾點(diǎn)內(nèi)容:(1)用戶登錄:保證軟件的實(shí)用性,只有具有售票員的身份通過(guò)正確登錄才能進(jìn)入系統(tǒng)。(2)方便的數(shù)據(jù)輸入性能,良好的人機(jī)界面,將工作人員從繁瑣的手寫統(tǒng)計(jì)中解放出來(lái)。(3)靈活的查詢性能,快速實(shí)現(xiàn)車次車站的查詢。(4)對(duì)車票進(jìn)行出售及退回的管理。2.4系統(tǒng)功能簡(jiǎn)介本系統(tǒng)可以細(xì)化為四個(gè)功能:查詢、售票、退票以及修改用戶密碼。(1)查詢的主要功能為:用戶可以根據(jù)需要選擇按車次或者是按車站查詢,二者皆可以查詢出符合條件的若干組信息。(2)售票的主要功能為:用戶通過(guò)查詢得到的信息選擇自己需要的車次車站進(jìn)行車票的出售。(3)退票的主要功能為:對(duì)于

18、乘客在本次列車在當(dāng)前站點(diǎn)為出發(fā)前的車票可以退票,退票要收取一定的手續(xù)費(fèi)。(4)修改用戶密碼的主要功能是對(duì)當(dāng)前登錄的用戶進(jìn)行密碼的修改,新密碼可以為數(shù)字或者是字母以及一些常用符號(hào),新密碼位數(shù)不得少于6位。3概要設(shè)計(jì)3.1系統(tǒng)主界面設(shè)計(jì)系統(tǒng)登錄界面設(shè)計(jì)如圖3.1所示:圖3.1 系統(tǒng)登錄界面fig.3.1 the log system interface系統(tǒng)主界面就是要求用戶輸入用戶名和密碼,通過(guò)正確認(rèn)證點(diǎn)擊“登錄”按鈕才能進(jìn)入系統(tǒng)主界面如下圖3.2所示,點(diǎn)擊“取消”按鈕推出當(dāng)前系統(tǒng)。圖3.2 系統(tǒng)主界面fig.3.2 the main system interface3.2功能要求3.2.1系統(tǒng)功

19、能結(jié)構(gòu)圖系統(tǒng)功能結(jié)構(gòu)圖如下圖3.3所示:圖3.3 系統(tǒng)的功能結(jié)構(gòu)圖fig.3.3 structure of the system3.2.2系統(tǒng)功能模塊說(shuō)明(1)系統(tǒng)管理模塊本系統(tǒng)可以通過(guò)點(diǎn)擊【文件】菜單下的【退出】子菜單,執(zhí)行整個(gè)系統(tǒng)的退出操作;點(diǎn)擊【文件】菜單下的【注銷】子菜單,執(zhí)行重新登錄的操作;點(diǎn)擊【文件】菜單下的【修改密碼】子菜單,執(zhí)行當(dāng)前用戶的密碼修改操作。(2)售票退票模塊在主界面中點(diǎn)擊【操作】菜單下的【售票】子菜單,執(zhí)行車票的查詢及出售操作;點(diǎn)擊【操作】菜單下的【退票】子菜單,執(zhí)行退票的相關(guān)操作。(3)幫助模塊在主界面中點(diǎn)擊【幫助】菜單下的【關(guān)于】子菜單,即可獲得當(dāng)前系統(tǒng)的一些簡(jiǎn)

20、單介紹。3.3數(shù)據(jù)庫(kù)分析與設(shè)計(jì)如何設(shè)計(jì)出一個(gè)能夠滿足用戶各項(xiàng)當(dāng)前與可預(yù)見的應(yīng)用要求、性能良好的數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)中的一個(gè)核心問(wèn)題。它可以提高數(shù)據(jù)存儲(chǔ)效率,保證數(shù)據(jù)的完整一致性。數(shù)據(jù)庫(kù)的設(shè)計(jì)9主要包括3個(gè)階段:數(shù)據(jù)庫(kù)需求分析、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。3.3.1數(shù)據(jù)庫(kù)需求分析因?yàn)閿?shù)據(jù)庫(kù)系統(tǒng)應(yīng)用于火車票售票系統(tǒng),所以必須充分滿足此管理系統(tǒng)的各種要求。此系統(tǒng)要求對(duì)于數(shù)據(jù)的更新操作頗為苛刻,每次賣出車票都得對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新,并且對(duì)于車次發(fā)車時(shí)間在當(dāng)前時(shí)間之前的車次記錄也要實(shí)時(shí)更新。通過(guò)以上分析,數(shù)據(jù)庫(kù)設(shè)計(jì)必須滿足以下幾點(diǎn):(1)記錄車次基本的信息。(2)記錄車站的基本信息。(3)

21、記錄用戶的基本信息。(4)記錄根據(jù)車票類別規(guī)定的票價(jià)信息。3.3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)根據(jù)數(shù)據(jù)庫(kù)需求分析,可以得到如圖3.4所示的實(shí)體-關(guān)系模型8。登錄查詢退票售票員售票圖3.4實(shí)體-關(guān)系模型fig.3.4 entities model3.3.4數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)完畢后,就可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)類型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。根據(jù)鞋類信息管理系統(tǒng)的功能要求,選取sql server 2000作為后臺(tái)數(shù)據(jù)庫(kù)。與本系統(tǒng)有關(guān)的數(shù)據(jù)表如表3.13.4所示:runlist表記錄所有車次經(jīng)過(guò)的站點(diǎn),站站查詢主要通過(guò)此表進(jìn)行查找滿足條件的列車信息。表

22、3.1列車路線總表tab. 3.1 total list for train table字段名數(shù)據(jù)類型主鍵否trainidvarchar 10是stationidsmallint 2是stationnamevarchar 40否arrivesortsmallint 2否arrivedatevarchar 10否starttimevarchar 6否stoptimevarchar 6否distancesmallint 2否pricehardsmallint 2否pricehard2smallint 2否pricesoftsmallint 2否pricesoftberthsmallint 2否ti

23、cketprice表是記錄各車廂類別票價(jià)的表,按每公里計(jì)算,兩地之間的的票價(jià)根據(jù)里程和車廂類別的不同而不同。表3.2 車票價(jià)格表tab. 3.2 ticket price table字段名數(shù)據(jù)類型主鍵否idint 4是traintypenvarchar 50否seattypenvarchar 50否pricenumeric 9否trainsinfo表記錄記錄車次的一些基本信息,包括始發(fā)站,終點(diǎn)站,發(fā)車時(shí)間,到達(dá)時(shí)間全程里程等等。表3.3 列車信息表tab. 3.3 trains information table字段名數(shù)據(jù)類型主鍵否trainidvarchar 10是traintypevarc

24、har 20否beginstationidsmallint 2否beginstationvarchar 40否endstationidsmallint 2否endstationvarchar 40否begintimevarchar 5否endtimevarchar 5否timesvarchar 10否distancesmallint 2否stationnumsmallint 2否seatnum0int 4否seatnum1int 4否seatnum1int 4否userinfo表記錄了有用戶的id號(hào)和密碼,用戶在登錄時(shí)輸入的id和密碼只有和數(shù)據(jù)庫(kù)中的匹配是才能正常登錄進(jìn)入系統(tǒng)。表3.4 用戶信

25、息表tab. 3.4 user information table字段名數(shù)據(jù)類型主鍵否productidvarchar 50是namechar 20否principalchar 20否departmentvarchar 50否unitsvarchar 50否unitpricefloct 8否commentvarchar 50否4詳細(xì)設(shè)計(jì)4.1軟件要求與運(yùn)行環(huán)境4.1.1軟件要求運(yùn)行環(huán)境是windows 2000 以上;系統(tǒng)開發(fā)語(yǔ)言是java;系統(tǒng)開發(fā)平臺(tái)是netbeans ide 6.1;后臺(tái)數(shù)據(jù)庫(kù)是sql server 2000。4.1.2運(yùn)行環(huán)境安裝sql server 2000并運(yùn)行服務(wù)

26、管理器。本系統(tǒng)利用jdbc連接的數(shù)據(jù)庫(kù)。4.2系統(tǒng)文件管理模塊4.2.1界面設(shè)計(jì)系統(tǒng)的文件菜單下有修改密碼,注銷,退出選項(xiàng)。整個(gè)窗體示意圖如圖4.1所示。圖4.1 系統(tǒng)文件管理模塊fig.4.1 system exit module4.2.2設(shè)計(jì)思路對(duì)系統(tǒng)文件菜單下各選項(xiàng)的設(shè)計(jì)思路如下,在主頁(yè)面菜單欄下設(shè)置一個(gè)下拉菜單4,然后為其添加相應(yīng)事件,系統(tǒng)運(yùn)行后會(huì)自動(dòng)的顯示出系統(tǒng)的總界面,然后如果用戶想要進(jìn)行密碼修改或者重新登錄或者退出程序,那么就可以點(diǎn)擊文件菜單選項(xiàng)選擇相應(yīng)的子菜單進(jìn)行操作。4.2.3主要代碼及實(shí)現(xiàn)定義一個(gè)jmenuitem5的三個(gè)對(duì)象modpwd、logoff、ex,然后分別調(diào)用各

27、自的actionperformed(java.awt.event.actionevent evt)方法,為對(duì)象modpwd、logoff、ex添加事件,再實(shí)現(xiàn)修改密碼,注銷,退出等相應(yīng)的功能。點(diǎn)擊子菜單“注銷”選項(xiàng)時(shí),后臺(tái)調(diào)用方法logoffactionperformed(),該方法中dispose();實(shí)習(xí)關(guān)機(jī)當(dāng)前創(chuàng)口,使用new main().setvisible(true);重新啟動(dòng)軟件。點(diǎn)擊子菜單“退出”選項(xiàng)時(shí),后臺(tái)調(diào)用方法exactionperformed (),方法中system.exit(0);實(shí)現(xiàn)退出系統(tǒng)的功能。點(diǎn)擊子菜單“修改密碼”選項(xiàng)時(shí),后臺(tái)調(diào)用方法modpwdaction

28、performed (),方法中對(duì)修改密碼的界面進(jìn)行調(diào)用。4.3列車查詢和售票模塊4.3.1界面設(shè)計(jì)售票和查詢模塊主要功能是:可以查詢所需列車信息和對(duì)查詢出的車票進(jìn)行出售,界面設(shè)計(jì)如圖4.2所示:圖4.2列車查詢和售票模塊fig.4.2 trains ticket query and selling module4.3.2設(shè)計(jì)思路對(duì)火車票的所有信息進(jìn)行檢索,找出滿足條件的車票信息,在頁(yè)面上進(jìn)行顯示。查詢可以按照車次和車站進(jìn)行查詢。對(duì)于查詢出來(lái)的結(jié)果可以選擇需要的車廂類別和車票類別會(huì)自動(dòng)計(jì)算單價(jià)進(jìn)行售票。“顯示總金額”、“顯示找零”、“打印車票”等按鈕幫助實(shí)現(xiàn)售票功能的全過(guò)程。4.3.3主要代碼

29、及實(shí)現(xiàn)本模塊中主體操作都在“查詢”按鈕中,對(duì)于查詢按鈕的操作實(shí)現(xiàn)需要與數(shù)據(jù)建立連接10。通過(guò)對(duì)界面變量值的gettext()值的判斷然后進(jìn)行數(shù)據(jù)查詢找到合適數(shù)據(jù)。其中con.trainid(trid1);語(yǔ)句是調(diào)用類conn中的方法實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,通過(guò)模糊查詢找到零個(gè)或者多個(gè)列車號(hào)的信息。如果沒(méi)有找到相應(yīng)的信息,joptionpane.showmessagedialog(this,不能滿足要求!);語(yǔ)句將提示用戶沒(méi)能找到用戶輸入的相應(yīng)信息。如果找到了相應(yīng)的信息,界面上變量為table的表格將通過(guò)setvalueat方法對(duì)各項(xiàng)列車屬性進(jìn)行添加。con.getall(sta, got,this

30、.getdate();語(yǔ)句是站站查詢的入口點(diǎn),通過(guò)連接數(shù)據(jù)哭找到經(jīng)過(guò)兩站間的所有車次信息顯示在表格中。如果沒(méi)能找到車次,則joptionpane.showmessagedialog(this,對(duì)不起,您的輸入有誤或沒(méi)有直達(dá)車次!);語(yǔ)句將提示用戶不能找到相應(yīng)的結(jié)果。4.4退票模塊4.4.1界面設(shè)計(jì)退票模塊主要功能是:對(duì)已經(jīng)出售的車票進(jìn)行退回處理,當(dāng)然要求退回的車票必須在該車次還沒(méi)出發(fā)前。退票模塊的整個(gè)窗體示意圖如圖4.3所示。圖4.3 退票模塊fig.4.3 tickets back up module4.4.2設(shè)計(jì)思路首先獲得系統(tǒng)當(dāng)前的日期和當(dāng)前的時(shí)間2,再把獲得的系統(tǒng)日期時(shí)間和界面輸入的日

31、期和車票出發(fā)的時(shí)間比較,要是車票日期時(shí)間在當(dāng)前系統(tǒng)日期時(shí)間之前后,則滿足退票條件輸入票單價(jià)后,點(diǎn)擊“計(jì)算”按鈕就可算出應(yīng)付的手續(xù)費(fèi)和應(yīng)退款,最后再確認(rèn)是否要退票,點(diǎn)擊“退票”按鈕即可完成退票操作,點(diǎn)擊“取消”按鈕可以取消當(dāng)前操作。4.4.3主要代碼及實(shí)現(xiàn)在菜單欄中選擇退票選項(xiàng)的主要代碼包括:設(shè)置面板的visible屬性,調(diào)用退票界面的類,jlayeredpane4.setvisible(true);語(yǔ)句調(diào)用了退票界面的類。退票界面中點(diǎn)擊“計(jì)算”按鈕實(shí)現(xiàn)功能的主要代碼包括:對(duì)于界面得到的一些數(shù)據(jù)進(jìn)行檢查,例如要是為空就提示要進(jìn)行輸入的操作等。還是通過(guò)joptionpane.showmessage

32、dialog()來(lái)實(shí)現(xiàn)。通過(guò)查找得到數(shù)據(jù)庫(kù)中的列車信息,通過(guò)當(dāng)前時(shí)間和車票出發(fā)時(shí)間的比較,要是當(dāng)前時(shí)間在列車出發(fā)時(shí)間之后的話,就不能實(shí)現(xiàn)退票操作,否則就計(jì)算手續(xù)費(fèi),按20%計(jì)算,最后將算出的應(yīng)退還款和手續(xù)費(fèi)在界面上顯示。退票界面中點(diǎn)擊“確定退票”按鈕實(shí)現(xiàn)功能的主要代碼包括:通過(guò)連接數(shù)據(jù)庫(kù)將退回的票信息返回到數(shù)據(jù)庫(kù)中,con.backtic(trid,num,getdate();語(yǔ)句能修改數(shù)據(jù)庫(kù)中的車票信息。退票界面中點(diǎn)擊“取消”按鈕實(shí)現(xiàn)功能的主要代碼如下:/退票窗口中的取消按鈕private void jbutton1actionperformed(java.awt.event.actione

33、vent evt) jlayeredpane3.setvisible(true); jlayeredpane4.setvisible(false); 4.5幫助模塊4.5.1界面設(shè)計(jì)幫助模塊的主要功能:向用戶顯示當(dāng)前系統(tǒng)的一些基本信息,以及聲明系統(tǒng)的版權(quán)。圖4.4 幫助模塊fig.4.4 help module4.5.2設(shè)計(jì)思路利用jtext控件顯示文本內(nèi)容,將文本屬性設(shè)置為不可編輯。4.5.3主要代碼及實(shí)現(xiàn)調(diào)用文本對(duì)話框,代碼實(shí)現(xiàn)如下:new help().setvisible(true);能調(diào)用help類,顯示幫助界面。具體文本實(shí)現(xiàn)代碼是自動(dòng)生成的。5系統(tǒng)的調(diào)測(cè)與修改5.1軟件測(cè)試的目的和

34、原則軟件測(cè)試就是在軟件投入運(yùn)行之前,對(duì)軟件需求分析、軟件設(shè)計(jì)和編碼的最后復(fù)審,是保證軟件質(zhì)量的關(guān)鍵步驟6。如果給軟件測(cè)試下定義,可以這樣講:軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說(shuō)明和程序內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測(cè)試用例,(即輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。軟件測(cè)試的目的是想以最少的時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷,如果成功的實(shí)施了測(cè)試,就能夠發(fā)現(xiàn)軟件中的錯(cuò)誤。測(cè)試的附帶收獲是,它能夠證明軟件的功能和性能與需求說(shuō)明相符。此外,實(shí)施測(cè)試收集到的測(cè)試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。軟件測(cè)試應(yīng)遵循以下一些原則:(1)應(yīng)有程序設(shè)計(jì)者以外的人員參加測(cè)試

35、。(2)應(yīng)選擇不合理的輸入數(shù)據(jù)和非法輸入數(shù)據(jù)。(3)測(cè)試應(yīng)從“小規(guī)模”開始,逐步轉(zhuǎn)向“大規(guī)模”。(4)應(yīng)在測(cè)試工作真正開始以前較長(zhǎng)一段時(shí)間內(nèi)進(jìn)行測(cè)試計(jì)劃。(5)測(cè)試用例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果。(6)所有的測(cè)試都應(yīng)追溯到用戶需求。(7)不僅要檢驗(yàn)程序是否能實(shí)現(xiàn)預(yù)期功能(性質(zhì)),還應(yīng)檢查程序是否做了不應(yīng)該做的工作。(8)修改以后的程序必須進(jìn)行重新測(cè)試。本系統(tǒng)測(cè)試方案以界面為測(cè)試的基礎(chǔ),在測(cè)試過(guò)程中,依靠軟件與其運(yùn)行環(huán)境之間的接口來(lái)選擇和產(chǎn)生測(cè)試數(shù)據(jù),而不管軟件的具體需求和具體實(shí)現(xiàn)細(xì)節(jié)。包括軟件輸入,輸出數(shù)據(jù)的類型、取值范圍等等。測(cè)試項(xiàng)目主要包括對(duì)軟件各個(gè)模塊的測(cè)試,測(cè)試數(shù)據(jù)覆蓋面廣

36、。由于測(cè)試項(xiàng)目較多,現(xiàn)列出其中幾項(xiàng)在測(cè)試過(guò)程中出現(xiàn)的問(wèn)題以及解決的方法。5.2登錄信息的測(cè)試系統(tǒng)進(jìn)入登錄界面后,要求用戶輸入id號(hào)碼和密碼,當(dāng)密碼和id號(hào)碼不匹配時(shí),會(huì)提示錯(cuò)誤信息。該測(cè)試的目的是保證登錄是合法的,對(duì)于非法用戶絕對(duì)予以禁止。經(jīng)測(cè)試結(jié)果如圖5.1所示:圖5.1 登錄信息測(cè)試圖fig.5.1 logging information test如果用戶連續(xù)三次輸入錯(cuò)誤時(shí),系統(tǒng)將在提示錯(cuò)誤信息后點(diǎn)擊“確定”按鈕后將自動(dòng)退出。經(jīng)測(cè)試結(jié)果如圖5.2所示:圖5.2 三次密碼錯(cuò)誤測(cè)試圖fig.5.2 three wrong password test5.3修改密碼模塊的測(cè)試該測(cè)試的目的是保證密碼

37、修改過(guò)程不會(huì)產(chǎn)生錯(cuò)誤。要求用戶原密碼輸入正確看,并且兩次正確輸入滿足要求的新密碼。當(dāng)其中的要求不滿足時(shí),就會(huì)有提示信息。經(jīng)測(cè)試結(jié)果如圖5.3所示:圖5.3 原密碼錯(cuò)誤測(cè)試圖fig.5.3 old password wrong test該測(cè)試的另一個(gè)目的是防止防止用戶輸入的新密碼過(guò)于簡(jiǎn)單,不安全。經(jīng)測(cè)試結(jié)果如圖5.4所示:圖5.4 新密碼過(guò)于簡(jiǎn)單測(cè)試圖fig.5.4 new password simple enough test當(dāng)原密碼輸入正確,新密碼符合要求時(shí),點(diǎn)擊“確認(rèn)”按鈕確認(rèn)修改密碼,會(huì)有相關(guān)提示信息提示修改密碼成功。經(jīng)測(cè)試結(jié)果如圖5.5所示:圖5.5 修改密碼成功測(cè)試圖fig.5.5

38、change password success test5.4查詢和售票模塊的測(cè)試該測(cè)試的目的是保證能夠按照用戶的需求查詢出結(jié)果或者正常出售車票。該模塊的各種條件檢查較多,以下分情況測(cè)試。當(dāng)選擇站站查詢時(shí),如果沒(méi)能從數(shù)據(jù)庫(kù)中查找到從起始站到到達(dá)站的車次信息,就會(huì)有提示信息。測(cè)試結(jié)果如圖5.6所示:圖5.6 無(wú)直達(dá)車測(cè)試圖fig.5.6 no through train test當(dāng)用戶需要選擇車次以便進(jìn)行售票操作時(shí),如果選擇行為空時(shí),會(huì)有相應(yīng)的提示信息。經(jīng)測(cè)試結(jié)果如圖5.7所示:圖5.7選擇行為空測(cè)試圖fig.5.7 selected row is null test售票時(shí)可以選擇車廂類別,如果

39、選擇的車廂類別在所要出售的車次上沒(méi)有的話,會(huì)有提示信息。經(jīng)測(cè)試結(jié)果如圖5.8所示:圖5.8 車廂類型測(cè)試圖fig.5.8 carriage type test當(dāng)售票時(shí)出現(xiàn)實(shí)付款比要求付的款少時(shí),有提示信息。經(jīng)測(cè)試結(jié)果如圖5.9所示:圖5.9 實(shí)付款不足測(cè)試圖fig.5.9 payment not enough test當(dāng)乘客要求一次性購(gòu)票超過(guò)二十張時(shí),系統(tǒng)會(huì)提示不能一次性購(gòu)票超過(guò)二十張的信息。經(jīng)測(cè)試結(jié)果如圖5.10所示:圖5.10 車票數(shù)量超標(biāo)測(cè)試圖fig.5.10 tickets too many test 當(dāng)乘客要求購(gòu)的票比當(dāng)前數(shù)據(jù)庫(kù)中車票數(shù)要多時(shí),會(huì)有車票不足的提示信息。經(jīng)測(cè)試結(jié)果如圖5

40、.11所示:圖5.11 車票數(shù)量超標(biāo)測(cè)試圖fig.5.11 tickets too many test 當(dāng)用戶還沒(méi)有輸入款項(xiàng)前就點(diǎn)擊“打印車票”時(shí),系統(tǒng)會(huì)提示要求先付款。經(jīng)測(cè)試結(jié)果如圖5.11所示:圖5.12 先付款后打印車票測(cè)試圖fig.5.12 first pay for and then print test當(dāng)用戶輸入的實(shí)付款小于等于0時(shí),會(huì)有提示信息要求用戶輸入大于0的數(shù)字。經(jīng)測(cè)試結(jié)果如圖5.13所示:圖5.13 實(shí)付款大于零測(cè)試圖fig.5.13 payment compare 0 test當(dāng)用戶輸入的車票數(shù)量小于等于0時(shí),會(huì)有提示信息要求用戶輸入大于0的數(shù)字。經(jīng)測(cè)試結(jié)果如圖5.14

41、所示:圖5.14 車票數(shù)量大于零測(cè)試圖fig.5.14 tickets number compare 0 test正常操作時(shí),點(diǎn)擊“打印車票”按鈕后,會(huì)顯示車票窗口,接下來(lái)點(diǎn)擊“確定”按鈕會(huì)提示售票成功。經(jīng)測(cè)試結(jié)果如圖5.15所示:圖5.15 售票成功測(cè)試圖fig.5.15 tickets salling success test5.5退票模塊的測(cè)試該測(cè)試的目的是保證退票過(guò)程車票重新返回?cái)?shù)據(jù)庫(kù)并且準(zhǔn)確找回乘客應(yīng)有的金錢。輸入的車次有誤的情況下,會(huì)有提示信息彈出。經(jīng)測(cè)試結(jié)果如圖5.16所示:圖5.16車次測(cè)試圖fig.5.16 train id test數(shù)量輸入不是正數(shù)的情況下,測(cè)試結(jié)果如圖5.

42、17所示:圖5.17車票數(shù)量測(cè)試圖fig.5.17 tickets number test票單價(jià)不是正數(shù)的情況下,測(cè)試結(jié)果如圖5.18所示:圖5.18票單價(jià)測(cè)試圖fig.5.18 tickets price test當(dāng)要求退票的車次的發(fā)車日期時(shí)間在當(dāng)前日期之前,即要求退的車票車次已經(jīng)發(fā)車時(shí),系統(tǒng)提示不能退票。相關(guān)測(cè)試如圖5.19所示:圖5.19發(fā)車時(shí)間測(cè)試圖fig.5.19 trains times test當(dāng)用戶在沒(méi)有點(diǎn)擊“計(jì)算”按鈕直接要求退票時(shí),系統(tǒng)會(huì)有消息提示。相關(guān)測(cè)試如圖5.20所示:圖5.20先計(jì)算后退票測(cè)試圖fig.5.20 first count and then ticket

43、 backup test當(dāng)退票時(shí)以上錯(cuò)誤條件均未滿足,就能通過(guò)點(diǎn)擊“確定退票”成功退票。相關(guān)測(cè)試如圖5.21所示:圖5.21成功退票測(cè)試圖fig.5.21 ticket backup success test結(jié) 論畢業(yè)設(shè)計(jì)是每個(gè)大學(xué)生在大學(xué)的最后一門課程,是理論與實(shí)踐的一次很好的結(jié)合,是對(duì)大學(xué)所學(xué)知識(shí)的考驗(yàn),也是提高動(dòng)手能力的絕好機(jī)會(huì),它是大學(xué)生畢業(yè)后能更好投身于工作或繼續(xù)深造的過(guò)渡階段。本次畢業(yè)設(shè)計(jì)建立在ide平臺(tái)上,使用了sql server 2000數(shù)據(jù)庫(kù),大學(xué)課程中已經(jīng)學(xué)習(xí)過(guò)了ide的理論知識(shí),也學(xué)習(xí)了關(guān)于數(shù)據(jù)庫(kù)的各種操作。論文從需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和測(cè)試四個(gè)階段闡述了火車票售票系統(tǒng)的開發(fā)過(guò)程,設(shè)計(jì)并實(shí)現(xiàn)了科學(xué)的信息管理模式。本系統(tǒng)已經(jīng)完成車票查詢,出售,退回以及修改密碼等基本處理。對(duì)于龐大的火車信息數(shù)據(jù)庫(kù),本系統(tǒng)很好地處理了這方面的問(wèn)題,靈活應(yīng)用數(shù)據(jù)庫(kù),更是火車票系統(tǒng)顯得靈活化。在車票查詢方面,用戶可以根據(jù)需要選擇車次查詢或者站站查詢,而對(duì)于二者的查詢都

溫馨提示

  • 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)論