




已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
(論文)陜西理工學院 高級語言編程實訓 實訓報告項目名稱:基于Web的網(wǎng)上機票預定管理系統(tǒng)學生姓名: 任瑩 1209064006 韓璐 1209064033 梁澤志 1209064037 魚愛春 1209064028 楊瑞 1209064003 班 級: 信計1201 成 績: 指導教師: 趙暉 數(shù)學與計算機科學學院實訓報告評閱項目組分工:評語:成績指導教師簽名: 年 月 日 摘 要世界多極化和經(jīng)濟全球化的趨勢在曲折中發(fā)展,科技進步日新月異,綜合國力競爭日趨激烈。電子信息產(chǎn)品制造業(yè)經(jīng)濟運行狀況良好,產(chǎn)業(yè)規(guī)模迅速擴大。在計算機技術高速發(fā)展的今天,我國有必要引入高效的計算機系統(tǒng)來改善一些旅行社和酒店的機票預定,提高工作效率,協(xié)助處理機票預定工作。網(wǎng)上機票預訂管理系統(tǒng)的產(chǎn)生和發(fā)展正好滿足人們的這種需求。機票預定系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關內容和管理的系統(tǒng),它具有開放體系結構的、易擴充的、易維護的、具有良好人機界面的優(yōu)點.它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實現(xiàn)航空公司的機票銷售的自動化。它為企業(yè)的決策層提供準確、精細、迅速的機票銷售信息,為乘客出行提供方便,便于機場工作人員對機票信息進行管理,提高了機場工作人員對機票管理的工作效率。根據(jù)航空公司管理的實際要求, 系統(tǒng)采用JSP,Tomcat,Servlet,利用Mysql作為數(shù)據(jù)庫管理工具,模塊復用率高、系統(tǒng)維護代價小,方便、靈活、高效。關鍵詞:航班信息管理;退票管理;訂票管理;Java語言目 錄第一章 引言11.1 題目背景11.2 題目內容21.3 系統(tǒng)設計目標21.4 經(jīng)濟技術分析21.5 本文結構3第二章 需求分析52.1 角色及其職能52.2 數(shù)據(jù)流圖52.3 概念結構設計62.3.1 實體-聯(lián)系(E-R)圖62.3.2 各實體詳細E-R圖72.4 設計工具環(huán)境82.4.1 Java語言82.4.2 MyEclipse開發(fā)平臺82.4.3 MySQL92.4.4 JSP9第三章 總體設計123.1總體結構設計123.2數(shù)據(jù)庫邏輯設計123.2.1人員信息123.2.2 機票信息13第四章 詳細設計164.1系統(tǒng)部分時序圖164.2系統(tǒng)的流程設計174.3系統(tǒng)功能的詳細實現(xiàn)194.4詳細設計中關鍵技術的實現(xiàn)224.4.1數(shù)據(jù)庫的連接22第五章 編碼實現(xiàn)23第六章 系統(tǒng)測試與調試316.1軟件測試常識316.2系統(tǒng)功能測試計劃316.3系統(tǒng)功能模塊測試326.3.1管理人員模塊的測試326.3.2乘客模塊測試326.4調試中的問題32第七章 總結34參考文獻357第一章 引言1.1 題目背景當今世界,以信息技術為主要標志的科技進步日新月異,高科技成果向現(xiàn)實生產(chǎn)力的轉化越來越快??v觀全球經(jīng)濟發(fā)展,信息技術和信息產(chǎn)業(yè)已經(jīng)成為經(jīng)濟增長的主要推動力之一,正在改變著傳統(tǒng)的生產(chǎn)和經(jīng)營方式以至生活方式,發(fā)達國家經(jīng)過產(chǎn)業(yè)結構的升級和經(jīng)濟結構的轉型已進入信息經(jīng)濟階段。中共十七屆五中全會通過的國民經(jīng)濟和社會發(fā)展第十個五年計劃建議中已明確指出:信息化是當今世界經(jīng)濟和社會發(fā)展的大趨勢,也是我國產(chǎn)業(yè)優(yōu)化升級和實現(xiàn)工業(yè)化、現(xiàn)代化的關鍵環(huán)節(jié)。大力推進國民經(jīng)濟和社會信息化,是覆蓋現(xiàn)代化建設全局的戰(zhàn)略舉措。可見,黨和國家已將國民經(jīng)濟和社會信息化放在優(yōu)先發(fā)展位置,體現(xiàn)了先進生產(chǎn)力的客觀要求,是一項重要的戰(zhàn)略決策。這是民航加快發(fā)展的機遇,更是民航信息化的難得機遇。隨著知識經(jīng)濟的到來,人類已經(jīng)逐步進入信息化社會,信息增長的速度越來越快,人們希望利用先進的管理理論方法手段來得到并處理越來越多的信息,以提高工作效率和管理水平。由于信息資源對人們生活的重要性,不斷提高信息的收集,傳輸,加以利用等活動,日益成為人們社會生活的重要組成部分。隨著社會發(fā)展的不斷進步,民航事業(yè)的壯大,人們消費水平的提高,乘坐民航的消費者也越來越多,旅游也逐漸成為普通老百姓的生活組成部分,飛機票預定查詢系統(tǒng)在各機票預定網(wǎng)點中的作用也越顯重要。目前,我國一些旅行社和酒店的機票預定還停留在人工處理階段,這已經(jīng)嚴重制約了工作效率,在計算機技術高速發(fā)展的今天,有必要引入高效的計算機系統(tǒng),來協(xié)助處理機票預定工作。因此,開發(fā)一套具有完整的存儲,查詢,核對,打印機票功能的實時機票預定系統(tǒng)勢在必行。機票預定系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關內容和管理的系統(tǒng),它具有開放體系結構的、易擴充的、易維護的、具有良好人機界面的優(yōu)點.它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實現(xiàn)航空公司的機票銷售的自動化。它為企業(yè)的決策層提供準確、精細、迅速的機票銷售信息,為乘客出行提供方便,便于機場工作人員對機票信息進行管理,提高了機場工作人員對機票管理的工作效率。1.2 題目內容隨著信息技術的發(fā)展,航空售票業(yè)也成為一個高度依賴信息業(yè)的行業(yè)。信息技術的飛速發(fā)展不僅使航空售票工作者逐漸擺脫了繁重的手工勞動、提高了工作效率,而且推著航空事業(yè)向現(xiàn)代化管理邁進。現(xiàn)代化的航空售票也應該有現(xiàn)代化的管理系統(tǒng)。在科技日益發(fā)達的今天,人們對旅游出行更加重視。因此,航空售票進行現(xiàn)代化管理就變的尤為重要。畢業(yè)設計的主要任務就是設計實現(xiàn)一個航空售票信息管理系統(tǒng),完成對航空公司的正常售票等業(yè)務的管理。具體任務如下:(1)主要航空港基本信息管理;(2)主要民航航線基本信息管理;(3)售票信息管理;(4)預定票信息管理;(5)退票信息管理;(6)飛機票價格(包括打折)管理;(7)上述信息的統(tǒng)計及圖形顯示。1.3 系統(tǒng)設計目標此次設計的主要任務就是設計實現(xiàn)一個航空售票信息管理系統(tǒng),其實現(xiàn)對航班信息、航線信息、客機信息、票務信息以及客戶信息的管理;客戶可以對航班的信息進行查詢,如果想進一步完成自己的訂票、退票,就必須進行登錄。在沒有注冊的情況下,要注冊自己的相關信息,進而完成自己所需航班的訂票業(yè)務;客戶也可以對自己的注冊信息進行修改。1.4 經(jīng)濟技術分析(1)經(jīng)濟可行性航空售票信息管理系統(tǒng)是整個航空管理系統(tǒng)中的一個子系統(tǒng),是根據(jù)各部分管理的功能開發(fā)的。從任務量上來說最好由多人開發(fā),雖然不需要投入太多的人力、物力、財力,但是這樣可以保障功能的完善,質量的提高。如果航空公司沒有一個規(guī)范嚴謹?shù)氖燮毙畔⒐芾硐到y(tǒng),那么在面對眾多乘客訂票管理方面所需要消耗的人力是巨大的。僅乘客保險信息一項,就需要對乘客身份證號等許多數(shù)據(jù)進行枯燥的管理,很容易出錯。尤其在類似于沈陽這樣的人員眾多的城市,數(shù)據(jù)量大的特點更是十分明顯。工作量大、效率低下是航空售票信息管理長期以來的詬病。而通過計算機管理航空售票不僅節(jié)約了人力資源,而且提高了效率與準確性,使效益在質量上有了很大的飛躍。所以,從經(jīng)濟角度上來說是完全可行的。(2)技術可行性此系統(tǒng)應用JSP技術作為開發(fā)工具。Java語言具有面向對象、與平臺無關、安全、穩(wěn)定和多線程等優(yōu)良特性,是目前軟件設計中極為健壯的編程語言。JSP技術還擁有很多的優(yōu)勢,一次編寫到處運行,系統(tǒng)的多平臺支持,多樣化和功能強大的開發(fā)工具支持,強大的可伸縮性。系統(tǒng)后臺數(shù)據(jù)庫采用MySQL。所以,從技術角度上來說是完全可行的。該系統(tǒng)的主要用戶是航空公司的管理員和所有乘客。在開發(fā)過程中利用Java、面向對象的程序思想和軟件工程的開發(fā)過程來進行需求分析和設計,其中是以Java中的Swing思想為基礎進行各個圖形界面設計1;MyEclipse的開發(fā)環(huán)境使得本系統(tǒng)的開發(fā)簡單節(jié)省時間,而且在運行測試以及維護等方面也不像其他的開發(fā)工具那么繁瑣,更將少了在維護方面的成本。對于各種數(shù)據(jù)的管理采用的是SQL Server的數(shù)據(jù)庫管理系統(tǒng)進行的2,連接數(shù)據(jù)庫的時候采用的是JDBC的連接方法。1.5 本文結構此論文共分為緒論、需求分析、概要設計、詳細設計和系統(tǒng)測試幾個章節(jié)。在需求分析與概要設計章節(jié)中共分為用戶需求分析、角色及其功能、數(shù)據(jù)流圖、E-R圖、模塊圖和設計環(huán)境及工具的介紹等幾部分。本論文的重點之一將以用戶的需求分析為主,從用戶的角度出發(fā)使系統(tǒng)的功能與用戶的要求達成一致。這需要全面地理解用戶的各項要求,準確地表達用戶需求,設計出系統(tǒng)的各項功能以解決“做什么”的問題。同時通過時序圖、ER圖、模塊圖等,更為詳細的說明此系統(tǒng)的功能和此系統(tǒng)的設計思路。在本章節(jié)的最后還將說明本系統(tǒng)所使用的工具和設計環(huán)境,并簡略的敘述其相關情況。在詳細設計章節(jié)中共分為數(shù)據(jù)庫結構設計、程序流程圖等幾部分。本章節(jié)是此論文的另一重點,在此章節(jié)中將詳細的對本系統(tǒng)進行介紹。數(shù)據(jù)庫的結構設計是本次畢設的一個重要環(huán)節(jié),設計出正確的數(shù)據(jù)庫結構有助于準確的敘述出各個實體之間的關系,進而實現(xiàn)系統(tǒng)的各項功能。在本章還將通過程序流程圖給出設計程序的基本思路,同時設計出準確、高效的程序代碼。在系統(tǒng)測試章節(jié)中共分為測試環(huán)境、測試結果、測試工具和測試界面等幾部分。在此章節(jié)將對此系統(tǒng)的具體功能、運行情況等進行測試。通過此章節(jié)完成對系統(tǒng)的最后檢測找出不足并加以完善。第二章 需求分析2.1 角色及其職能本系統(tǒng)的角色是乘客和管理員。乘客除了具有買票和退票的操作權限外還有查詢所有信息的權限,管理人員具有對任何信息進行增加,刪除、修改和查詢的操作,可以查詢統(tǒng)計信息。乘客可以通過登錄后查詢和修改與自己有關的信息。2.2 數(shù)據(jù)流圖經(jīng)過初步的需求分析,得到系統(tǒng)的主要功能要求如下:(1) 用戶查詢自己的訂票信息和退票信息以及查詢相關信息;管理人員可以對各項信息進行增加、刪除、修改、查詢操作。根據(jù)分析得到的系統(tǒng)功能要求,設計出航空售票信息管理系統(tǒng)的數(shù)據(jù)流圖,如圖2.1所示。網(wǎng)上訂票信息管理系統(tǒng)管理員用戶管理員用戶售票信息、退票信息、價格信息、訂票信息、航班信息、客機信息、機票信息管理查詢結果結果 圖2.1網(wǎng)上航空售票管理信息系統(tǒng)的數(shù)據(jù)流圖2.3 概念結構設計2.3.1 實體-聯(lián)系(E-R)圖概念模型的表示方法很多,其中最為著名最為常用的是實體-聯(lián)系方法(E-R圖)。實體-關系圖方法是抽象和描述現(xiàn)實世界的有力工具。用E-R圖表示的概念模型獨立于具體的DBMS所支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎,因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。系統(tǒng)E-R圖如圖2.2所示。 圖2.2系統(tǒng)的E-R圖2.3.2 各實體詳細E-R圖航 線航線編號始發(fā)城市始發(fā)時間到達城市始發(fā)日期公務艙價格客機編號頭等艙價格經(jīng)濟艙價格圖2.3航班的E-R圖 客機編號客機型號購買時間服務時間頭等艙數(shù)經(jīng)濟艙數(shù)編號公務艙數(shù)飛機 圖2.4機票的E-R圖身份證號乘客姓名乘客性別聯(lián)系電話乘客類型編號航班編號用戶名稱乘客倉位類型機票價格編號機票 圖2.5乘客和飛機的E-R圖 圖2.6管理員的E-R圖 實體的屬性如下所示:機票(編號(KEY)、用戶名稱、航班編號、倉位類型、機票價格);航線(編號(KEY)、航線編號、始發(fā)城市、到達城市、始發(fā)日期、始發(fā)時間、客機編號、經(jīng)濟艙價格、公務艙價格、頭等艙價格);乘客(ID(KEY)、姓名、性別、身份證號碼、聯(lián)系方式);管理員(ID(KEY)、姓名、密碼、密保問題、答案、職務);飛機(ID(KEY)、客機編號、客機型號、購買時間、服務時間、頭等艙座位數(shù)、經(jīng)濟艙座位數(shù)、公務艙座位數(shù));2.4 設計工具環(huán)境2.4.1 Java語言 Java語言是1995年由Sun公司開發(fā)的編程語言,它的出現(xiàn)是源于對獨立平臺語言的需要。Java語言是目前使用最為廣泛的編程語言之一,它具有簡單、面向對象、穩(wěn)定、與平臺無關、多線程、動態(tài)等特點。2.4.2 MyEclipse開發(fā)平臺MyEclipse 是基于Java的、開放源代碼的可擴展開發(fā)平臺,它最初由IBM公司投入巨資開發(fā),后來被捐贈給國際開放源代碼團體。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,MyEclipse附帶了一個標準的插件集,包括了Java開發(fā)工具(Java development Tools,JDT)。雖然大多數(shù)用戶很樂于將MyEclipse當作Java IDE 來用,但MyEclipse的目標不僅限于此。MyEclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展MyEclipse的軟件開發(fā)人員,因為它允許開發(fā)人員構建與MyEclipse環(huán)境無縫集成工具。MyEclipse可以集成不同的軟件工具開發(fā)供應商的產(chǎn)品,任何開發(fā)工具廠商都可以將他們的開發(fā)工具或組件加入到MyEclipse 平臺,用戶可以通過相同的接口使用不同的工具。也就是說,可以在同一集成環(huán)境中同時使用不同開發(fā)商開發(fā)的軟件工具。由于MyEclipse具有這種整和不同工具的特性,開發(fā)者可以綜合性能調節(jié)、監(jiān)測、調試等處理,從而可以在較短的時間內開發(fā)出更高性能和質量的應用軟件。因此,MyEclipse 平臺不僅得到了許多開發(fā)者和新興的中小企業(yè)軟件公司的支持而且得到IBM、Sun、Oracle等大型軟件公司的支持。2.4.3 MySQLMySQL是一個精巧的SQL 數(shù)據(jù)庫管理系統(tǒng),以操作簡便著稱。由于其強大的功能、豐富的應用編程接口以及精巧的系統(tǒng)結構設計,在基于數(shù)據(jù)庫的應用軟件開發(fā)中得到了廣泛的應用。MySQL 是客戶機/服務器模式的分布式系統(tǒng),由SQL服務器、客戶端、管理工具和應用編程接口等組成。它平臺無關性的優(yōu)點使其能在多個操作系統(tǒng)上運行。此外,MySQL 還是多線程的,不僅具有運行速度快,可處理大批量數(shù)據(jù)等特點,還支持多CPU使用。2.4.4 JSP系統(tǒng)用JSP技術作為開發(fā)工具。JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。 JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。 Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Java Servlet一樣,是在服務器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。 1 JSP技術的優(yōu)勢 (1)JSP的效率和安全性更高。JSP在執(zhí)行之前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機解釋執(zhí)行,比源碼解釋的效率高;服務器還有字節(jié)碼的Cacher(緩存)機制,能提高字節(jié)碼的訪問效率。第一次調用JSP網(wǎng)頁速度可能稍慢,因為它被編譯成緩存內容,以后就快的多了。 (2)JSP組件方式更方便。絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件來執(zhí)行應用程序所要求的更為復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使用這些組件為更多的使用者或者客戶所使用?;诮M件的方法加速了總體開發(fā)過程,并且使用各種組織在他們現(xiàn)有的技能和優(yōu)化結果的開發(fā)努力中得到平衡。 (3)JSP適應平臺更廣。幾乎所有平臺都支持Java,JSP+Javabean可以在所有平臺下暢通無阻。從一個平臺移植到另一個平臺,JSP和Javabean甚至不用重新編譯,因為Java字節(jié)碼都是標準的與平臺無關的。(4)簡單標識簡化頁面開發(fā)。Web頁面開發(fā)人員不一定都是熟悉腳本語言的編程人員。JSP技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態(tài)內容生成所需要的。標準的JSP標識能夠訪問和實例化Javabean組件,設置或者檢索組件屬性,下載Applet以及執(zhí)行使用其他方法更難于編碼和耗時的功能。第三章 總體設計3.1總體結構設計網(wǎng)上航空售票管理信息系統(tǒng)共分為客戶信息管理、航班信息管理、管理員信息管理、訂票信息管理和統(tǒng)計信息及圖形顯示幾個模塊。具體功能模塊如圖3.1所示。 圖3.1總體模塊圖3.2數(shù)據(jù)庫邏輯設計數(shù)據(jù)庫是系統(tǒng)的后臺部分,用來存儲信息以供前臺調用和輸出。數(shù)據(jù)庫設計的是否合理將直接影響到系統(tǒng)的穩(wěn)定性、安全性及可維護性,同時也會影響到后期的編碼。在進行了需求分析和概要設計后,接下來將詳細介紹系統(tǒng)中各部分信息的存儲結構。3.2.1人員信息人員信息包括管理員信息表、用戶信息表;具體表格如表3.1,表3.2所示。表 3.1管理人員信息表屬性名數(shù)據(jù)類型長度允許空字段描述idInt11管理員編號nameVarchar255姓名passwordVarchar255密碼questionVarchar255密碼提示問題answerVarchar255 問題答案positionVarchar 255 職務*注:管理人員信息表主要存儲系統(tǒng)管理人的相關信息,用于管理員登錄系統(tǒng)時驗證身份,登錄系統(tǒng)后,可以修改數(shù)據(jù)庫的任何信息。主鍵: Id自增。表 3.2 用戶信息表屬性名數(shù)據(jù)類型長度允許空字段描述idInt11用戶編號nameVarchar255用戶姓名sexVarchar4用戶性別idcardVarchar18用戶身份證號碼telVarchar11 電話號碼*注:用戶信息表主要是對乘客信息的存儲,添加乘客信息存入該表,用戶登錄時驗證輸入信息是否正確,刪除和修改乘客信息時即刪除和修改該表中對應的相關信息。主鍵:id自增 。3.2.2 機票信息機票信息包括訂票信息表、機票信息表、航班信息表、客機信息表和機票價格信息表,這些機票信息表用來存放與機票相關的所用操作信息如表3.3,表3.4,表3.5所示。 表3.3客機信息表屬性名數(shù)據(jù)類型長度允許空字段描述idInteger11編號kjbhVarchar255客機編號kjxhVarchar255客機型號gmsjVarchar255購買時間fwsjVarchar255服務時間jingjiInteger11v經(jīng)濟艙座位數(shù)gongwuInteger11公務艙座位數(shù) topInteger11頭等艙座位數(shù)*注:客機信息表中存儲了每架客機的詳細信息,登錄系統(tǒng)后可以查詢該表中的相關信息。為管理人員統(tǒng)計客機數(shù)據(jù)提供信息。主鍵:id自增表3.4訂票信息表屬性名數(shù)據(jù)類型長度允許空字段描述idInteger11編號nameVarchar255乘客姓名hxbhVarchar255航線編號t_typeint4倉位類型priceInteger11機票價格*注:訂票信息表中記錄了乘客訂票的信息,每有一位用戶訂票,就在該表中插入一條信息,為管理員統(tǒng)計數(shù)據(jù)提供信息。主鍵:id自增。 表3.5航線信息表屬性名數(shù)據(jù)類型長度允許空字段描述idInteger11編號hxbhVarchar255航線編號startcityVarchar255始發(fā)城市endcityVarchar255到達城市riqiVarchar0始發(fā)日期 starttimeVarchar0始發(fā)時間 endtimeVarchar0到達時間 kjbhVarchar255客機編號 jingjipriceInteger11經(jīng)濟艙價格gongwupriceInteger11公務艙價格toppriceInteger11頭等艙價格*注:航班信息表中存儲了所有航班的相關信息,管理員可以對該表的信息進行增刪改查等操作,其他人員只有查詢權限。主鍵:id自增。 第四章 詳細設計4.1系統(tǒng)部分時序圖時序圖是通過表示隨著時間的推移所發(fā)送的消息序列,來體現(xiàn)對象之間的動態(tài)協(xié)作關系,它主要是為了表示對象之間的交互過程,即對象之間發(fā)送消息的順序,以及引起的一系列事件。圖4.1登錄人員登錄系統(tǒng)時序圖圖4.1為登錄人員登錄系統(tǒng)主界面的時序圖,登錄人員先在系統(tǒng)的登錄界面輸入登陸信息,系統(tǒng)對登錄信息進行判斷,信息不正確則返回錯誤提示,信息正確便可進入操作者所屬權限下要執(zhí)行的操作。該系統(tǒng)設定了二種登錄人員,管理員和乘客,并為他們設定了各自的訪問權限。1:選擇菜單7:顯示改后信息6:保存新信息息5:填寫修改信息4:顯示界面3:選擇2:列出菜單管理人員newticketsmainmenu1menuumenutickets圖4.2管理人員對信息進行操作的時序圖圖4.2為登錄人員登錄系統(tǒng)后進行各種操作的時序圖,登錄人員進入操作界面先在操作界面選擇何種操作,更正后的信息會保存在數(shù)據(jù)庫里。例如,選擇的是修改信息就會將更新后的信息顯示在頁面上。4.2系統(tǒng)的流程設計系統(tǒng)的流程設計對系統(tǒng)的編碼起著至關重要的地位,根據(jù)系統(tǒng)的功能要求,做出幾個重要的功能的流程圖。(1)用戶登錄模塊為了安全性,進入本系統(tǒng)需要(管理員)身份驗證,只有用戶通過帳號與密碼一致性的驗證,才能進入系統(tǒng)。登錄情況有三種:一是帳號與密碼一致,二是帳號不存在,三是密碼不正確,每一種情況系統(tǒng)都會有提示。另外,用戶也可以選擇取消登錄。當輸入帳號時,系統(tǒng)會自動搜索數(shù)據(jù)庫(使用SELECT函數(shù))辨別此用戶是“管理員“還是“用戶”,并且顯示出來,倘若是管理員,那么在用戶管理模塊中可以修改用戶密碼以及增加新一般用戶,否則只能修改密碼。設計出的登錄流程圖如圖4.3所示。 結束圖4.3系統(tǒng)登錄流程圖(2)訂票模塊該流程詳細描述用戶訂票,當用戶發(fā)出訂票請求后,系統(tǒng)搜索數(shù)據(jù)庫中相應的機票信息,如果沒找到則該機票已經(jīng)售完。如果找到相應的機票信息,系統(tǒng)會將相關機票售予該用戶。4.3系統(tǒng)功能的詳細實現(xiàn)下面介紹系統(tǒng)的詳細功能設計。(1) 用戶登錄系統(tǒng)登錄界面如圖4.4所示。在這里設置了一個圖片驗證碼,可以更好的保護用戶的信息。當用戶輸入正確的用戶賬號和密碼以及驗證碼時,系統(tǒng)會跳轉到另一個界面,也就是主窗口。若用戶名密碼不正確,系統(tǒng)將給出提示:“您輸入的用戶名和密碼不正確,請您重新輸入”,然后繼續(xù)重新輸入。圖4.4用戶登錄界面(2) 管理員主界面 用戶登錄后,根據(jù)登錄的帳號進行判斷:若是admin(管理員),則可以對系統(tǒng)中的所有信息進行增加、刪除、修改和查詢等操作,如圖4.5所示。圖4.6所示的是管理員對航班信息的管理。圖4.5主界面 圖4.6查詢航班(3) 用戶訂票用戶登錄后,則可以進行訂票和退票以及查詢機票信息等操作,圖4.7所示用戶跟據(jù)需要輸入機票的查詢條件,從數(shù)據(jù)庫中找到相應的機票,進行確認購買。會顯示購買成功。 圖4.7 查詢機票(4) 用戶退票當用戶需要退票時,系統(tǒng)根據(jù)機票編號從數(shù)據(jù)庫查到關于此票的訂票信息如圖4.8所示,當點退票時,數(shù)據(jù)庫中該票的信息會立刻更新,同時該類機票的數(shù)量也會加一,以便及時將此票售予下位乘客。在退還票價時,要扣掉機票價格20%的手續(xù)費,如圖4.9所示。 圖4.8 輸入乘客信息 圖4.9退票界面 圖4.10 退票金額4.4詳細設計中關鍵技術的實現(xiàn)以下主要介紹主要功能的關鍵技術的實現(xiàn)過程。 4.4.1數(shù)據(jù)庫的連接數(shù)據(jù)庫連接的建立及關閉對系統(tǒng)而言是耗費系統(tǒng)資源的操作。在多層結構應用程序環(huán)境中,這種耗費資源的動作對系統(tǒng)性能的影響很大。在傳統(tǒng)的數(shù)據(jù)庫連接方式中,一個數(shù)據(jù)庫連接對象均對應一個邏輯數(shù)據(jù)庫連接,每次操作都打開一個邏輯連接,使用完后再關閉連接,這樣的反復操作將造成系統(tǒng)性能的急劇下降。數(shù)據(jù)庫連接池是應用程序啟動時建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由程序動態(tài)地對池中的連接進行申請、使用和釋放,當連接的數(shù)量大于連接池中的連接數(shù)時,可以動態(tài)地根據(jù)情況增加或減少池中的連接數(shù)。用JDBC(Java DataBase Connectivity)連接MySQL數(shù)據(jù)庫需要經(jīng)過下面幾個步驟:(1)建立Conn.java類;(2)載入JDBC驅動:Class.forName(org.gjt.mm.mysql.Driver);(3) 建立與數(shù)據(jù)庫的連接:要建立與數(shù)據(jù)庫的連接,首先要創(chuàng)建指定數(shù)據(jù)庫的URL。利用DriverManager的getConnection方法連接數(shù)據(jù)庫的URL對象,URL格式如下:String url=jdbc:mysql:/localhost/shop?user=root&password=123;(4) 調用執(zhí)行SQL語句。(5) 結束連接。41第5章 編碼實現(xiàn) 以下編碼是以管理員的管理為例Com.model:Admin.javapublic class Adminprivate int id;private String name;private String password;private String question;private String answer;private String position;public Admin()public int getId() return id;public void setId(int id) this.id = id;public String getName() return name;public void setName(String name) = name;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getQuestion() return question;public void setQuestion(String question) this.question = question;public String getAnswer() return answer;public void setAnswer(String answer) this.answer = answer;public String getPosition() return position;public void setPosition(String position) this.position = position;public Admin(int id, String name, String password, String question,String answer, String position) super();this.id = id; = name;this.password = password;this.question = question;this.answer = answer;this.position = position;public Admin(String name, String password, String question,String answer, String position) = name;this.password = password;this.question = question;this.answer = answer;this.position = position;Com.dao:AdminDao.javapackage com.dao;import java.util.ArrayList;import com.model.Admin;public interface AdminDaopublic boolean addAdmin(Admin a);public ArrayList listAdmin();public Admin getById(int id);public boolean delAdmin(int id);public boolean modifyAdmin(Admin a);public ArrayList listAdmin(int start,int count);public boolean authAdmin(String name,String password);public boolean authInfo(String name,String questio,String answer);public boolean modifyPass(String name,String pass);public Admin getByName(String name);Com.imp:AdminImppackage com.imp;import java.sql.ResultSet;import java.util.ArrayList;import com.dao.AdminDao;import com.model.Admin;import com.model.Conn;public class AdminImp implements AdminDaopublic boolean addAdmin(Admin a)String name=a.getName();String password=a.getPassword();String question=a.getQuestion();String answer=a.getAnswer();String position=a.getPosition();String sql=insert into ap_admin(name,password,question,answer,position) values(+name+,password(+password+),+question+,+answer+,+position+);int result=Conn.Insert(sql);if(result=1)return true;elsereturn false;public ArrayList listAdmin()String sql=select * from ap_admin;ResultSet rs=Conn.Select(sql);ArrayList list=new ArrayList();trywhile(rs.next()int id=rs.getInt(id);String name=rs.getString(name);String password=rs.getString(password);String question=rs.getString(question);String answer=rs.getString(answer);String position=rs.getString(position);Admin a=new Admin(id,name,password,question,answer,position);list.add(a);return list;catch(Exception e)return null;public Admin getById(int id)String sql=select * from ap_admin where id=+id;ResultSet rs=Conn.Select(sql);tryif(rs.next()String name=rs.getString(name);String password=rs.getString(password);String question=rs.getString(question);String answer=rs.getString(answer);String position=rs.getString(position);Admin a=new Admin(id,name,password,question,answer,position);return a;elsereturn null;catch(Exception e)return null;public boolean delAdmin(int id)String sql=delete from ap_admin where id=+id;int result=Conn.Delete(sql);if(result=1)return true;elsereturn false;public boolean modifyAdmin(Admin a)int id=a.getId();String name=a.getName();String password=a.getPassword();String question=a.getQuestion();String answer=a.getAnswer();String position=a.getPosition();String sql=update ap_admin set name=+name+,password=password(+password+),question=+question+,answer=+answer+,position=+position+ where id=+id;int result=Conn.Update(sql);if(result=1)return true;elsereturn false;public ArrayList listAdmin(int start,int count)String sql=select * from ap_admin limit +start+,+count;ResultSet rs=Conn.Select(sql);ArrayList list=new ArrayList();trywhile(rs.next()int id=rs.getInt(id);String name=rs.getString(name);String password=rs.getString(password);String question=rs.getString(question);String answer=rs.getString(answer);String position=rs.getString(position);Admin a=new Admin(id,name,password,question,answer,position);list.add(a);return list;catch(Exception e)return null;public boolean authAdmin(String name,String password)String sql=Select * from ap_admin where name=+name+ and password=password(+password+);ResultSet rs=Conn.Select(sql);tryif(rs.next()return true;elsereturn false;catch(Exception e)return false;public boolean authInfo(String name,String question,String answer)String sql=select * from ap_admin where name=+name+ and tel=+question+ and answer=+answer+;ResultSet rs=Conn.Select(sql);tryif(rs.next()return true;els
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空產(chǎn)品造價管理辦法
- 項目質量安全培訓課件
- 異常處理方法培訓課件
- 第二次質量數(shù)學試卷
- 全優(yōu)潤滑培訓課件
- 高中選修數(shù)學試卷
- 肌少癥品管圈課件
- 2025年河北唐山灤南縣醫(yī)院招聘23人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025至2030促生長發(fā)育食品行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資報告
- 2025至2030櫥柜行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 味精(雞精)批發(fā)合同書
- 2014科學調查體驗活動培訓
- 國家開放大學2023年7月期末統(tǒng)一試《22417客戶關系管理》試題及答案-開放???/a>
- 水環(huán)境綜合治理服務方案(技術標)
- 中國高鐵發(fā)展史
- 職業(yè)倦怠量表MBIGS (MBIGeneral Survey)
- 井下探放水技術專題培訓
- 西式面點師(高級)課件 項目4 甜品制作
- ISO9001內審檢查表(品管部)
- 乳腺癌病因的高危因素分析
- “三高共管、六病同防”工作實踐10-40-16
評論
0/150
提交評論