基于jsp的航空票務(wù)系統(tǒng)論文_第1頁
基于jsp的航空票務(wù)系統(tǒng)論文_第2頁
基于jsp的航空票務(wù)系統(tǒng)論文_第3頁
基于jsp的航空票務(wù)系統(tǒng)論文_第4頁
基于jsp的航空票務(wù)系統(tǒng)論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、合肥師范學(xué)院2015屆本科生畢業(yè)論文(設(shè)計) 本科生畢業(yè)論文(設(shè)計) 題目: 基于JAVA的航空票務(wù) 系統(tǒng)的設(shè)計與實現(xiàn) 學(xué) 院 計算機(jī)學(xué)院 學(xué)科門類 工科 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 學(xué) 號 姓 名 指導(dǎo)教師 2015年 5 月 22 日摘 要現(xiàn)如今的航空售票業(yè)務(wù)是一個高度依賴信息的行業(yè)?;ヂ?lián)網(wǎng)信息技術(shù)的飛速發(fā)展不僅使航空售票工作者逐漸擺脫了繁重的手工勞動、提高了工作效率,而且推著航空事業(yè)向現(xiàn)代化管理邁進(jìn)。所以航空票務(wù)系統(tǒng)的實現(xiàn)在現(xiàn)實生活中尤為重要?;贘AVA的航空票務(wù)系統(tǒng)就是使用JAVA實現(xiàn)在網(wǎng)頁上進(jìn)行航空機(jī)票的交易和管理。通過本系統(tǒng)不僅可以進(jìn)行售票工作,用戶還可進(jìn)行改簽和退票等功能,系統(tǒng)的

2、后臺管理還可以對旅客情況和航班和機(jī)票的信息進(jìn)行查詢,并可根據(jù)不同的情況隨時進(jìn)行進(jìn)行增加,修改,刪除等工作,使售票人員能夠有效的對機(jī)票進(jìn)行控制和管理。極大程度的節(jié)約了成本,并為用戶提供更加快捷、簡便的服務(wù)。關(guān)鍵詞:航空票務(wù);管理系統(tǒng);JAVAIAbstractTheairlineticketingisnowadaysacareerhighlyreliedoninformation.Therapiddevelopmentofinternetinformationtechnologygraduallygettingtheheavymissionsoff,improvingtheworkefficie

3、ncyandmakingstepstowardsmodernmanagement.So it is very important realize airline ticketing system in our life.TheJava-basedairlineticketingsystemrealizedtheairlineticketstradeandmanagementonlineinWeb.Notonlytheticketsellingservicecanbeachievedbythesystem,buttheticketsreschedulingandcancelingservice.

4、Theback-stagemanagementrealizedtheinquirefunctionforpassenger,flightandticketinformation.Add,deleteandchangefunctioncanalsoberealizedinnecessary,whichmakesticketssellerhaveaefficientcontrolandmanagementtoairticket.Savedcostinabigextentandproveduserswithbetterservice. Key Words:Air Ticketing; Managem

5、ent System; JAVAII目 錄摘 要IAbstractII1.引言11.1 開發(fā)背景及意義11.2 開發(fā)工具和環(huán)境配置11.2.1 開發(fā)工具11.2.2 環(huán)境配置2 1.3 可行性研究42.需求分析52.1 功能需求52.2 性能需求53.系統(tǒng)設(shè)計63.1 數(shù)據(jù)庫設(shè)計63.1.1 數(shù)據(jù)庫表63.1.2 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計63.1.3 數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計83.2 功能模塊概要設(shè)計103.2.1 模塊設(shè)計103.2.2 系統(tǒng)流程圖104.詳細(xì)設(shè)計114.1 登錄模塊114.2 航班管理模塊134.3 機(jī)票預(yù)訂模塊174.4 我的訂單模塊184.5 修改密碼模塊184.6 用戶注冊模

6、塊194.7 用戶管理模塊205.系統(tǒng)測試215.1 系統(tǒng)測試的概念215.2 測試策略及結(jié)果215.2.1 功能的測試215.2.2 其他測試236.結(jié)語24參考文獻(xiàn)25附 錄26致 謝381.引言1.1 開發(fā)背景及意義隨著科技的發(fā)展,人們生活水平的提高,飛機(jī)這種交通工具逐漸的得到人們的青睞,它方便了人們的出行。民航服務(wù)業(yè)的發(fā)展,也推動著各種機(jī)票經(jīng)營企業(yè)的快速發(fā)展,用戶需要實時的管理航班信息,能夠?qū)蛻舳ㄆ?、退票、產(chǎn)生定單進(jìn)行管理。面對各種不同種類的信息,需要合理的數(shù)據(jù)庫結(jié)構(gòu)來保存數(shù)據(jù)信息以及有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。因此,航空票務(wù)系統(tǒng)的設(shè)計與實現(xiàn)是必須的。它不但能滿足各種機(jī)票經(jīng)

