張婉貞+吳萃+肖佳宇
摘要:文章針對(duì)現(xiàn)代城市地鐵線路規(guī)劃者和普通用戶使用的城市地鐵查詢系統(tǒng)進(jìn)行了應(yīng)用設(shè)計(jì),設(shè)計(jì)軟件提供了包括地鐵線路的管理與維護(hù)、地鐵公司信息的管理與維護(hù)、地鐵信息管理與維護(hù),同時(shí)提供各種類型的查詢,并能對(duì)查詢結(jié)果按從優(yōu)原則排序的智能查詢,基本滿足了城市地鐵線路查詢系統(tǒng)的功能需要。
關(guān)鍵詞:程序設(shè)計(jì);城市交通;查詢系統(tǒng)
中圖分類號(hào):TP311.10 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.3969/j.issn.1003-6970.2016.03.012
0引言
隨著信息技術(shù)的不斷發(fā)展,信息化以一股巨大變革力量的面貌出現(xiàn)在城市信息化領(lǐng)域,我國(guó)交通運(yùn)輸業(yè)也不斷發(fā)展,各個(gè)城市都逐漸上線了城市地鐵。計(jì)算機(jī)信息技術(shù)為城市的飛速發(fā)展開(kāi)辟了新的空間,提供了新的手段,同時(shí)為城市地鐵公司業(yè)務(wù)發(fā)展賦予了更多的機(jī)會(huì),成為現(xiàn)代城市交通信息化發(fā)展的潮流?,F(xiàn)階段,在國(guó)內(nèi)一二線城市人們出入方式已經(jīng)啟用城市地鐵,特別是對(duì)于那些到外地出差、打工等流動(dòng)人群而言,地鐵對(duì)他們而言是必不可少的。但是,對(duì)于那個(gè)自己不熟悉的城市,乘坐地鐵也是一個(gè)很大的難題,因此,開(kāi)發(fā)一個(gè)城市地鐵查詢系統(tǒng)就顯得非常重要。所以,我們團(tuán)隊(duì)選擇以Java技術(shù)實(shí)現(xiàn)城市地鐵查詢系統(tǒng),也借此研究及設(shè)計(jì)對(duì)大學(xué)所學(xué)知識(shí)作為一次綜合性運(yùn)用。本系統(tǒng)的核心是進(jìn)行路線的查詢,并且輸入所要查詢的車站名,點(diǎn)擊“查詢”按鈕,能查詢所有擁有該站的地鐵線。
1系統(tǒng)分析
在系統(tǒng)設(shè)計(jì)的開(kāi)始,要首先考慮如何用數(shù)據(jù)模型構(gòu)造數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義。目前廣泛使用的數(shù)據(jù)模型可分為兩大類:一類是獨(dú)立于計(jì)算機(jī)系統(tǒng)的“概念數(shù)據(jù)模型”,比如“實(shí)體聯(lián)系模型”,而另一類則是直接面向數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。然而,在該系統(tǒng)中我所采用的是“實(shí)體聯(lián)系模型”來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以及對(duì)數(shù)據(jù)的抽象。實(shí)體聯(lián)系模型直接從現(xiàn)實(shí)世界抽象出實(shí)體類型及實(shí)體間聯(lián)系,然后使用E-R圖來(lái)表現(xiàn)出數(shù)據(jù)的模型。它有兩個(gè)明顯的優(yōu)點(diǎn):容易理解和用戶容易接受。但實(shí)體聯(lián)系模型只能說(shuō)明實(shí)體間的聯(lián)系,無(wú)法進(jìn)一步說(shuō)明內(nèi)部詳細(xì)的數(shù)據(jù)結(jié)構(gòu),它僅僅只是數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步。通過(guò)需求分析可以從用戶那里了解到對(duì)該項(xiàng)目的基本信息內(nèi)容和要求,這是進(jìn)行項(xiàng)目后續(xù)工作的前提。需求分析在程序設(shè)計(jì)中非常重要,我們對(duì)基于Java的城市地鐵查詢系統(tǒng)的系統(tǒng)需求進(jìn)行分析,分析它的可行性以及重要性,進(jìn)而對(duì)系統(tǒng)的各個(gè)模塊進(jìn)行完整的分析和設(shè)計(jì)。
系統(tǒng)有兩個(gè)角色:一般用戶和管理員。用戶憑賬號(hào)和密碼便可以進(jìn)行地鐵信息查詢,如:查詢地鐵線信息(包括基本信息和線路信息),查詢經(jīng)過(guò)某站點(diǎn)的所有地鐵線信息,換乘方案查詢,查看地鐵消息等。管理員不但有一般用戶的查詢功能,還具有線路管理維護(hù)的功能,如:線路站點(diǎn)管理,線路屬性信息管理,消息發(fā)布等。本城市地鐵查詢系統(tǒng)主要三個(gè)功能,分別為:線路管理、站點(diǎn)管理、消息管理。線路管理:用戶可通過(guò)站點(diǎn)找線路,也可直接查看線路所擁有的站點(diǎn)。管理員可對(duì)線路進(jìn)行添加、刪除和修改。站點(diǎn)管理:用戶可通過(guò)所知道的站點(diǎn)來(lái)查找線路,安排出行路線。管理員可對(duì)站點(diǎn)進(jìn)行添加、刪除和修改。消息發(fā)布:管理員可通過(guò)消息發(fā)布功能對(duì)系統(tǒng)消息及時(shí)更新。系統(tǒng)功能結(jié)構(gòu),如圖l所示。
在明確了系統(tǒng)目標(biāo)與數(shù)據(jù)庫(kù)結(jié)構(gòu)的前提下,設(shè)計(jì)出本系統(tǒng)的主要功能:系統(tǒng)登錄、數(shù)據(jù)輸入與修改、數(shù)據(jù)綜合查詢、數(shù)據(jù)統(tǒng)計(jì)等。以系統(tǒng)登錄與管理為例,為了確保用戶數(shù)據(jù)的保密性和安全性,防止非法用戶對(duì)數(shù)據(jù)惡意的破壞,系統(tǒng)將使用登錄系統(tǒng),將事先設(shè)計(jì)好的用戶名和密碼信息放在數(shù)據(jù)表中。登錄時(shí)系統(tǒng)自動(dòng)將用戶輸入的信息和數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行比較,只有合法用戶才能登錄本系統(tǒng)并且使用本系統(tǒng)。通過(guò)系統(tǒng)管理用戶可以實(shí)現(xiàn)用戶登錄密碼修改等功能。數(shù)據(jù)輸入、刪除與修改統(tǒng)稱數(shù)據(jù)管理,用戶可以根據(jù)自己的需要,對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行管理,將改動(dòng)的數(shù)據(jù)及時(shí)傳到后臺(tái)的數(shù)據(jù)庫(kù)中,保證數(shù)據(jù)的實(shí)時(shí)性、有效性。查詢功能是一個(gè)系統(tǒng)的核心部分,反映了一個(gè)系統(tǒng)的好壞。本系統(tǒng)能夠?qū)Φ罔F線路信息、地鐵線路信息、換乘信息和站點(diǎn)進(jìn)行查詢。
2數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)應(yīng)用程序開(kāi)發(fā)的重要組成部分。在數(shù)據(jù)庫(kù)設(shè)計(jì)中,除了遵循標(biāo)準(zhǔn)的3范式理論、數(shù)據(jù)獨(dú)立性、數(shù)據(jù)完整性以外,結(jié)合本管理系統(tǒng)實(shí)際,采取了以下方陣:命名規(guī)范化,對(duì)數(shù)據(jù)庫(kù)對(duì)象命名時(shí)盡量使用有意義的英文單詞、縮寫(xiě)詞、表名下劃線等組合,便于識(shí)別和記憶,而且命名長(zhǎng)度不要超過(guò)30個(gè)字符,便于應(yīng)用本系統(tǒng)適應(yīng)不同的數(shù)據(jù)庫(kù),并盡量保持命名風(fēng)格的統(tǒng)一;允許擁有適量的數(shù)據(jù)冗余,使提高數(shù)據(jù)庫(kù)執(zhí)行效率。數(shù)據(jù)庫(kù)設(shè)計(jì),有時(shí)降低數(shù)據(jù)庫(kù)范式要求,適當(dāng)增加數(shù)據(jù)冗余,可以達(dá)到空間換時(shí)間的效果;必須確保字段名稱和字段類型的一致性;根據(jù)實(shí)際運(yùn)行效果對(duì)數(shù)據(jù)庫(kù)的性能進(jìn)行合適的分析和優(yōu)化,合理使用存儲(chǔ)過(guò)程有利于提高運(yùn)行的速度,可以避免大量數(shù)據(jù)的傳輸,提高系統(tǒng)的性能。合理使用索引也是一種能夠提高數(shù)據(jù)庫(kù)訪問(wèn)效率的有效手段,但是并不是盲目多建一些索引,而是要和數(shù)據(jù)庫(kù)應(yīng)用的處理需求相結(jié)合,合理地建立;降低表間關(guān)聯(lián),為了確保數(shù)據(jù)庫(kù)的一致性和完整性,設(shè)計(jì)人員往往會(huì)設(shè)計(jì)過(guò)多的表間關(guān)聯(lián)。表間關(guān)聯(lián)是一種強(qiáng)制措施,建立后,對(duì)父表、子表的插入、修改、刪除操作均要占用系統(tǒng)的開(kāi)銷。所以本系統(tǒng)數(shù)據(jù)庫(kù)表關(guān)聯(lián)不采用外鍵,對(duì)數(shù)據(jù)不用太多的約束。數(shù)據(jù)庫(kù)的設(shè)計(jì)是允許數(shù)據(jù)庫(kù)訪問(wèn)應(yīng)用程序開(kāi)發(fā)的最重要部分,它將直接影響系統(tǒng)的長(zhǎng)期有效性和產(chǎn)品化程度。
3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)
針對(duì)應(yīng)用廣泛性與可擴(kuò)展性,系統(tǒng)采用開(kāi)源的SQL數(shù)據(jù)庫(kù)管理系統(tǒng),不僅能夠滿足最大的數(shù)據(jù)處理系統(tǒng)和商業(yè)Web站點(diǎn)存儲(chǔ)數(shù)據(jù)的需要,還能為個(gè)人或小企業(yè)提供易于使用的數(shù)據(jù)存儲(chǔ)服務(wù)。系統(tǒng)中主要?jiǎng)?chuàng)建5個(gè)表:地鐵表、stationinfo表、s user表、地鐵線路表和換乘表。
①地鐵表
地鐵表主要存放始發(fā)站、終點(diǎn)站站、地鐵線號(hào)、票價(jià)和營(yíng)運(yùn)時(shí)間,當(dāng)用戶查詢地鐵線路信息時(shí)需要訪問(wèn)此表,如表1所示。
②換乘表
換乘表主要存放先乘線號(hào)、中轉(zhuǎn)站、換乘地鐵和總站數(shù)。用戶查詢線路時(shí),實(shí)現(xiàn)1次換乘查詢功能時(shí)訪問(wèn)此表,如表2所示。
③stationinfo表
stationinfo表主要存放站點(diǎn)名和地鐵線路所擁有的站點(diǎn),用于用戶查詢站點(diǎn)和地鐵線路時(shí)訪問(wèn)此表,如表3所示。
④s user表
s user表存放登陸系統(tǒng)所需要的用戶名和密碼,登錄后臺(tái)時(shí)需要訪問(wèn)此表,如表4所示。
⑤地鐵線路表
地2鐵線路表存放地鐵線號(hào)和序號(hào),用戶查詢地鐵線路時(shí)訪問(wèn)此表,如表5所示。
4系統(tǒng)模塊功能概述
我們所設(shè)計(jì)的城市地鐵查詢系統(tǒng)包括系統(tǒng)系統(tǒng)登陸模塊、密碼修改模塊、地鐵線路查詢模塊、地鐵站點(diǎn)查詢模塊和添加線路、修改線路、刪除線路。
本系統(tǒng)實(shí)現(xiàn)的功能有:
1.增加站點(diǎn)、修改站點(diǎn)、刪除站點(diǎn);
2.線路查詢、換乘方案查詢、站點(diǎn)查詢;
3.系統(tǒng)管理員對(duì)地鐵公司所轄的地鐵相應(yīng)信息的管理;
4.游客利用地鐵查詢系統(tǒng)來(lái)查詢出行方案。
系統(tǒng)主要分四個(gè)模塊:
1.地鐵線路查詢模塊:查詢某一地鐵線的基本信息和路線信息;
2.地鐵站點(diǎn)查詢模塊:查詢通過(guò)某一站點(diǎn)的所有地鐵線(包括地鐵線基本信息和路線信息);
3.換乘查詢模塊:查詢由開(kāi)始地到目的地的乘車方案,支持直達(dá)和一次換乘;
4.查看地鐵信息模塊:打開(kāi)軟件時(shí),就會(huì)彈出最新的地鐵信息,提醒用戶。
登錄成功后,進(jìn)入系統(tǒng)主界面,用戶可進(jìn)行站點(diǎn)查詢、線路查詢和乘車查詢,并且可以查看幫助、地鐵咨詢和地鐵公司的資料。系統(tǒng)主界面,如圖2所示。
地鐵線路信息維護(hù)模塊由如下幾個(gè)部分組成:地鐵信息查看和地鐵線路信息修改功能,其主要功能是對(duì)地鐵線路信息進(jìn)行維護(hù)操作。
地鐵線路信息查看功能:點(diǎn)擊左邊菜單樹(shù)的地鐵信息按鈕,即可以查看地鐵線路信息。界面設(shè)計(jì)如圖3、4所示。
4結(jié)束語(yǔ)
大數(shù)據(jù)時(shí)代,智能應(yīng)用軟件發(fā)展訊迅速,本文作為新時(shí)期高校計(jì)算機(jī)專業(yè)學(xué)生,大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目團(tuán)隊(duì)的一個(gè)初步階段研究成果,在系統(tǒng)的完美性、綜合應(yīng)用性、運(yùn)行成熟性上還有有待進(jìn)一步完善,在今后的學(xué)習(xí)和研究過(guò)程中將更注重智能化、實(shí)用性的相結(jié)合。