二級(jí)課題二級(jí)實(shí)踐課題鄭州公交查詢系統(tǒng)_第1頁
二級(jí)課題二級(jí)實(shí)踐課題鄭州公交查詢系統(tǒng)_第2頁
二級(jí)課題二級(jí)實(shí)踐課題鄭州公交查詢系統(tǒng)_第3頁
二級(jí)課題二級(jí)實(shí)踐課題鄭州公交查詢系統(tǒng)_第4頁
二級(jí)課題二級(jí)實(shí)踐課題鄭州公交查詢系統(tǒng)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、支松波:鄭州公交查詢系統(tǒng)I.中中 原原 工工 學(xué)學(xué) 院院二級(jí)課題實(shí)訓(xùn)任務(wù)書二級(jí)課題實(shí)訓(xùn)任務(wù)書 2011 年 6 月 13 日學(xué)生姓名學(xué)生姓名支松波支松波學(xué)號(hào)學(xué)號(hào)201007042137專專 業(yè)業(yè)軟件開發(fā)軟件開發(fā)(日文方向日文方向)班級(jí)班級(jí)日文日文 101課題名稱課題名稱鄭州公交查詢系統(tǒng)鄭州公交查詢系統(tǒng)課題來源課題來源河南省大學(xué)生就業(yè)創(chuàng)業(yè)基地河南省大學(xué)生就業(yè)創(chuàng)業(yè)基地指導(dǎo)教師指導(dǎo)教師杜遠(yuǎn)坤杜遠(yuǎn)坤專業(yè)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)職稱職稱集成項(xiàng)目經(jīng)理集成項(xiàng)目經(jīng)理課題說明:課題說明:用戶通過站點(diǎn)換乘,可得到從一地到另一地不同路線及換乘公交車的方法,該查詢支持模糊查詢.通過站點(diǎn)查詢,可得到經(jīng)過該點(diǎn)

2、的詳細(xì)車次。線路查詢,用戶可通過線路查詢的到各線路經(jīng)過的詳細(xì)站點(diǎn)(包括上線下線) 。該系統(tǒng)主要用到SQLserver 2005 數(shù)據(jù)庫 公交查詢算法 java 連接數(shù)據(jù)庫等知識(shí)點(diǎn)。希望該系統(tǒng)能夠給出行的人們帶來便捷的交通路線!承擔(dān)的任務(wù):承擔(dān)的任務(wù):1用戶界面設(shè)計(jì)(參與)用戶界面設(shè)計(jì)(參與)2Java 代碼實(shí)現(xiàn)(獨(dú)立)代碼實(shí)現(xiàn)(獨(dú)立)3. 數(shù)據(jù)庫連接(參與)數(shù)據(jù)庫連接(參與)4. 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)(獨(dú)立)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)(獨(dú)立)中中 原原 工工 學(xué)學(xué) 院院支松波:鄭州公交查詢系統(tǒng)II二二 級(jí)級(jí) 課課 題題 任任 務(wù)務(wù) 書書 2011 年 6 月 14 日工作進(jìn)度安排:工作進(jìn)度安排:時(shí)間軸時(shí)間軸 2

3、011-6-13 至至 2011-6-28(除周(除周日)日)負(fù)責(zé)人負(fù)責(zé)人審審核核人人任務(wù)名稱任務(wù)名稱123456789 10 11 12 總體進(jìn)度30%62%8%支松波整理資料支松波付小兵編寫代碼支松波馬嘯偉付小兵代碼測(cè)試馬嘯偉支松波付小兵整理文檔支松波杜遠(yuǎn)坤指導(dǎo)教師簽字:指導(dǎo)教師簽字: 2011 年年 6 月月 28 日日實(shí)訓(xùn)單位意見實(shí)訓(xùn)單位意見簽章:簽章: 年年 月月 日日學(xué)學(xué)院院意意見見 簽章:簽章: 年年 月月 日日中中 原原 工工 學(xué)學(xué) 院院支松波:鄭州公交查詢系統(tǒng)III二二 級(jí)級(jí) 課課 題題 評(píng)評(píng) 審審 表表學(xué)號(hào)學(xué)號(hào)201007042137姓名姓名支松波專業(yè)專業(yè)軟件開發(fā)(日文)班

