【正文】
ortation developments in Anyang is in a paratively backward level. The general passengers have less way to obtain the information. In order to solve this kind of problem, an inquiry system of public transport based on JAVA is designed. This paper firstly analyzed the requirements of public transport inquiry system, including functional requirements and nonfunctional requirements. Then introduces the prehensive design of the system, system scheme selection and design of database. Then expounded the implementation process of the main functional modules of the system. Finally offers the test plan of the system. The public transport inquiry system includes bus enquiries, the functions of consumer message, the bus number managing on the backstage and the consumer managing. The bus enquiries has included the inquiry of trips, sites, transfer and so on. The function of consumer message mainly collects suggestions from consumer to modify and perfect the system functions. The function of user managing is to delete user information mainly and revises the fundamental user information. The functions of bus number managing are mainly to add, update and delete the bus number and the station on the backstage. The system is based on B / S model development, using the standard JSP language and built by SQL Server 2020 database. Using the system is not just convenient for the general pubilc, improving work efficiency, but also provides beneficial exploration for the information technology modernization in the city. Key words: JSP。 JDBC。許多新建小區(qū)大量出現(xiàn),公交線路也日漸增多,給人們的出行帶來了極大便利,但是 由于城市規(guī)模的不斷發(fā)展,給人們選擇出行乘車線路造成了一定的困難, 所以需要提供一個高效的查詢系統(tǒng), 才是問題 根本 所在 。 它不僅可以用于公交公司管理系統(tǒng)中,也可以單獨作為公交管理系統(tǒng)的一個模塊存在,并可以制作成公交信息系統(tǒng)查詢網(wǎng),放置于城市的主要場所。 本項目研究的基于 JAVA 的城市 公交查詢系統(tǒng), 包括公交查詢系統(tǒng)的大部分功能,并提供了用戶留言的功能,以方便根據(jù)用戶提供的留言信息或是提出的建議對系統(tǒng)進行修改和完善,并提供了管理員用戶后臺維護公交信息的功能,做到能夠實時添加和刪除公 交車次站點。 2 第 1 章 開發(fā)環(huán)境及技術簡介 JSP 基礎知識 JSP 是 “ Java Server Pages” 的縮寫,可以解釋為 “ 基于 Java 的服務端動態(tài)頁面技術 ” , 。因為 Java 是平臺無關的,所以 JSP 是跨平臺的。 JSP 是服務端技術,所以 JSP 文檔要先經(jīng)服務端翻譯、解釋、執(zhí)行,才能得到客戶端瀏覽器能識別的 HTML 文檔。服務端技術是 JSP 區(qū)別于 JavaScript、 VBScript 等客戶端動態(tài)頁面技術的重要牲。這是 JSP 區(qū)別于 Servlet 的重要牲。在頁面中引入程序設計 語言的目的是正是為了實現(xiàn)動態(tài)交互。 JSP 技術讓動態(tài)網(wǎng)面更易編寫,功能更強,可移植性更好。 的設計目標是使動態(tài)網(wǎng)頁的設計、開發(fā)和維護更加容易,網(wǎng)頁編寫者不必懂得 Java 編程語言,也可以編寫 JSP網(wǎng)頁。 引入的最主要的新特性包括: (1)引入簡單表達式語言( EL, Expression Language),它用于 JSP 頁面中的數(shù)據(jù)訪問。 (2)引入創(chuàng)建自定義標簽的新語法,該語法使用 .tag 和 .tagx 文件,這類文件可由開發(fā)人員或者網(wǎng)頁作者編寫。 JDBC JDBC 是執(zhí)行 SQL 語句的 Java API。相對與ODBC( Open Database Connectivity 開放數(shù)據(jù)庫連接),也可以把 JDBC 看作 “Java Database Connectivity(Java 數(shù)據(jù)庫連接 )”。 JDBC 已成為一種供工具 /數(shù)據(jù)庫開發(fā)者使用的標準 API, 用戶可以用純 Java API 來編寫數(shù)據(jù)庫應用。用戶不需要為 每一個關系數(shù)據(jù)庫單獨寫一個程序。 Java 與 JDBC 的結合 , 使程序員可以只寫一次數(shù)據(jù)庫應用軟件后 ,就能在各種數(shù)據(jù)庫系統(tǒng)上運行?,F(xiàn)在需要找到一種能使 Java 應用與各種不同數(shù)據(jù)庫對話的方式 , 而 JDBC 正是實現(xiàn)這種對話的一種機制。隨著學習 Java 程序設計的人越來越多,對 Java 的數(shù)據(jù)庫的訪問 需求越來越迫切。而各個公司可以不斷地使用已安裝的數(shù)據(jù)庫,方便地存取信息,不必顧及這些數(shù)據(jù)庫是在何種 DBMS 系統(tǒng)下存儲的。另外,在商業(yè)銷售信息服務領域 , Java 與 JDBC 則可以更好地向外界客戶提供最新信息 。 Servlet 所能應用的請求 /響應場合很多,但常用的還是在 Web 應用程序中用于產(chǎn)生超文本傳輸協(xié)議響應( HTTP)。 開發(fā)環(huán)境 本系統(tǒng)的開發(fā)采用 JSP、 Servlet、 JavaBean、 JavaScript、 JDBC 等技術。數(shù)據(jù)庫采用SQL Server 2020。 全文共五章,分別為開發(fā)環(huán)境和技術簡介,系統(tǒng)需求分析,系統(tǒng)設計,系統(tǒng)實現(xiàn)和系統(tǒng)測試,其中每章的主要內容如下: 第一 章 為 開發(fā)環(huán)境和技術簡介 ,主要對項目的開發(fā)環(huán)境、開發(fā)技術進行介紹; 第二 章 為系統(tǒng)需求分析,主要描述系統(tǒng)的調研情況,以及系統(tǒng)功能需求和系統(tǒng)非功能需求,簡單的介紹了系統(tǒng)的主要功能模塊,包括用戶登錄、公交查詢、留言管理和管理員維護 等模塊 ; 第三 章 為系統(tǒng)設計,主要解釋了系統(tǒng)結構設計、方案的選擇和系統(tǒng)數(shù)據(jù)庫的設計; 第四 章 為系統(tǒng)功能模塊的實現(xiàn),描述了各個功 能模塊的實現(xiàn),并給出關鍵模塊的實現(xiàn)代碼以及運行的效果截圖 ; 第五 章 對系統(tǒng)做了整體測試,給出系統(tǒng)功能測試用例表 ,列出了系統(tǒng)測試模塊樣例,并做了簡單分析 。 5 第 2 章 系統(tǒng)需求分析 系統(tǒng)調研 在 安陽 市公交信息化發(fā)展中已有公交查詢系統(tǒng),查詢城市公交換乘方案等。 系統(tǒng)目標 本項目設定的目標如下: (1)方便市民更好地掌握公交有關信息,輔助公交管理。 (3)為未來智能公交系統(tǒng)查詢系統(tǒng)以及開發(fā)基于更廣大用戶的開放式的網(wǎng)絡查詢系統(tǒng)打下基礎。 系統(tǒng)的功能需求 系統(tǒng)需求描述 系統(tǒng)需求: 安陽 市公交查詢系統(tǒng)需要滿足來自兩方面的需求,分別是查詢公交系統(tǒng)的普通用戶,后臺維護管理人員。后臺維護管理人員對后臺數(shù)據(jù)庫的備份和恢復,添加公交線路站點和更改已有公交線路站點。 (2)滿足后臺管理人員方便更改城市公交線路站點等信息的基 本要求。 (4)能夠使用人機互交,界面大方得體,實用。 系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)的實體數(shù)據(jù)包括了管理員,車次,站點,線路,用戶和留言。 管 理 員 登 錄 車 次 管理 用 戶 登 錄 用 戶 注冊 賬 號 線 路 管理 留 言 戶 車 輛 信 息 庫 線 路 信 息 留 言 本 站 點 管理 站 點 信 息 公 交 車 查 詢 用 戶 刪 除 用 圖 系統(tǒng)數(shù)據(jù)流圖 如圖所示,管理員登錄系統(tǒng)后,可進行車次管理、站點管理、線路管理、刪除用戶等操作。 系統(tǒng)的功能 系統(tǒng)的功能模塊包括用戶登錄模塊,公交系統(tǒng)查詢模塊,留言板模塊,用戶個人信息管理模塊,站點信息維護模塊和車次信息維護模塊, 系統(tǒng)功能模塊圖如圖 所示。對于普通用戶 注冊后 如果登錄成功,則直接進入到用戶個人主界面并選擇各種操作,否則會返回到登錄界面重新進行登錄。 2. 公交 系統(tǒng) 查詢 模塊 普通用戶登錄 成功 后可 根據(jù)自己需要進行公交查詢。車次查詢即為根據(jù)車次號查詢車次經(jīng)過的站點,該車次開收車時間,票價等基本信息;站點查詢?yōu)榻?jīng)過該站點的車次信息; 公交換乘方案查詢即分別輸入起始站點和目的站點并查詢公交乘車方案。 4. 用戶個人信息管理模塊 用戶 登錄成功后即可進入到用戶的個人主界面 ,在個人主界面中,用戶可以查看個人詳細信息,包括用戶名賬號,保護郵箱等信息,并可以自行修改密碼等個人信息, 最后 注銷登錄 返回到系統(tǒng)登錄界面 。 8 6. 車次信息 管理 模塊 管理員登錄系統(tǒng)后進入相應管理員主界面,在管理員主界面中,可對公交 車次 信息進行添加和刪除,實時更新公交變動信息。相關精度要求如下: (1)用戶名:英文加數(shù)字組合,并以英文開頭。例如 “ yx123” 在登錄時,必須注意所選擇的身份跟用戶名和密碼要保持一致。 3. 時間特性要求 響應時間:基本的信息查詢響應時間最長為 5 秒。 4. 靈活性 對設備的要求較低,且具有良好的可移植性,用戶無 論何時何地都可以方便 、快捷地使用該系統(tǒng),具有較強的靈活性和方便性。 9 第 3 章 系統(tǒng)設計 系統(tǒng)總體設計 本系統(tǒng)設計使用了面向對象技術和模塊化技術。對象是封裝了數(shù)據(jù)和操作的程序塊。因此,內部 的數(shù)據(jù)和實現(xiàn)操作的算法若有改動,對其它程序對象沒有任何影響。此外,由于對象自己操作自己的數(shù)據(jù),對同一消息不同的對象均以自己的方式響應,使得一種消息可有多種響應方式,這就是多態(tài)性。正是這些特征使程序安全、可靠、可重用、易維護。 基于面向對象設計的諸多有點,結合本設計的各項需求設計除了系統(tǒng)的總體流程,流程中包括用戶登陸,用戶名和 密碼驗證,用戶主界面,用戶操作和退出幾個模塊, 系統(tǒng)總體流程如圖 所示。首先用戶進行登錄,選擇登錄身份是 普通用戶或者管理員 ,如果用戶名和密碼正確則進入到相應的用戶個人主界面,否則返回登錄界面重新進行登錄。若用戶為普通用戶 ,則可以進行 查詢公交信息,留言,注銷和更改個人信息等操作; 若 用戶為管理員 , 則可添加刪除公交信息 。 系統(tǒng)方案選擇 目前比較流行的系統(tǒng)軟件開發(fā)技術有 或 JSP(Java Server Pages)與 WEB 數(shù)據(jù)庫相結合兩種,分別由微軟和 SUN 公司開發(fā)的一種動態(tài)網(wǎng)頁語言。目前網(wǎng)絡上和各大文獻也對兩者進行了比較,其中各有優(yōu)缺點。兩者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼。普通的 HTML 頁面只依賴于 WEB 服務器,而 ASP 和 JSP 頁面需要附加的語言引擎分析和執(zhí)行程序代碼。 ASP 和 JSP 都是面向 WEB 服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。 ASP 與 JSP 還有一個更為本質的區(qū)別:兩種語言引擎用完全不通的方式處理頁面中嵌入的程序代碼。 動態(tài)語言 JSP 和 ASP 在性能上的比較如表 所示 。兩者中, JSP 應該是未來發(fā)展的趨勢。 而數(shù)據(jù)庫選用 SQL Server 2020 因 其有以下優(yōu)點 : (1)SQL Server 2020 數(shù)據(jù)庫 應用于中小型企業(yè)。 (2)SQL Server 2020 的數(shù)據(jù)存儲