機(jī)票預(yù)訂系統(tǒng)詳細(xì)設(shè)計(jì)_第1頁
機(jī)票預(yù)訂系統(tǒng)詳細(xì)設(shè)計(jì)_第2頁
機(jī)票預(yù)訂系統(tǒng)詳細(xì)設(shè)計(jì)_第3頁
機(jī)票預(yù)訂系統(tǒng)詳細(xì)設(shè)計(jì)_第4頁
機(jī)票預(yù)訂系統(tǒng)詳細(xì)設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程實(shí)驗(yàn)報(bào)告設(shè)計(jì)題目:機(jī)票預(yù)訂系統(tǒng)(詳細(xì)設(shè)計(jì)部分)機(jī)票預(yù)訂系統(tǒng)詳細(xì)設(shè)計(jì)1引言1.1 編寫目的在前一階段(概要設(shè)計(jì)說明書)中,已解決了實(shí)現(xiàn)該系統(tǒng)需求的程序類設(shè)計(jì)問題。包括如何把該系統(tǒng)劃分成若干個(gè)類、決定各類之間的接口、類之間傳遞的信息,以及數(shù)據(jù)結(jié)構(gòu)、類結(jié)構(gòu)的設(shè)計(jì)等。在以下的詳細(xì)設(shè)計(jì)報(bào)告中將對(duì)在本階段中對(duì)系統(tǒng)所做的所有詳細(xì)設(shè)計(jì)進(jìn)行說明。在本階段中,確定應(yīng)該如何具體地實(shí)現(xiàn)所要求的系統(tǒng),從而在編碼階段可以這個(gè)描述直接翻譯成用具體的java程序語言書寫的程序。主要的工作有:根據(jù)在需求分析說明書中所描述的數(shù)據(jù)、功能、運(yùn)行、性能需求,并依照概要設(shè)計(jì)說明書所確定的處理流程、總體結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和類設(shè)計(jì),

2、逐個(gè)類的進(jìn)行盡可能詳盡的程序描述(包括各方法的功能、性能、輸入、輸出、算法、程序邏輯、接口等等),盡可能的減少編碼時(shí)間。1.2 背景軟件系統(tǒng)的名稱:機(jī)票預(yù)訂系統(tǒng)項(xiàng)目由A3小組負(fù)責(zé)開發(fā).項(xiàng)目分兩個(gè)部分:面向客戶的客戶終端程序部署在服務(wù)器上的Java服務(wù)程序1.3 定義Socket:網(wǎng)絡(luò)通信模式。Server機(jī)票預(yù)訂系統(tǒng)的服務(wù)器端。Client:機(jī)票預(yù)定系統(tǒng)的客戶端。1.4 參考資料1.1.1 .機(jī)票預(yù)訂系統(tǒng)項(xiàng)目開發(fā)計(jì)劃書機(jī)械工程出版社2.2.2 .機(jī)票預(yù)訂系統(tǒng)需求分析說明書3.3.3 .軟件工程一一實(shí)踐者的研究方法2程序系統(tǒng)的結(jié)構(gòu)以類圖形式展示:Server類圖:Client類圖:orderFl

3、ightsflightNumberOfSeats;int+cEearOrderQ;vod+deleteFlightO:void+addFlightO:voidnight-Flytime:String-Totalseats:.lnt1.1.1.1 StartpEace:String2.2.2.2 Destination:String3.3.3.3 Flightnumber:String4.4.4.4 Price:float5.5.5.5 Availab<eseats:int+getAvaHableSeatsO:intcustomerID:int-Password:String-Orders

4、:order-Account:account+loginO:void+exitO:void平getPassWordO-String+setPassWordQ:void+-que7OrdersQ:order+queryFHghtsO:flight1+xintQsetTotalseatsO:void+gefTotalSeatsO:int+setAvaiiableSeatsO:void+setPriceQ:void+getPhceO:float+setNumberQ:void+cietMumberQ:String+setFtyTimeO:void+getFtyTimeQ:Stringaccount3