4、班級(jí)級(jí)日文 101題目題目鄭州公交查詢系統(tǒng)指指導(dǎo)導(dǎo)教教師師評(píng)評(píng)語語成績(jī)(百分制):成績(jī)(百分制): 指導(dǎo)教師簽名:指導(dǎo)教師簽名: 2011 年年 6 月月 28 日日支松波:鄭州公交查詢系統(tǒng)IV軟軟軟軟 件件件件 學(xué)學(xué)學(xué)學(xué) 院院院院二級(jí)課題報(bào)告二級(jí)課題報(bào)告課題名稱:課題名稱: 鄭州公交查詢系統(tǒng)鄭州公交查詢系統(tǒng) 專專 業(yè):業(yè): 軟件開發(fā)(日文方向) 班班 級(jí):級(jí): 日文 101 學(xué)學(xué) 號(hào):號(hào): 201007042137 學(xué)生姓名:學(xué)生姓名: 支松波 指導(dǎo)教師:指導(dǎo)教師: 杜遠(yuǎn)坤 2011 年年 6 月月 28 日日支松波:鄭州公交查詢系統(tǒng)II摘 要我國城市公交查詢系統(tǒng)的發(fā)展處于一個(gè)落后的水平,廣

5、大乘客可以獲得的信息的方式很少,公交信息的完整性和準(zhǔn)確性得不到保證,而且還沒有專門的機(jī)構(gòu)負(fù)責(zé)信息的發(fā)布和管理。我國公交查詢系統(tǒng)現(xiàn)狀如下:(1) 乘客可以獲得的信息很少,方式主要為常規(guī)手段。局限于電話,交通圖,想熟人聞?dòng)嵉瘸R?guī)手段。因此,獲得的信息很少,除去線路,站點(diǎn)等基本信息意外,有關(guān)車次,時(shí)間的信息基本沒有。(2) 乘客出行中獲得信息困難,本上沒有實(shí)時(shí)信息。乘客在一些大城市中可以通過電子站牌獲得一些基本信息外,在我國的大部分城市中基本獲到公交信息。(3) 缺乏專門的交通信息發(fā)布管理機(jī)構(gòu),乘客獲得的信息準(zhǔn)確性得不到保證。但隨著城市交通信息服務(wù)需求的發(fā)展,需要有專門的管理機(jī)構(gòu)和制度。當(dāng)前,城市交

6、通信息服務(wù)存在混亂和低效的問題,有些甚至誤導(dǎo)乘客。隨著人民生活水平的提高和社會(huì)的發(fā)展,人們出行的次數(shù)和范圍都在增加,共交通承擔(dān)著越來越繁重的運(yùn)輸任務(wù)也要與此相對(duì)應(yīng),公交的線路數(shù)量和投入運(yùn)營的車輛數(shù)量也在迅猛發(fā)展,公交的服務(wù)時(shí)間延長,服務(wù)范圍擴(kuò)大。服務(wù)質(zhì)量提高,對(duì)人們的吸引力也在增強(qiáng)。人們出行將越來越依賴公共交通。一般意義上,完整的出行問題是解決出發(fā)點(diǎn)到目的的路徑選優(yōu)問題隨著人們活動(dòng)的范圍的擴(kuò)大,乘公交出行往往也不能一車到達(dá),乘客從某一起點(diǎn),可能需要一次或多次換成才能到達(dá)目的地。因此,如何選擇最優(yōu)的出行路線,即如何換乘,換乘幾次,成為人們出行首要考慮的問題。 隨著計(jì)算機(jī)的發(fā)展,計(jì)算機(jī)軟件技術(shù)應(yīng)用

7、與信息管理是必然的趨勢(shì)。用計(jì)算機(jī)管理和處理信息,有著人工管理所無法比擬的優(yōu)點(diǎn)。如:查找方便,可靠性高,存儲(chǔ)量大,保密性好,壽命長,成本低,更新信息快等。在這樣的背景下,我們決定做公交查詢系統(tǒng),并以鄭州市公交數(shù)據(jù)為例,設(shè)計(jì)了公交查詢系統(tǒng)。關(guān)鍵詞: SQL sever2005 sqljdbc Swing GUI 等等 目 錄摘摘 要要.I第第 1 章章 項(xiàng)目分析項(xiàng)目分析.11.1 問題描述.11.2 技術(shù)分析.11.3 工程進(jìn)度計(jì)劃.1第第 2 章章 系統(tǒng)分析與設(shè)計(jì)系統(tǒng)分析與設(shè)計(jì).22.1 系統(tǒng)分析.22.1.1 參與者.22.1.2 用例及用例規(guī)約.22.1.3 用例圖.22.2 系統(tǒng)設(shè)計(jì).32