7、營企業(yè)的需求,也大大方便了乘客的查詢航班、購買機(jī)票、退票等活動。管理信息系統(tǒng)的開發(fā)需要語言的支持,現(xiàn)在主流的語言有JAVA、C、IOS、Android等。這里比較適合的是JAVA語言,它是面向?qū)ο蟮摹/S(瀏覽器/服務(wù)器)結(jié)構(gòu)。面向?qū)ο蟮拈_發(fā)是將所需開發(fā)的管理信息系統(tǒng)要解決的問題抽象成若干對象,再研究這些對象之間的關(guān)系,構(gòu)建這些對象之間的聯(lián)系,最終反映在開發(fā)的管理信息系統(tǒng)中。B/S結(jié)構(gòu)是瀏覽器、服務(wù)器的結(jié)構(gòu),客戶之間通過瀏覽器就可以訪問票務(wù)系統(tǒng),不需要下載客戶端。更加方便的為用戶通過服務(wù)1。本系統(tǒng)的開發(fā)使用的JAVA中的SERVLET和JSP技術(shù)。前臺頁面時動態(tài)的JSP頁面,在通過SERVL

8、ET交互式地瀏覽和修改數(shù)據(jù),生成動態(tài) Web內(nèi)容。整個項目使用MVC設(shè)計模式,層次結(jié)構(gòu)分明便于開發(fā)和維護(hù)。1.2 開發(fā)工具和環(huán)境配置1.2.1 開發(fā)工具本系統(tǒng)開發(fā)主要使用的開發(fā)工具是MyEclipse9.0和MySQL數(shù)據(jù)庫,同時還在MyEclipse中配置了Tomcat服務(wù)器以及使用火狐瀏覽器進(jìn)行運行測試。1、MyEclipse:是在Eclipse 基礎(chǔ)上加上自己的插件開發(fā)而成的功能強大的企業(yè)級集成開發(fā)環(huán)境,主要用于JAVA、JAVAEE以及移動應(yīng)用的開發(fā)。MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持相當(dāng)不錯2。2、MySQL:是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其所

9、使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫3。3、Tomcat 服務(wù)器是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)1器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。4、火狐瀏覽器:可以用來運行顯示系統(tǒng)開發(fā)編寫的JSP頁面,尤其是火狐下的一款插件Firebug更是方便進(jìn)行查錯。它集HTML查看和編輯、JavaScript控制臺、網(wǎng)絡(luò)狀況監(jiān)視器于一體,是開發(fā)JavaScript、CSS、HTML和 A

10、jax的得力助手4。Firebug能從各個不同的角度剖析Web頁面內(nèi)部的細(xì)節(jié)層面,給Web開發(fā)者帶來很大的便利。1.2.2環(huán)境配置1、配置JDK:首先下載安裝JDK軟件,安裝好后配置系統(tǒng)環(huán)境變量,右擊計算機(jī) - 屬性 - 高級系統(tǒng)設(shè)置 - 環(huán)境變量 - ,然后就可以對環(huán)境變量進(jìn)行設(shè)置。找到系統(tǒng)變量中的path值。如下圖所示:圖1-1 環(huán)境變量配置 選中“path”- 點擊編輯 - 把安裝JDK的路徑粘貼到變量值的后面。注意,復(fù)制進(jìn)去的路徑一定要與前面的數(shù)據(jù)用分號隔開。圖1-2 系統(tǒng)變量編輯2、配置Tomcat:首先下載Tomcat文件,我是把文件放在E盤下。然后啟動MyEclipse,點擊 W

11、indows - preferences - 搜索tomcat。如下圖操作:圖1-3 Tomcat配置 3、使用第三方工具連接數(shù)據(jù)庫:下載、安裝MySQL客戶端軟件Navicat for Mysql,雙擊打開工具 - 點擊“Connection”彈出如圖示窗口,填寫服務(wù)器的IP以及端口號、數(shù)據(jù)庫的用戶名和密碼連接數(shù)據(jù)庫。圖1-4 連接數(shù)據(jù)庫1.3 可行性研究航空票務(wù)系統(tǒng)是使用JAVA語言開發(fā),使用SERVLET和JSP技術(shù)進(jìn)行實現(xiàn)。為了更加方便用戶進(jìn)行訂票、退票、查詢等功能,系統(tǒng)使用JAVAWEB技術(shù),直接將系統(tǒng)發(fā)布到萬維網(wǎng)上,用戶直接通過瀏覽器訪問該系統(tǒng),不需要下載客戶端。在技術(shù)上使用MVC

