計算機系-畢業(yè)論文信息管理
《計算機系-畢業(yè)論文信息管理》由會員分享,可在線閱讀,更多相關(guān)《計算機系-畢業(yè)論文信息管理(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
火車訂票系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分使用計算機對火車信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速?查找方便?可靠性高?存儲量大?保密性好?壽命長?成本低等?這些優(yōu)點能夠極大地提高火車信息管理的效率,也是企業(yè)的科學(xué)化?正規(guī)化管理,與世界接軌的重要條件。本文針對火車站的訂票實際情況,按照軟件工程的結(jié)構(gòu)化設(shè)計思想,經(jīng)過項目的可行性研究和需求分析,總體設(shè)計,詳細設(shè)計,以及編碼實現(xiàn)和調(diào)試等步驟設(shè)計開發(fā)了火車站網(wǎng)上訂票系統(tǒng)。并運用數(shù)據(jù)流圖和數(shù)據(jù)字典,E-R 圖和數(shù)據(jù)庫邏輯結(jié)構(gòu),層次圖,系統(tǒng)流程圖,以及程序流程圖,對該系統(tǒng)的數(shù)據(jù)需求,數(shù)據(jù)庫,系統(tǒng)軟件結(jié)構(gòu),系統(tǒng)流程,以及處理過程等進行了分析和設(shè)計。本系統(tǒng)前臺主要使用 JSP 作為開發(fā)語言,后臺使用 MySQL 作為數(shù)據(jù)庫管理系統(tǒng),開發(fā)環(huán)境是 MyEclipse,服務(wù)器采用 tomcat,開發(fā)出的一個基于 Web 技術(shù)的 B/S 結(jié)構(gòu)的火車訂票系統(tǒng)。關(guān)鍵詞:信息管理 火車訂票 JSP B/S 結(jié)構(gòu)IThe Design and Implementation of Train ticketing systemAbstractWith the continuous improvement of science and technology, computer science increasingly mature, its powerful features for people to have a profound understanding, it has entered the human society in various fields and play an increasingly important role. As part of the computer application the use of computers to train information management, with a manual management of the incomparable advantages. For example: the rapid retrieval and search for convenient, high reliability, large storage capacity, confidentiality good, long life and low cost. These advantages can improve the efficiency of the train information management, the enterprise is also a scientific, standardized management, and an important condition for the world.Aiming at the train station booking the actual situation, in accordance with a structured software engineering design, after the project can do research and needs analysis, general design, detailed design, coding and debugging steps as well as the design and development of fire station online booking system. And use the data flow diagram and data dictionary, E-R diagram and database logical structure, hierarchy diagram, system flow chart, and program flow chart of the system, data requirements, database, system software structure, system flow process, and process is analyzed and design.The front of the system using JSP as a development language, the use of MySQL as a database management system, the development environment is MyEclipse, server using tomcat, developed a Web technology based on B/S structure of railway ticketing system.Key words: information management; train ticket; JSP; B / S structureII目 錄中文摘要........................................................................i英文摘要.......................................................................ii目錄..........................................................................iii第一章 緒論.....................................................................11.1課題背景 ...............................................................11.2目的和意義 .............................................................11.3開發(fā)工具及技術(shù) .........................................................11.3.1開發(fā)工具 ........................................................11.3.2 JSP ............................................................21.3.3 JavaScript .....................................................21.3.4 Struts2簡介 ....................................................31.3.5 Hibernate簡介 ..................................................31.4軟硬件需求 .............................................................3第二章 需求分析.................................................................42.1需求調(diào)研 ...............................................................42.2可行性分析 .............................................................42.2.1技術(shù)的可行性 ....................................................42.2.2經(jīng)濟的可行性 ....................................................42.2.3操作可行性 ......................................................42.2.4法律的可行性 ....................................................52.3系統(tǒng)用戶用例圖 .........................................................52.3.1管理員用例圖 ....................................................52.3.2會員用例圖 ......................................................52.4功能模塊需求分析 .......................................................62.5設(shè)計的 基本思想 .........................................................72.6性能需求 ...............................................................72.6.1系統(tǒng)的安全性 ....................................................7III2.6.2數(shù)據(jù)的完整性 ....................................................72.7界面需求 ...............................................................7第三章 系統(tǒng)分析與設(shè)計...........................................................83.1數(shù)據(jù)庫的分析與設(shè)計 .....................................................83.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計 ............................................83.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計 ...........................................103.1.3數(shù)據(jù)庫的連接原理 ...............................................123.2中文亂碼問題處理 ......................................................12第四章 系統(tǒng)功能實現(xiàn)............................................................134.1前臺網(wǎng)站模塊 ..........................................................134.1.1網(wǎng)站首面 .......................................................134.1.2用戶注冊 .......................................................134.1.3車票預(yù)訂 .......................................................144.2會員功能模塊 ..........................................................144.2.1會員中心 .......................................................144.2.2我的基本信息 ...................................................154.2.3我的訂單信息 ...................................................154.2.4修改密碼 .......................................................164.3管理員功能模塊 ........................................................164.3.1登錄系統(tǒng) .......................................................164.3.2管理員主頁面 ...................................................174.3.3會員信息管理 ...................................................184.3.4車次信息管理 ...................................................184.3.5訂單信息管理 ...................................................204.3.6修改密碼 .......................................................214.3.7退出系統(tǒng) .......................................................21第五章 系統(tǒng)測試................................................................235.1系統(tǒng)測試目的與意義 ....................................................23IV5.2測試過程 ..............................................................235.2.1主頁面的登錄模塊測試 ...........................................235.2.2其他錯誤 .......................................................24第六章 結(jié) 論..................................................................25致 謝.........................................................................26參考文獻.......................................................................270第一章 緒論1.1 課題背景火車站市場的管理和規(guī)范問題,是困擾我們多年的一個老問題,也是政府管理中的一個難點,訂票是客運業(yè)務(wù)中的一個最基本的業(yè)務(wù),表面上看,它只是火車站業(yè)務(wù)的一個簡單的部分,但是它涉及到管理與客戶服務(wù)等多方面 [1],因此,過去傳統(tǒng)的售票方式已經(jīng)不能滿足現(xiàn)代客運業(yè)務(wù)流量劇增的客觀要求,這就要求一種全新的訂票方式——網(wǎng)上訂票,來緩解訂票高峰時期的客運壓力,并為用戶提供方便快捷的訂票服務(wù)。1.2 目的和意義中國現(xiàn)在擁有非常先進、發(fā)達的鐵路系統(tǒng),但目前的售票系統(tǒng)還是上世紀 60 年代開發(fā)的。2003 年以后,中國鐵路開始加快現(xiàn)代化建設(shè),近幾年來中國的火車訂票系統(tǒng)已經(jīng)逐步走向現(xiàn)代化,訂票全路聯(lián)網(wǎng),實現(xiàn)了信息化管理 [2]。但是鐵路歷史由來的“老大難”問題——售票問題,一直無法得到解決。每年的各大節(jié)假日,全國人民總會為買票問題而苦惱,一部分人更是無緣車票。雖然目前的電話訂票,也極大地方便了旅客,然而最貼近現(xiàn)代化發(fā)展水平的還是網(wǎng)上訂票項目,國家也積極推進。1.3 開發(fā)工具及技術(shù)1.3.1 開發(fā)工具此次設(shè)計主要采用 MyEclipse 加 Tomcat 后臺服務(wù)器進行,設(shè)計過程中頁面主要使用 JSP 技術(shù)完成,下面對 MyEclipse、Tomcat 和 MySQL 數(shù)據(jù)庫進行簡要介紹。1.3.1.1 MyEclipse MyEclipse,是一個十分優(yōu)秀的用于開發(fā) Java,J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse 企業(yè)級工作平臺(MyEclipse Enterprise Workbench,簡稱 MyEclipse)是對 Eclipse IDE[3]的擴展,利用它我們可以在數(shù)據(jù)庫和 JavaEE 的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 JavaEE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持 HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。1.3.1.2 Tomcat Tomcat 是一個小型的輕量級應(yīng)用服務(wù)1器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。可以這樣認為,當(dāng)在一臺機器上配置好 Apahce 服務(wù)器,可利用它響應(yīng)對 HTML 頁面的訪問請求。實際上 Tomcat 部分是 Apache 服務(wù)器 [3]的擴展,但它是獨立運行的,所以當(dāng)運行 tomcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。1.3.1.3 MySQL MySQL 是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典 MySQL AB 公司開發(fā),目前屬于 Oracle 公司。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL 所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言 [3]。MySQL 軟件由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。1.3.2 JSPJSP 技術(shù)使用 Java 編程語言編寫類 XML 的 tags 和 scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計 [4],可以使基于 Web 的應(yīng)用程序的開發(fā)變得迅速和容易。Web 服務(wù)器在遇到訪問 JSP 網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP 文件中的 HTML 代碼一起返回給客戶。插入的 Java 程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP 與 Servlet 一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個 HTML 文本,因此客戶端只要有瀏覽器能瀏覽。JSP 頁面由 HTML 代碼和嵌入其中的Java 代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些 Java 代碼進行處理,然后將生成的HTML 頁面返回給客戶端的瀏覽器 [5]。Servlet 是 JSP 的技術(shù)基礎(chǔ),而且大型的 Web 應(yīng)用程序的開發(fā)需要 Java Servlet 和 JSP 配合才能完成。JSP 具備了 Java 技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點 [6]。1.3.3 JavaScriptJavaScript 是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端 Web 開發(fā)的腳本語言,常用來給 HTML 網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript 的一個重要功能就是面向?qū)ο蟮墓δ埽ㄟ^基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復(fù)使用的方式進行程序開發(fā)。在 HTML 基礎(chǔ)上,使用 Javascript 可以開發(fā)交互式 Web 網(wǎng)頁。Javascript 的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交2互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容 [7]。在本系統(tǒng)中很多地方使用了javascript 技術(shù),比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。1.3.4 Struts2 簡介Struts 最早是作為 Apache Jakarta 項目的組成部分問世運作。項目的創(chuàng)立者希望通過對該項目的研究,改進和提高 Java Server Pages、Servlet、標(biāo)簽庫以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。它的目的是為了減少在運用 MVC 設(shè)計模型來開發(fā) Web 應(yīng)用的時間。使用 Struts 的目的是為了幫助我們減少在運用 MVC 設(shè)計模型來開發(fā) Web 應(yīng)用的時間。Struts 是 Apache 軟件基金會(ASF)贊助的一個開源項目。它最初是 Jakarta 項目中的一個子項目,并在 2002 年 3 月成為 ASF 的頂級項目。它通過采用 Java Servlet/JSP 技術(shù),實現(xiàn)了基于 Java EE Web 應(yīng)用的 Model-View-Controller〔MVC〕設(shè)計模式的應(yīng)用框架〔Web Framework〕[3],是 MVC 經(jīng)典設(shè)計模式中的一個經(jīng)典產(chǎn)品。而 Struts2 則是 Struts 的升級版本。1.3.5 Hibernate 簡介Hibernate 是一個開放源代碼的對象關(guān)系映射框架,它對 JDBC 進行了非常輕量級的對象封裝,使得 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate 可以應(yīng)用在任何使用 JDBC 的場合,既可以在 Java 的客戶端程序使用,也可以在 Servlet/JSP 的 Web 應(yīng)用中使用,最具革命意義的是,Hibernate 可以在應(yīng)用 EJB 的 J2EE 架構(gòu)中取代 CMP[3],完成數(shù)據(jù)持久化的重任。Hibernate 的核心接口一共有 2 個,分別為:Session、SessionFactory、Transaction、Query 和 Configuration。這 2 個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制 [3]。1.4 軟硬件需求硬 件 需 求 :CPU: Pentium 以 上 計 算 機 內(nèi) 存 : 512M 以 上 軟 件 需 求 :操 作 系 統(tǒng) 版 本 : Windows XP/vista/Win7 開 發(fā) 工 具 : MyEclipse 10 后 臺 服 務(wù) 器 : Apache Tomcat 7 開 發(fā) 語 言 : Java 瀏 覽 器 : IE 10 3第二章 需求分析2.1 需求調(diào)研在項目的開始是需求調(diào)研,經(jīng)過一系列的調(diào)查發(fā)現(xiàn),火車站市場的管理和規(guī)范問題,是困擾我們多年的一個老問題,也是政府管理中的一個難點。訂票是客運業(yè)務(wù)中的一個最基本的業(yè)務(wù),表面上看,它只是火車站業(yè)務(wù)的一個簡單的部分,但是它涉及到管理與客戶服務(wù)等多方面 [1],因此,過去傳統(tǒng)的售票方式已經(jīng)不能滿足現(xiàn)代客運業(yè)務(wù)流量劇增的客觀要求,這就要求一種全新的訂票方式——網(wǎng)上訂票,來緩解訂票高峰時期的客運壓力,并為用戶提供方便快捷的訂票服務(wù)。2.2 可行性分析開發(fā)任何一個系統(tǒng),都會受到時間和資源上的限制。因此,在每一個項目開發(fā)之前,都要進行可行性分析,可以減少項目的開發(fā)風(fēng)險,避免人力、物力和財力的浪費。下面就技術(shù)、經(jīng)濟、操作和法律四個方面來介紹。2.2.1 技術(shù)的可行性本系統(tǒng)開發(fā)工具是 MyEclipse 和 MySQL 數(shù)據(jù)庫,開發(fā)語言是 Java,主要使用了 J2EE 的技術(shù),java 是一種面向?qū)ο缶幊陶Z言,簡單易學(xué)而且靈活方便。大三時就學(xué)習(xí)了 java 課程,大四期間也系統(tǒng)的了解了 J2EE 的知識,火車訂票系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設(shè)計和操作是本系統(tǒng)設(shè)計的核心。在大學(xué)期間學(xué)習(xí)過 UML 統(tǒng)一建模語言等課程,每個學(xué)期也會完成對應(yīng)的課程設(shè)計,具備一定的系統(tǒng)分析、設(shè)計和測試能力。因此,完成系統(tǒng)實現(xiàn)在技術(shù)上完全具有可行性。2.2.2 經(jīng)濟的可行性如今是信息化時代,信息化管理可以使車票管理、預(yù)訂工作更加系統(tǒng)化、快速化、全面化。這樣可以為企業(yè)帶來較高的工作效益和經(jīng)濟效益,本系統(tǒng)對計算機配置的要求不高,企業(yè)機房更換下來的低配置電腦都可以完全滿足需要,再者,企業(yè)在管理工作上的高效率和便捷性遠遠超過了開發(fā)本系統(tǒng)的成本 [8],所以在經(jīng)濟上具有完全的可行性。2.2.3 操作可行性本系統(tǒng)操作簡單,輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對操作人員的要求很低,只需對 WINDOWS 操作熟練,加之對本系統(tǒng)的操作稍加培訓(xùn)即可工作,而且本系統(tǒng)可視性非常好,所4以在技術(shù)上不會有很大難度。2.2.4 法律的可行性本系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問題,即法律上是可行的 [8]。綜上所述,開發(fā)一個網(wǎng)絡(luò)火車訂票系統(tǒng)與傳統(tǒng)售票的方式相比具有速度更快,操作更準(zhǔn)確,節(jié)省開支等有利之處,因此,建立一個網(wǎng)絡(luò)火車訂票系統(tǒng)是必要可行的。2.3 系統(tǒng)用戶用例圖2.3.1 管理員用例圖管理員是系統(tǒng)的核心用戶,涉及到四大功能模塊,管理員對系統(tǒng)的所有用戶有著操作的權(quán)限,能夠及時動態(tài)的掌握車票及訂單的各項情況。管理員用例圖如圖 2-1 所示:管理員登錄系統(tǒng)會員信息管理修改密碼車次信息管理訂單信息管理圖 2-1 管理員用例圖2.3.2 會員用例圖會員是系統(tǒng)的主要用戶,登錄系統(tǒng)可進入會員中心。會員用例圖如圖 2-2 所示:5會員登錄系統(tǒng) 修改個人信息修改密碼我的車票訂單管理圖 2-2 會員用例圖2.4 功能模塊需求分析本系統(tǒng)最大的特點是使用操作簡單、友好的提示信息。本系統(tǒng)將實現(xiàn)以下基本功能:(1)系統(tǒng)具有簡潔大方的頁面,使用簡便,友好的錯誤操作提示。(2)管理員用戶具有管理員信息管理、會員信息管理、車次信息管理、訂單信息管理等功能。(3)具有較強的安全性,避免用戶的惡意操作 [9]。管理員功能模塊圖說明:管理員是功能最多的一種用戶角色。(1)管理員管理模塊:在該模塊中完成管理員的密碼修改功能。(2)會員信息管理模塊:在該模塊中定義了注冊會員信息的管理,其功能包括會員信息的查詢、刪除等操作。(3)車次信息管理模塊:在該模塊中定義了對車次信息的管理,其功能包括車次信息錄入、查詢、刪除等操作。(4)訂單信息管理模塊:在該模塊中定義了對訂單信息的管理,其功能包括訂單信息查詢、受理、刪除等操作。管理員用戶功能模塊圖如圖 2-3 所示:6管理員用戶模塊修改個人密碼會員信息管理碼車次信息管理訂單信息管理會員刪除會員管理車次管理車次添加訂單受理訂單管理圖 2-3 管理員用戶功能模塊圖2.5 設(shè)計的基本思想設(shè)計思想遵循以下幾點:1. 采用 B/S 模式進行開發(fā),其優(yōu)點是后臺與前臺處理層次分明,而且符合眾多已經(jīng)習(xí)慣網(wǎng)頁方式的用戶。2. 采用面向?qū)ο蟮拈_發(fā)與設(shè)計理念。運用面向?qū)ο蠹夹g(shù)的前提是對整體系統(tǒng)的高度和準(zhǔn)確抽象,通過它可以保證系統(tǒng)良好的框架,進而帶來產(chǎn)品較強的穩(wěn)定性和運行效率。3. 采用模塊化設(shè)計。模塊化設(shè)計要求將整個系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡化設(shè)計和實現(xiàn)過程。4. 簡單方便的系統(tǒng)界面。設(shè)計簡單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。5.速度優(yōu)先原則。由于此工具最重要的評測標(biāo)準(zhǔn)就是速度,因此在設(shè)計過程中,具體過程盡量做到資源占用少,速度快。6.設(shè)計既要突出重點,又要細致周到。要符合設(shè)計需求,在有可能改進的地方進行擴充,使系統(tǒng)更適應(yīng)用戶的需要 [9]。72.6 性能需求2.6.1 系統(tǒng)的安全性火車訂票系統(tǒng)在管理權(quán)限上要嚴格進行控制,具體要求如下:想登錄火車訂票系統(tǒng)后臺進行操作,必須有操作權(quán)限,沒有權(quán)限的用戶不能通過任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴密性和安全性;要在前臺提交訂單等信息,必須先進行注冊,未注冊的用戶不能進行任何操作。2.6.2 數(shù)據(jù)的完整性1.各種記錄信息的完整性,信息記錄內(nèi)容不能為空。2.各種數(shù)據(jù)間相互聯(lián)系的正確性。3.相同數(shù)據(jù)在不同記錄中的一致性。2.7 界面需求界面設(shè)計目前已經(jīng)成為評價軟件質(zhì)量的一條重要指標(biāo),一個好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP 技術(shù)是用 JAVA 語言作為腳本語言的,JSP 網(wǎng)頁為整個服務(wù)器端的 JAVA 庫單元提供了一個接口來服務(wù)于 HTTP 的應(yīng)用程序。創(chuàng)建動態(tài)頁面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人-機對話的界面格式等 [10]。第三章 系統(tǒng)分析與設(shè)計3.1 數(shù)據(jù)庫的分析與設(shè)計計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。數(shù)據(jù)庫已經(jīng)成為現(xiàn)在信息系統(tǒng)等計算機系統(tǒng)的基礎(chǔ)與核心部分 [10]。數(shù)據(jù)庫設(shè)計的好壞直接影響到整個系統(tǒng)的質(zhì)量和效率。數(shù)據(jù)庫的設(shè)計一般經(jīng)過規(guī)劃。需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計 5 個步驟。3.1.1 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計概念設(shè)計是指在數(shù)據(jù)分析的基礎(chǔ)上自底向上的建立整個系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu),從用戶的角度進行視圖設(shè)計,然后將視圖集成,最后對集成的結(jié)構(gòu)分析優(yōu)化得到最后結(jié)果 [9]。數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計采用實體—聯(lián)系(E-R)模型設(shè)計方法。E-R 模型法的組成元素有:實體、屬性、聯(lián)系,E-R 模型用 E-R 圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對8實體特性的描述 [9]。根據(jù)以上對數(shù)據(jù)庫的需求分析,并結(jié)合系統(tǒng)概念模型的特點及建立方法,建立 E-R 模型圖。(1)會員信息實體 E-R 圖如圖 3-1 所示:用戶名密碼會員信息真實姓名身份證號 性別聯(lián)系電話電子郵箱地址圖 3-1 會員信息實體 E-R 圖(2)車次信息實體 E-R 圖如圖 3-2 所示車次號出發(fā)站車次信息到達站出發(fā)時間 發(fā)車時間到達時間剩余票數(shù)票價圖 3-2 車次信息實體 E-R 圖屬性 實體間關(guān)系實體9(3)訂單信息 E-R 圖如圖 3-3 所示會員信息車次信息訂單信息預(yù)定金額支付方式 預(yù)訂時間預(yù)定狀態(tài)圖 3-3 訂單信息實體 E-R 圖(4)管理員信息 E-R 圖如圖 3-4 所示管理員信息登錄名密碼圖 3-4 管理員信息實體 E-R 圖3.1.2 數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計我們知道,數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用10的數(shù)據(jù)庫管理系統(tǒng)的特點進行轉(zhuǎn)換。即轉(zhuǎn)化為按計算機觀點處理的邏輯關(guān)系模型,E-R 模型向關(guān)系數(shù)據(jù)庫模型轉(zhuǎn)換應(yīng)遵循下列原則:*每一個實體要轉(zhuǎn)換成一個關(guān)系*所有的主鍵必須定義非空(NOT NULL)*對于二元聯(lián)系應(yīng)按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵 [9]。根據(jù) E-R 模型,火車訂票系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細說明。(1)會員信息表主要是記錄了會員基本信息。表結(jié)構(gòu)如表 3-5 所示。表 3-5 會員信息表(t_user)列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明user_id int 4 否 是 編號user_name varchar 50 否 否 登錄名user_pw varchar 50 否 否 密碼user_realname varchar 50 否 否 真實姓名user_idcard varchar 50 否 否 身份證號user_sex varchar 50 否 否 性別user_tel varchar 50 否 否 聯(lián)系電話user_email varchar 50 否 否 電子郵箱user_address varchar 200 否 否 住址yxbz varchar 1 否 否 有效標(biāo)志(2)車次信息表主要是記錄了車次的基本信息,表結(jié)構(gòu)如表 3-6 所示。表 3-6 車次信息表(t_checi)列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明id int 4 否 是 編號checihao varchar 50 否 否 車次號shifazhan varchar 50 否 否 出發(fā)站daodazhan varchar 50 否 否 到達站piaoshijian varchar 50 否 否 出發(fā)時間startshijian varchar 50 否 否 發(fā)車時間endshijian varchar 50 否 否 到達時間piaojia double 10 否 否 票價11piaoshu int 8 否 否 剩余票數(shù)yxbz varchar 1 否 否 有效標(biāo)志(3)訂單信息表主要是記錄訂單的基本信息,表結(jié)構(gòu)如表 3-7 所示。表 3-7 訂單信息表(t_yuding)列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明id int 4 否 是 編號user_id int 4 否 否 會員 IDcheci_id int 4 否 否 車次 IDyuding_jine varchar 50 否 否 預(yù)訂金額zhifufangshi varchar 50 否 否 支付方式y(tǒng)uding_shijian varchar 50 否 否 預(yù)訂時間yuding_zhuantai varchar 50 否 否 預(yù)訂狀態(tài)(6)管理員信息表主要記錄管理員的賬號信息,包括用戶名和密碼,表結(jié)構(gòu)如表 3-8 所示。表 3-8 管理員信息表(t_admin)列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明userId int 4 否 是 編號userName varchar 50 否 否 用戶名userPw varchar 50 否 否 密碼3.1.3 數(shù)據(jù)庫的連接原理本系統(tǒng)采用 Hibernate 對數(shù)據(jù)庫進行管理。Hibernate 是一個開放源代碼的對象關(guān)系映射框架,它對 JDBC 進行了輕量級的對象封裝,使 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。它不僅提供了從 Java 類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機制 [3]。相對于使用 JDBC 和 SQL 來手工操作數(shù)據(jù)庫, Hibernate 可以大大減少操作數(shù)據(jù)庫的工作量。另外 Hibernate 可以利用代理模式來簡化載入類的過程,這將大大減少利用 Hibernate QL 從數(shù)據(jù)庫提取數(shù)據(jù)的代碼的編寫量,從而節(jié)約開發(fā)時間和開發(fā)成本 Hibernate 可以和多種Web 服務(wù)器或者應(yīng)用服務(wù)器良好集成,如今已經(jīng)支持幾乎所有的流行的數(shù)據(jù)庫服務(wù)器。Hibernate 技術(shù)本質(zhì)上是一個提供數(shù)據(jù)庫服務(wù)的中間件。它的架構(gòu)如圖 3-9 所示:12圖 3-9 Hibernatre 架構(gòu)圖圖 3.5 顯示了 Hibernate 的工作原理,它是利用數(shù)據(jù)庫以及其他一些配置文件如 Hibernate.properties,XML Mapping 等來為應(yīng)用程序提供數(shù)據(jù)持久化服務(wù)的。Hibernate 具有很大的靈活性,但同時它的體系結(jié)構(gòu)比較復(fù)雜,提供了好幾種不同的運行方式。在輕型體系中,應(yīng)用程序提供 JDBC 連接,并且自行管理事務(wù),這種方式使用了 Hibernate 的一個最小子集 [3];在全面解決體系中,對于應(yīng)用程序來說,所有底層的 JDBC/JTA API 都被抽象了,Hibernate 會替你照管所有的細節(jié)。3.2 中文亂碼問題處理在程序中經(jīng)常會遇到中文亂碼的情況,解決辦法是將頁面的編碼方式和 struts.xml 的設(shè)置的編碼方式都用成 utf-8。1. 在 jsp 頁面設(shè)定字符編碼,;2. 在 struts.properties 中加入?yún)?shù) struts.i18n.encoding = UTF-8。第四章 系統(tǒng)功能實現(xiàn)在管理信息系統(tǒng)的生命周期中,經(jīng)過了需求分析、系統(tǒng)設(shè)計等階段之后,便開始了系統(tǒng)實施階段。在系統(tǒng)分析和設(shè)計階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術(shù)設(shè)計上,系統(tǒng)實施階段要繼承此前面各個階段的工作成果,將技術(shù)設(shè)計轉(zhuǎn)化為物理實現(xiàn),因此系統(tǒng)實施的成果是系統(tǒng)分析和設(shè)計階段的結(jié)晶 [10-13]。134.1 前臺網(wǎng)站模塊4.1.1 網(wǎng)站首面 1.描述:火車訂票系統(tǒng)網(wǎng)首頁分為頂部菜單、右側(cè)的登錄模塊及日歷表、中間主要的車次信息三部分組成。2.程序效果圖如下圖 4-1 所示:圖 4-1 網(wǎng)站首頁4.1.2 用戶注冊1.描述:新用戶通過該模塊實現(xiàn)網(wǎng)站注冊會員功能的實現(xiàn)。2.程序效果圖如下圖 4-2 所示:14圖 4-2 用戶注冊界面4.1.3 車票預(yù)訂1.描述:注冊用戶瀏覽主頁中的所有可預(yù)訂的車票信息,點擊預(yù)訂,填寫預(yù)訂信息,完成車票預(yù)訂操作。預(yù)訂車票時要先判斷用戶是否登錄,否則不能預(yù)訂。2.程序效果圖如下圖 4-3 所示:圖 4-3 車票預(yù)訂界面4.2 會員功能模塊4.2.1 會員中心1.描述:會員中心主頁面:左方頁面展示了會員可操作的兩大功能,進入相關(guān)的管理頁面可以鏈接到子菜單,每個管理模塊下面都有相應(yīng)的子菜單。152.程序運行效果圖如圖 4-4 所示:圖 4-4 會員中心主頁面4.2.2 我的基本信息1.描述:會員點擊左側(cè)的菜單“我的基本信息” ,頁面跳轉(zhuǎn)到我的基本信息界面,調(diào)用后臺的 action 類查詢出我的基本信息,并顯示到頁面上。2.程序效果圖如下圖 4-5 所示:圖 4-5 我的基本信息4.2.3 我的訂單信息1.描述:會員點擊左側(cè)的菜單“我的訂單信息” ,頁面跳轉(zhuǎn)到會員訂單信息管理界面,調(diào)用后臺的 action 類查詢出所有的會員訂單信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合 List 中,綁定到request 對象,然后頁面跳轉(zhuǎn)到相應(yīng)的 jsp,顯示出會員訂單信息。2.程序效果圖如下圖 4-6 所示:16圖 4-6 會員訂單信息4.2.4 修改密碼1.描述:輸入用戶的原有密碼,輸入新密碼以后點擊修改按鈕即可修改密碼成功。2.程序效果圖如圖 4-7 所示:圖 4-7 修改密碼4.3 管理員功能模塊4.3.1 登錄系統(tǒng)1.描述:為了保證后臺管理系統(tǒng)的安全性,要使用本系統(tǒng),必須先登陸到系統(tǒng)中,管理員需要正確的賬號和密碼登錄本系統(tǒng)后臺管理。2.程序運行效果圖如圖 4-8 所示:17圖 4-8 后臺系統(tǒng)登陸頁面設(shè)計4.3.2 管理員主頁面1.描述:管理員主頁面:左方頁面展示了管理員可操作的四大功能,進入相關(guān)的管理頁面可以鏈接到子菜單,每個管理模塊下面都有相應(yīng)的子菜單。2.程序運行效果圖如圖 4-9 所示:圖 4-9 管理員主頁面184.3.3 會員信息管理4.3.3.1 會員信息管理1.描述:管理員點擊左側(cè)的菜單“會員信息管理” ,頁面跳轉(zhuǎn)到會員信息管理界面,調(diào)用后臺的 action 類查詢出所有的會員信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合 List 中,綁定到 request對象,然后頁面跳轉(zhuǎn)到相應(yīng)的 jsp,顯示出會員信息。2.程序效果圖如下圖 4-10 所示圖 4-10 會員信息管理4.3.3.2 會員信息刪除1.描述:點擊會員信息管理,頁面跳轉(zhuǎn)到會員信息管理界面,瀏覽所有的會員信息,點擊要刪除的會員信息,彈出的確定對話框,即可刪除該會員信息。2.程序效果圖如圖 4-11 所示:圖 4-11 會員信息刪除4.3.4 車次信息管理4.3.4.1 查詢車次信息1.描述:管理員點擊左側(cè)的菜單“車19次信息管理” ,頁面跳轉(zhuǎn)到車次信息管理界面,調(diào)用后臺的 action 類查詢出所有的車次信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合 List 中,綁定到 request 對象,然后頁面跳轉(zhuǎn)到相應(yīng)的 jsp,顯示出車次信息。還可以通過輸入條件查找到對應(yīng)的車次,然后進行編輯或刪除。2.程序效果圖如圖 4-12 所示:圖 4-12 查詢車次信息4.3.4.2 添加車次信息1.描述:管理員輸入車次相關(guān)正確信息后點擊提交按鈕,如果是沒有輸入完整的車次信息,都會給出相應(yīng)的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過 form 表單中定義的方法onsubmit="return checkForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。2.程序效果圖如圖 4-13 所示:圖 4-13 添加車次信息204.3.4.3 修改車次信息1.描述:點擊車次信息管理,頁面跳轉(zhuǎn)到車次信息管理界面,瀏覽所有的車次信息,點擊要修改的車次信息,跳轉(zhuǎn)到車次信息修改頁面修改該條車次信息。2.程序效果圖如下圖 4-14 所示圖 4-14 修改車次信息4.3.5 訂單信息管理4.3.5.1 訂單信息管理1.描述:管理員點擊左側(cè)的菜單“訂單信息管理” ,頁面跳轉(zhuǎn)到訂單信息管理界面,調(diào)用后臺的 action 類查詢出所有的訂單信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合 List 中,綁定到 request對象,然后頁面跳轉(zhuǎn)到相應(yīng)的 jsp,顯示出訂單信息。管理員可以對訂單進行受理或刪除。2.程序效果圖如下圖 4-15 所示圖 4-15 訂單信息管理214.3.5.2 訂單信息刪除1.描述:點擊訂單信息管理,頁面跳轉(zhuǎn)到訂單信息界面,瀏覽所有的訂單信息,點擊要刪除的訂單信息,彈出的確定對話框,即可刪除該訂單信息。2.程序效果圖如圖 4-16 所示:圖 4-16 訂單信息刪除4.3.6 修改密碼1.描述:輸入管理員的原有密碼,輸入新密碼以后點擊修改按鈕即可修改密碼成功。2.程序效果圖如圖 4-17 所示:圖 4-17 修改密碼4.3.7 退出系統(tǒng)1.描述:點此按鈕回到系統(tǒng)的主頁面。2.程序效果圖如圖 4-18 所示:22圖 4-18 退出系統(tǒng)3.關(guān)鍵代碼:主要是通過 javascript 語句來實現(xiàn),item_word[8][4]="退出"; item_link[8][4]="javascript:window.open('../index.jsp','_self')"; 23第五章 系統(tǒng)測試5.1 系統(tǒng)測試目的與意義系統(tǒng)測試是管理信息系統(tǒng)開發(fā)周期中一個十分重要而漫長的的階段。其重要性體現(xiàn)在他是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對整個系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實現(xiàn)的最終審查。系統(tǒng)測試的任務(wù)是盡可能徹底的檢查出程序中的錯誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗系統(tǒng)“做得怎樣” 。這這階段又可以分為三個步驟:模塊測試,測試每個模塊的程序是否正確;組裝測試,測試模塊之間的接口是否正確;確認測試,測試整個軟件系統(tǒng)是否滿足用戶功能和性能的要求。測試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒測試,應(yīng)覆蓋系統(tǒng)隨偶聯(lián)合的部件 [10-13]。系統(tǒng)測試是正對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出需求規(guī)格不符合或與之矛盾的地方。5.2 測試過程在測試之初,由于將數(shù)據(jù)庫中的數(shù)據(jù)是隨便輸入,沒有實用性,為了使系統(tǒng)更加完善,在系統(tǒng)測試的過程中,本系統(tǒng)將一開始編程隨便輸入的數(shù)據(jù)全部清理后,輸入了一些有效的測試數(shù)據(jù),這樣可以更真實的反映系統(tǒng)的功能實現(xiàn)情況。這樣不斷發(fā)現(xiàn)問題,經(jīng)過反復(fù)的測試、調(diào)試,把問題一個個的解決,最終系統(tǒng)可以正常運行。5.2.1 主頁面的登錄模塊測試測試流程: 1.打開系統(tǒng)首頁,輸入錯誤的登錄信息2.登錄3.輸入正確的登錄信息4.登錄5.測試結(jié)果模塊名稱 測試用例 預(yù)期結(jié)果 實際結(jié)果 是否通過登錄模塊 用戶名:null 密碼:null 彈出錯誤提示,請輸入用戶名登陸失敗,提示請輸入用戶名通過登錄模塊 用戶名:m1 密碼:null 彈出錯誤提示,請輸入密碼失敗,提示輸入密碼 通過24登錄模塊 用戶名:m1密碼:1 彈出錯誤提示,用戶名或者密碼錯誤登陸失敗,提示用戶名或者密碼錯誤通過5.2.2 其他錯誤在程序設(shè)計實現(xiàn)的過程中不可避免的會產(chǎn)生各種難以預(yù)料的錯誤,如書寫錯誤、傳值類型不一致、參數(shù)傳遞問題等等。這些都需要通過細心的檢測與不斷的調(diào)試才能夠排除。比如在action 配置時因粗心錯誤導(dǎo)致運行導(dǎo)致所報錯誤,如圖 5-1 所示:圖 5-1 由于 action 配置錯誤,運行時的提示很多時候往往是一些小錯誤,debug 難找到錯誤所在,讓我調(diào)試半天。因此做系統(tǒng)一定要思維嚴謹,編寫代碼要認真仔細,做事要細致。25第六章 結(jié) 論本次畢業(yè)設(shè)計將我大學(xué)四年所學(xué)的軟件理論知識用到了具體的實踐中去,深化了理論知識,同時也鍛煉了動手實踐能力。在這段日子里,我查閱了許多有關(guān)火車票網(wǎng)上訂票系統(tǒng)的資料,翻閱了許多 JSP 的書籍,結(jié)合自己的經(jīng)驗,詳細調(diào)查了網(wǎng)上訂票=管理的工作內(nèi)容與細節(jié),開發(fā)設(shè)計了這個火車訂票系統(tǒng),雖然每個學(xué)期都會有相應(yīng)課程的課程設(shè)計和實訓(xùn)來作為動手練習(xí)訓(xùn)練,不過在本次畢業(yè)設(shè)計具體的實踐的時候還是遇到了很多小問題,比如說在 jsp 頁面將輸入框設(shè)為不可用是添加屬性 readonly=“true”,而我在實際編程中卻錯寫成 disable=“true”,這樣直接導(dǎo)致了 request 對象取不到數(shù)據(jù),調(diào)試了程序很久才發(fā)現(xiàn) request 對象獲得的返回值一直是空,之前一直以為是代碼哪里出了問題,總是在查源程序的邏輯。這些雖然都是小問題,但是由于不細心在具體實踐中卻浪費了不少時間,看來平時還是要多多實踐才是。在系統(tǒng)的開發(fā)過程中,我運用到了 B/S 三層結(jié)構(gòu)技術(shù)和自己在平時學(xué)習(xí)中掌握的一些技術(shù),通過這些技術(shù)的實現(xiàn),整個系統(tǒng)的性能得到了大大的提高。這些技術(shù)都在論文中做了比較詳細的介紹。本系統(tǒng)還存在許多的缺陷和不足之處,比如很多細節(jié)上做的還不行,有些功能模塊還應(yīng)再加強。希望在以后的時間里,我可以把這些缺陷都彌補過來,進一步完善系統(tǒng)。通過本次畢業(yè)設(shè)計我鍛煉了自己的自學(xué)、研究能力,也從中學(xué)到不少在課堂上學(xué)不到的東西。通過實踐我也深刻的體會到軟件開發(fā)的艱辛及問題解決后的喜悅心情,培養(yǎng)我的獨立思考問題的能力,同時也增強了我的理論聯(lián)系實際的能力,這為自己以后的工作奠定了良好的基礎(chǔ)。本系統(tǒng)可以在很大程度上增加人們售票的途徑,減少購票的排隊時間,但由于時間按和技術(shù)條件的限制,還存在一些不足之處,有些功能還需要改進,還應(yīng)該做進一步的系統(tǒng)調(diào)查需求分析工作,更深入的完善系統(tǒng)??傊?,一個緊跟時代步伐的真正使用的軟件必需有一個不斷完善改進的過程。26致 謝本次設(shè)計歷時三個月。在本次畢業(yè)設(shè)計中,能夠基本順利的完成任務(wù),是與錢亞冠老師的耐心指導(dǎo)分不開的。錢老師無論是在畢業(yè)設(shè)計過程中,還是在論文完成中都給予了我極大的幫助。同時,錢老師認真負責(zé)的工作態(tài)度,嚴謹?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺。他勤奮嚴謹?shù)慕虒W(xué)態(tài)度也給我留下了極為深刻的印象。我從老師身上學(xué)到了很多東西。在理論上還是在實踐中,我能力都得到不少的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,在此,特向錢老師表示由衷的感謝。通過這次畢業(yè)設(shè)計的整個開發(fā)過程,我系統(tǒng)開發(fā)過程從需求分析到具體功能實現(xiàn),再到最終測試和維護的理解有了很大的進步,讓我對系統(tǒng)開發(fā)有了更深層次的認識?,F(xiàn)在我的動手能力和獨立解決問題的能力也得到了很大的鍛煉和提高,這是這次畢業(yè)設(shè)計最好的收獲。最后,在整個系統(tǒng)- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計算機系 畢業(yè)論文 信息管理
鏈接地址:http://m.hcyjhs8.com/p-359552.html