8、.2.1 順序圖.32.2.2 類圖.32.2.3 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì).42.3 數(shù)據(jù)庫設(shè)計(jì).42.3.1E-R 圖.42.3.2 關(guān)系模式.42.3.3 表的設(shè)計(jì).4第第 3 章章 實(shí)現(xiàn)與測(cè)試實(shí)現(xiàn)與測(cè)試.63.1 功能模塊 1.63.1.1 活動(dòng)圖.63.1.2 界面.63.1.3 代碼.63.1.4 測(cè)試用例.73.2 功能模塊 2.73.2.1 活動(dòng)圖.73.2.2 界面.73.2.3 代碼.83.2.4 測(cè)試用例.8第第 4 章章 結(jié)束語結(jié)束語.9附錄附錄 A: 附加圖、表附加圖、表.11附錄附錄 B: 主要源程序主要源程序.11支松波:鄭州公交查詢系統(tǒng)1第 1 章 項(xiàng)目分析1)操作可行

9、性:只要一臺(tái)以上計(jì)算機(jī)連接在同一個(gè)局域網(wǎng)內(nèi),本系統(tǒng)就可以使用,所以操作上可行。2)技術(shù)可行性:本系統(tǒng)采用 Java 語言,主要運(yùn)用工開發(fā)具 eclipse,以及 eclipse的插件 visual editor。開發(fā)這個(gè)系統(tǒng)需要開發(fā)者對(duì)網(wǎng)絡(luò)編程和 java Swing 等知識(shí)的掌握,本項(xiàng)目采用的數(shù)據(jù)庫為 mysql,需掌握對(duì) mysql 數(shù)據(jù)庫的基本操作,因平時(shí)用的工具就是 eclipse,以及其 VE 插件,數(shù)據(jù)庫用的是 mysql,因此技術(shù)可行。3)功能分析:此項(xiàng)目主要實(shí)現(xiàn)乘客對(duì)公交站點(diǎn),公交車次,公交線路等的查詢。1.1 問題描述通過對(duì)顯示中的城市公交系統(tǒng)(鄭州市城市公交系統(tǒng))的考察,得

10、到第一手的資料。人們?cè)诿鎸?duì)選擇眾多的公交車以及公交線路的問題上的需要,公交查詢系統(tǒng)主要解決的問題是人們?cè)诔鞘兄胁皇煜す幌到y(tǒng)的問題。通過調(diào)查得出:設(shè)計(jì)一個(gè)公交查詢系統(tǒng)需要解決人們對(duì)一個(gè)城市公交系統(tǒng)的整個(gè)查詢問題:如:站點(diǎn)換乘查詢、公交下路查詢、公交站點(diǎn)查詢等功能。1.2 技術(shù)分析對(duì)于一個(gè)用來實(shí)現(xiàn)公交查詢的程序,其最低要求必須是知道站點(diǎn)名,通過已知站點(diǎn)名,來確定經(jīng)過該站點(diǎn)的車次(含上線和下線) 。1.3 工程進(jìn)度計(jì)劃 6 月 13 日14 日進(jìn)行項(xiàng)目策劃,進(jìn)行系統(tǒng)分析,材料準(zhǔn)備6 月 15 日18 日進(jìn)行項(xiàng)目的代碼實(shí)現(xiàn)6 月 19 日22 日対項(xiàng)目進(jìn)行調(diào)試,測(cè)試6 月 23 日24 日撰寫實(shí)驗(yàn)論

11、文6 月 25 日26 日驗(yàn)收系統(tǒng)6 月 27 日29 日完善系統(tǒng)并修改論文支松波:鄭州公交查詢系統(tǒng)2第 2 章 系統(tǒng)分析與設(shè)計(jì)要解決一個(gè)問題,首先應(yīng)對(duì)問題加以分析,有一個(gè)明確的目的以及正確的思路。想法決定做法。要是一個(gè)項(xiàng)目有序的進(jìn)行,必須先進(jìn)行分析與設(shè)計(jì)!分析與設(shè)計(jì)是項(xiàng)目往下進(jìn)行的基礎(chǔ)。必須考慮其操作可行性,用戶環(huán)境可行性,工具可行性!2.1 系統(tǒng)分析要設(shè)計(jì)一個(gè)良好的公交查詢系統(tǒng),就必須首先明確應(yīng)用環(huán)境對(duì)系統(tǒng)的要求。城市公交查詢系統(tǒng)是為了方便乘客出行而設(shè)計(jì)的,因此,該系統(tǒng)滿足以下幾方面需求:1)站點(diǎn)換乘查詢功能: 能面向普通乘客,通過普通的瀏覽器提供按照站點(diǎn)名查詢的方式,給出起始點(diǎn)至目的站點(diǎn)

