




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要當前社會,人們有著很強的時間觀念,大多數人們不愿意把時間浪費在排隊買火車票上。火車售票系統的開發和應用目的是使售票活動能夠在火車站之外的地方進行并且能夠使旅客通過系統查詢到自己所需要的出行信息。該系統的中心功能是列車和售票信息的查詢功能和售票功能。其開發內容主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。利用SQL Server2000,JSP,Tomcat等軟件及其提供的各種面向對象的開發工具,建立完整性強、安全性好的數據庫,開發出功能完備,易使用的應用程序。經過調試、編譯與實現,該程序界面友好、程序設計風格樸素,使用起來美觀大方、方便易用。尤其是系統的“查詢模塊”的功能極
2、大的減輕工作人員的工作量,并以快速、準確等優點取代人工作。提高了火車站的管理工作效率。針對火車站的售票實際情況,按照軟件工程的結構化設計思想,本次課程設計經過項目的可行性研究和需求分析、總體設計、詳細設計,以及編碼實現和調試等步驟設計開發了火車票售票系統。并運用數據流圖和數據字典、E-R圖和數據庫邏輯結構、層次圖、系統流程圖、以及程序流程圖,對該系統的數據需求、數據庫、系統軟件結構、系統流程、以及處理過程等進行了分析和設計。關鍵詞:售票系統JSP數據庫ABSTRACTTrain ticketing systems purpose in exploitation and appliance of
3、 the system is to make the activity of selling the tickets at many different location(except the train station)and make the traveller inquire about the information of going out by the system. The main function of the system is to inquire about the information of the train and selling the tickets and
4、 to sell the tickets.Its development mainly to the establishment and maintenance of databases including background and the development of two front-end applications.SQL server 2000,JSP,Tomcat and the use of object-oriented software development tools, the establishment of strong integrity, good safet
5、y database developed functions, easy to use applications. After debugging, Translation and the realization that the process friendly interface, simple programming style, using up aesthetic generous, convenient user-friendly. In particular system enquiries module function greatly reduce the workload
6、of staff, and to the rapid, accurate, and other advantages replace manual operation. And the purchase, reliable and convenient service modules with the staff and passengers. Increased Station management efficiency. Key words:ticketing systemJSPdatabase module 目錄1 前言11.1 開發背景11.2 國內外研究現狀11.3 系統設計目標11
7、.4 研究的意義22 系統開發所用的技術32.1 JSP32.2 Struts42.3 SQL Server 2000數據庫62.4 開發模式介紹73 系統需求分析93.1 可行性分析93.1.1 邏輯可行性93.1.2 經濟可行性93.1.2 技術可行性93.2 需求分析103.2.1 實體分析103.2.2 實體模型的關系分析104 系統總體設計114.1 設計思想114.2 系統功能設計115 系統詳細設計與實現135.1 系統模塊概要設計135.1.1 登錄和退出用例圖145.1.2 管理員后臺管理系統用例圖155.1.3 用戶前臺瀏覽用例圖185.2 數據庫概要設計215.3 列車信
8、息及售票處信息查詢的概要設計225.4 系統實現235.4.1 登陸首頁編碼設計235.4.2 查詢界面編碼設計245.4.3 在線訂票界面編碼設計276 系統測試296.1 測試概論296.2 火車票系統采用的測試方法296.3 火車票系統功能測試30結論31謝辭32參考文獻33附錄341 前言1.1 開發背景隨著國民經濟快速發展,人們出行、交通越來越頻繁,對服務的快捷、便利性要求也越來越高。從而對客運行業的建設與管理提出了更高的要求。為適應和推動客運行業的發展,各種交通公司和部門開始廣泛采用使用日趨成熟的計算機技術和數據庫技術來實現票務信息的現代化管理,具有手工管理所無法比擬的優點,如:檢
9、索迅速,查找方便,可靠性高,存儲量大,保密性好,壽命長,成本底等。這些優點能夠極大地提高信息管理和業務管理的效率。火車站售票系統是火車站系統建設的重要組成部分,是票務管理的質量和效益乃至實用性強的火車站的關鍵環節?;疖囉喥钡碾娔X化、網絡化,也是實現火車站售票的現代化和信息化的重要內容。1.2 國內外研究現狀目前,售票系統在國內外都已經得到了廣泛的應用,無論是在飛機場,火車站,還是汽車站,都是借助于售票系統進行售票的。國外售票系統的開發及應用起步的比較早,而且國外的通信發達,所以在售票系統的結構上大都采用的是集中處理的主機/終端方式。尤其在歐洲這樣的結構更加適合。但是在對于國土遼闊,人口眾多的中
10、國,考慮到網絡的覆蓋,通信等眾多方面,主要采用的是采用近代發展的集中與分布相結合的客戶機/服務器體系結構。但這種結構在某種程度上還是不能完全滿足數據庫的全國聯網。所以目前我國對與售票系統的開發還是處于進一步的探索和發展當中。目前我國開發售票系統的方向是整個系統由中央級、地區級和車站級三層結構組成的。包括全國票務中心管理系統、地區票務中心管理系統和車站電子售票系統。系統采取集中與分布相結合的方案,在全路票務中心內安裝中央數據庫?;疖囌臼燮毕到y,是我國正在研究和開發的新課題,不久的將來它將會在全國各個售票網點投入使用,新售票處系統的投入和使用將標志著我國鐵路客運達到一個新的高峰,甚至是世界鐵路客運
11、水平的前列。1.3 系統設計目標Internet和Intranet技術的發展,人們對網絡信息的需求越來越大,對網絡數據庫的交互和查詢速度等性能的要求也越來越高。未來火車站的發展趨勢是完全自動化的售票信息查詢,網絡訂票,智能化訂票,而且隨著計算機的普及,信息處理量的逐漸擴大, 然而傳統手工的火車站售票方式,管理過程繁瑣而復雜,執行效率低,并且易于出錯。為了改善傳統車站售票方式的不足,開發一個更便捷的火車站售票系統。1.4 研究的意義去火車站買票得排隊等候這已經是一個人人都知道但是卻無法避免的問題。當今社會,人么都處于忙碌之中,大部分人都不愿意把時間浪費在排隊上,所以開發火車站售票系統是必然趨勢。
12、火車站售票系統是火車站系統建設的重要組成部分,是票務管理的質量和效益乃至實用性強的火車站的關鍵環節。火車訂票的電腦化、網絡化,也是實現火車站售票的現代化和信息化的重要內容。火車站售票系統的建設對于火車站的決策者和管理者以及乘客來說都至關重要, 所以火車站售票系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來火車站使用傳統人工的方式管理和銷售火車票,這種管理方式存在著許多缺點,如: 效率低、時間長、繁瑣,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發
13、揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對火車票進行銷售,具有傳統銷售方式所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等。這些優點能夠極大地提高火車站的售票的效率,也是進行科學化、正規化管理,與世界接軌的重要條件。在火車以主要交通工具的今天,有一個良好的售票系統顯得是如此的重要,對于火車各站點的售票系統以作為國有機密文件保存,不可能有開放的源代碼提供十分完善的火車售票系統的所有實現的功能,甚至是連火車票的數據庫,都不太可能得到全而且新的數據?;诖?,個人決定作為興趣愛好,研究火車的售票系統的實現過程,盡管最終實現的不太可能與當前火車站應用的系
14、統相媲美,但作為一個愛好,也應做到盡可能的完善。2 系統開發所用的技術2.1 JSPJSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Script let)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統上運行。JSP技術使用Java編程語言編寫類XML的tags和script lets,來封裝產生動態網頁的處理邏輯。
15、網頁還能通過tags和script lets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然后將執行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。JSP與Java Servlet一樣,是在服務器端執行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽2。JSP的1.0規范的最后版本是1999年9月推出的,12月又推出了1.1
16、規范。目前較新的是JSP1.2規范,JSP2.0規范的征求意見稿也已出臺。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。自JSP推出后,眾多大公司都支持JSP技術的服務器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業應用的服務器端語言。為了快
17、速方便地進行動態網站的開發,JSP在以下幾個方面做了改進,使其成為快速建立跨平臺的動態網站的首選方案:1.將內容的生成和顯示進行分離2.可重用組件3.采用標識4.適應平臺5.數據庫連接作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。2.2 StrutsStruts最早是作為Apache Jakarta項目的組成部分,項目的創立者希望通過對該項目的研究,改進和提高JavaServer Pages 、Servlet、標簽庫以及面向對象的技術水準。Struts這個名字來源于在建筑和舊式飛機中使用的支持金屬架。這個框架之所以叫Struts,是為了提醒我們記住那些支撐我
18、們房屋,建筑,橋梁,甚至我們踩高蹺時候的基礎支撐。這也是一個解釋Struts在開發Web應用程序中所扮演的角色的精彩描述。當建立一個物理建筑時,建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts為業務應用的每一層提供支持。它的目的是為了幫助我們減少在運用MVC設計模型來開發Web應用的時間。如果想混合使用Servlets和JSP的優點來建立可擴展的應用,Struts是一個不錯的選擇。Struts是Apache軟件基金下Jakarta項目的一部分。開始的代碼基礎從2000年5月開始開發,直到2001年6月,1.0版本發布。有30 多個開發者參與進來,并有數千人參與到討論組
19、中。Struts 代碼基礎由一個志愿的Commnitter團隊來管理。到2002年,Struts 小組共有9個志愿Commnitter。Struts框架的主要架構設計和開發者是Craig R.McClanahan。Struts是Apache 基金會Jakarta 項目組的一個Open Source 項目,它采用MVC模式,能夠很好地幫助java 開發者利用J2EE開發Web應用。和其他的java架構一樣,Struts 也是面向對象設計,將MVC模式分離顯示邏輯和業務邏輯的能力發揮得淋漓盡致。Structs 框架的核心是一個彈性的控制層,基于如 Java Servlets,JavaBeans,R
20、esourceBundles與XML等標準技術,以及 Jakarta Commons 的一些類庫。Struts有一組相互協作的類(組件)、Serlvet以及jsp tag lib組成?;趕truts構架的web應用程序基本上符合JSP Model2的設計標準,可以說是一個傳統 MVC設計模式的一種變化類型。Struts最早是作為Apache Jakarta項目的組成部分問世運作。項目的創立者希望通過對該項目的研究,改進和提高Java Server Pages、Servlet、標簽庫以及面向對象的技術水準。Struts的目的是為了減少在運用MVC設計模型來開發Web應用的時間。你仍然需要學習和
21、應用該架構,不過它將可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優點,使開發者能更深入的了解其內部實現機制。除此之外,Struts的優點主要集中體現在兩個方面:1.TaglibTaglib是Struts的標記庫,靈活動用,能大大提高開發效率2.頁面導航。頁面導航使系統的脈絡更加清晰。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維護有著莫大的好處。尤其是當另一批開發者接手這個項目時,這種優勢體現得更加明顯。Struts的流程服務器啟動后,根據web.xml加載ActionServlet讀取strut
22、s-config.xml文件內容到內存。以登陸為例:第一次進login.jsp會先實例化Form、把默認值賦給表單元素。輸入用戶名密碼提交表單、提交到action屬性的login.do,通過ActionServlet讀struts-config.xml文件找到 action下的path屬性找到.do,通過name屬性找form-beans中的form-bean的name屬性得到ActionForm的包名類名,先實例化form,把表單的值填充給form,調用form的validate方法驗證、ActionErrors返回null表示驗證通過,否則失敗返回input指定的頁面.驗證通過會實例化Ac
23、tion,執行Action的excute()方法。struts框架具有組件的模塊化,靈活性和重用性的優點,同時簡化了基于MVC的web應用程序的開發。 通過struts框架可以清晰地區分控制,事務邏輯和外觀,從而簡化了開發應用程序過程的。struts提供的類如何使得開發工作更加簡單,這些類包括:控制程序流程的類,實現和執行程序事務邏輯的類,自定義的標記庫使得創建和驗證HTML表單更加容易。因為火車站售票系統采用的是MVC模型,所以從MVC角度觀察struts框架中的組件??蚣苤腥齻€部分:模型,視窗和控制器。 1.模型:在struts框架中,模型分為兩個部分:系統的內部狀,可以改變狀態的操作(事
24、務邏輯)。內部狀態通常由一組ActinForm JavaBean表示。根據設計或應用程序復雜度的不同,這些Bean可以是自包含的并具有持續的狀態,或只在需要時才獲得數據(從某個數據庫)。大型應用程序通常在方法內部封裝事務邏輯(操作),這些方法可以被擁有狀態信息的bean調用。小型程序中,操作可能會被內嵌在Action類,它是struts框架中控制器角色的一部分。當邏輯簡單時這個方法很適合。2.視圖:由JSP建立,struts包含擴展自定義標簽庫,可以簡化創建完全國際化用戶界面的過程。3.控制器:struts中,基本的控制器組件是ActionServlet類中的實例servelt,實際使用的se
25、rvlet在配置文件中由一組映射(由ActionMapping類進行描述)進行定義。Struts框架中所有使用的組件ActionServlet 控制器 ActionClass 包含事務邏輯 ActionForm 顯示模塊數據 ActionMapping 幫助控制器將請求映射到操作 ActionForward 用來指示操作轉移的對象 ActionError 用來存儲和回收錯誤 Struts標記庫 可以減輕開發顯示層次的工作 ActionForword對象,此對象連接到相應的jsp頁面 2.3 SQL Server 2000數據庫SQL Server2000數據庫系統:數據庫技術是現代信息科學與技
26、術的重要組成部分,是計算機數據處理與信息管理系統的核心。數據庫技術研究和解決了計算機信息處理過程中大量數據有效地組織和存儲的問題,在數據庫系統中減少數據存儲冗余、實現數據共享、保障數據安全以及高效地檢查數據和處理數據6。 SQL Server2000具有強大的數據管理功能,提供了豐富的管理工具支持數據的完整性管理、安全性管理和作業管理。SQL Server2000具有分布式數據庫和數據倉庫功能,能進行分布式事務處理和聯機分析處理,支持客戶機/服務器結構。是一個實際可運行的存儲、維護和應用系統提供數據的軟件系統,是存儲介質、處理對象和管理系統的集合體。它通常由軟件、數據庫和數據管理員組成。其軟件
27、主要包括操作系統、各種宿主語言,實用程序以及數據庫管理系統。數據庫是依照某種數據模型組織起來并存放二級存儲器中的數據集合。這些數據為多個應用服務,獨立于具體的應用程序6。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據庫管理系統是一種系統軟件,它的主要功能是維護數據庫并有效地訪問數據庫中任意部分數據。對數據庫的維護包括保持數據的完整性、一致性和安全性。數據管理員負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。SQL Server2000優點1 完全的 Web 支持SQL Server 2000 提供了以 Web 標準為基礎的擴展數據庫編
28、程功能。豐富的 XML 和 Internet 標準支持允許您使用內置的存儲過程以 XML 格式輕松存儲和檢索數據。您還可以使用 XML 更新程序容易地插入、更新和刪除數據。(1)通過 Web 輕松訪問數據。有了 SQL Server 2000,您可以使用 HTTP 來向數據庫發送查詢、對數據庫中存儲的文檔執行全文搜索、以及通過 Web 進行自然語言查詢。 (2)強大而靈活的基于 Web 的分析。SQL Server 2000 分析服務功能被擴展到了 Internet。您可以通過 Web 瀏覽器來訪問和控制多維數據。2 高度的可伸縮性和可靠性使用 SQL Server 2000 可以獲得非凡的可
29、伸縮性和可靠性。通過向上伸縮和向外擴展的能力,SQL Server 滿足了苛刻的電子商務和企業應用程序要求。(1) 向上伸縮:SQL Server 2000 利用了對稱多處理器 (SMP) 系統。SQL Server Enterprise Edition 最多可以使用 32 個處理器和 64 GB RAM。 (2) 向外擴展:向外擴展可以將數據庫和數據負載分配給多臺服務器。(3) 可用性:通過增強的故障轉移群集、日志傳送和新增的備份策略,SQL Server 2000 達到了最大的可用性。數據庫設計主要是進行數據庫的邏輯設計,即將數據按一定的分類、分組系統和邏輯層次組織起來,是面向用戶的。數據
30、庫設計時需要綜合企業各個部門的存檔數據和數據需求,分析各個數據之間的關系,按照DBMS提供的功能和描述工具,設計出規模適當、正確反映數據關系、數據冗余少、存取效率高、能滿足多種查詢要求的數據模型。2.4 開發模式介紹(1)B/S火車站售票系統,一般存在兩種結構:C/S(Client/Server客戶端/服務器)架構和基于Internet的B/S(Browser/Server瀏覽器/服務器)架構。B/S架構比起C/S架構有著很大的優越性,C/S架構的系統依賴于專門的操作環境,這意味著操作者的活動空間受到極大限制;而B/S架構則不需要專門的操作環境,在任何地方,只要能上網,就能夠操作該系統。這也就
31、給交互式信息的產生創造了先決條件,使得通過互聯網的信息傳遞變得更加的便捷。因此,本文設計的火車站售票系統選取的是B/S。(2)MVC三層架構MVC即Model-View-Controller的縮寫,是一種常用的設計模式。MVC 減弱了業務邏輯接口和數據接口之間的耦合,以及讓視圖層更富于變化。為了把表現層presentation從請求處理request processing 和數據存儲data storage中分離開來,升陽公司推薦在JSP文件中使用一種模-視圖-控件Model-view-controller 模式。規范的SERVLET或者分離的JSP文件用于處理請求。當請求處理完后,控制權交給
32、一個只作為創建輸出作用的JSP頁。有幾種平臺都基于服務于網絡層的模-視圖-控件 模式(比如Struts 和Spring framework)。MVC模型示例如圖2-1所示。視圖層(V):JSP,HTML,ASP,ASPX,PHP控制層(C):servlet,action模型層(M):java類Servlet(控制層):SERVLET數據持久化層(DAO):JDBC,HibernateService(模型層):java類Dao(數據持久化層):jdbcUtil(工具包):存放工具類Domain:JavaBean圖2-1 MVC模型示例3 系統需求分析3.1 可行性分析3.1.1 邏輯可行性火車站
33、售票系統自身具備的即時互動方式可以吸引很多購票者的注意力,這些售票網站能夠隨時讓乘客參與購買、更方便、更詳細、更安全。而且在這樣的網站中,票務的管理是有秩序的,并將其進行科學化的分類,便于購買者查詢。這種網站的網頁設計往往制作得更有指導性,并且更加美觀,這些都將會吸引大批的購票者。本系統的出現必將為人們購買火車票困難這件事提供新的解決措施,不僅在方便交通公司的管理上有很大改變,同時也給用戶的訂票、查票等應用提供便利,在方便消費者的同時,也給企業帶來利潤。由于本系統涉及到鐵路行業對車次和訂票信息進行的信息管理,同時也涉及了用戶訂票、查票的功能,因此,該系統的保密性能上有一定的要求,同時該應用領域
34、在市場上仍然處于開發階段,并沒有成型的應用系統,因此,該系統的出現必將會為緩解人們購票困難減輕壓力。3.1.2 經濟可行性基于火車站售票系統的投入,能夠提高工作效率,減少工作人員,從而減少勞力資本的投入,在票務管理中節省人力,減輕了勞動強度,達到降低成本及其他費用的目的。通過改進薄弱環節,提高工作效率,提高數據處理的及時性和準確性。所以從經濟角度來說,本系統開發完全必要。開發該系統所需的相關資料可以通過已存在的相關網上訂票系統進行調查采集;所需的其他應用軟件、硬件系統也易于獲得。因此,開發成本較低。而引進使用本系統后,與傳統方式相比,它具有高效率、低成本、高質量的特點,可以節省不少人力、物力及
35、財力。所以,從經濟角度分析,該系統可行。該系統的經濟效益能不能超過它的開發成本至關重要。本訂票系統是小型數據庫應用程序,不需要多少人力和物力就可以設計。但本系統一旦投入使用,將大大減少鐵路交通公司管理人員的工作量,提高工作效率,其經濟效益也是顯而易見的。3.1.2 技術可行性本系統開發涉及到的技術因素主要有如下幾個方面:1 數據庫技術,對SQL Server熟悉,能夠熟練使用SQL Server數據庫。2 系統架構的規劃,使用B/S架構。3 頁面開發,使用HTML和JSP技術,能夠使用這兩種技術開發頁面。4 配置環境,裝有Windows XP電腦一臺,安裝SQL Server2000數據庫,搭
36、建Eclipse平臺和Tomcat服務器,IE瀏覽器等。上述條件基本符合,本系統設計開發可以進行。3.2 需求分析3.2.1 實體分析用戶的需求具體體現在各種信息的提供,保存,查詢,這就要求數據庫結構能充分滿足各種信息的輸出和輸入。收集基本數據、數據結構以及數據處理的流程,為后面的具體設計打下基礎。在對整個系統的數據流程進行詳盡分析后,從其中抽象出如下實體:1. 用戶:代表一個用戶實體,主要的屬性有用戶名、姓名、密碼、性別、電話、和電子郵件。2. 火車:代表一個火車實體,它是針對某一個火車車次的,但是該車次可以在不同的時間執行運行任務,因此又引出了火車時刻安排實體,火車實體主要的屬性有車次、出
37、發地點、目的地點、里程和票價。3. 火車時刻安排:代表一個車次的時刻安排實體,主要的屬性有車次和火車時刻,當然這個實體可看成是火車。4. 訂單:代表一個訂單實體,主要的屬性有注冊名和火車車次。3.2.2 實體模型的關系分析1. 乘客和車次安排之間是多對多的關系。一個用戶可以同時購買多張本車次的火車票,一個火車的車票可以同時被賣給多個乘客。2. 乘客和訂單之間是一對多關系。一個用戶可以發出多個訂單,但一個訂單只能屬于一個乘客。3. 火車車次和火車的安排之間是一對多的關系。一個火車車次可以有多個安排,但一個火車的安排只能特定于一個火車。4. 火車的安排和訂單之間是一對多關系。一個火車的車次可以有多
38、個訂單,即相當于多個人同買一個火車的車票,但是一個訂單只特定于一個火車。4 系統總體設計4.1 設計思想本系統是基于B/S體系結構的程序設計,在Windows平臺上采用JSP程序設計語言工具來開發,使用SQL Server 2000做數據庫。在具體設計過程中,主要使用JSP技術做主頁面,JSP技術與數據庫連接,SQL Server 2000企業管理器做后臺數據庫。用戶在瀏覽器端可以隨意查詢自己需要的信息,而數據的后臺操作則由服務器端處理。這樣大大提高了網頁的互動性,使整個系統能夠更好的為用戶服務。所有的模塊由JSP程序設計語言來編寫開發,是因為于JSP語言簡單易編寫,無需編譯即可在服務器端執行
39、,并且腳本語言可移植性較好。最后,可以使用Dreamweaver來美化界面,使之更加美觀大方。4.2 系統功能設計整個系統按功能分為后臺和前臺兩大部分,包括用戶注冊、用戶登錄、用戶檢票、用戶訂票、用戶注銷等功能和管理員查詢車次和用戶信息、管理員添加車次、管理員修改車次、管理員刪除車次、異常處理等功能模塊。1. 后臺:管理員添加新的車次:管理員登錄到管理頁面,點擊添加車次按鈕,在彈出的對話框中輸入需要添加的車次名稱、車次類型、剩余總位數、始發站,終點站、發車時間、總距離、總時間、硬座價格、軟座價格、備注信息,點擊提交即可。其中填寫的詳細信息必須符合數據庫中的數據要求,若不符合,則數據庫存儲該車次
40、時會發生存儲異常;管理員修改車次信息:管理員在管理頁面點擊修改車次按鈕,輸入要修改的車次名稱,點擊提交,在返回的該車次信息中修改原有數據,修改數據必須符合數據要求;并將修改后的車次信息公布到前臺公告欄中,以方便用戶及時修改訂票信息;管理員刪除車次信息:管理員在管理頁面點擊刪除車次按鈕,輸入要刪除的車次名稱,點擊提交即可;并將刪除的車次信息公布到前臺公告欄中,方便用戶及時修改訂票信息;管理員查閱用戶信息、車次信息:管理員在管理頁面點擊查看車次按鈕,輸入要查詢的用戶名,點擊提交按鈕,即可查閱,若不輸入用戶名,則顯示所有信息;管理員有權限查閱用戶的個人基本信息和訂票信息,但為了安全起見,不得修改或刪
41、除;2. 前臺:用戶注冊信息:用戶在瀏覽器端輸入網址,打開首頁,若是第一次登錄本站,必須先注冊,點擊注冊按鈕,在彈出的對話框中輸入個人基本信息,包括用戶名,密碼,身份證號,聯系方式,手機號,電子郵箱,備注信息;用戶檢索車票信息:用戶在瀏覽器端輸入網址,打開首頁,檢索車票分為兩種方式,分別為“車次”名稱檢索和“出發站-目的地”檢索,用戶可以根據不同的要求和實際情況選擇不同的檢索方式,并且根據檢索結果選擇最優的方案,進入訂票環節;若數據庫中沒有檢索的該班車次,則返回提示信息;用戶訂票:用戶在瀏覽器端輸入網址,打開首頁,通過檢索得到檢索結果,然后根據檢索結果選定車次車票,點擊訂票按鈕,完善訂票信息提
42、交訂單;訂票每次僅限一張;用戶注銷車票:用戶在瀏覽器端輸入網址,打開首頁,登錄之后,點擊退票信息按鈕,再返回的頁面中修改訂票信息,將此次修改內容提交到后臺數據庫中,釋放該車次,以方便其他用戶檢索訂購;網上訂票系統用戶模塊管理員模塊用戶注冊用戶檢索用戶訂票訂票注銷修改車次查閱信息刪除車次添加車次圖4-1 系統功能圖(從操作人員劃分)5 系統詳細設計與實現5.1 系統模塊概要設計本系統的應用主要是針對火車站售票活動相關的基本功能。具體的功能描述如下:1用戶登錄系統 2訂票說明。3旅客查詢列車及售票信息。旅客可以通過自己的需求來查詢是否有滿足自己要求的列車。4旅客的注冊。旅客在通過網頁注冊的審查后,
43、在系統上注冊,獲得訂票的權限。5火車票的預訂。旅客通過系統提供的信息查詢到滿足旅客要求的列車并預訂改火車票。訂票時要求用戶輸入用戶名和密碼,提交后系統將驗證用戶輸入信息的正確性。6修改個人信息。這個功能要求在用戶登錄到系統以后方可進行。系統功能模塊圖如圖5-1所示。售票系統說明功能查詢功能在線訂票用戶注冊車次查詢用戶登錄票價查詢站名查詢訂票說明首頁說明站站查詢在線訂票注冊填寫車站地圖圖5-1 系統功能模塊圖(從系統功能劃分)5.1.1 登錄和退出用例圖用戶/管理員登錄退出圖5-2 登錄和退出系統用例圖表5-1 登錄操作用例描述用例名稱登錄描述管理員和用戶可以登錄到本系統中用例參與者管理員,用戶
44、前置條件數據庫中存在管理員和用戶記錄基本事件流管理員或用戶在瀏覽器的地址欄中輸入本系統的地址,就會進入到首頁中的登錄頁面,在這個頁面中輸入名稱和密碼,點擊登錄按鈕,如果信息驗證通過,根據權限執行相應操作異常事件流1.用戶名或密碼為空,則登錄失敗2.未注冊的用戶登錄,則登錄失敗表5-2 退出操作用例描述用例名稱退出登錄描述管理員和用戶可以退出本系統用例參與者管理員,用戶前置條件登錄的管理員和用戶基本事件流管理員和用戶登錄完成任務后,點擊退出按鈕,即可退出當前頁面異常事件流無5.1.2 管理員后臺管理系統用例圖查找信息修改車次添加車次刪除車次圖5-3 管理員后臺管理系統用例圖表5-3 添加車次用例
45、描述用例名稱添加車次描述管理員可以在后臺管理模塊中增添新的車次信息供用戶瀏覽用例參與者管理員前置條件必須是有效地管理員登錄基本事件流登錄成功后,管理員進入后臺管理頁面,添加新的車次信息提交到數據庫并供用戶在前臺檢索使用異常事件流1.添加數據不符合規格,則添加失敗2.該車次已經存在后置條件無表5-4 查找信息用例描述用例名稱查找用戶信息,車次信息描述管理員可以在后臺瀏覽任何用戶的基本信息和訂票信息用例參與者管理員前置條件必須是有效地管理員登錄基本事件流登錄成功后,管理員進入后臺管理頁面,在頁面的導航菜單中點擊各個模塊的相應鏈接,進入相應管理的列表頁面;列表頁面提供增、刪、查、改功能其他事件流無異
46、常事件流無后置條件無表5-5 修改用例描述用例名稱修改車次描述管理員修改已有車次的詳細信息用例參與者管理員前置條件必須是有效地管理員登錄基本事件流登錄成功后,管理員進入后臺管理頁面,在頁面的導航菜單中點擊各個模塊的相應鏈接,進入相應管理頁面,在查票窗口檢索出需要修改的車次,進入修改頁面,修改后保存并提交到數據庫中其他事件流無異常事件流修改時提交的車次信息不符合數據要求后置條件管理員修改的數據被保存到數據庫相應的表中表5-6 刪除用例描述用例名稱刪除作廢的車次描述管理員刪除已有的作廢的車次信息用例參與者管理員前置條件必須是有效地管理員登錄基本事件流登錄成功后,管理員進入后臺管理頁面,在頁面的導航
47、菜單中點擊相應鏈接進入管理列表頁面,選中要刪除的車次,然后點擊刪除鏈接其他事件流無異常事件流無后置條件無5.1.3 用戶前臺瀏覽用例圖用戶注冊檢索車票用戶提交訂單用戶退票圖5-4 用戶前臺瀏覽用例圖表5-7 用戶注冊用例描述用例名稱用戶注冊描述用戶必須先注冊,才能為以后的訂票操作提供依據用例參與者用戶前置條件無基本事件流用戶進入系統主頁面,在導航菜單中點擊相應的按鈕注冊新用戶,并提交到后臺數據庫之中其他事件流點擊其他按鈕,進入其他頁面異常事件流用戶名不可以重復,本系統以用戶名作為users表的唯一標識后置條件無表5-8 檢索用例描述用例名稱檢索車票描述按照“車次”名稱檢索或“出發地-目的地”檢
48、索用例參與者用戶前置條件無基本事件流提交要檢索的車次關鍵詞,點擊檢索其他事件流點擊其他按鈕,進入其他頁面異常事件流檢索數據庫為空,則給予提示或相近車次提醒后置條件無表5-9 提交訂單用例描述用例名稱提交訂單描述選中需要的車次,完成訂票表單用例參與者用戶前置條件用戶需先登錄基本事件流用戶登錄之后,進入登錄首頁,根據檢索出來的車次信息,選中車次并完善訂票表單,提交到數據庫中其他事件流點擊其他按鈕,進入其他頁面異常事件流1.訂票信息填寫不符合要求,訂票失敗2.用戶一天內多次訂票,訂票失敗后置條件無表5-10 注銷訂票用例描述實例名稱注銷訂票描述根據實際,用戶可以放棄訂票,釋放改車次車票用例參與者用戶
49、前置條件無基本事件流用戶登錄后,根據實際要求放棄訂票,注銷該車次車票,并放棄此車票供其他用戶訂購其他事件流點擊其他按鈕,進入其他頁面異常事件流退票時間不在該車次發車時間半個小時前后置條件無5.2 數據庫概要設計表5-11 列車總信息表字段名稱字段數據類型默認值必須字段允許空Key中文含義checi20varchar是否否車次zhongdaotime20varchar是否終點到站時間leibie20varchar是否類別kongtiao20varchar是否是否有空調tujingzhan230varchar是否途經到站zhongdianzhan20varchar是否終點站shifazhan20v
50、archar是否始發站fachetime20varchar是否始發車時間yzshu100int是否硬座總數rzshu100int是否軟座總數ywshu100int是否硬臥總數rwshu100int是否軟臥總數表5-12 車票信息表字段名稱字段數據類型默認值必須字段允許空Key中文含義bid255bigint是否是車票的編號checi20char是否車票所屬列車車次fachedate20char是否發車的日期shifazhan20char是否始發站chexiangnum20int是否車廂號碼cheweinum20int是否車位號碼leibie20char是否類別dengji20char是否等級表
51、5-13 單列信息表字段名稱字段數據類型默認值必須字段允許空Key中文含義checi20char是否車次tjdaozhan20char是否是途經的某一站leibie20char是否類別zhongdianz20char是否終點站tjfachetime20char是否途經某站時間tjdaozhantime20char是否途經某一站的到站時間fachetime20char是否始發站的發車時間zhongdaotime20char是否到終點的時間yzprice20char是否硬座的價格rzprice20char是否軟座的價格ywprice20char是否硬臥的價格rwprice20char是否軟臥的價格
52、licheng10bigint是否總共的里程5.3 列車信息及售票處信息查詢的概要設計列車信息及售票信息查詢是系統中的一個共用功能,也就是說這部分功能是一切能夠訪問到系統的用戶都能夠進行的操作。在這里我們提供給用戶兩種方式來查詢列車信息和售票信息,用戶可以通過車次來查詢也可以通過目的站來查詢。該功能模塊包含了一個用例:列車查詢用例(search information)。列車查詢用例又包含了兩個小的用例,車次查詢和目的站查詢。以下說明車次查詢和目的站查詢這兩個小的用例。通過車次查詢。一個車次是一個能夠標識且只能標識一列列車的唯一標識。通過列車的車次查詢,只能得到一列列車的基本信息。列車的基本信息中包含的是列車的一些靜態信息。比如,列車的途經站,列車的載客量,列車到每一個途經站的票價等等。當然還可以繼續做更進一步的查詢,即做動態的查詢,這里所說的動態的查詢是指查詢用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省棗莊市現代實驗學校2024-2025學年高考原創信息試卷物理試題(三)含解析
- 山西省忻州市岢嵐縣中學2025屆高三下學期教學質量調研考試(二模)歷史試題試卷含解析
- 四川托普信息技術職業學院《NoSQ數據庫原理》2023-2024學年第二學期期末試卷
- 上海外國語大秀洲外國語校2024-2025學年初三4月階段性測試語文試題含解析
- 西北師范大學《地方文化研究》2023-2024學年第二學期期末試卷
- 武漢科技大學《印度文化遺產賞析》2023-2024學年第二學期期末試卷
- 上海師范大學《中國古代文學I》2023-2024學年第一學期期末試卷
- 江蘇省高郵市陽光雙語初中重點名校2025年初三最后一考生物試題試卷含解析
- 西安高新科技職業學院《外國史學史》2023-2024學年第一學期期末試卷
- 江蘇省蘇州市東山中學2025年初三5月月考英語試題理試題含答案
- 數字減影血管造影(DSA)X射線設備質量控制檢測規范
- 《從零到卓越- 創新與創業導論》教案
- 2024年中國塑料酸奶瓶市場調查研究報告
- 15J403-1-樓梯欄桿欄板(一)
- 新版申請銀行減免利息的申請書
- 2024年上海駕駛員客運從業資格證模擬考試題庫及答案
- 2024秋期國家開放大學《國際法》一平臺在線形考(形考任務1至5)試題及答案
- 2024-2030年中國地鐵通信行業發展分析及發展前景與趨勢預測研究報告
- 無工作單位個人承諾書模板
- 2024年江蘇南通蘇北七市高三三模高考化學試卷試題(含答案詳解)
- DL∕T 5554-2019 電力系統無功補償及調壓設計技術導則
評論
0/150
提交評論