freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me的公交查詢系統(tǒng)的設(shè)計與實現(xiàn)學士學位論文-在線瀏覽

2024-09-12 19:42本頁面
  

【正文】 之后,功能(通訊錄、游戲、商務(wù)應用)就已經(jīng)固化,用戶將無法刪除無用的功能,同樣也不能增加新的功能。 這成為了手機行業(yè)發(fā)展的瓶頸,而 JAVA 在移動終端領(lǐng)域的出現(xiàn)改變了這一局面。 據(jù) 美國高科技研究公司 Strategies Unlimited 日前發(fā)表 的 《 和 3G 手機性能: 20xx20xx 全球分析與市場預測》的報告 稱 ,市場上 Java 手機的數(shù)量預計將每年翻一番,到 20xx 年將從 20xx 年的 1,910 萬部增長到 億部。到 20xx 年, Java 手機預計將占全部手機出貨量的 83%。 從 20xx 年 起 ,移動、聯(lián)通均已開通無線 JAVA業(yè)務(wù)。 在 J2ME 通信方面, 支持 HTTP, 則增加了對 HTTPS、報文、 socket 通信以及串口通信的支持。 第 2 頁 共 27 頁 支持 Overtheair (OTA) Provisioning 是 的一個重要的新特點,它使得用戶能夠動態(tài)地部署和更新移動設(shè)備上的應用程序。 MIDP OTA provisioning 模型為移動服務(wù)提供商提供了單一、標準的部署 MIDP 應用程序的途徑。 J2ME 針對嵌入式和移動設(shè)備,提供了開發(fā)和運行應用程序的平臺,隨著新的規(guī)范的不斷推出和眾多制造商、軟件開發(fā)商的支持, J2ME 正在飛速向前發(fā)展。今后 J2ME 將借助 Web Services 的力量,真正成為企業(yè)級信息解決方案中不可或缺的一部分。當前,復雜的公交系統(tǒng)使得用戶往往處于迷惑的狀態(tài),給出行帶來諸多不便,在另一個方面 ,我國城市的手機普及率已經(jīng)非常高了,如果能把這兩種情況結(jié)合起來,開發(fā)出一種基于手機的公交查詢軟件,將會給用戶帶來便捷。 本軟件的開發(fā)方法 由于公交數(shù)據(jù)相對比較龐大和繁瑣,同時設(shè)計換乘時對系統(tǒng)處理的性能要求也比較高,故本系統(tǒng)采用在服務(wù)器上進行計算,結(jié)果通過無線網(wǎng)絡(luò)傳輸?shù)娇蛻舳说男问竭M行開發(fā)。 通過 J2ME 和 J2EE 技術(shù)的結(jié)合,采用 C/S 模式和 B/S 模式共同存在的方式,服務(wù)器端采用 Mysql+Tomcat/Weblogic,通過 Servlet 實現(xiàn)對外服務(wù)器通信,同時前臺開發(fā)出 WEB 模塊和 WAP 模塊, WEB 模塊采用 MVC 模式,使用 Struts 框架。 第 3 頁 共 27 頁 本 文的主要工作 研究的主要內(nèi)容 本設(shè)計采用 B/S 和 C/S 結(jié)合的結(jié)構(gòu),綜合運用以前所學的專業(yè)知識,設(shè)計開發(fā)一個功能較完善的基于手機的公交查詢系統(tǒng),具體包括以下內(nèi)容: ( 1)研究并掌握 TCP/IP 等傳輸協(xié)議、數(shù)據(jù)庫操作等的基本原理。 ( 3)以前面的研究為基礎(chǔ),編程實現(xiàn)服務(wù)器及手機客戶端線路查詢,按站查詢,站站查詢并且實現(xiàn)手機無線網(wǎng)絡(luò)通信等功能。在文章的引言中,主要介紹了該系統(tǒng)面臨的背景,研究意義和開發(fā)方法 等,使讀者對本文有全面的了解。在第三章里,對系統(tǒng)開發(fā)涉及的算法進行了介紹和對數(shù)據(jù)庫設(shè)計給出了詳細的說明。第五章是對系統(tǒng)的測試和分析,包括代碼測試和功能測試,并對測試分析總結(jié)。 2 手機公交查詢的需求分析和開發(fā)工具介紹 用戶的原始需求 作為關(guān)系國計民生的社會公益事業(yè),城市公共交通一直都是政府工作的重點。但是從 客觀上說,公交硬件建設(shè)跟不上城市建設(shè)的步伐,是全國大城市尤其是特大城市都正在遭遇的發(fā)展瓶頸。 本系統(tǒng)通過對城市公交查詢用戶需求的調(diào)研,發(fā)現(xiàn)用戶在查找公交信息的時候一般只有 3 種方式,即按線路進行查找,按站進行查找線路,按起點站和終點站查找乘坐方案。 因此,在本系統(tǒng)的設(shè)計中提出以下方案 : 用戶在使用本系統(tǒng)的時候,可以按照線路進行公交查詢,或者按起點終點進行查詢,系統(tǒng)自動按照換乘篩選算法提供出最佳換乘方案,該算法根據(jù)用戶輸入的站名,查找全部可以直達的方案,如無直達方案,則找出全部換乘方案并按照站點優(yōu)先級進行排序,返回給用戶線路最短的前 N 條的換乘信息,如果用戶使用按站查詢線路,系統(tǒng)也提供了一定的模糊查詢,比如用戶查詢“百腦匯”,系 第 4 頁 共 27 頁 統(tǒng)能自動辨認出當?shù)卣军c“磨子橋”。 手機公交查詢系 統(tǒng)功能模塊及流程圖 通過對需求分析的調(diào)研,得出了經(jīng)過用戶確認的手機公交查詢系統(tǒng)的系統(tǒng)邏輯模型。 ( 1) WEB 和 WAP 功能模塊,如圖 1 所示。 用戶查詢流程分為查詢內(nèi)容選擇、查詢信息輸入和信息接收 3 個步驟。 開發(fā)工具介紹 JAVA語言是目前 Inter上大型的 WEB應用和手機程序開發(fā)時使用得最熱門的編程語言,而目前國內(nèi)銷售的大多數(shù)手機都支持 JAVA,同時 J2ME 和 J2EE因為都是基于 JAVA 技術(shù),可以進行無縫連接,所以本系統(tǒng)選用 J2ME 和 J2EE做為開發(fā)語言 ,同時在 WEB 端應用相關(guān)的 Struts 框架,并完成一個基于這 2 種技術(shù)結(jié)合的手機無線公交查詢系統(tǒng)。 MySQL 具有 強大 且 簡單易用 的特點 ,而且運行速度極快,能夠處理企業(yè)數(shù)據(jù)庫絕大多數(shù)的應用需求。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。 Tomcat服務(wù)器是一個免費的開放源代碼的 Web 應用服務(wù)器,它是 Apache 軟件基金會( Apache Software Foundation)的 Jakarta 項目中的一個核心項目,由 Apache、Sun 和其他一些公司及個人共同開發(fā)而成。因為 Tomcat 技術(shù)先進 、性能穩(wěn)定,而且免費,因而深受 Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的 Web 應用服務(wù)器。 一次換乘的算法設(shè)計 一次換乘采用基于站點優(yōu)先級和鄰接矩陣的公交換乘算法,現(xiàn)在 A,B 兩個公交站,通過數(shù)據(jù)庫查詢語句查找出經(jīng)過 A 站的所有公交車集合 Collection1,再通過數(shù)據(jù)庫查詢語句查找出經(jīng)過 B 站的所有公交車集合 Collection2,判斷Collection1 和 Collection2 是否有交集,若有,則得到一次換乘方案,存放在結(jié)果集合中。若判斷結(jié)束后沒有找到一次換乘的方案,則執(zhí)行 2 次換乘算法。 圖 3 一次換乘算法示意圖 圖 4 二次換乘算法示意圖 第 7 頁 共 27 頁 二次換乘的算法設(shè)計 二次換乘采用上下矩陣算法,現(xiàn)有 A,B 兩個公交站,先通過數(shù)據(jù)庫查詢語句和程序業(yè)務(wù)邏輯得到 A 站能直達的所有站點,放在集合 Collection1 中,再按照 A 站的方法找出 B 站能知道的所有站點,放在集合 Collection2 中,再判斷是否有公交車可以從 Collection1 中的站點直達 Collection2 中的站點,如果,則將方案存放到結(jié)果集合中。 二次換乘算法,如圖 4 所示。而根據(jù)用戶需求設(shè)計合適的數(shù)據(jù)庫以及選擇恰當?shù)臄?shù)據(jù)庫以確保系統(tǒng)能高速穩(wěn)定的運行則是數(shù)據(jù)庫設(shè)計的根本目地。 通過對用戶需求的分析以及對系統(tǒng)本身應用背景 的研究,可以看出本系統(tǒng)需要有以下數(shù)據(jù)支持:公交線路信息,公交站點信息,站點附近標志信息,用戶通知信息,同時考慮到節(jié)約系統(tǒng)資源,在用戶進行完站站查詢后還會產(chǎn)生一個存放查詢結(jié)果的緩存信息。 第 8 頁 共 27 頁 根據(jù)上述分析,可以得出公交信息模型的 ER 圖,如圖 5 所示。 表 1 公交信息相關(guān)的數(shù)據(jù)字典 序 號 數(shù) 據(jù) 項 名 稱 數(shù) 據(jù) 項 內(nèi) 容 1. 公交線路信息 公交線路的信息匯總 線路 ID 公交線路的 ID 線路 NO 公交線路 的名稱,如 502A 經(jīng)過站點 公交線路經(jīng)過的站點 收發(fā)車時間 公交車的收發(fā)車時間 是否上下行 判斷該公交車是否有上下行 2. 公交站點信息 公交站點相關(guān)信息 公交站名 該站點的站名 附近標志 1 附近標志 1 的名字 附近標志 2 附近標志 2 的名字 附近標志 3 附近標志 3 的名字 附近標志 4 附近標志 4 的名字 附近標志 5 附近標志 5 的名字 附近標志 6 附近標志 6 的名字 附近標志 7 附近標志 7 的名字 附近標志 8 附近標志 8 的名字 附近標志 9 附近標志 9 的名字 附近標志 10 附近標志 10 的名字 3. 站點附近標志匯總 站點附近標志性建筑物或者地名的匯總 標志 ID 標志編號 標志名稱 站點附近標志性建筑物或者地段的名稱 數(shù)據(jù)庫的物理設(shè)計 ( 1)公交線路信息表 負責存放公交線路信息,考慮到部分公交車存在上行和下行不一致的情況,表中添加了是否上下行的字段,以供算法確認。 表 2 公交線路信息表 公 交線路信息表 (businfo) 字段名 注釋 第 9 頁 共 27 頁 Busid 公交車的 id Busno 公交車的車號 stop1 第 1 個站的站名 stop2 第 2 個站的站名 …… …… …… …… stop50 第 50 個站的站名 Time 公交車的發(fā)車收車時間 Startend 公交車的起點和終點 Updown 是否有上下行 ( 2) 站點信息表 負責存放站點相關(guān)信息,并且存放一定的周圍標志建筑和地名的信息,以供算法進行模糊查詢。 表 3 站點信息表 站點信息表 (stopinfo) 字段名 注釋 Stopname 公交站站名 near1 附近標志 1 near2 附近標志 2 near3 附近標志 3 near4 附近標志 4 near5 附近標志 5 near6 附近標志 6 near7 附近標志 7 near8 附近標志 8 near9 附近標志 9 near10 附近標志 10 Stoppic 臃余字段,為以后功能預先留出 (3) 站點附近標志匯總表 負責存放站點周圍標志建筑或地名的匯總信息,本表為站點信息表的 near集合自動生 成。 第 10頁 共 27頁 表 4 站點附近標志匯總表 站點附近標志匯總表 (stopinfo) 字段名 注釋 Id 標志的 id Nearname 標志的名字 (4) 用戶公告表 負責存放本系統(tǒng)的公告信息。 表 5 用戶公告表 用戶公告表 (notify) 字段名 注釋 Id 消息的 id Content 消息內(nèi)容 Date 消息發(fā)布日期 (5) 查詢統(tǒng)計表 負責統(tǒng)計用戶查詢和下載量。 表 6 查詢統(tǒng)計表 查詢統(tǒng)計表 (jishuqi) 字段名 注釋 Id id Fangwen 查詢量 Xiazai 客戶端下載量 4 手機公交查詢系統(tǒng)功能詳細實現(xiàn) 經(jīng)過上面的描述,已經(jīng)明確了手機公交查詢系統(tǒng)需要實現(xiàn)的功能以及如何去完成這些功能。 服務(wù)器端的實現(xiàn) 本系統(tǒng)遵照 J2EE 4 層結(jié)構(gòu) ,使用了 MVC、 AO 等設(shè)計模式 ,組織結(jié)構(gòu)圖如圖 6 所示。 數(shù)據(jù)庫連接( Connection) 通過配置 WEB 服務(wù)器上的連接池,同時將數(shù)據(jù)源綁定到 JNDI,程序直接通過 JNDI Name 獲取,實現(xiàn)了數(shù)據(jù)源的可配置性和高度可移植性。 //從數(shù)據(jù)源得到連接 conn = () 。 } if(ps!=null){ ()。 } }catch(Exception e){ ()。同時為了加快運行速度,減少 JVM 編譯負擔,采用 PreparedStatement。使游標直接指向最后一條記錄,再用 buscount = ()。 ( 2)插入數(shù)據(jù)庫緩存,使得下一個用戶查詢該方案時可以直接從數(shù)據(jù)庫中獲取結(jié)果,從而大大的節(jié)約了用戶時間和系統(tǒng)資源。 ps1 = (sql) 。 (2,result1)。 (4,result3)。 ()。+start+end+39。 rs1 = () 。 result2=(result2)。 result4=(result4)。 ( 2)按站查詢經(jīng)過的公交線路,步驟如下: ① 通過輔助類判斷用戶輸入的站名或者附近標志名,并找到對應的公交站名。 ( 3)按起點終點查找乘坐方案 這是本系統(tǒng)中最復雜的一塊,通過前面提到的基于站點優(yōu)先級和鄰接矩陣的公交換乘算法和 上下矩陣算法來實現(xiàn),具體實現(xiàn)方法如下: ① 通過 start=(start)。來確定起點和終點的公交站名。 ③ 若站名存在,則嘗試從數(shù)據(jù)庫中取得直達緩存信息,如數(shù)據(jù)庫中沒有直達信息,則查找換乘信息。 ⑤ 如果沒有直達方案,則開始查找 1 次換乘方案,找到后按照經(jīng)過站數(shù)排序,站數(shù)少的排前面,由于換乘 方案過多,故只返回前幾條。 排序類為一個實現(xiàn)了 Serializable 和 Comparable 的工具類,具體排序方法在
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1