12、的換乘方案。2)公交線路查詢功能: 通過普通的瀏覽器提供按照站點(diǎn)名查詢的方式,給出該線路按順序經(jīng)過的所有站點(diǎn)名稱3)公交站點(diǎn)查詢功能: 通過普通的瀏覽器提供按照站點(diǎn)名查詢的方式,輸出經(jīng)過該站點(diǎn)的所有公交線路名稱。結(jié)合上述需求對(duì)系統(tǒng)功能設(shè)計(jì)的要求分析及對(duì)功能模塊的劃分,從而分析出數(shù)據(jù)庫的數(shù)據(jù)項(xiàng)。2.1.1 參與者支松波,付小兵,馬嘯偉。2.1.2 用例及用例規(guī)約由于該程序是一個(gè)示例程序,其中采用的是中,小型數(shù)據(jù)庫,其中儲(chǔ)存的車次,站點(diǎn)名,公交路線等僅為一小部分,因此,在測(cè)試該程序時(shí)只能查詢已儲(chǔ)存在數(shù)據(jù)庫中的信息。支松波:鄭州公交查詢系統(tǒng)32.1.3 用例圖乘客站點(diǎn)車次該車次路線2.2 系統(tǒng)設(shè)計(jì)

13、公交查詢系統(tǒng)程序乘 客站 點(diǎn)車 次車次路線支松波:鄭州公交查詢系統(tǒng)42.2.1 順序圖乘客登陸界面輸入站點(diǎn)不存在車 次路 線 2.2.2 類圖2.2.3 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)圖:支松波:鄭州公交查詢系統(tǒng)5 視圖層 控制層 邏輯層 數(shù)據(jù)庫層 表 2-1 體系結(jié)構(gòu)說明圖1)視圖層:)視圖層:用戶界面,通過界面進(jìn)行查找。2)控制層()控制層(Action):):負(fù)責(zé)表現(xiàn)層與業(yè)務(wù)邏輯層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層顯示。3)邏輯層:)邏輯層:數(shù)據(jù)訪問對(duì)象層,負(fù)責(zé)與數(shù)據(jù)庫服務(wù)層交互,封裝增、刪、查、改操作。4)數(shù)據(jù)服務(wù)層:數(shù)據(jù)服務(wù)層:采用主流數(shù)據(jù)庫 SQL server 200

14、5,存放數(shù)據(jù)。2.3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)程序的運(yùn)行效率產(chǎn)生影響,好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)會(huì)減少數(shù)據(jù)的儲(chǔ)存量,數(shù)據(jù)的完整性和一致性好,具有比較快的響應(yīng)速度?;?J2EE 的課程管理網(wǎng)站在數(shù)據(jù)庫設(shè)計(jì)之初盡量考慮全面,仔細(xì)考慮乘客的各種需求,避免浪費(fèi)人力物力?;诖?,進(jìn)行如下設(shè)計(jì)。在設(shè)計(jì)中通過實(shí)體-關(guān)系圖的方法分析系統(tǒng)的數(shù)據(jù)庫各實(shí)體的關(guān)系,推導(dǎo)出相關(guān)表結(jié)構(gòu)和相應(yīng)的內(nèi)、外主鍵,并可結(jié)合業(yè)務(wù)進(jìn)一步設(shè)計(jì)相關(guān)存儲(chǔ)過程和約束條件等實(shí)現(xiàn)方法。2.3.1E-R 圖 StopStop_idStop_name 站點(diǎn)作為一個(gè)實(shí)體支松波:鄭州公交查詢系統(tǒng)6lineLine_idLine_name 線路作為

15、一個(gè)實(shí)體StopLineStop_idLine_idsqe 站點(diǎn)線路作為一個(gè)實(shí)體連接兩個(gè)表2.3.2 關(guān)系模式StopLinePk.fk1Pk.fk2PkStop_idLine_idseqStopPkStop_idLinePkLine_id支松波:鄭州公交查詢系統(tǒng)72.3.3 表的設(shè)計(jì)第 3 章 實(shí)現(xiàn)與測(cè)試該程序主要用數(shù)據(jù)庫查詢語句,查詢線路、站點(diǎn)、換乘。數(shù)據(jù)庫主要用到表結(jié)構(gòu)的設(shè)計(jì)和實(shí)現(xiàn)。Java 窗體中運(yùn)用addWindowListener 實(shí)現(xiàn)窗口關(guān)閉,同時(shí)又彈出窗體。用 Select 類中 get_#方法實(shí)現(xiàn)整個(gè)系統(tǒng)對(duì)數(shù)據(jù)庫的調(diào)用。3.1 功能模塊 1換乘查詢3.1.1 活動(dòng)圖用戶查詢輸