12、設(shè)計模式,將顯示層、業(yè)務(wù)邏輯層以及控制層分開,結(jié)構(gòu)清晰便于開發(fā)、易維護(hù)5。2. 需求分析2.1功能需求 本航空票務(wù)系統(tǒng)主要實現(xiàn)的功能有:(1)實現(xiàn)不同權(quán)限的登錄。主要有三種用戶權(quán)限:管理員權(quán)限、登錄用戶、未登錄用戶。管理員可進(jìn)行用戶管理、航班管理、機(jī)票管理以及系統(tǒng)維護(hù)。登錄用戶可進(jìn)行航班查詢,機(jī)票查詢、預(yù)定、退票改簽以及個人信息管理。未登錄用戶能對航班和機(jī)票進(jìn)行查詢以及注冊、登錄等6。(2)訂票功能,能夠按照顧客提供的信息提供訂票服務(wù),例如按給定的起飛城市、到達(dá)城市、起飛日期、艙位類型等訂票。(3)航班管理,管理員能夠?qū)桨嘈畔⑦M(jìn)行增、刪、改、查。保持航班信息的更新及維護(hù)。(4)機(jī)票管理,管理

13、員客戶操作反饋的信息,對機(jī)票信息進(jìn)行增、刪、改、查等操作。(5)提供各種查詢功能。例如航班時刻查詢,包括起飛時間,到達(dá)時間;航班的其他基本信息查詢,以及對機(jī)票的查詢。(6)我的訂單。用戶登錄后通過我的訂單可以查看個人的訂單詳情,還可進(jìn)行退票功能以及機(jī)票改簽,并且打印改簽前后機(jī)票的價格信息。(7)公司簡介,通過公司簡介可以查看公司的介紹。用戶登錄進(jìn)入航空票務(wù)系統(tǒng)的主界面,在上方有六個菜單按鈕:系統(tǒng)主頁、公司簡介、航班查詢、機(jī)票預(yù)訂、我的訂單及修改密碼。各個界面簡潔,操作方便,容易上手,用戶可以對航班進(jìn)行詳細(xì)的信息查詢,在機(jī)票查詢中進(jìn)行機(jī)票的查詢和預(yù)定,在我的訂單中進(jìn)行機(jī)票退訂和改簽。2.2性能需

14、求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,系統(tǒng)應(yīng)該滿足以下的性能需求:系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能,系統(tǒng)在后期的維護(hù)下以及可擴(kuò)展性,要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。3. 系統(tǒng)設(shè)計3.1 數(shù)據(jù)庫設(shè)計對于航空票務(wù)系統(tǒng),它的數(shù)據(jù)庫設(shè)計是通過對航空公司管理業(yè)務(wù)過程的數(shù)據(jù)流程分析和用戶的基本信息以及用戶的處理業(yè)務(wù)的數(shù)據(jù)分析后進(jìn)行設(shè)計??梢源_定岀系統(tǒng)中一些實體對象及以及它們之間的關(guān)系,這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動7。 3.1.1數(shù)據(jù)庫表航空票務(wù)系統(tǒng)中的實體對象包括航班信息表(flightinfo),用戶和管理員信息表(userinfo),機(jī)

15、票信息表(ticketinfo),訂單信息表(user_ticketinfo)這些實體模型的含義如下所述。(1)flightinfo:代表一個航班信息實體:包括航班號(id)、航空公司(airfirm)、起飛地(start)、到達(dá)地(end)、起飛時間(leaveTime)、到達(dá)時間(arriveTime)。(2)userinfo:代表一個用戶或管理員的信息實體:包括用戶編號(id)、用戶名(name),密碼(password),性別(sex),手機(jī)號碼(tel),身份證號(idcard),用戶權(quán)限(level)。(3)ticketinfo:代表每一張機(jī)票的信息實體:機(jī)票編號(id)、起飛地(

16、start)、到達(dá)地(end)、起飛時間(leaveTime)、到達(dá)時間(arriveTime),日期(time),座位等級(seatLeval),票價(fare),discount(折扣),航班號(flight_id)、機(jī)票剩余數(shù)量(ticketNum)。(4)user_ticketinfo:代表一個用戶購買機(jī)票的信息實體:機(jī)票編號(id)、起飛地(start)、到達(dá)地(end)、起飛時間(leaveTime)、到達(dá)時間(arriveTime),日期(time),座位等級(seatLeval),票價(fare),用戶名(name)、身份證號(idcard)。3.1.2數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計概念