5、 ID:int4 Password:String5 money:float+addWone/0:void+getIDOint+getPassWordO:String+decreaseMoneyO:voidairport6 Flights:flightNumberOfFllghts:int-Name:String+addFlightO:void+deleteFbghtO:void3Server端程序說明:1.2.0 類ServerStart設(shè)計(jì)說明3.1.1ServerStatrt()方法調(diào)用窗口顯示方法ServerGUI(),顯示服務(wù)器主界面,Serverbeready。2 功能啟動(dòng)服務(wù)器,2

6、 測(cè)試計(jì)劃能順利啟動(dòng)服務(wù)器3.1.2ServerLogon(方法用于服務(wù)器管理員登錄。6 功能直接訪問數(shù)據(jù)庫,驗(yàn)證輸入的用戶名密碼,如正確則進(jìn)入服務(wù)器管理界面。6 輸入項(xiàng)用戶名String密碼String6 輸出項(xiàng)是否正確bool6 算法1用getText()從管理員登陸界面讀取用戶名與密碼。1.1.1 .將信息傳遞到方法中到數(shù)據(jù)庫中查找。2.2.2 .返回查找情況,找到true,未找到false。3.3.3 .1.2.5測(cè)試計(jì)劃能正確識(shí)別輸入的用戶名與密碼。輸入正確的用戶名與密碼可跳轉(zhuǎn)至服務(wù)器管理員界面,輸入錯(cuò)誤的則發(fā)出提示,不允許進(jìn)入。3.1.3ServerGUI()方法用于編輯管理員界面

7、并顯示。3.9.1.1 功能編輯管理員界面,傳遞參數(shù)給ServerLongON(),并顯示界面。3.9.1.2 算法使用控件的監(jiān)聽事件達(dá)到上述效果3.9.1.3 測(cè)試計(jì)劃界面能否正確顯示,SeverLogON()方法能否正常運(yùn)行。3.2database類設(shè)計(jì)說明1.4 database(方法用于建立與數(shù)據(jù)庫的鏈接,可被繼承。1.4.1 功能建立與數(shù)據(jù)庫的鏈接,可被繼承,使其他類在訪問數(shù)據(jù)庫時(shí)不必再次建立連接3.2.2.2性能為提升數(shù)據(jù)傳輸?shù)男?,訪問數(shù)據(jù)庫時(shí)間應(yīng)盡量短。4.2 Userdb類設(shè)計(jì)說明4.2.1 Userdb(pT法Userdb的構(gòu)造方法。4.2.1.1 功能繼承父類databa

8、se(的構(gòu)造方法,從而建立起與數(shù)據(jù)庫的鏈接4.2.2 isExit()方法判斷數(shù)據(jù)是否出現(xiàn),可被其他方法調(diào)用。4.2.3 .1功能在查詢函數(shù)中可被調(diào)用,用于判斷所查詢的數(shù)據(jù)是否出現(xiàn)。4.2.4 .2輸出項(xiàng)輸出bool變量,若存在,則為true,or則為false4.2.5 updatedata()方法更新當(dāng)前行數(shù)據(jù)4.2.5.1 功能更新當(dāng)前行數(shù)據(jù)為修改過的數(shù)據(jù),修改數(shù)據(jù)庫內(nèi)內(nèi)容。4.2.5.2 輸入項(xiàng)要修改數(shù)據(jù)所在的列名String修改后的數(shù)據(jù)Object4.2.5.3 輸出項(xiàng)數(shù)據(jù)內(nèi)的內(nèi)容被修改。4.2.6 InsertNew(Useruser)向數(shù)據(jù)庫加入一行數(shù)據(jù)4.2.6.1 功能讀入U(xiǎn)

9、ser數(shù)據(jù),將這行數(shù)據(jù)加入數(shù)據(jù)庫中4.2.6.2 輸入項(xiàng)用戶信息User4.2.6.3 輸出項(xiàng)用戶信息加入數(shù)據(jù)庫4.2.7 QueryData()查詢數(shù)據(jù)是否存在。4.2.7.1 功能接收數(shù)據(jù),到數(shù)據(jù)庫中查詢數(shù)據(jù)數(shù)據(jù)是否存在。4.2.7.2 輸入項(xiàng)用戶名String密碼String余額double航班號(hào)String票數(shù)int查詢種類int查詢種類必須輸入,其他可根據(jù)需要選擇性的輸入。4.2.7.3 輸出項(xiàng)查詢得到的信息加入游標(biāo)數(shù)組。4.2.8 CloseAll()關(guān)閉鏈接。4.2.8.1 功能關(guān)閉服務(wù)器與數(shù)據(jù)庫之間的鏈接4.3 Flightdb類設(shè)計(jì)說明4.3.1 Flightdb()方法Fl

10、ightdb的構(gòu)造方法。4.3.1.1 功能繼承父類database(的構(gòu)造方法,從而建立起與數(shù)據(jù)庫的鏈接4.3.2 isExit()方法判斷數(shù)據(jù)是否出現(xiàn),可被其他方法調(diào)用。4.3.3 .1功能在查詢函數(shù)中可被調(diào)用,用于判斷所查詢的數(shù)據(jù)是否出現(xiàn)。4.3.4 .2輸出項(xiàng)輸出bool變量,若存在,則為true,or則為false4.3.5 updatedata()方法更新當(dāng)前行數(shù)據(jù)4.3.5.1 功能更新當(dāng)前行數(shù)據(jù)為修改過的數(shù)據(jù),修改數(shù)據(jù)庫內(nèi)內(nèi)容C4.3.5.2 輸入項(xiàng)要修改數(shù)據(jù)所在的列名String修改后的數(shù)據(jù)Object4.3.5.3 輸出項(xiàng)數(shù)據(jù)內(nèi)的內(nèi)容被修改。4.3.6 InsertNew(

11、Flightflight)向數(shù)據(jù)庫加入一行數(shù)據(jù)4.3.6.1 功能讀入flight數(shù)據(jù),將這行數(shù)據(jù)加入數(shù)據(jù)庫中4.3.6.2 輸入項(xiàng)航班信息Flight4.3.6.3 輸出項(xiàng)航班信息加入數(shù)據(jù)庫4.3.7 QueryData()查詢數(shù)據(jù)是否存在。4.3.7.1 功能接收數(shù)據(jù),到數(shù)據(jù)庫中查詢數(shù)據(jù)數(shù)據(jù)是否存在。4.3.7.2 輸入項(xiàng)航班號(hào)String起飛地點(diǎn)String到達(dá)地點(diǎn)String起飛時(shí)間String到達(dá)時(shí)間String票價(jià)double查詢類型int查詢種類必須輸入,其他可根據(jù)需要選擇性的輸入。4.3.7.3 輸出項(xiàng)查詢得到的信息加入游標(biāo)數(shù)組。4.3.8 CloseAll()關(guān)閉鏈接。4.3

12、.8.1 功能關(guān)閉服務(wù)器與數(shù)據(jù)庫之間的鏈接4.4 UserServer類設(shè)計(jì)說明4.4.1 UserServe,()方法UserServer的構(gòu)造方法。4.4.1.1 功能繼承JFrame,建立界面用于把存放用戶信息的數(shù)據(jù)庫中的信息顯示出來,便于管理員查看管理4.4.2 Query()方法遍歷數(shù)據(jù)庫中信息。4.4.3 .1功能點(diǎn)擊刷新時(shí),遍歷User數(shù)據(jù)庫,將數(shù)據(jù)信息重新顯示。3.5.2.2算法000000000000 .建立足夠大的存儲(chǔ)空間111111111111 .與User數(shù)據(jù)庫建立連接222222222222 .遍歷數(shù)據(jù)庫,把數(shù)據(jù)加入存儲(chǔ)空間333333333333 .數(shù)據(jù)加入顯示界面

13、,顯示出來。3.6FlightServer類設(shè)計(jì)說明FlightServer()方法FlightServer的構(gòu)造方法。功能繼承JFrame建立界面用于把存放航班信息的數(shù)據(jù)庫中的信息顯示出來,便于管理員查看管理。Query()方法遍歷數(shù)據(jù)庫中信息。.1功能點(diǎn)擊刷新時(shí),遍歷Flight數(shù)據(jù)庫,將數(shù)據(jù)信息重新顯示。3.6.2.2算法.建立足夠大的存儲(chǔ)空間.與Flight數(shù)據(jù)庫建立連接.遍歷數(shù)據(jù)庫,把數(shù)據(jù)加入存儲(chǔ)空間.數(shù)據(jù)加入顯示界面,顯示出來。3.7User類設(shè)計(jì)說明User()方法User的構(gòu)造方法,建立方便調(diào)用用戶數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。getID()方法得到用戶名。.1功能調(diào)用時(shí),可返回用戶名3.7

14、.2.2輸出項(xiàng)用戶名String3.7.3setID()方法修改用戶名。3.7.3.1功能調(diào)用時(shí),可修改用戶名為指定值3.7.2.2輸入項(xiàng)用戶名String3.7.3其他類似方法getpassword()setpassword()getmoney()setmoneygetflight()setflightgetnum()setflight不再贅述。3.8Flight類設(shè)計(jì)說明Flight()方法Flight類的構(gòu)造方法,建立方便調(diào)用航班數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。getnumofF()方法得到航班號(hào)。.1功能調(diào)用時(shí),可返回航班號(hào)3.8.2.2輸出項(xiàng)航班號(hào)String3.8.3setnumofF(方法修改航

15、班號(hào)。3.8.3.1功能調(diào)用時(shí),可修改航班號(hào)為指定值3.8.2.2輸入項(xiàng)航班號(hào)String3.8.3其他類似方法getnumofF()setnumofF()getstartp()setstartp()getendp()getstartt()setstartt()getendt()setendt()getprice()setprice()getnum()setnum()不再贅述。Administrator類設(shè)計(jì)說明addUserData(方法添加用戶信息。功能管理員可以通過這個(gè)方法跳過注冊(cè)直接添加用戶。輸入項(xiàng)用戶名String密碼String余額double輸出項(xiàng)用戶信息被加到User數(shù)據(jù)庫中測(cè)

16、試計(jì)劃建立服務(wù)器與數(shù)據(jù)庫的鏈接,使需要添加的用戶信息如預(yù)料添加delateUserData(方法刪除用戶信息。功能管理員可以通過這個(gè)方法刪除用戶。輸出項(xiàng)用戶信息被從User數(shù)據(jù)庫中刪除測(cè)試計(jì)劃建立服務(wù)器與數(shù)據(jù)庫的鏈接,使需要?jiǎng)h除的用戶信息如預(yù)料刪除addFlightLine()方法添加新航線。功能管理員可以通過這個(gè)方法添加新航線。輸入項(xiàng)航班號(hào)String起飛地點(diǎn)String到達(dá)地點(diǎn)String起飛時(shí)間String到達(dá)時(shí)間String票價(jià)double輸出項(xiàng)新航線被加到Flight數(shù)據(jù)庫中測(cè)試計(jì)劃建立服務(wù)器與數(shù)據(jù)庫的鏈接,使需要添加的航線如預(yù)料添加。delateFlightLine()方法刪除廢棄

17、航線。功能管理員可以通過這個(gè)方法刪除廢棄航線。輸出項(xiàng)航線被從Flight數(shù)據(jù)庫中刪除測(cè)試計(jì)劃建立服務(wù)器與數(shù)據(jù)庫的鏈接,使需要?jiǎng)h除的航線如預(yù)料刪除。serverThread類設(shè)計(jì)說明serverThread(T法serverThread類的構(gòu)造方法功能建立Socket與端口,使客戶端可以與服務(wù)器連接。run()方法啟動(dòng)多線程功能啟動(dòng)多線程,調(diào)用DealRequest()&理客戶端發(fā)送的各種請(qǐng)求。WriteControl()方法寫控制臺(tái)。功能把各個(gè)客戶端的請(qǐng)求處理過程寫進(jìn)控制臺(tái),方便管理員查看。輸出項(xiàng)客戶請(qǐng)求信息寫入控制臺(tái)。測(cè)試計(jì)劃建立服務(wù)器與客戶端的鏈接,客戶端發(fā)送請(qǐng)求,確保服務(wù)器可以在

18、控制臺(tái)上寫出正確的處理過程。DealRequest(方法處理客戶端請(qǐng)求。功能多線程接受客戶端發(fā)送的請(qǐng)求,調(diào)用DealRequest(方法處理。DealRequest(根據(jù)具體tf況調(diào)用getAllMessage類中g(shù)etInformation()方法處理,把結(jié)果發(fā)送至客戶端。測(cè)試計(jì)劃建立服務(wù)器與客戶端的鏈接,客戶端發(fā)送請(qǐng)求,確保服務(wù)器可以調(diào)用正確的getInformation()方法getAllMessag既設(shè)計(jì)說明getInformation()方法服務(wù)器端最終要的方法,客戶端與服務(wù)器交互的核心。功能處理客戶端傳遞的一切請(qǐng)求,并得出相應(yīng)的處理結(jié)果傳遞給客戶端。輸入項(xiàng)請(qǐng)求類型int輸出項(xiàng)處理結(jié)

19、果String3.11.1.4算法1.客戶端發(fā)出請(qǐng)求。2多線程接受請(qǐng)求,調(diào)用DealRequest(處理請(qǐng)求。3.DealRequest(調(diào)用getinformation()處理具體請(qǐng)求,并將結(jié)果發(fā)送至客戶端。3.11.1.5測(cè)試計(jì)劃建立服務(wù)器與客戶端的鏈接,客戶端發(fā)送請(qǐng)求,確保服務(wù)器可以返回正確的處理結(jié)果至客戶端。4client端程序說明:類Customer設(shè)計(jì)說明4.1.1login()方法用于用戶登陸系統(tǒng)。功能用于用戶登陸系統(tǒng)。測(cè)試計(jì)劃能順利登錄系統(tǒng)register(ET法用于用戶注冊(cè)系統(tǒng)。功能用于用戶注冊(cè)系統(tǒng)。輸入項(xiàng)用戶名String密碼String確認(rèn)密碼String如果該用戶名已被

20、使用,那么不能注冊(cè),如果輸出項(xiàng)提示:是否注冊(cè)成功4.1.2.4測(cè)試計(jì)劃能正確識(shí)別輸入的用戶名與密碼輸入的密碼和確認(rèn)的密碼不統(tǒng)一,則輸出提示。exit()方法用于用戶退出系統(tǒng)。功能用于用戶退出系統(tǒng)。測(cè)試計(jì)劃能正確辨認(rèn)用戶是否已經(jīng)登錄,若已經(jīng)登錄,則可以退出系統(tǒng)queryFlights()?!r法用于用戶查詢航班。功能用于用戶查詢航班。輸入項(xiàng)起始地String目的地String輸出項(xiàng)符合條件的各航班的信息。算法輸A體所蟲組汴削、'的米始施上擺占當(dāng)洵數(shù)排庫,甘到i本的伯i及不有肥”,班佑息);將&艦避的信息岫'、A張表”4.1.4.4測(cè)試計(jì)劃能正確識(shí)別輸入的起始地和目的地,根據(jù)這兩個(gè)數(shù)據(jù)進(jìn)行查詢orderFlight()方法用于用戶預(yù)定機(jī)票。功能用于用戶預(yù)訂機(jī)票。算法測(cè)試計(jì)劃則會(huì)提示用戶請(qǐng)選擇你所能正確識(shí)別用戶是否選擇相應(yīng)的航班,若用戶沒選擇,需要的航班。queryOrders()方法用于用戶查詢已定機(jī)票。功能用于用戶查詢已定機(jī)票。乂'1.J.rr仃定,兒:2"X發(fā)色令給喉勢(shì)器n眼外器接受施令去'、現(xiàn)1,”

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論