16、出結(jié)果不存在支松波:鄭州公交查詢系統(tǒng)83.1.2 界面支松波:鄭州公交查詢系統(tǒng)9支松波:鄭州公交查詢系統(tǒng)103.1.3 代碼package bus_1;import javax.swing.SwingUtilities;import java.awt.BorderLayout;import javax.swing.JPanel;import javax.swing.JFrame;import java.awt.Dimension;import java.awt.Rectangle;import javax.swing.JLabel;import javax.swing.JOptionPane;

17、import javax.swing.JTextField;import javax.swing.JButton;import java.awt.Font;import java.awt.Color;import java.awt.event.WindowAdapter;支松波:鄭州公交查詢系統(tǒng)11import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;public class Line_Window extends J

18、Frame private static final long serialVersionUID = 1L;private JPanel jContentPane = null;private JLabel jLabel = null;private JLabel jLabel1 = null;private JTextField jTextField = null;private JButton jButton = null;private JLabel jLabel2 = null;/* * This method initializes jTextField * 支松波:鄭州公交查詢系統(tǒng)

19、12 * return javax.swing.JTextField */private JTextField getJTextField() if (jTextField = null) jTextField = new JTextField();jTextField.setBounds(new Rectangle(79, 46, 135, 21);return jTextField;/* * This method initializes jButton * * return javax.swing.JButton */private JButton getJButton() if (jB

20、utton = null) jButton = new JButton();支松波:鄭州公交查詢系統(tǒng)13jButton.setBounds(new Rectangle(222, 47, 61, 20);jButton.setForeground(Color.blue);jButton.setText(搜索);jButton.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) /System.out.println(actio

21、nPerformed(); / TODO Auto-generated Event stub actionPerformed()Line_Window.this.setVisible(false);String string=jTextField.getText();Change_Window change=new Change_Window();change.setLocationRelativeTo(null);change.setResizable(false);Main_Window main=new Main_Window();main.setLocationRelativeTo(n

22、ull);main.setVisible(true);Select select=new Select();if(string.equals()JOptionPane.showMessageDialog(null,線路名稱不能為空!);支松波:鄭州公交查詢系統(tǒng)14elseif(select.getLineU(string).isEmpty()JOptionPane.showMessageDialog(null,無該路車或輸入有誤!);elseJOptionPane.showMessageDialog(null,string+路n+select.getLineU(string)+n+string

23、+路n+select.getLineD(string););return jButton;/*支松波:鄭州公交查詢系統(tǒng)15 * param args */public static void main(String args) / TODO Auto-generated method stubSwingUtilities.invokeLater(new Runnable() public void run() Line_Window thisClass = new Line_Window();thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_C

24、LOSE);thisClass.setVisible(false);thisClass.setResizable(false););/* * This is the default constructor */public Line_Window() 支松波:鄭州公交查詢系統(tǒng)16super();initialize();/* * This method initializes this * * return void */private void initialize() this.setContentPane(getJContentPane();this.setTitle(公交線路查詢);t

25、his.setBounds(new Rectangle(0, 0, 307, 146);this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)Main_Window main=new Main_Window();main.setLocationRelativeTo(null);main.setVisible(true);支松波:鄭州公交查詢系統(tǒng)17);/* * This method initializes jContentPane * * return javax.swing.JP

26、anel */private JPanel getJContentPane() if (jContentPane = null) jLabel2 = new JLabel();jLabel2.setBounds(new Rectangle(79, 79, 136, 18);jLabel2.setForeground(Color.blue);jLabel2.setText(eg:1 路公交車輸入1);jLabel1 = new JLabel();jLabel1.setBounds(new Rectangle(16, 46, 65, 20);jLabel1.setForeground(Color.

27、blue);支松波:鄭州公交查詢系統(tǒng)18jLabel1.setText(線路名稱:);jLabel = new JLabel();jLabel.setText(公交線路);jLabel.setFont(new Font(宋體, Font.BOLD, 18);jLabel.setForeground(Color.blue);jLabel.setBounds(new Rectangle(108, 9, 85, 29);jContentPane = new JPanel();jContentPane.setLayout(null);jContentPane.add(jLabel, null);jCo

28、ntentPane.add(jLabel1, null);jContentPane.add(getJTextField(), null);jContentPane.add(getJButton(), null);jContentPane.add(jLabel2, null);return jContentPane; / jve:decl-index=0:visual-constraint=245,53.1.4支松波:鄭州公交查詢系統(tǒng)19測(cè)試用例44 路公交車3.2 功能模塊 2站點(diǎn)查詢3.2.1 活動(dòng)圖用戶查詢輸出結(jié)果不存在3.2.2 界面支松波:鄭州公交查詢系統(tǒng)203.2.3 代碼packa

29、ge bus_1;import javax.swing.SwingUtilities;import javax.swing.JPanel;import javax.swing.JFrame;import java.awt.Rectangle;import javax.swing.JButton;import javax.swing.JLabel;import java.awt.Color;import java.awt.Font;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.

30、swing.JTextField;public class Stop_Window extends JFrame private static final long serialVersionUID = 1L;private JPanel jContentPane = null;private JButton jButton = null;private JLabel jLabel = null;private JLabel jLabel1 = null;private JTextField jTextField = null;private JLabel jLabel2 = null;/*

31、* This method initializes jButton * * return javax.swing.JButton */private JButton getJButton() if (jButton = null) jButton = new JButton();jButton.setBounds(new Rectangle(217, 45, 63, 22);jButton.setForeground(Color.blue);jButton.setText(搜索);jButton.addActionListener(new java.awt.event.ActionListen

32、er() public void actionPerformed(java.awt.event.ActionEvent e) Stop_Window.this.setVisible(false);支松波:鄭州公交查詢系統(tǒng)21Main_Window main=new Main_Window();main.setLocationRelativeTo(null);main.setVisible(true);String string=jTextField.getText();Select select=new Select();select.getStop(string););return jBut

33、ton;/* * This method initializes jTextField * * return javax.swing.JTextField */private JTextField getJTextField() if (jTextField = null) jTextField = new JTextField();jTextField.setBounds(new Rectangle(98, 45, 105, 22);return jTextField;/* * param args */public static void main(String args) / TODO

34、Auto-generated method stubSwingUtilities.invokeLater(new Runnable() public void run() Stop_Window thisClass = new Stop_Window(); /thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);thisClass.setVisible(false);thisClass.setResizable(false););/* * This is the default constructor */public Stop_Wi

35、ndow() super();initialize();/* * This method initializes this支松波:鄭州公交查詢系統(tǒng)22 * * return void */private void initialize() this.setContentPane(getJContentPane();this.setTitle(公交站點(diǎn)查詢);this.setBounds(new Rectangle(0, 0, 307, 146);this.addWindowListener(new WindowAdapter() public void windowClosing(Window

36、Event e)Main_Window main=new Main_Window();main.setLocationRelativeTo(null);main.setVisible(true););/* * This method initializes jContentPane * * return javax.swing.JPanel */private JPanel getJContentPane() if (jContentPane = null) jLabel2 = new JLabel();jLabel2.setBounds(new Rectangle(98, 79, 130,

37、18);jLabel2.setForeground(Color.blue);jLabel2.setText(輸入站點(diǎn) eg:火車站);jLabel1 = new JLabel();jLabel1.setBounds(new Rectangle(28, 45, 70, 21);jLabel1.setForeground(Color.blue);jLabel1.setText(站點(diǎn)名稱:);jLabel = new JLabel();jLabel.setBounds(new Rectangle(108, 11, 84, 25);jLabel.setForeground(Color.blue);jL

38、abel.setFont(new Font(宋體, Font.BOLD, 18);jLabel.setText(公交站點(diǎn));jContentPane = new JPanel();jContentPane.setLayout(null);jContentPane.add(getJButton(), null);jContentPane.add(jLabel, null);jContentPane.add(jLabel1, null);jContentPane.add(getJTextField(), null);jContentPane.add(jLabel2, null);return jC

39、ontentPane; / jve:decl-index=0:visual-constraint=164,9支松波:鄭州公交查詢系統(tǒng)233.2.4 測(cè)試用例火車站支松波:鄭州公交查詢系統(tǒng)24第 4 章 結(jié)束語這次軟件技術(shù)實(shí)驗(yàn),我們小組做的是“公交查詢系統(tǒng)” 。系統(tǒng)以整個(gè)鄭州市區(qū)的公交路線為數(shù)據(jù)來源,實(shí)現(xiàn)了對(duì)鄭州市區(qū)公交系統(tǒng)的站帶你換乘查詢,公交線路查詢、公交站點(diǎn)查詢等功能。提前我寫這個(gè)程序時(shí),如果多數(shù)據(jù)庫進(jìn)行操作,都是通過將數(shù)據(jù)庫查詢語句傳遞給PHP語言自帶的函數(shù)對(duì)數(shù)據(jù)庫進(jìn)行操作,但這次程序設(shè)計(jì),數(shù)據(jù)庫存儲(chǔ)了鄭州市區(qū)的公交路線信息量大,且多次對(duì)數(shù)據(jù)庫進(jìn)行多次操作,所以執(zhí)行效率需要重點(diǎn)考慮,由此

40、我想到了存儲(chǔ)過程在運(yùn)行存儲(chǔ)過程前,數(shù)據(jù)庫已對(duì)其進(jìn)行了語法和句法分析,并給出了優(yōu)化執(zhí)行方案。這種以經(jīng)編譯好的過程可極大地改善 SQL server 語句的性能。由于執(zhí)行 SQL server 語句的大部分工作已經(jīng)完成,所以存儲(chǔ)過程能以極快的速度執(zhí)行。只是這點(diǎn),就讓我從這次課程設(shè)計(jì)中受益匪淺。通過這次課程設(shè)計(jì),是我么加深了對(duì)數(shù)據(jù)庫的理論的理解和數(shù)據(jù)庫實(shí)現(xiàn)的方法的應(yīng)用一級(jí)軟件工程知識(shí)的理解。掌握了數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。提高了數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)水平,以及分析問題和解決實(shí)際問題的能力。實(shí)驗(yàn)中我們進(jìn)一步鞏固了對(duì)數(shù)據(jù)模型,ER 圖的設(shè)計(jì)與實(shí)現(xiàn),視圖、索引等概念的掌握,加深了對(duì)范式的理解,熟練了對(duì)

41、 SQL 語言的應(yīng)用。通過與指導(dǎo)老師的交流,接納礙事的意見對(duì)系統(tǒng)驚醒了反復(fù)測(cè)試與修改,讓其更加完善。通過這個(gè)反復(fù)的過程,是我在關(guān)系型數(shù)據(jù)庫理論方面有了嶄新的認(rèn)識(shí)和深刻的體會(huì),為以后的開發(fā)積累了更多的經(jīng)驗(yàn)。參考文獻(xiàn)【1】數(shù)據(jù)庫系統(tǒng)概論(第四版) 王珊、薩師煊 高等教育出版社,2006.5.【2】 SQL sever 2005 程序設(shè)計(jì) W.Jason Gilmori 譯者:朱濤江 人民郵電出版社 2009.6【3】 公共交通線路網(wǎng)多條最短路徑算法 張國伍,錢大琳。支松波:鄭州公交查詢系統(tǒng)25附錄: 主要源程序package bus_1;import javax.swing.SwingUtilit

42、ies;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JButton;import java.awt.Rectangle;import javax.swing.JLabel;import javax.swing.JComboBox;import java.awt.Color;import java.awt.Font;public class Main_Window extends JFrame private static final l

43、ong serialVersionUID = 1L;private JPanel jContentPane = null;JButton jButton = null;JButton jButton1 = null;private JButton jButton2 = null;private JLabel jLabel = null;private JLabel jLabel1 = null;private JComboBox jComboBox = null;/* * This method initializes jButton * * return javax.swing.JButto

44、n */private JButton getJButton() if (jButton = null) jButton = new JButton();jButton.setBounds(new Rectangle(61, 105, 119, 30);jButton.setFont(new Font(Dialog, Font.BOLD, 18);jButton.setForeground(Color.black);jButton.setText(站點(diǎn)換乘);jButton.setEnabled(true);jButton.addActionListener(new java.awt.even

45、t.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) Change_Window change=new Change_Window();change.setLocationRelativeTo(null);change.setResizable(false);Main_Window.this.setVisible(false);change.setVisible(true););支松波:鄭州公交查詢系統(tǒng)26return jButton;/* * This method initializes j

46、Button1 * * return javax.swing.JButton */private JButton getJButton1() if (jButton1 = null) jButton1 = new JButton();jButton1.setBounds(new Rectangle(61, 211, 119, 30);jButton1.setFont(new Font(Dialog, Font.BOLD, 18);jButton1.setForeground(Color.black);jButton1.setText(公交線路);jButton1.addActionListen

47、er(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) Line_Window line=new Line_Window();line.setLocationRelativeTo(null);line.setResizable(false);Main_Window.this.setVisible(false);line.setVisible(true););return jButton1;/* * This method initializes jButto

48、n2 * * return javax.swing.JButton */private JButton getJButton2() if (jButton2 = null) jButton2 = new JButton();jButton2.setBounds(new Rectangle(61, 158, 119, 30);jButton2.setForeground(Color.black);jButton2.setFont(new Font(Dialog, Font.BOLD, 18);jButton2.setText(公交站點(diǎn));jButton2.addActionListener(ne

49、w java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) Stop_Window stop=new Stop_Window();stop.setResizable(false);stop.setLocationRelativeTo(null);Main_Window.this.setVisible(false);stop.setVisible(true););支松波:鄭州公交查詢系統(tǒng)27return jButton2;/* * This method initializ

50、es jComboBox * * return javax.swing.JComboBox */private JComboBox getJComboBox() if (jComboBox = null) jComboBox = new JComboBox(new String鄭州);jComboBox.setBounds(new Rectangle(177, 74, 55, 17);return jComboBox;/* * param args */public static void main(String args) SwingUtilities.invokeLater(new Run

51、nable() public void run() Main_Window thisClass = new Main_Window();thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);thisClass.setLocationRelativeTo(null);thisClass.setVisible(true);thisClass.setResizable(false);JOptionPane.showMessageDialog(null,注意:該系統(tǒng)數(shù)據(jù)庫只輸入了n1 路(通利公交公司、綠城廣場(chǎng)、火車站 等等) ,n +44

52、路(黃河醫(yī)學(xué)院、趙坡新村、火車站 等等),n +60 路(東建材、鄭州大學(xué)、鄭上路西環(huán)路站 等等),n +112 路(碧沙崗、鄭州一中新校、馬寨站 等等) 公交車!n+支持模糊查詢 轉(zhuǎn)車查詢!););/* * This is the default constructor */public Main_Window() super();initialize();/* * This method initializes this * * return void支松波:鄭州公交查詢系統(tǒng)28 */private void initialize() this.setSize(249, 305);this

53、.setContentPane(getJContentPane();this.setTitle(公交查詢系統(tǒng));/* * This method initializes jContentPane * * return javax.swing.JPanel */private JPanel getJContentPane() if (jContentPane = null) jLabel1 = new JLabel();jLabel1.setBounds(new Rectangle(136, 74, 42, 17);jLabel1.setForeground(Color.black);jLabe

54、l1.setText(城市:);jLabel = new JLabel();jLabel.setBounds(new Rectangle(17, 7, 205, 59);jLabel.setForeground(Color.blue);jLabel.setFont(new Font(Dialog, Font.BOLD, 48);jLabel.setText(公交查詢);jContentPane = new JPanel();jContentPane.setLayout(null);jContentPane.add(getJButton(), null);jContentPane.add(get

55、JButton1(), null);jContentPane.add(getJButton2(), null);jContentPane.add(jLabel, null);jContentPane.add(jLabel1, null);jContentPane.add(getJComboBox(), null);return jContentPane; / jve:decl-index=0:visual-constraint=199,20package bus_1;import javax.swing.SwingUtilities;import java.awt.BorderLayout;i

56、mport javax.swing.JPanel;import javax.swing.JFrame;import java.awt.Dimension;import java.awt.Rectangle;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;import javax.swing.JButton;import java.awt.Font;支松波:鄭州公交查詢系統(tǒng)29import java.awt.Color;import java.awt.event.Wind

57、owAdapter;import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;public class Line_Window extends JFrame private static final long serialVersionUID = 1L;private JPanel jContentPane = null;private JLabel jLabel = null;private JLabel jLabel1

58、 = null;private JTextField jTextField = null;private JButton jButton = null;private JLabel jLabel2 = null;/* * This method initializes jTextField * * return javax.swing.JTextField */private JTextField getJTextField() if (jTextField = null) jTextField = new JTextField();jTextField.setBounds(new Recta

59、ngle(79, 46, 135, 21);return jTextField;/* * This method initializes jButton * * return javax.swing.JButton */private JButton getJButton() if (jButton = null) jButton = new JButton();jButton.setBounds(new Rectangle(222, 47, 61, 20);jButton.setForeground(Color.blue);jButton.setText(搜索);jButton.addAct

60、ionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) /System.out.println(actionPerformed(); / TODO Auto-generated Event stub actionPerformed()Line_Window.this.setVisible(false);String string=jTextField.getText();Change_Window change=new Change_Win

溫馨提示

  • 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. 人人文庫網(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)論