17、結(jié)構(gòu)設(shè)計將反映現(xiàn)實世界中的實體、屬性和它們之間的關(guān)系,建立原始數(shù)據(jù)形式。概念結(jié)構(gòu)設(shè)計的目標(biāo)是產(chǎn)生反映系統(tǒng)信息需求的整體數(shù)據(jù)庫概念結(jié)構(gòu)8,描述工具主要有實體圖:圖3-1 航班信息實體圖3-2 用戶信息實體圖3-3 機(jī)票信息實體圖3-4 訂單信息實體圖3-5 ER圖3.1.3數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計是描述數(shù)據(jù)庫的組織結(jié)構(gòu)、生成數(shù)據(jù)庫模式。數(shù)據(jù)庫模式定義以下內(nèi)容:存儲什么信息、數(shù)據(jù)的組織、需要的表、列的定義9。本課題使用的是MySQL數(shù)據(jù)庫,根據(jù)上述建立的E-R圖,經(jīng)設(shè)計得到如下的數(shù)據(jù)表:(1) flightinfo(航班信息表)航班信息表用來保存航班的信息,如圖3-5所示。(2) u

18、serinfo(用戶信息表)用戶信息表用于記錄用戶的信息情況,如圖3-6所示。(3) ticketinfo(機(jī)票信息表)機(jī)票信息表用來保存機(jī)票的信息,如圖3-7所示。(4) user_ticketinfo(訂單信息表)訂單信息表用于記錄每個用戶訂購機(jī)票的信息,如圖3-8所示。圖3-6 flightinfo(航班信息表)圖3-7 userinfo(用戶信息表)圖3-8 ticketinfo(機(jī)票信息表)圖3-9 user_ticketinfo(訂單信息表)3.2 功能模塊概要設(shè)計3.2.1模塊設(shè)計用戶登錄模塊 實現(xiàn)了對用戶使用系統(tǒng)的檢驗工作。用戶又分為不同的權(quán)限,管理員登陸,用戶登錄和不進(jìn)行登錄

19、直接進(jìn)入。對不同用戶進(jìn)入系統(tǒng)所賦予的權(quán)限也不同,增加了系統(tǒng)的安全性。用戶管理模塊管理員登陸的權(quán)限,對系統(tǒng)登錄用戶的查看和刪除操作。航班管理模塊包含對航班信息的查詢,所有用戶都擁有的權(quán)限。對航班信息的添加、修改和刪除這是系統(tǒng)管理員的操作權(quán)限。機(jī)票管理模塊包含對機(jī)票信息的查詢,所有用戶都擁有的權(quán)限。對機(jī)票信息的添加、修改和刪除這是系統(tǒng)管理員的操作權(quán)限。對機(jī)票的預(yù)定這是登錄用戶的權(quán)限。我的訂單模塊包含對用戶訂單信息的查詢,并且包含對機(jī)票的退訂以及改簽權(quán)限,改簽后會提示改簽前后機(jī)票價格信息。修改密碼模塊對于已登錄用戶可進(jìn)行密碼修改。登錄和注冊模塊這是對進(jìn)入系統(tǒng)沒有登錄的用戶的權(quán)限。用戶點擊登錄按鈕跳轉(zhuǎn)

20、到登陸界面。點擊注冊進(jìn)行注冊,用戶注冊包含對用戶信息的驗證。3.2.2系統(tǒng)流程圖圖3-10 系統(tǒng)走向圖4. 詳細(xì)設(shè)計 本系統(tǒng)使用的是JAVA的SERVLET和JSP技術(shù),所以系統(tǒng)的設(shè)計又分為前端JSP頁面設(shè)計和后端業(yè)務(wù)邏輯處理。下面的模塊設(shè)計主要從前端JSP頁面和后端中的SERVLET控制層兩部部分進(jìn)行講解。4.1登錄模塊 登錄模塊進(jìn)行登錄用戶的用戶名和密碼進(jìn)行驗證,點擊“快速注冊”還能跳轉(zhuǎn)到注冊界面進(jìn)行用戶注冊。 登錄用戶登錄后,傳遞用戶填寫的用戶名和密碼進(jìn)入到UserServlet中的loginStu方法進(jìn)行用戶身份驗證,如果用戶名和密碼輸入錯誤則跳轉(zhuǎn)到登錄頁面。用戶登錄正確則跳轉(zhuǎn)到系統(tǒng)主

