版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)報(bào)告課程 信息系統(tǒng)開(kāi)發(fā)與設(shè)計(jì) 課題 汽車(chē)站售票管理信息系統(tǒng) 班級(jí) 信息管理與信息系統(tǒng)11-1班指導(dǎo)教師 XXXXXXXXXXXXXXXXXXXXXXXX制作人員 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX 完成日期 2014年7月10日 目錄刖言第1章系統(tǒng)概述1.1現(xiàn)狀描述1.2系統(tǒng)目標(biāo)1.3系統(tǒng)開(kāi)發(fā)方法1.4開(kāi)發(fā)計(jì)劃1.5可行性分析1.6設(shè)計(jì)目的第2章系統(tǒng)分析2.1系統(tǒng)需求分析2.2業(yè)務(wù)流程分析2.3數(shù)據(jù)流程分析2.4數(shù)據(jù)字典2.5面向?qū)ο蠓治?.6系統(tǒng)測(cè)試計(jì)劃第3章系統(tǒng)設(shè)計(jì)3.1模塊結(jié)構(gòu)設(shè)計(jì)3.2數(shù)據(jù)庫(kù)設(shè)計(jì)3.3詳細(xì)設(shè)計(jì)第4章系統(tǒng)主要界面和代碼展示附錄收獲和體會(huì).、八■、一前言隨著IT的發(fā)展,人們消費(fèi)模式等方面發(fā)生著巨大的變化?,F(xiàn)在,人們坐在家里就能購(gòu)物、訂車(chē)票和酒店等等。當(dāng)然,需求也同樣刺激著 IT行業(yè)的發(fā)展。就拿買(mǎi)汽車(chē)票來(lái)說(shuō),尤其是春運(yùn)期間,買(mǎi)票是件很麻煩的事情,在窗口排隊(duì)甚至?xí)ǖ裟阋惶斓臅r(shí)間,甚至有時(shí)候還因?yàn)樾畔⒌娜狈?,不能及時(shí)有效的了解車(chē)票的銷(xiāo)售情況,白跑一趟汽車(chē)站。利用網(wǎng)上汽車(chē)售票系統(tǒng),旅客可以通過(guò)網(wǎng)絡(luò)查詢(xún)車(chē)票的銷(xiāo)售情況并訂購(gòu)汽車(chē)票,這極大的提高了訂票的效率,節(jié)省了訂票的時(shí)間,緩解了售票窗口擁擠的現(xiàn)狀,網(wǎng)上訂票系統(tǒng)的成功實(shí)施,提高了車(chē)站的信息化管理水平,減少了車(chē)站工作人員的工作量,為旅客節(jié)約了時(shí)間。分工第一章系統(tǒng)概述1.1現(xiàn)狀描述目前我國(guó)各地區(qū)的汽車(chē)售票信息化水平差異較大, 雖然大部分二級(jí)以上的客運(yùn)站實(shí)現(xiàn)了區(qū)域內(nèi)聯(lián)網(wǎng)售票,但在經(jīng)濟(jì)不發(fā)達(dá)地區(qū)和大多數(shù)三級(jí)以下客運(yùn)站, 還是采用傳統(tǒng)的售票方式。在沒(méi)有實(shí)現(xiàn)聯(lián)網(wǎng)售票的地區(qū),旅客購(gòu)票是十分不便的。互相之間的發(fā)車(chē)信息溝通缺乏渠道,互相之間不能實(shí)現(xiàn)互售。出行者購(gòu)票,并不知道各站的具體班次,也不知道去哪個(gè)站可以買(mǎi)到,加之公路客運(yùn)的特點(diǎn)是一段時(shí)期內(nèi)變化較大,班次和發(fā)班時(shí)間往往根據(jù)季節(jié)和客流量大小有所調(diào)整, 出行人更是難以把握。而在南方一些城市密集地區(qū),客運(yùn)比較發(fā)達(dá),售票的信息化水平相對(duì)較高。汽車(chē)售票管理系統(tǒng)主要用于車(chē)站日常的票務(wù)處理。 車(chē)售票管理系統(tǒng)在正常運(yùn)行中需要對(duì)使用該系統(tǒng)的主要是汽車(chē)站售票人員、 汽車(chē)站售票工作的管理人員與系統(tǒng)管理員?,F(xiàn)今的社會(huì)發(fā)展迅速,汽車(chē)成為了人們?cè)诮煌ǚ矫娌豢扇鄙俚慕煌üぞ邽榱私o人們帶來(lái)方便快捷的交通環(huán)境,公路系統(tǒng)采取提高汽車(chē)的速度,增加客運(yùn)汽車(chē)等等從而來(lái)滿(mǎn)足大量的旅客的乘車(chē)需求。如此的情況之下,售票系統(tǒng)的需要自然是相當(dāng)必要的。目前,售票系統(tǒng)在國(guó)內(nèi)外都已經(jīng)得到了廣泛的應(yīng)用, 無(wú)論是在飛機(jī)場(chǎng),火車(chē)站,還是汽車(chē)站,都是借助于售票系統(tǒng)進(jìn)行售票的。1.2系統(tǒng)目標(biāo)實(shí)現(xiàn)方便、快速售票;使汽車(chē)客運(yùn)中心管理手段現(xiàn)代化,減輕工作人員的工作強(qiáng)度,提高工作效率,減少在售票工作中的人為差錯(cuò);保證售票員和售票窗口可靈活增減;幫助工作人員掌握每天的客票收入情況實(shí)現(xiàn)對(duì)業(yè)務(wù)信息的高效管理。1.3系統(tǒng)開(kāi)發(fā)方法此次設(shè)計(jì)主要采用MyEclipse加Tomcat后臺(tái)服務(wù)器進(jìn)行,設(shè)計(jì)過(guò)程中頁(yè)面主要使用JSP技術(shù)完成,下面對(duì)MyEclipse、Tomcat和SqlServer數(shù)據(jù)庫(kù)進(jìn)行簡(jiǎn)要介紹。 MyEclipseMyEclipse,是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā) Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)元產(chǎn)品的支持十分不錯(cuò)。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試 JSP程序的首選??梢赃@樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apahce服務(wù)器,可利用它響應(yīng)對(duì)HTML頁(yè)面的訪(fǎng)問(wèn)請(qǐng)求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行 tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。SqlServer提供TCP/IP、ODB(和JDBC等多種數(shù)據(jù)庫(kù)連接途徑;可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō), SqlServer提供的功能已經(jīng)綽綽有余,而且由于SqlServer是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets ,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò) tags和scriptlets 訪(fǎng)問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。 JSP的開(kāi)發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪(fǎng)問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML弋碼一起返回給客戶(hù)。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶(hù)端就是一個(gè) HTML文本,因此客戶(hù)端只要有瀏覽器能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的 HTMLM面返回給客戶(hù)端的瀏覽器。 Servlet是JSP的技術(shù)基礎(chǔ),而且大型的 Web應(yīng)用程序的開(kāi)發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)點(diǎn):(1)一次編寫(xiě),到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā), 在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見(jiàn)的。強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,至U多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。 Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下 (5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開(kāi)發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。 JSP可以使用成熟的JAVABEANS組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。 內(nèi)部對(duì)象說(shuō)明:request客戶(hù)端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自 GET/POST青求的參數(shù);response網(wǎng)頁(yè)傳回客戶(hù)端的響應(yīng); pageContext網(wǎng)頁(yè)的屬性是在這里管理;session與請(qǐng)求有關(guān)的會(huì)話(huà); applicationservlet 正在執(zhí)行的內(nèi)容;out用來(lái)傳送響應(yīng)的輸出流;config 代碼片段配置對(duì)象;pageJSP網(wǎng)頁(yè)本身;exception針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外1.4開(kāi)發(fā)計(jì)劃根據(jù)社會(huì)上現(xiàn)有的一些汽車(chē)售票系統(tǒng),我們小組打算從其內(nèi)外部環(huán)境、軟硬件環(huán)境、人員配置情況、對(duì)汽車(chē)售票系統(tǒng)進(jìn)行深入研究,進(jìn)度可劃分為:初步調(diào)查、可行性分析、詳細(xì)調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施六個(gè)階段。詳情可
見(jiàn)下面表格:a.經(jīng)濟(jì)可行性在一定程度上講汽車(chē)票預(yù)定系統(tǒng)對(duì)汽車(chē)運(yùn)輸公司而言在長(zhǎng)期利益上看是有很大的收益的,故在某種意義上講經(jīng)濟(jì)上是可行的。b.社會(huì)可行性汽車(chē)票預(yù)定系統(tǒng)是一個(gè)廣大旅客出行的系統(tǒng),它為旅客提供了便捷的服務(wù),為汽車(chē)運(yùn)輸公司減少工作量,故在社會(huì)可行性方面是毋庸置疑的。1.6系統(tǒng)設(shè)計(jì)目的設(shè)計(jì)人員設(shè)計(jì)售票管理系統(tǒng)的最終目標(biāo)是使汽車(chē)客運(yùn)中心管理手段現(xiàn)代化,減輕工作人員的工作強(qiáng)度,提高工作效率,減少在售票工作中的人為差錯(cuò);保證售票員和售票窗口可靈活增減;幫助工作人員掌握每天的客票收入情況實(shí)現(xiàn)對(duì)業(yè)務(wù)信息的高效管理;方便旅客對(duì)車(chē)次、票價(jià)等信息的查詢(xún),幫助旅客及時(shí)了解發(fā)車(chē)時(shí)間、票價(jià)、車(chē)次等情況。本系統(tǒng)的總體設(shè)計(jì)原則是:“立足現(xiàn)在,著眼未來(lái);總體規(guī)劃,分步實(shí)施”。即在方案總體的設(shè)計(jì)和選型中要充分考慮技術(shù)的發(fā)展,力求所用技術(shù)在今后相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)不落后;系統(tǒng)除具有較高的可靠性外,還將有良好的靈活性和可伸縮性,以利于以后系統(tǒng)的擴(kuò)展;考慮到硬件更新?lián)Q代
周期短,因此所選設(shè)備應(yīng)可靠、經(jīng)濟(jì)、實(shí)用;軟件開(kāi)發(fā)除采用新的開(kāi)發(fā)工具外,還要設(shè)計(jì)良好的接口,以利于功能模塊的增加。總之,系統(tǒng)的設(shè)計(jì)應(yīng)遵循科學(xué)性、安全性、可靠性、靈活性、實(shí)用性和經(jīng)濟(jì)性相結(jié)合的原則第二章系統(tǒng)分析2.1系統(tǒng)需求分析具體內(nèi)容通過(guò)全面收集汽車(chē)售票系統(tǒng)資料,進(jìn)行系統(tǒng)規(guī)劃,系統(tǒng)分析,進(jìn)行可行性研究,爭(zhēng)取達(dá)到以下系統(tǒng)目標(biāo):1?登錄功能:系統(tǒng)管理員權(quán)限登陸。用戶(hù)通過(guò)輸入不同用戶(hù)名和密碼進(jìn)行身份驗(yàn)證。2.車(chē)票信息查詢(xún)功能:由汽車(chē)站的普通售票人員通過(guò)檢索入口,查詢(xún)車(chē)票信息,并進(jìn)行排序。?修改功能:系統(tǒng)管理員則能實(shí)現(xiàn)系統(tǒng)用戶(hù)的添加,修改系統(tǒng)管理員的密碼,以此確保該系統(tǒng)能夠安全操作,避免不必要的損失。?匯總功能:對(duì)當(dāng)天車(chē)票的信息進(jìn)行匯總。能夠?qū)崿F(xiàn)車(chē)站車(chē)次及線(xiàn)路信息的管理,對(duì)車(chē)次及線(xiàn)路的變動(dòng)信息及時(shí)更新。打印輸出(生成曲線(xiàn)圖和報(bào)表)。統(tǒng)計(jì)管理(按時(shí)間、站點(diǎn)、線(xiàn)路等不同維度統(tǒng)計(jì)售票情況,生成曲線(xiàn)圖和報(bào)表,分析運(yùn)營(yíng)狀況分析。2.2業(yè)務(wù)流程分析登陸業(yè)務(wù)流程圖車(chē)票信息查詢(xún)業(yè)務(wù)流程圖修改車(chē)輛信息業(yè)務(wù)流程圖.添加管理員業(yè)務(wù)流程圖2.3數(shù)據(jù)流程分析a.登錄數(shù)據(jù)流程圖P01管理員名密碼b.售票過(guò)程數(shù)據(jù)流程圖購(gòu)票信息顧客登錄汽車(chē)售系統(tǒng)D4管理員信息表汽管理員名密碼b.售票過(guò)程數(shù)據(jù)流程圖購(gòu)票信息顧客登錄汽車(chē)售系統(tǒng)D4管理員信息表汽購(gòu)票信息購(gòu)票信息Di車(chē)票信息表缺票訂票失敗c?增添管理員賬戶(hù)P03學(xué)生信息D01管理員信息核對(duì)并存檔D3車(chē)票信息表增刪改查D2車(chē)輛信息表2.4數(shù)據(jù)字典D02票號(hào)、票價(jià)、車(chē)次管理、日期購(gòu)票信息Di車(chē)票信息表缺票訂票失敗c?增添管理員賬戶(hù)P03學(xué)生信息D01管理員信息核對(duì)并存檔D3車(chē)票信息表增刪改查D2車(chē)輛信息表2.4數(shù)據(jù)字典D02票號(hào)、票價(jià)、車(chē)次管理、日期管車(chē)型、開(kāi)車(chē)時(shí)間、起始站、終點(diǎn)站、數(shù)據(jù)流名稱(chēng):車(chē)票簡(jiǎn)述:車(chē)票有關(guān)信息數(shù)據(jù)流來(lái)源:客戶(hù)執(zhí)行售票操作結(jié)果數(shù)據(jù)流去向:購(gòu)票客戶(hù)數(shù)據(jù)流組成:車(chē)票編號(hào)+車(chē)票類(lèi)型+車(chē)次信息+票價(jià)信息售票記錄:票號(hào),起始站,終點(diǎn)站,票價(jià),車(chē)次,日期,車(chē)型,售出時(shí)間訂票記錄:票號(hào),起始站,終點(diǎn)站,票價(jià),車(chē)次,日期,開(kāi)車(chē)時(shí)間,車(chē)型車(chē)票記錄:票號(hào),起始站,終點(diǎn)站,票價(jià),車(chē)次,日期,開(kāi)車(chē)時(shí)間,車(chē)型4.處理過(guò)程車(chē)票匯總:工作人員將一天所售出的票進(jìn)行統(tǒng)計(jì),包括票數(shù),票類(lèi),形成確定的車(chē)票記錄。查詢(xún):將顧客需要的車(chē)票信息輸入系統(tǒng),并查詢(xún)其是否可供應(yīng)。查詢(xún)顧客信息:為訂票所設(shè),將顧客的準(zhǔn)確信息記錄,為其預(yù)定所車(chē)票。處理訂票:進(jìn)行訂票交易,工作人員為顧客預(yù)定其所需車(chē)票,并在系統(tǒng)中作相應(yīng)記錄,確定訂票記錄。處理退票:進(jìn)行退票交易,工作人員為顧客辦理退票手續(xù),并在系統(tǒng)中作相應(yīng)記錄,確定退票記錄。數(shù)據(jù)字典卡片數(shù)據(jù)項(xiàng)| 表5-1.1數(shù)據(jù)字典(一) No : 01 編號(hào):I01_01 名稱(chēng):busID 別名:序列號(hào)簡(jiǎn)述:車(chē)次編號(hào)續(xù)值類(lèi)型(char)連長(zhǎng)度:10值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.2數(shù)據(jù)字典(一) No 02 編號(hào):I01_02 名稱(chēng):busType 別名:型號(hào)簡(jiǎn)述:汽車(chē)型號(hào)續(xù)值類(lèi)型(int)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義
備注:TOC\o"1-5"\h\z數(shù)據(jù)項(xiàng) 表5-1.3 數(shù)據(jù)字典(一) No 03 編號(hào):I01_03 名稱(chēng):PlateNumber 別名:車(chē)牌號(hào)簡(jiǎn)述:車(chē)牌號(hào)續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值值離 值含 義值含 義備注:TOC\o"1-5"\h\z數(shù)據(jù)項(xiàng) 表5-1.4 數(shù)據(jù)字典(一) No 04 編號(hào):I01_04 名稱(chēng):busHolder 別名:責(zé)任人簡(jiǎn)述:相應(yīng)車(chē)次的責(zé)任人續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:TOC\o"1-5"\h\z數(shù)據(jù)項(xiàng)I 表5-1.7 數(shù)據(jù)字典(一) No05編號(hào):101_05 名稱(chēng):lineID 別名:線(xiàn)路號(hào)簡(jiǎn)述:線(xiàn)路編號(hào)
續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.7 數(shù)據(jù)字典(一) No 06 編號(hào):I01_06 名稱(chēng):STime 別名:發(fā)車(chē)時(shí)間簡(jiǎn)述:發(fā)車(chē)時(shí)間續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.7 數(shù)據(jù)字典(一) No 07 編號(hào):101_07 名稱(chēng):ntime 別名:發(fā)車(chē)時(shí)間簡(jiǎn)述:發(fā)車(chē)時(shí)間續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散含 義值含 義
值備注:數(shù)據(jù)項(xiàng) 表5-1.8 數(shù)據(jù)字典(一) No 08 編號(hào):101_08 名稱(chēng): Date 別名:日期簡(jiǎn)述:當(dāng)前日期續(xù)值類(lèi)型(nchar)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng)| 表5-1.13 數(shù)據(jù)字典(一) No 09 編號(hào):I01_09 名稱(chēng):start 別名:起始站簡(jiǎn)述:汽車(chē)起始站續(xù)值類(lèi)型(char)連長(zhǎng)度:值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.9 數(shù)據(jù)字典(一) No10編號(hào):101_10名稱(chēng):編號(hào):101_10名稱(chēng):des別名:終點(diǎn)站簡(jiǎn)述:汽車(chē)到達(dá)的終點(diǎn)站續(xù)值類(lèi)型(nchar)連長(zhǎng)度:10值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.7 數(shù)據(jù)字典(一) No 11 編號(hào):I01_11 名稱(chēng):ticketID 別名:票號(hào)簡(jiǎn)述:車(chē)票的編號(hào),和線(xiàn)路號(hào)對(duì)應(yīng)續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.7 數(shù)據(jù)字典(一) No 12 編號(hào):101_12 名稱(chēng):AllNum 另V名:總票數(shù)簡(jiǎn)述:車(chē)票總數(shù)續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散含 義值含 義
值備注:數(shù)據(jù)項(xiàng)| 表5-1.7 數(shù)據(jù)字典(一) No 13 編號(hào):I01_13 名稱(chēng):leftNum 別名:余票簡(jiǎn)述:車(chē)票剩余的數(shù)量續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng)| 表5-1.10 數(shù)據(jù)字典(一) No 14 編號(hào):101_14 名稱(chēng):Price 別名:價(jià)格簡(jiǎn)述:汽車(chē)票的價(jià)格續(xù)值類(lèi)型(int)連長(zhǎng)度:值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.7 數(shù)據(jù)字典(一) No 15 編號(hào):I01_15名稱(chēng):mid別名:管理員的賬號(hào)簡(jiǎn)述:管理員登錄帳號(hào)
續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)項(xiàng) 表5-1.7 數(shù)據(jù)字典(一) No 16 編號(hào):101_16 名稱(chēng):pwd 別名:管理員密碼簡(jiǎn)述:管理員密碼續(xù)值類(lèi)型(char)連長(zhǎng)度:50值域:與其他值的運(yùn)算關(guān)系:散值離 值含 義值含 義備注:數(shù)據(jù)結(jié)構(gòu) 表5-2.1 數(shù)據(jù)字典(二) No : 17編號(hào):D01_01 名稱(chēng):dbo.t_bus 別名:汽車(chē)表簡(jiǎn)述:主要介紹汽車(chē)的一些基本信息組成:車(chē)次編號(hào)+汽車(chē)型號(hào)+車(chē)牌號(hào)+責(zé)任人+經(jīng)營(yíng)路線(xiàn)+座位限額+發(fā)車(chē)時(shí)間數(shù)據(jù)結(jié)構(gòu)| 表5-2.2數(shù)據(jù)字典(二) No 18 編號(hào):D01_02 名稱(chēng):dbo.t_line 別名:座位表簡(jiǎn)述:線(xiàn)路的基本信息組成:車(chē)次編號(hào)+日期+終點(diǎn)站+座位號(hào)+線(xiàn)路號(hào)+始發(fā)站+發(fā)車(chē)時(shí)間+持續(xù)時(shí)間數(shù)據(jù)結(jié)構(gòu)| 表5-2.3數(shù)據(jù)字典(二) No : 19 編號(hào):D01_03 名稱(chēng):dbo.t_Price 別名:價(jià)格表簡(jiǎn)述:介紹汽車(chē)票價(jià)格的基本信息組成:起始站+終點(diǎn)站+車(chē)次編號(hào)+票價(jià)+車(chē)票號(hào)數(shù)據(jù)存儲(chǔ)| 表5-3數(shù)據(jù)字典(三) No : 20 編號(hào):D1 名稱(chēng):汽車(chē)表 別名:bus簡(jiǎn)述:存儲(chǔ)汽車(chē)相關(guān)的信息組成:汽車(chē)編號(hào)+汽車(chē)型號(hào)+車(chē)牌號(hào)+責(zé)任人+經(jīng)營(yíng)路線(xiàn)+座位限額關(guān)鍵字:汽車(chē)編號(hào)相關(guān)處理:記錄長(zhǎng)度:記錄數(shù):數(shù)據(jù)量:數(shù)據(jù)存儲(chǔ) 表5-3 數(shù)據(jù)字典(三) No : 21編號(hào):D2 名稱(chēng):線(xiàn)路表 別名:line簡(jiǎn)述:存儲(chǔ)線(xiàn)路相關(guān)的信息組成:線(xiàn)路號(hào)+始發(fā)站+終點(diǎn)站+始發(fā)時(shí)間+持續(xù)時(shí)間+日期+汽車(chē)號(hào)關(guān)鍵字:線(xiàn)路編號(hào)相關(guān)處理:記錄長(zhǎng)度:記錄數(shù):數(shù)據(jù)量:數(shù)據(jù)存儲(chǔ) 表5-3 數(shù)據(jù)字典(三) No : 22編號(hào):D3 名稱(chēng):車(chē)票表 別名:ticket簡(jiǎn)述:存儲(chǔ)車(chē)票相關(guān)的信息
組成:車(chē)票編號(hào)+車(chē)票價(jià)格+總數(shù)量+剩余數(shù)量關(guān)鍵字:車(chē)票編號(hào)相關(guān)處理:記錄長(zhǎng)度:記錄數(shù):數(shù)據(jù)量:數(shù)據(jù)存儲(chǔ)| 表5-3 數(shù)據(jù)字典(三) No : 22 編號(hào):D4 名稱(chēng):管理員表 另V名:Manager簡(jiǎn)述:存儲(chǔ)管理員相關(guān)的信息組成:管理員帳號(hào)+密碼關(guān)鍵字:管理員帳號(hào)相關(guān)處理:記錄長(zhǎng)度: 記錄數(shù):數(shù)據(jù)量:數(shù)據(jù)流| 表5-4.1 數(shù)據(jù)字典(四) No :___23 編號(hào):D01 名稱(chēng):查詢(xún) 別名:query簡(jiǎn)述:查詢(xún)相關(guān)汽車(chē)運(yùn)營(yíng)情況組成:日期+起始站+終點(diǎn)站+汽車(chē)編號(hào)+座位號(hào)+票是否岀售+車(chē)票價(jià)格+車(chē)票折扣若為數(shù)據(jù)流來(lái)源:售票系統(tǒng)去向:客戶(hù)峰值流量:數(shù)據(jù)流| 表5-4.2 數(shù)據(jù)字典(四) No :___24 編號(hào):D02 名稱(chēng):訂票 別名:DingPiao簡(jiǎn)述:進(jìn)行訂票組成:日期+起始站+終點(diǎn)站+汽車(chē)編號(hào)+座位號(hào)+車(chē)票價(jià)格+記錄號(hào)若為數(shù)據(jù) 來(lái)源:客戶(hù)去向:售票系統(tǒng)若為數(shù)據(jù) 來(lái)源:客戶(hù)去向:售票系統(tǒng)峰值流量:數(shù)據(jù)流| 表5-4.3 數(shù)據(jù)字典(四) No :___25 編號(hào):D03 名稱(chēng):退票 別名:TuiPiao簡(jiǎn)述:退票相關(guān)信息組成:日期+起始站+終點(diǎn)站+汽車(chē)編號(hào)+座位號(hào)+車(chē)票價(jià)格+記錄號(hào)若為數(shù)據(jù)流來(lái)源:客戶(hù)去向:售票系統(tǒng)峰值流量:處理| 表5-5.1 數(shù)據(jù)字典(五) No :___26 編號(hào):P01 名稱(chēng):查閱汽車(chē)信息輸入信息:日期,起始站,終點(diǎn)站數(shù)據(jù)存儲(chǔ):汽車(chē)表輸出信息:汽車(chē)發(fā)車(chē)日期時(shí)間,汽車(chē)起始站,終點(diǎn)站,汽車(chē)編號(hào),座位號(hào),票是否出售,車(chē)票價(jià)格激發(fā)條件:提交簡(jiǎn)要說(shuō)明:加工邏輯:系統(tǒng)核實(shí)在該日期相應(yīng)運(yùn)營(yíng)路線(xiàn)是否有汽車(chē)運(yùn)營(yíng)出錯(cuò)處理:執(zhí)行頻率:根據(jù)實(shí)際情況進(jìn)行處理2.5面向?qū)ο蠓治龉芾韱T用例圖a管理員登陸順序圖b增加車(chē)輛信息順序圖:(其他操作類(lèi)似,不再贅述)2.6系統(tǒng)測(cè)試計(jì)劃包括:功能測(cè)試,界面測(cè)試,性能測(cè)試,性能評(píng)價(jià),負(fù)載測(cè)試,強(qiáng)度測(cè)試,壓力測(cè)試,效率測(cè)試,報(bào)表測(cè)試,安全性測(cè)試,多用戶(hù)測(cè)試,容量測(cè)試,配置測(cè)試,安裝卸載測(cè)試,加密測(cè)試?第3章系統(tǒng)設(shè)計(jì)3.1模塊結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)主要分為五大模塊,分別為車(chē)次管理,票價(jià)管理,票務(wù)管理,用戶(hù)管理,查詢(xún)管理。其中每個(gè)模塊下面又包含能夠?qū)崿F(xiàn)基本功能的小模塊。
3.2數(shù)據(jù)庫(kù)設(shè)計(jì)各層次模塊的數(shù)據(jù)結(jié)構(gòu)表如下:表1汽車(chē)信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型必填字段主鍵busIDnChar(3)YYbusSizeIntYbusNumnChar(3)YbusDrivervarchar(20)Y表2線(xiàn)路信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型必填字段主鍵外鍵lineIDnchar(4)YYstartvarchar(20)Yendvarchar(20)YDatenchar(10)YsTimenchar(5)YnTimenchar(5)YbusIdnchar(3)YY表3售票信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型必填字段主鍵ticketIDnchar(4)YYallNumIntYleftNumIntYpriceIntY表4管理員信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型必填字段主鍵mIDvarchar(20)YYpwdvarchar(20)Y1邏輯設(shè)計(jì)數(shù)據(jù)庫(kù)關(guān)系模型如下:車(chē)輛(車(chē)輛號(hào),載客量,車(chē)牌號(hào),司機(jī))線(xiàn)路(線(xiàn)路編號(hào),始發(fā)站,終點(diǎn)站,發(fā)車(chē)日期,發(fā)車(chē)時(shí)間,耗時(shí),車(chē)輛編號(hào) )售票信息(線(xiàn)路編號(hào),總票數(shù),余票)管理員(管理員賬號(hào),密碼)2物理設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)存放在服務(wù)器端, 保證數(shù)據(jù)庫(kù)的存儲(chǔ)空間在數(shù)據(jù)量的 3倍左右,以方便數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)操作。外部接口設(shè)計(jì)1用戶(hù)界面用戶(hù)界面多為鏈接操作,插入和修改信息的操作。背景采用淺藍(lán)色,文字采用黑色宋體字,查詢(xún)結(jié)果顯示在中間位置。2軟件接口實(shí)現(xiàn)google瀏覽器或者IE與sqlsever2005的接口(通過(guò)Tomcat服務(wù)器)。出錯(cuò)處理設(shè)計(jì)1出錯(cuò)處理信息1) 輸入格式錯(cuò)誤,探出提示框顯示“請(qǐng)按照固定格式輸入信息”等字樣;2)程序數(shù)據(jù)基本錯(cuò)誤,探出提示框顯示“系統(tǒng)數(shù)據(jù)錯(cuò)誤”等字樣,并安全退出程序;3) 程序嚴(yán)重錯(cuò)誤,探出提示框顯示“請(qǐng)將問(wèn)題發(fā)送至開(kāi)發(fā)者郵箱”等字樣,并強(qiáng)行退出程序。2出錯(cuò)處理對(duì)策1) 輸入不合法錯(cuò)誤,給予正確的格式提示;2) 由于程序造成的基本錯(cuò)誤,在保護(hù)數(shù)據(jù)庫(kù)安全的情況下退出程序并重新自啟動(dòng),再根據(jù)日志來(lái)恢復(fù)4) 定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份;3.3詳細(xì)設(shè)計(jì)服務(wù)器端:存放數(shù)據(jù)庫(kù),開(kāi)啟服務(wù)器Tomcat,等待管理員那邊PC端的請(qǐng)求,根據(jù)請(qǐng)求內(nèi)容查詢(xún)數(shù)據(jù)庫(kù)把查詢(xún)的內(nèi)容傳回管理員的 PC端進(jìn)行顯示。執(zhí)行一個(gè)請(qǐng)求結(jié)束后繼續(xù)等待下一個(gè)請(qǐng)求。管理員PC端:首先要通過(guò)登陸界面的驗(yàn)證, 輸入密碼用戶(hù)號(hào)檢驗(yàn)成功進(jìn)入操作界面,所有操作以樹(shù)型結(jié)構(gòu)顯示界面的左邊欄, 數(shù)據(jù)顯示在右邊欄目中;點(diǎn)擊具體操作的鏈接點(diǎn)后會(huì)把接收到的的數(shù)據(jù)顯示在右邊欄目中。1模塊設(shè)計(jì)1)登錄模塊功能:管理員輸入密碼和用戶(hù)名點(diǎn)擊登入, 服務(wù)器檢驗(yàn)密碼和用戶(hù)是否正確, 正確則可以入操作界面。性能:方便快捷;相應(yīng)速度快;界面友好,帶有錯(cuò)誤提示。輸入項(xiàng)目:賬號(hào)和密碼。輸出項(xiàng)目:跳到登入失敗或者進(jìn)入操作界面。2) 車(chē)輛信息管理功能:可以添加汽車(chē)信息,刪除汽車(chē)信息,修改汽車(chē)信息,查詢(xún)所有的汽車(chē)信息。性能:方便快捷;相應(yīng)速度快;界面友好,帶有錯(cuò)誤提示。輸入項(xiàng)目:汽車(chē)編號(hào),載客量,車(chē)牌號(hào),司機(jī)。輸出項(xiàng)目:保存添加或者修改后立即刷新界面顯示添加后的數(shù)據(jù)。3) 線(xiàn)路管理功能:可以添加路線(xiàn),刪除路線(xiàn),修改路線(xiàn),顯示所有線(xiàn)路。性能:方便快捷;相應(yīng)速度快;界面友好,帶有錯(cuò)誤提示。輸入項(xiàng)目:添加和修改包括線(xiàn)路號(hào)、目的地,出發(fā)地,出發(fā)時(shí)間,耗時(shí),使用車(chē)輛的編號(hào)。輸出項(xiàng)目:線(xiàn)路編號(hào),目的地,出發(fā)地,出發(fā)時(shí)間,行駛時(shí)間,余票。4) 管理員信息管理:功能:可以添加和刪除新管理員。性能:方便快捷;相應(yīng)速度快;界面友好,帶有錯(cuò)誤提示。輸入項(xiàng)目:添加和修改管理員賬號(hào)和密碼。輸出項(xiàng)目:現(xiàn)有管理員信息。2算法設(shè)計(jì)登陸部分:首先輸入用戶(hù)號(hào)和密碼,進(jìn)行驗(yàn)證,連接服務(wù)器的數(shù)據(jù)庫(kù)檢查輸入的用戶(hù)名是否存在并且密碼是否正確,正確則可以操作,不正確顯示登入失敗。車(chē)輛信息管理:點(diǎn)擊汽車(chē)信息鏈接后會(huì)發(fā)送請(qǐng)求數(shù)據(jù)庫(kù)獲取所有數(shù)據(jù)庫(kù)中的汽車(chē)信息,并且再右邊欄目中進(jìn)行顯示。輸入內(nèi)容點(diǎn)擊保存即可保存到數(shù)據(jù)庫(kù)中; 如果修改則需要選中修改的行進(jìn)行修改后保存的數(shù)據(jù)庫(kù)中。線(xiàn)路信息管理:點(diǎn)擊線(xiàn)路信息鏈接后會(huì)發(fā)送請(qǐng)求數(shù)據(jù)庫(kù)獲取所有數(shù)據(jù)庫(kù)中的線(xiàn)路信息,并且再右邊欄目中進(jìn)行顯示。輸入內(nèi)容點(diǎn)擊保存即可保存到數(shù)據(jù)庫(kù)中; 如果修改則需要選中修改的行進(jìn)行修改后保存的數(shù)據(jù)庫(kù)中。管理員信息管理:點(diǎn)擊管理員信息鏈接后會(huì)發(fā)送請(qǐng)求數(shù)據(jù)庫(kù)獲取所有數(shù)據(jù)庫(kù)中的管
如果理員信息,并且再右邊欄目中進(jìn)行顯示。 輸入內(nèi)容點(diǎn)擊保存即可保存到數(shù)據(jù)庫(kù)中;如果修改則需要選中修改的行進(jìn)行修改后保存的數(shù)據(jù)庫(kù)中333程序邏輯1)登入界面圖5登入界面N-S圖2)汽車(chē)信息管理、線(xiàn)路信息管理、管理員信息的程序邏輯如下:軟件接口:在這里主要考慮軟件與操作系統(tǒng)的接口,這里使用 java語(yǔ)言開(kāi)發(fā)。Jdk1.7具有較好的跨平臺(tái)兼容性。除此之外,還要配置服務(wù)器端,開(kāi)啟服務(wù)器程序 Tomcat6.0,等待可無(wú)端請(qǐng)求。建立連接后通過(guò) SQL語(yǔ)言Tomcat會(huì)自動(dòng)完成對(duì)數(shù)據(jù)庫(kù)的操作。硬件接口:可用的網(wǎng)絡(luò)鏈接,服務(wù)器端有較大的硬盤(pán)容量, 較好的CPU來(lái)提高檢索速率。因?yàn)殚_(kāi)發(fā)的軟件較小??梢試?yán)個(gè)測(cè)試錄入數(shù)據(jù)的安全性。 準(zhǔn)備多個(gè)測(cè)試用例(實(shí)用軟件測(cè)試的方法)檢驗(yàn)系統(tǒng)的健壯性。同時(shí)檢查形同日志,以及異常后數(shù)據(jù)庫(kù)能發(fā)保持完整性。3.4性能需求1) 查詢(xún)時(shí)保證查全率,所有在相應(yīng)域中與查詢(xún)關(guān)鍵字相符的記錄都應(yīng)能查到;2) 查詢(xún)時(shí)保證查準(zhǔn)率,所有查詢(xún)記錄都是希望值。3) 修改記錄同步,不出現(xiàn)一方有時(shí)令一方?jīng)]有的情況。1)小型庫(kù)中的查詢(xún)、修改等操作的響應(yīng)時(shí)間應(yīng)控制在 0.5秒鐘以?xún)?nèi);2)增加數(shù)據(jù)量時(shí)也應(yīng)將響應(yīng)時(shí)間控制在 2秒以?xún)?nèi);3)當(dāng)數(shù)據(jù)多至超出響應(yīng)時(shí)間時(shí),應(yīng)提供更新以控制響應(yīng)時(shí)間。1) 滿(mǎn)足運(yùn)行環(huán)境在允許操作系統(tǒng)之間的安全轉(zhuǎn)換要求;2) 滿(mǎn)足與其他應(yīng)用軟件不沖突的獨(dú)立運(yùn)行要求。3.5運(yùn)行需求1)屏幕格式:多窗口運(yùn)行,采用 B/S,使用myeclipse2013和jdk1.6制作,完全兼容Windows平臺(tái)。2) 報(bào)表格式:符合打印要求,與常規(guī)打印機(jī)接口匹配。3) 菜單格式:采用選項(xiàng)菜單等方式。1)筆記本電腦1) 運(yùn)行于Windows操作系統(tǒng)之上;2)需要連接小型數(shù)據(jù)庫(kù) sqlserver2005和系統(tǒng)類(lèi)庫(kù),使用Tomcat服務(wù)器。1) 用戶(hù)輸入錯(cuò)誤格式時(shí)應(yīng)給予改正提示;2) 數(shù)據(jù)庫(kù)更改錯(cuò)誤時(shí)應(yīng)自行緩和關(guān)閉并重啟;3) 若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤時(shí),應(yīng)保證數(shù)據(jù)庫(kù)的完好無(wú)損;4) 其它故障問(wèn)題可與開(kāi)發(fā)人員聯(lián)系。綜上可知,基本要求如下:1) 體系結(jié)構(gòu):B/S2) 操作系統(tǒng):Windows系列)數(shù)據(jù)庫(kù)管理系統(tǒng):sqlserver20054) 開(kāi)發(fā)工具:myeclipse、jdk1.6、Tomcat7.05) 軟件需求:操作系統(tǒng)Windows2000AdvaneeServer以上,數(shù)據(jù)庫(kù)軟件sqlserver2005,數(shù)據(jù)庫(kù)服務(wù)器端軟件Tomcat7.03.6其他需求除了基本要求,還應(yīng)該確保軟件的安全性:1) 提供管理員的密碼保護(hù)、密碼修改功能;2) 提供可靠的軟件邏輯機(jī)制,減少外部侵入的風(fēng)險(xiǎn)。第四部分主要界面截圖及代碼4.1數(shù)據(jù)庫(kù)截圖4.2配置截圖(jdk安裝和環(huán)境變量配置省略)4.3運(yùn)行截圖4.4相關(guān)代碼1、方法包packagesen;publicclassDBUtilbus{//開(kāi)通新航線(xiàn)添加新票 (被addLine調(diào)用)publicstaticvoidaddticket(StringlinelD,StringbusID, intprice){try{intnum=0;Stringupdate_sql= "";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();update_sql="selectbusSizefrombuswherebusID=" +"'"+buslD+"'"System.out.println(update_sql);ResultSetrs=st.executeQuery(update_sql);rs.next();num=lnteger.parseInt (rs.getString(1));rs.close();update_sql="insertintoticketvalues('" +linelD+ "',"+num+","+num+","+price+")";st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加新運(yùn)營(yíng)路線(xiàn)publicstaticvoidaddLine(StringlineID,Stringstart,Stringdes,Stringdate,Stringstime,Stringntime,StringbusID){try{Stringupdate_sql="insertintolinevalues('" +linelD+ "','"+start+"','"+des+"','"+date+"','"+stime+"','" +ntime+"','"+busID+"')";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加車(chē)輛publicstaticvoidaddbus(StringbusID, intbusSize,StringbusNum,StringbusDriver){ try{Stringupdate_sql="insertintobusvalues('"+buslD+"',"+busSize+",'" +busNum+"','" +busDrive葉"')";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加管理員publicstaticvoidaddmanager(Stringmid,Stringpwd){ try{Stringupdate_sql="insertintomanagervalues('" +mid+"','" +pwd+"')";Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();st.executeUpdate(update_sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}publicstaticArrayListvString[]>getLinet(){ArrayListvString[]>al= newArrayList<String[]>();try{Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectstart,des,date,stime,ntime,buslD,price,allNum,leftNumfromticket,linewhereticket.linelD=line.linelDandticket.leftNum>0" );while(rs.next()){ String[]rows=newString[9];for(inti=1;i<=9;i++){rows[i-1]=rs.getString(i);}al.add(rows);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnal;}//獲取管理員信息publicstaticArrayListvString[]>getManager(){ArrayList<String[]>al= newArrayList<String[]>();try{Class.forName(iver");Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery( "select*frommanager" );while(rs.next()){ String[]rows=newString[2];for(inti=1;i<=2;i++){rows[i-1]=rs.getString(i);}al.add(rows);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnal;}//獲取售票信息publicstaticArrayListvString[]>getSalet(){ArrayList<String[]>al= newArrayList<String[]>();try{Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery( "select*fromticket" );while(rs.next()){String[]rows= newString[4];for(inti=1;i<=4;i++){rows[i-1]=rs.getString(i);}al.add(rows);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnal;}//獲取車(chē)輛信息publicstaticArrayList<String[]>getBusIfor(){ArrayListvString[]>al= newArrayList<String[]>();try{Class.forName();Connectioncon=DriverManager. getConnection ("jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery( "select*frombus" );while(rs.next()){String[]rows= newString[4];for(inti=1;i<=4;i++){ rows[i-1]=rs.getString(i);}al.add(rows);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnal;}publicstaticvoidbus(Stringpid){}2、index.jsp<%@pagecontentType ="text/html;charset=utf-8"<%@pagelanguage="java"import<html>="java.sql.*"%><%@pagecontentType ="text/html;charset=utf-8"<%@pagelanguage="java"import<html>="java.sql.*"%>%>vhead><metahttp-equivtype="text/css"<!--="Content-Type"content="text/html;charset=utf-8"><style<metahttp-equivtype="text/css"<!--="Content-Type"content="text/html;charset=utf-8"><style:bold;:bold;italiccolor:#006699;}:cover;:cover;color:silver}.STYLE2.STYLE4{color{color:#990000}:#000000}</style<linkcolor:silver}.STYLE2.STYLE4{color{color:#990000}:#000000}</style<linkhref="Accessible_Design.css"rel="stylesheet"type="text/css"><style<!--type="text/css">.STYLE5{color:#FF0000}</style</head><body>action="checklogin.jsp"align="center"bordercolor="#000099"action="checklogin.jsp"align="center"bordercolor="#000099"<tablewidth="260"border="1"bgcolor="#9999FF"class="footer"<tr><tdwidth="64"><spanclass="StoryContentColorSTYLE5" >用戶(hù)</span><spanclass="STYLE5">:</span></td><tdwidth="180"><inputname="mid"type="text"/></td></tr><tr><td><spanclass="STYLE4STYLE5">密碼:</span></td><td><input name="pwd"type="password"/></td></tr><tr><td></td>
<td>vspanclass="STYLE2"><inputtype="submit"value="登錄"/><inputtype="reset"value="重置"/></span></td></tr></table></form></body></html>3、checklogin.jsp<%@pagecontentType ="text/html;charset=UTF-8" %><%@pageIanguage="java"import="java.sql.*"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+ "://" +request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><base<title<meta>MyJSP'checklogin.jsp'startingpagehttp-equiv</title>="pragma"content="no-cache"><meta<meta<meta<metahttp-equivhttp-equivhttp-equivhttp-equiv="cache-control"="expires"="keywords"="description"content="no-cache" >content="0">content="keyword1,keyword2,keyword3"content="Thisismypage"href="<%=<base<title<meta>MyJSP'checklogin.jsp'startingpagehttp-equiv</title>="pragma"content="no-cache"><meta<meta<meta<metahttp-equivhttp-equivhttp-equivhttp-equiv="cache-control"="expires"="keywords"="description"content="no-cache" >content="0">content="keyword1,keyword2,keyword3"content="Thisismypage"<!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head><body><%Stringmid;Stringpwd;booleanflag=falseStringsql= "";"mid")!=null)&&(request.getParameter("pwd")!=null)if((request.getParameter("mid")!=null)&&(request.getParameter("pwd")!=null))mid=request.getParameter( "mid");pwd=request.getParameter( "pwd");try{sql="select*from[manager]wheremid='" +mid+"'andpwd='"+pwd+Class.forName();Connectioncon=DriverManager.getConnection( "jdbc:odbc:mydb","sa","1234");Statementst=con.createStatement();ResultSetrs=st.executeQuery(sql);if(rs.next()){flag=true;}rs.close();st.close();con.close();if(flag==true){response.sendRedirect( "fenp.jsp");}else{response.sendRedirect( "loginfail.jsp" );}}catch(Exceptione){e.printStackTrace();out.println(e);}finally {}}%></body></html>4、fenp.jsp<%@pagelanguage="java"import="java.util.*,sen.DBUtilbus"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">vhtml>vhead>vbase<title>MyJSP'MyJsp.jsp'startingpage</title><meta<meta<metahttp-equivhttp-equivhttp-equiv="pragma"content="cache-control"="no-cache">content="no-cache" ><meta<metahttp-equivhttp-equiv="expires"content="0">="keywords"="description"content="keyword1,keyword2,keyword3"content="Thisismypage"<!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head>vframesetrows="10%,*">vframescrolling="no"src="head.jsp"name="top"><framesetrows二cols="15%,*"><framesrc="left.jsp" name="left" ><framesrc="busline.jsp" name="main"></frameset></frameset></body></html>5、Head.jsp<%@pagecontentType="text/html;charset=gb2312" %>vbase<title>MyJSP'MyJsp.jsp'startingpage</title><meta<meta<metahttp-equivhttp-equivhttp-equiv="pragma"content="cache-control"="no-cache">content="no-cache" ><meta<metahttp-equivhttp-equiv="expires"content="0">="keywords"="description"content="keyword1,keyword2,keyword3"content="Thisismypage"<!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head>vframesetrows="10%,*">vframescrolling="no"src="head.jsp"name="top"><framesetrows二cols="15%,*"><framesrc="left.jsp" name="left" ><framesrc="busline.jsp" name="main"></frameset></frameset></body></html>5、Head.jsp<%@pagecontentType="text/html;charset=gb2312" %><html><head><title>head</title><meta<linkhttp-equiv ="Content-Type"href="colors2.css"rel="stylesheet"content="text/html;charset=gb2312"type="text/css"><styletype="text/css"><!--body{background-image :url(image/tu2.jpg)--></style><link href="../../../../Documents/rel="stylesheet"type="text/css">未命名站點(diǎn)1/CSS/Accessible_Design.css"</head><bodytext="#0000FF"><h1align="center"a><strongxfont_color_III!sizeface三"宋體">合肥市長(zhǎng)途</body></html>6、left.Jsp<%@pagecontentType="text/html;charset=gb2312"import="java.util.*,sen.DBUtilbus" %><html><head><title >商品列表</title><styletype="text/css"><!--.STYLE1{font-family:"新宋體";font-style:italic;color:#0066FF;}body{background-image:url(image/42319.jpg)background-repeat :repeat}body,td,th{color:#CC0033;</style><metahttp-equiv ="Content-Type" content="text/html;charset=gb2312" ><linkhref="colors1.css"rel="stylesheet"type="text/css"><linkhref="colors5.css"rel="stylesheet"type="text/css"><linkhref="Level2_Verdana__Forms.css" rel="stylesheet"type="text/css"><linkhref="../../../../Documents/ 未命名站點(diǎn)1/CSS/Accessible_Design.css"rel="stylesheet"type="text/css"></head><body><h1align="left" ><spanclasstarget="main" ><kbd>汽車(chē)信息</I="footer"><ahrefkbd></a><kbd><br><body><h1align="left" ><spanclasstarget="main" ><kbd>汽車(chē)信息</I="footer"><ahrefkbd></a><kbd><br><ahref="buslineiftop.jsp"target="main"="businfor.jsp">線(xiàn)路信息</a><br>target="main"target="main"<ahref="saleticket.jsp"<ahref="managerbo.jsp"class="STYLE1"><kbd><ahref="managerbo.jsp">售票信息</a><br>>target="main"target="main"<ahref="saleticket.jsp"<ahref="managerbo.jsp"class="STYLE1"><kbd><ahref="managerbo.jsp">售票信息</a><br>>管理員信</a></kbd></span><spantarget="main" >息</a></kbd></span><br></h1></body</html>7、Busline.jsp<%@pagecontentTypeimport="java.util.*,sen.DBUtilbus"<html><head><title >線(xiàn)路信息列表</title="text/html;charset=utf-8"%><metahttp-equiv ="Content-Type"<linkhref="../../../../Documents/rel="stylesheet"type="text/css">7、Busline.jsp<%@pagecontentTypeimport="java.util.*,sen.DBUtilbus"<html><head><title >線(xiàn)路信息列表</title="text/html;charset=utf-8"%><metahttp-equiv ="Content-Type"<linkhref="../../../../Documents/rel="stylesheet"type="text/css"></head><bodybackground="image/tu3.jpg"<divalign="center" ><%ListvString[]>ll=DBUtilbus.getLinet();if(ll.size()==0)content="text/html;charset=utf-8"未命名站點(diǎn)1/CSS/Accessible_Design.css"{%>vfont_color三"red"_size三"20">對(duì)不起目前沒(méi)有任何線(xiàn)路信息?。?!</font><%}else{%></div>vtable align="center"width="75%"border="0"bgcolor="#000000"cellpadding="1"cellspacing="1" ><thbgcolor="d7d3d3">始發(fā)站</th>="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3">終點(diǎn)站</th>="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3"="d7d3d3">開(kāi)車(chē)日期</th>>開(kāi)車(chē)時(shí)間</th>>耗時(shí)/h</th>>大巴號(hào)</th>>票價(jià)</th>>總票數(shù)/張</th>>余票/張</th><%intc=0;for(String[]sa:ll)StringcolorStr=(c%2==0)C++;%>"#fffefe":"#9ccdfe"<tr><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[0]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[1]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[2]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[3]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[4]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[5]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[6]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[7]%x/td><td</tr>align="center"bgcolor="<%=colorStr%>'><%=sa[8]%x/td><%}%></table><%}%></body></html>8、businfor.jsp<%@pagecontentType ="text/html;charset=UTF-8" %><%@pagelanguage="java"import="java.sql<%@pageimport=".*,sen.DBUtilbus" %><%!Stringbusid= "";Stringnum= "";StringbusNum= "";Stringdriver= "";%>%><%if((request.getParameter("busid")!=null&&(request.getParameter("num")!=null)&&(request.getParameter("busNum")!=null&&(request.getParameter("driver")!=null{busid=newString(reqiuest.getParameter("UTF-8");num=newString(request.getParameter("UTF-8");busNum= newString(request.getParameter())))"busid").getBytes("ISO8859_1"),"num").getBytes("ISO8859_1"),"busNum").getBytes("ISO8859_1"),"UTF-8");driver=newString(request.getParameter("UTF-8");intallNum=lnteger.parselnt(num);driver=newString(request.getParameter("UTF-8");intallNum=lnteger.parselnt(num);DBUtilbus.addbus(busid,allNum,busNum,driver);}%>"driver").getBytes("ISO8859_1"),vformname=form1method="post"action ="businfor.jsp"vformname=form1method="post"action ="businfor.jsp"巴士號(hào):<input載客量:巴士號(hào):<input載客量:<inputsize="10" type="text"size="10" type="text"name="busid"></input>name="num"></input>車(chē)牌號(hào)號(hào):<inputsize="10"type="text"name="busNum"></input>司機(jī):<inputsize="10"type="text" name="driver" ></input><inputid="b1"type="submit"value="提交"name="tijiao" ></input><inputid="b2"type="submit"value="修改"name="xiugai" ></input></form></body></html><%@pagecontentType ="text/html;charset=UTF-8"import="java.util.*,sen.DBUtilbus"%><html><head><title><html><head><title>車(chē)輛信息列表</titlecontent="text/html;charset=utf-8"<linkhref="../../../../Documents/rel="stylesheet"type="text/css"</head><bodybackground="image/tu2.jpg"><metahttp-equiv ="Content-Type">未命名站點(diǎn)1/CSS/Accessible_Design.css"><div align ="center" ><%List<String[]>ll=DBUtilbus.getBuslfor();if(ll.size()==0){%>vfont_color="red"_size="20">對(duì)不起,目前沒(méi)有任何車(chē)輛信息?。?! </font><%}else{%></div><table align="center"width="75%"border="0"bgcolor="#000000"cellpadding ="1">cellspacing ="1"<caption><b>車(chē)輛信息歹列表</b></caption><tr>>巴士號(hào)>巴士號(hào)</th>>載客量</th>>車(chē)牌號(hào)</th><thbgcolor="d7d3d3"<thbgcolor="d7d3d3"<thbgcolor="d7d3d3">司機(jī)</th><thbgcolor="d7d3d3">刪除</th></tr><%ntc=0;for(String[]sa:ll){StringcolorStr=(c%2==0) "#fffefe":"#9ccdfe"C++;%><tr><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[0]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[1]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[2]%x/td><tdalign="center"bgcolor="<%=colorStr%>'><%=sa[3]%x/td><tdalign="center"bgcolor="<%=colorStr %>'><ahref="delete.jsp">DEL</a></td></tr><%}%x/table>vformaction=""></form><%}%></body></html>9、buslineiftop.jsp<%@pagecontentType ="text/html;charset=utf-8" %><%@pagelanguage="java"import="java.sql.*"%><%@pageimport="sen.DBUtilbus"%><%!TOC\o"1-5"\h\zStringlineid= "";Stringstart= "";Stringdes= "";StringbusID= "";Stringdate= "";Stringstime= "";Stringntime= "";Stringprice= "";%><%"linelD")!=null)if((request.getParameter(
"linelD")!=null)&&(request.getParameter(&&(request.getParameter(&&(request.getParameter(&&(request.getParameter(&&(request.getParamet
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)陸?zhàn)B殖的食品安全與健康供給考核試卷
- 安全人機(jī)系統(tǒng)中的作業(yè)環(huán)境考核試卷
- 胸心外科護(hù)理業(yè)務(wù)學(xué)習(xí)
- 持續(xù)改進(jìn)和質(zhì)量保證在安全管理中角色考核試卷
- 美術(shù)課交通食品安全
- 蘇州科技大學(xué)天平學(xué)院《環(huán)保設(shè)備與儀表》2022-2023學(xué)年第一學(xué)期期末試卷
- 新生兒的喂養(yǎng)護(hù)理
- 2024標(biāo)準(zhǔn)廣告位合同書(shū)
- 2024正規(guī)個(gè)人購(gòu)房合同范本
- 預(yù)防狂犬病主題班會(huì)
- 黑龍江省龍東地區(qū)2024-2025學(xué)年高二上學(xué)期階段測(cè)試(二)(期中) 英語(yǔ) 含答案
- 4S店展廳改造裝修合同
- 公務(wù)員2022年國(guó)考申論試題(行政執(zhí)法卷)及參考答案
- (培訓(xùn)體系)2020年普通話(huà)測(cè)試培訓(xùn)材料
- 3-4單元測(cè)試-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 北師版數(shù)學(xué)八年級(jí)上冊(cè) 5.8三元一次方程組課件
- 2024混合動(dòng)力汽車(chē)賽道專(zhuān)題報(bào)告-2024-10-市場(chǎng)解讀
- DB34T 4338-2022 行政規(guī)范性文件合法性審核規(guī)范
- 企業(yè)單位消防安全規(guī)范化管理指導(dǎo)手冊(cè)
- 廢舊物資回收投標(biāo)方案(技術(shù)方案)
- 九年級(jí)英語(yǔ)上學(xué)期期中考試(北京卷)-2024-2025學(xué)年九年級(jí)英語(yǔ)全一冊(cè)單元重難點(diǎn)易錯(cuò)題精練(人教版)
評(píng)論
0/150
提交評(píng)論