21、界面。實現(xiàn)代碼如下:/* * 用戶登錄 */public void loginStu(HttpServletRequest request,HttpServletResponse response throws SQLException, ServletException, IOException String username = request.getParameter(username);String password = request.getParameter(password);String sql = select * from userinfo where name=? and

22、 password=?;Object parames = new Objectusername,password;System.out.println(username+-+password);/一般用戶登錄(不需要用戶名、密碼)if(username=null|username=) & (password=|password=null)response.sendRedirect(main1.jsp);else/管理員或用戶登錄ListMap list = fun.login(sql,parames);if(list!=null)Map map = list.get(0);if(usernam

23、e.equals(map.get(name)&password.equals(map.get(password) System.out.println(登錄成功);/判斷是管理員還是用戶登錄if(map.get(level).equals(1)System.out.println(管理員登錄成功!);HttpSession session = request.getSession();session.setAttribute(username, username);request.getRequestDispatcher(main2.jsp).forward(request, response

24、);elseSystem.out.println(用戶登錄成功!);HttpSession session = request.getSession();session.setAttribute(username, username);session.setAttribute(psw, password);request.getRequestDispatcher(main3.jsp).forward(request, response);elseSystem.out.println(登錄失敗);response.sendRedirect(/login.html);elseSystem.out.

25、println(list為空,用戶名或密碼錯誤!);response.sendRedirect(login.html);1、 登錄成功跳轉(zhuǎn)到系統(tǒng)主界面:圖4-1 主界面2、 登錄失敗跳轉(zhuǎn)到登錄界面:圖4-2 登錄界面4.2航班管理模塊航班管理包含對航班信息系的查詢、添加、修改和刪除。在航班信息查詢中又分為按航班號和起飛地進(jìn)行查詢。航班按航班號條件查詢通過調(diào)用selectByhangbanhao方法,把按查詢的條件選擇航班號和查詢的條件值航班值作為參數(shù)傳遞給selectByhangbanhao方法進(jìn)行查詢。圖4-3 按航班號查詢/* * 根據(jù)航班號查詢 */public void selectB

26、yhangbanhao(HttpServletRequest request,HttpServletResponse response) throws SQLException, ServletException, IOException String chaxun = request.getParameter(chaxun);String sql = select * from flightinfo where id=?;if(chaxun=null | chaxun=)Object parames = new Objectchaxun;ListMap list = fun.selectFl

27、ight(sql, parames);if(list!=null)System.out.println(根據(jù)航班號查詢成功);request.setAttribute(flightList, list);request.getRequestDispatcher(user_adminlogin/selectFlight.jsp).forward(request, response);航班按起飛地條件查詢通過調(diào)用selectByqifeidi方法,把按查詢的條件選擇起飛地和查詢的條件值起飛地值作為參數(shù)傳遞給selectByqifeidi方法進(jìn)行查詢。圖4-4 按航班號查詢/* * 根據(jù)起飛地查詢

28、*/public void selectByqifeidi(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException request.setCharacterEncoding(utf-8);response.setContentType(txt/html;charset=utf-8);/轉(zhuǎn)換編碼格式,將前臺輸入數(shù)據(jù)的編碼改為UTF-8;String chaxun = request.getParameter(chaxun);System.

29、out.println(按照起飛地【+chaxun+】查詢);String sql = select * from flightinfo where start=?;if(chaxun=null | chaxun=)/查詢?nèi)坑涗況equest.getRequestDispatcher(adminServlet?caozuo=flightSelect).forward(request, response);elseObject parames = new Objectchaxun;ListMap list = fun.selectFlight(sql, parames);if(list!=nu

30、ll)System.out.println(根據(jù)起飛地查詢成功);request.setAttribute(flightList, list);request.getRequestDispatcher(user_adminlogin/selectFlight.jsp).forward(request, response); 把添加航班的信息通過放在要跳轉(zhuǎn)的URL之后傳遞到Servlet中,在Servlet中進(jìn)行判斷選擇調(diào)用flightInsert方法,通過INSERT語句向數(shù)據(jù)庫中插入數(shù)據(jù),實現(xiàn)添加航班。圖4-5 添加航班/* * 航班添加 */public void flightInsert

31、(HttpServletRequest request,HttpServletResponse response) throws SQLException, ServletException, IOException String id = request.getParameter(id);String start = request.getParameter(start);String end = request.getParameter(end);String leaveTime = request.getParameter(leaveTime);String sql = insert i

32、nto flightinfo value(?,?,?,?,?,?);Object parames = new Objectid,airfirm,start,end,leaveTime,arriveTime;int i = fun.insert(sql, parames);response.sendRedirect(user_adminlogin/newWin.jsp?winValue=+winValue);圖4-6 刪除航班 刪除航班是通過傳遞航班的id號,來確定這條航班記錄。在調(diào)用flightDelete方法通過DELETE語句刪除記錄,實現(xiàn)航班刪除。 /* * 航班刪除 */public

33、void flightDelete(HttpServletRequest request,HttpServletResponse response) throws SQLException, IOException String id = request.getParameter(id);String sql = delete from flightinfo where id=?;int i = fun.delete(sql, parames);if(i!=-1)System.out.println(刪除航班成功);response.sendRedirect(adminServlet?caoz

34、uo=flightSelect);圖4-7 修改航班/* * 航班修改 */private void flightUpdate(HttpServletRequest request,HttpServletResponse response) throws SQLException, IOException String id1 = request.getParameter(id1);String id = request.getParameter(id);String airfirm = request.getParameter(airfirm);String start = request.

35、getParameter(start);String end = request.getParameter(end);String leaveTime = request.getParameter(leaveTime);String arriveTime = request.getParameter(arriveTime);String sql = update flightinfo set id=?,airfirm=?,start=?, end=?,leaveTime=?,arriveTime=? where id=?;Object parames = new Objectid,airfir

36、m,start,end,leaveTime,arriveTime,id1;int i = fun.update(sql, parames);response.sendRedirect(user_adminlogin/newWin.jsp?winValue=+winValue);4.3機(jī)票預(yù)訂模塊用戶點擊“機(jī)票預(yù)訂”菜單,會進(jìn)入到機(jī)票預(yù)訂界面。頁面中會顯示所以機(jī)票的信息,用戶可以根據(jù)起飛地、到達(dá)地和日期,進(jìn)行查詢篩選出所需機(jī)票。用戶點擊“訂票”按鈕完成交易。完成訂票后會把機(jī)票的票數(shù)修改為原來的值減一,然后在用戶訂單表中插入一條記錄。圖4-8 機(jī)票預(yù)訂圖4-9 機(jī)票售完提示4.4我的訂單模塊我的訂

37、單是根據(jù)用戶預(yù)訂機(jī)票產(chǎn)生的訂單信息,用戶可以對訂單進(jìn)行“改簽”和“退票”操作。改簽完成后會彈出改簽前后票價信息的提示。改簽調(diào)用gaiQian方法,在這個方法中把原記錄刪除再添加一條新紀(jì)錄。圖4-10 我的訂單圖4-11 改簽后價格提示4.5修改密碼模塊點擊“修改密碼”菜單,會彈出窗口修改密碼。用戶需要輸入原密碼和兩次新密碼。通過調(diào)用updatePsw方法,在這個方法中用UPDATE語句對密碼信息進(jìn)行修改。圖4-12 修改用戶密碼/* * 修改密碼 */public void updatePsw(HttpServletRequest request,HttpServletResponse res

38、ponse) throws SQLException, ServletException, IOException String oldPsw = request.getParameter(oldPsw); /獲得原密碼String newPsw = request.getParameter(newPsw); /獲得新密碼HttpSession session = request.getSession();String name = (String) session.getAttribute(username);String sql = update userinfo set password

39、=? where password=? and name=?;Object parames = new ObjectnewPsw,oldPsw,name;int i = fun.update(sql, parames);response.sendRedirect(user_userlogin/newWin.jsp?);4.6用戶注冊模塊用戶注冊可以在登錄界面點擊“快速注冊”進(jìn)行注冊或者在直接進(jìn)入系統(tǒng)化點擊菜單里的“注冊”按鈕注冊用戶。實現(xiàn)原理就是調(diào)用zhuCe方法,把注冊的信息傳遞到zhuCe方法,然后INSERT到數(shù)據(jù)庫中。圖4-13 修改用戶密碼/* * 用戶注冊 */public voi

40、d zhuCe(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException String id = request.getParameter(id);String name = request.getParameter(name);String password = request.getParameter(password);String tel = request.getParameter(tel);String idcard = r

41、equest.getParameter(idcard);String sql = insert into userinfo(id,name,password,sex,tel,idcard) value(?,?,?,?,?,?);Object parames = new Objectid,name,password,sex,tel,idcard;int i = fun.insert(sql, parames);request.getRequestDispatcher(login.html).forward(request, response);4.7用戶管理模塊用戶管理員登錄后,可進(jìn)行用戶信息查

42、詢以及用戶信息的刪除。圖4-14 用戶信息管理/* * 用戶刪除 */public void userDelete(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException String id = request.getParameter(id);String sql = delete from userinfo where id=?;Object parames = new Objectid;int i = fun.delete(sq

43、l, parames);if(i!=-1)request.getRequestDispatcher(adminServlet?caozuo=userSelect).forward(request, response);5. 系統(tǒng)測試5.1系統(tǒng)測試的概念軟件測試不僅僅包括程序測試,而是貫穿于整個軟件開發(fā)的全過程,也就是說其對象除了包括需求分析所獲得的開發(fā)成果、還包括概要設(shè)計所獲得的開發(fā)成果、以及包括詳細(xì)設(shè)計所獲得的開發(fā)成果、和包括編碼實現(xiàn)所獲得的開發(fā)成果10。系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進(jìn)行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。

44、系統(tǒng)測試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯誤原因和位置,然后進(jìn)行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等 比較常見的、典型的系統(tǒng)測試包括恢復(fù)測試、安全測試、壓力測試11。下面對這幾種測試進(jìn)行一一介紹:1)恢復(fù)測試恢復(fù)測試作為一種系統(tǒng)測試,主要關(guān)注導(dǎo)致軟件運行失敗的各種條件,并驗證其恢復(fù)過程能否正確執(zhí)行。在特定情況下,系統(tǒng)需具備容錯能力。另外,系統(tǒng)失效必須在規(guī)定時間段內(nèi)被更正,否則將會導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失。2)安全測試安全測試用來驗證系統(tǒng)內(nèi)部的保護(hù)機(jī)制,以防止非法侵入。在安全測

45、試中,測試人員扮演試圖侵入系統(tǒng)的角色,采用各種辦法試圖突破防線。因此系統(tǒng)安全設(shè)計的準(zhǔn)則是要想方設(shè)法使侵入系統(tǒng)所需的代價更加昂貴。3)壓力測試壓力測試是指在正常資源下使用異常的訪問量、頻率或數(shù)據(jù)量來執(zhí)行系統(tǒng)。5.2測試策略及結(jié)果5.2.1功能的測試 概述:功能測試也稱為黑盒測試,就是運行整個系統(tǒng)測試各模塊功能與預(yù)期的功能效果對比是否相同,在測試過程中把整個程序看成一個打不開的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測試。就是按照開發(fā)的功能分析和各個模塊的功能設(shè)計進(jìn)行測試,主要針對軟件界面和軟件功能進(jìn)行測試。功能測試既是測試的重點,也是測試的難點12。目標(biāo):功能測試的目標(biāo)或

46、者說過程就是分別使用有效的和無效的數(shù)據(jù)測試各個功能模塊,測試輸入為有效數(shù)據(jù)時,能否得到與預(yù)期結(jié)果相符的結(jié)果,測試輸入為無效數(shù)據(jù)時,能否得到與預(yù)期相符的提示信息或者警告信息。 結(jié)果:測試各模塊,結(jié)果達(dá)到目標(biāo)。下面以機(jī)票預(yù)訂和我的訂單功能模塊的測試為例,該模塊測試用例、測試結(jié)果如下:表4-1 機(jī)票預(yù)訂和我的訂單功能測試用例用例機(jī)票預(yù)訂,我的訂單測試類名稱dingPiao、ticketSelecttuiPiao、gaiQian測試目的驗證該模塊的功能測試環(huán)境Windows7、火狐瀏覽器、IE瀏覽器、360瀏覽器測試環(huán)境MyEclipse9.0、MySQL數(shù)據(jù)庫、測試用例標(biāo)號測試項目輸入描述預(yù)期結(jié)果實

47、際結(jié)果1查詢機(jī)票輸入正確的機(jī)票信息查詢出對應(yīng)條件的機(jī)票信息一致2查詢機(jī)票點擊“機(jī)票預(yù)訂”菜單按鈕查詢出所有機(jī)票信息的記錄一致3查詢機(jī)票起飛地錯誤結(jié)果為空一致4查詢機(jī)票目的地錯誤結(jié)果為空一致5查詢機(jī)票日期錯誤結(jié)果為空一致6查詢機(jī)票所有條件為空結(jié)果為空一致7機(jī)票預(yù)訂票數(shù)為0提示機(jī)票已賣完一致8機(jī)票預(yù)訂機(jī)票有剩余訂票成功,票數(shù)減1一致9機(jī)票預(yù)訂重復(fù)購買提示機(jī)票不能重復(fù)購買一致10退票點擊退票退票成功一致11退票飛機(jī)起飛前三十分點擊退票退票失敗一致12改簽點擊改簽后選擇預(yù)定的機(jī)票改簽成功一致13改簽完成改簽顯示改簽前后機(jī)票價格一致14改簽點擊改簽后不選擇預(yù)定的機(jī)票改簽失敗一致15改簽點擊改簽后進(jìn)行其他

48、操作改簽失敗一致16改簽點擊改簽后點擊退出系統(tǒng)按鈕退出當(dāng)前系統(tǒng)成功,改簽失敗一致5.2.2其他測試1、性能的測試 概述:性能的測試是為了獲得系統(tǒng)的最大負(fù)載和最大處理能力等等數(shù)據(jù),其主要是通過評測和評估非功能性需求來獲得的,包括評測和評估系統(tǒng)處理速度、系統(tǒng)響應(yīng)時間以及其他與時間相關(guān)的數(shù)據(jù)13。 目標(biāo):性能的測試的目標(biāo)是測試在正常負(fù)荷下運行的系統(tǒng)的預(yù)期工作量。結(jié)果:經(jīng)過測試,得出系統(tǒng)平均響應(yīng)時間、處理速度、最大負(fù)載等性能達(dá)到目標(biāo)。 2、壓力的測試 概述:壓力的測試也就是系統(tǒng)承受壓力的測試,既有高壓測試又有負(fù)載測試。 目標(biāo):壓力的測試主要就是要掌握系統(tǒng)的安全運行性能,這就需要了解系統(tǒng)在長時間處理多個

49、用戶相同的且性能最壞的業(yè)務(wù)的情況下的安全運行邊界條件,這就需要測試系統(tǒng)在給定時間內(nèi)能夠持續(xù)處理的最大工作量或最大負(fù)載。結(jié)果:經(jīng)過測試,系統(tǒng)在所需最大負(fù)荷兩倍的條件下,仍能夠正常運轉(zhuǎn)。 5、配置的測試 概述:配置的測試主要是確認(rèn)系統(tǒng)的使用范圍,這需要測試系統(tǒng)在不同的軟件配置中的運行情況以及在不同的硬件配置中的運行情況14; 目標(biāo):配置的測試的目標(biāo)就是測試系統(tǒng)在不同條件下是否能夠正常運行,這就包括測試系統(tǒng)在所需的軟件配置以及所需的硬件配置中,也就是說在正常配置下,運行是否正常。測試系統(tǒng)的兼容性,也就是測試在其他版本的瀏覽器操作或者在其他系統(tǒng)平臺的異常情況下,系統(tǒng)是否兼容,也就是說系統(tǒng)是否能夠正常運

50、行15。 結(jié)果:系統(tǒng)在主流操作系統(tǒng) Windows XP、Windows 7,火狐瀏覽器,IE瀏覽器,360瀏覽器以及其他操作系統(tǒng)和瀏覽器上都可以正常運行。6.結(jié)語經(jīng)過兩個月的忙碌整個畢業(yè)設(shè)計和論文已全部完成,總結(jié)這兩個月的經(jīng)歷感覺真的學(xué)到了很多。從最開始的不知從何下手到最后的全部完成,這中間我付出了很多努力同時也收獲了很多。這次的畢業(yè)設(shè)計不僅僅是對我大學(xué)四年所學(xué)的總結(jié),還是對我能力的一個考驗。因為想要完成一個優(yōu)秀的畢業(yè)設(shè)計僅依靠大學(xué)中所學(xué)習(xí)到知識是完全不夠的,但我經(jīng)過四年的學(xué)習(xí)也具備了自學(xué)的能力,我通過查找相關(guān)的資料書籍以及用過網(wǎng)絡(luò)資源獲取來幫助我完成畢業(yè)設(shè)計。拿到這個畢業(yè)設(shè)計題目,首先我們

51、從系統(tǒng)的需求分析入手,我們將系統(tǒng)要實現(xiàn)的功能和估計要用到的相關(guān)技術(shù)及相關(guān)技術(shù)難點進(jìn)行分析。接下來就是進(jìn)行系統(tǒng)的總體設(shè)計,首先將系統(tǒng)的結(jié)構(gòu)進(jìn)行分析,分析這個系統(tǒng)需要完成哪些功能,將這些功能劃分為多個模塊,這樣在設(shè)計上我們就將軟件分成一個立體的,低偶合的一個一個的小模塊。我先從簡單的模塊開始著手編寫代碼,然后一點點的完成整個項目的開發(fā)。本次系統(tǒng)設(shè)計中我也遇到了很到問題,主要是缺少項目經(jīng)驗。有些只是可能會但是在實際項目開發(fā)中一不小心就會出錯。還有在做系統(tǒng)時不能把以前學(xué)過的知識都綜合到一起。每當(dāng)遇到這樣或那樣的問題時,我都通過網(wǎng)上查閱相關(guān)資料,一些沒有接觸過的知識也是從頭開始學(xué)起,在這個過程中讓我的進(jìn)步非常大通過解決這一個個難點不僅是對我知識的積累也是對我學(xué)習(xí)能力的提高,這一點對我今后的工作有很大的幫助。另外在這次做系統(tǒng)的過程中,我認(rèn)為軟件最難的是設(shè)計,設(shè)計有了,實現(xiàn)是很簡單的,所以也為我指明了以后學(xué)習(xí)的方向。系統(tǒng)中難免有不盡人意之處,如系統(tǒng)的安全性能有待提高,系統(tǒng)的通用性也需要完善。由于本人的知識水平和能力有限,本文的疏漏和不當(dāng)之處在所難免,敬請指正。我也會努

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論