




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程實驗報告設計題目: 機票預訂系統(詳細設計部分) 機票預訂系統詳細設計1 引言1.1 編寫目的在前一階段(概要設計說明書)中,已解決了實現該系統需求的程序類設計問題。包括如何把該系統劃分成若干個類、決定各類之間的接口、類之間傳遞的信息,以及數據結構、類結構的設計等。在以下的詳細設計報告中將對在本階段中對系統所做的所有詳細設計進行說明。在本階段中,確定應該如何具體地實現所要求的系統,從而在編碼階段可以這個描述直接翻譯成用具體的java程序語言書寫的程序。主要的工作有:根據在需求分析說明書中所描述的數據、功能、運行、性能需求,并依照概要設計說明書所確定的處理流程、總體結構、數據結構設計和類
2、設計,逐個類的進行盡可能詳盡的程序描述(包括各方法的功能、性能、輸入、輸出、算法、程序邏輯、接口等等),盡可能的減少編碼時間。1.2 背景軟件系統的名稱:機票預訂系統項目由A3小組負責開發.項目分兩個部分:面向客戶的客戶終端程序部署在服務器上的Java服務程序1.3 定義Socket:網絡通信模式。Server:機票預訂系統的服務器端。 Client:機票預定系統的客戶端。1.4 參考資料1.機票預訂系統項目開發計劃書 2.機票預訂系統需求分析說明書 3.軟件工程實踐者的研究方法 機械工程出版社2 程序系統的結構以類圖形式展示:Server類圖:Client類圖:3 Server端程序說明:3
3、.1類ServerStart設計說明3.1.1ServerStatrt()方法 調用窗口顯示方法ServerGUI(),顯示服務器主界面,Server be ready。3.1.1.1 功能啟動服務器。3.1.1.2 測試計劃能順利啟動服務器3.1.2ServerLogon()方法 用于服務器管理員登錄。3.1.2.1 功能直接訪問數據庫,驗證輸入的用戶名密碼,如正確則進入服務器管理界面。3.1.2.2 輸入項用戶名 String密碼 String3.1.2.3 輸出項是否正確 bool3.1.2.4 算法1.用getText()從管理員登陸界面讀取用戶名與密碼。2.將信息傳遞到方法中到數據庫
4、中查找。3.返回查找情況,找到true,未找到false。3.1.2.5 測試計劃能正確識別輸入的用戶名與密碼。輸入正確的用戶名與密碼可跳轉至服務器管理員界面,輸入錯誤的則發出提示,不允許進入。3.1.3ServerGUI()方法 用于編輯管理員界面并顯示。3.1.3.1 功能編輯管理員界面,傳遞參數給ServerLongON(),并顯示界面。3.1.3.2 算法使用控件的監聽事件達到上述效果3.1.3.3 測試計劃界面能否正確顯示,SeverLogON()方法能否正常運行。3.2 database類設計說明3.2.1 database()方法用于建立與數據庫的鏈接,可被繼承。3.2.1.1
5、功能建立與數據庫的鏈接,可被繼承,使其他類在訪問數據庫時不必再次建立連接。3.2.2.2 性能為提升數據傳輸的效率,訪問數據庫時間應盡量短。3.3 Userdb類設計說明3.3.1 Userdb()方法Userdb的構造方法。3.3.1.1 功能繼承父類database()的構造方法,從而建立起與數據庫的鏈接。3.3.2 isExit()方法判斷數據是否出現,可被其他方法調用。3.3.2 .1 功能在查詢函數中可被調用,用于判斷所查詢的數據是否出現。3.3.2 .2 輸出項輸出bool變量,若存在,則為true,or 則為false3.3.3 updatedata()方法更新當前行數據3.3.
6、3.1 功能更新當前行數據為修改過的數據,修改數據庫內內容。3.3.3.2 輸入項要修改數據所在的列名 String修改后的數據 Object3.3.3.3 輸出項數據內的內容被修改。3.3.4 InsertNew(User user)向數據庫加入一行數據3.3.4.1 功能讀入User數據,將這行數據加入數據庫中3.3.4.2 輸入項用戶信息 User3.3.4.3 輸出項用戶信息加入數據庫3.3.5 QueryData()查詢數據是否存在。3.3.5.1 功能接收數據,到數據庫中查詢數據數據是否存在。3.3.5.2 輸入項用戶名String密碼String 余額 double 航班號Str
7、ing 票數int 查詢種類int 查詢種類必須輸入,其他可根據需要選擇性的輸入。3.3.5.3 輸出項查詢得到的信息加入游標數組。3.3.6 CloseAll()關閉鏈接。3.3.6.1 功能關閉服務器與數據庫之間的鏈接3.4 Flightdb類設計說明3.4.1 Flightdb()方法Flightdb的構造方法。3.4.1.1 功能繼承父類database()的構造方法,從而建立起與數據庫的鏈接。3.4.2 isExit()方法判斷數據是否出現,可被其他方法調用。3.4.2 .1 功能在查詢函數中可被調用,用于判斷所查詢的數據是否出現。3.4.2 .2 輸出項輸出bool變量,若存在,則
8、為true,or 則為false3.4.3 updatedata()方法更新當前行數據3.4.3.1 功能更新當前行數據為修改過的數據,修改數據庫內內容。3.4.3.2 輸入項要修改數據所在的列名 String修改后的數據 Object3.4.3.3 輸出項數據內的內容被修改。3.4.4 InsertNew(Flight flight)向數據庫加入一行數據3.4.4.1 功能讀入flight數據,將這行數據加入數據庫中3.4.4.2 輸入項航班信息 Flight3.4.4.3 輸出項航班信息加入數據庫3.4.5 QueryData()查詢數據是否存在。3.4.5.1 功能接收數據,到數據庫中查
9、詢數據數據是否存在。3.4.5.2 輸入項航班號 String起飛地點String 到達地點String起飛時間String 到達時間String 票價 double 查詢類型int 查詢種類必須輸入,其他可根據需要選擇性的輸入。3.4.5.3 輸出項查詢得到的信息加入游標數組。3.4.6 CloseAll()關閉鏈接。3.4.6.1 功能關閉服務器與數據庫之間的鏈接3.5 UserServer類設計說明3.5.1 UserServer ()方法UserServer的構造方法。3.5.1.1 功能繼承JFrame,建立界面用于把存放用戶信息的數據庫中的信息顯示出來,便于管理員查看管理3.5.2
10、 Query()方法遍歷數據庫中信息。3.5.2 .1 功能點擊刷新時,遍歷User數據庫,將數據信息重新顯示。3.5.2.2 算法1.建立足夠大的存儲空間2.與User數據庫建立連接3.遍歷數據庫,把數據加入存儲空間4.數據加入顯示界面,顯示出來。3.6 FlightServer類設計說明3.6.1 FlightServer ()方法FlightServer的構造方法。3.6.1.1 功能繼承JFrame,建立界面用于把存放航班信息的數據庫中的信息顯示出來,便于管理員查看管理。3.6.2 Query()方法遍歷數據庫中信息。3.6.2 .1 功能點擊刷新時,遍歷Flight數據庫,將數據信息
11、重新顯示。3.6.2.2 算法1.建立足夠大的存儲空間2.與Flight數據庫建立連接3.遍歷數據庫,把數據加入存儲空間4.數據加入顯示界面,顯示出來。3.7 User類設計說明3.7.1 User()方法User的構造方法,建立方便調用用戶數據的數據結構。3.7.2 getID()方法得到用戶名。3.7.2 .1 功能調用時,可返回用戶名3.7.2.2 輸出項用戶名 String3.7.3 setID()方法修改用戶名。3.7.3 .1 功能調用時,可修改用戶名為指定值3.7.2.2 輸入項用戶名 String3.7.3 其他類似方法getpassword()setpassword()get
12、money()setmoneygetflight()setflightgetnum()setflight不再贅述。3.8 Flight類設計說明3.8.1 Flight()方法Flight類的構造方法,建立方便調用航班數據的數據結構。3.8.2 getnumofF()方法得到航班號。3.8.2 .1 功能調用時,可返回航班號3.8.2.2 輸出項航班號 String3.8.3 setnumofF()方法修改航班號。3.8.3 .1 功能調用時,可修改航班號為指定值3.8.2.2 輸入項航班號 String3.8.3 其他類似方法getnumofF()setnumofF()getstartp()
13、setstartp()getendp()setendp()getstartt()setstartt()getendt()setendt()getprice()setprice()getnum()setnum()不再贅述。3.9 Administrator類設計說明3.9.1 addUserData ()方法添加用戶信息。3.9.1.1功能管理員可以通過這個方法跳過注冊直接添加用戶。3.9.1.2 輸入項用戶名String密碼String 余額 double 3.9.1.3 輸出項用戶信息被加到User數據庫中3.9.3.4 測試計劃建立服務器與數據庫的鏈接,使需要添加的用戶信息如預料添加。3.
14、9.2 delateUserData ()方法刪除用戶信息。3.9.2.1功能管理員可以通過這個方法刪除用戶。3.9.2.2 輸出項用戶信息被從User數據庫中刪除3.9.2.3 測試計劃建立服務器與數據庫的鏈接,使需要刪除的用戶信息如預料刪除。3.9.3 addFlightLine ()方法添加新航線。3.9.3.1功能管理員可以通過這個方法添加新航線。3.9.3.2 輸入項航班號 String起飛地點String 到達地點String起飛時間String 到達時間String 票價 double 3.9.3.3 輸出項新航線被加到Flight數據庫中3.9.3.4 測試計劃建立服務器與數據
15、庫的鏈接,使需要添加的航線如預料添加。3.9.4 delateFlightLine ()方法刪除廢棄航線。3.9.4.1功能管理員可以通過這個方法刪除廢棄航線。3.9.4.2 輸出項航線被從Flight數據庫中刪除3.9.4.3 測試計劃建立服務器與數據庫的鏈接,使需要刪除的航線如預料刪除。3.10 serverThread類設計說明3.10.1 serverThread ()方法serverThread類的構造方法3.10.1.1 功能建立Socket與端口,使客戶端可以與服務器連接。3.10.2 run ()方法啟動多線程3.10.2.1 功能啟動多線程,調用DealRequest()處理
16、客戶端發送的各種請求。3.10.3 WriteControl()方法寫控制臺。3.10.3.1 功能把各個客戶端的請求處理過程寫進控制臺,方便管理員查看。3.10.3.2 輸出項客戶請求信息寫入控制臺。3.10.3.3 測試計劃建立服務器與客戶端的鏈接,客戶端發送請求,確保服務器可以在控制臺上寫出正確的處理過程。3.10.4 DealRequest()方法處理客戶端請求。3.10.4.1 功能多線程接受客戶端發送的請求,調用DealRequest()方法處理。DealRequest()根據具體情況調用getAllMessage類中getInformation()方法處理,把結果發送至客戶端。3
17、.10.4.2 測試計劃建立服務器與客戶端的鏈接,客戶端發送請求,確保服務器可以調用正確的getInformation()方法3.11 getAllMessage類設計說明3.11.1 getInformation ()方法服務器端最終要的方法,客戶端與服務器交互的核心。3.11.1.1 功能處理客戶端傳遞的一切請求,并得出相應的處理結果傳遞給客戶端。3.11.1.2輸入項請求類型 int3.11.1.3輸出項處理結果 String3.11.1.4算法1.客戶端發出請求。2.多線程接受請求,調用DealRequest()處理請求。3.DealRequest()調用getinformation(
18、)處理具體請求,并將結果發送至客戶端。3.11.1.5 測試計劃建立服務器與客戶端的鏈接,客戶端發送請求,確保服務器可以返回正確的處理結果至客戶端。4 client端程序說明:4.1類Customer設計說明4.1.1login()方法 用于用戶登陸系統。4.1.1.1 功能用于用戶登陸系統。4.1.1.2 測試計劃能順利登錄系統4.1.2register()方法 用于用戶注冊系統。4.1.2.1 功能用于用戶注冊系統。4.1.2.2 輸入項用戶名 String密碼 String確認密碼 String4.1.2.3 輸出項提示:是否注冊成功4.1.2.4 測試計劃能正確識別輸入的用戶名與密碼。
19、如果該用戶名已被使用,那么不能注冊,如果輸入的密碼和確認的密碼不統一,則輸出提示。4.1.3exit()方法 用于用戶退出系統。4.1.3.1 功能用于用戶退出系統。4.1.3.2 測試計劃能正確辨認用戶是否已經登錄,若已經登錄,則可以退出系統。4.1.4queryFlights()方法 用于用戶查詢航班。4.1.4.1 功能用于用戶查詢航班。4.1.4.2 輸入項起始地 String目的地 String4.1.4.3 輸出項符合條件的各航班的信息。4.1.4.4算法4.1.4.4 測試計劃能正確識別輸入的起始地和目的地,根據這兩個數據進行查詢。4.1.5 orderFlight()方法 用于
20、用戶預定機票。4.1.5.1 功能用于用戶預訂機票。4.1.5.2算法4.1.5.3 測試計劃能正確識別用戶是否選擇相應的航班,若用戶沒選擇,則會提示用戶請選擇你所需要的航班。4.1.6queryOrders()方法 用于用戶查詢已定機票。4.1.6.1 功能用于用戶查詢已定機票。4.1.6.2算法4.2類order設計說明4.2.1clearOrder()方法 用于清除某個用戶的訂單。4.2.1.1 功能用于清除某個用戶的訂單。4.2.1.2 測試計劃能順利清除訂單4.2.2deleteFlight()方法 用于用戶取消某一航班。4.2.2.1 功能用于用戶取消某一航班。4.2.2.2 測試計劃能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中相見歡(金陵城上西樓)教案
- 六年級上冊Unit 4 I have a pen pal Part B教案
- 七年級英語下冊 Module 6 Around town Unit 1 Could you tell me how to get to the National Stadium第1課時教學設計 (新版)外研版
- 超市員工激勵培訓
- 六年級下冊數學教案6.1 數與代數-人教新課標
- 風筒火險安全培訓
- 餐廳廳面員工培訓大綱
- Conefor Sensinode 2.6用戶手冊(中文版)
- 七年級英語下冊 Unit 12 What did you do last weekend Section A 2(Grammar Focus-3c)教學設計(新版)人教新目標版
- 人教版三至四年級第一節 跑教案設計
- 新疆公務員行測真題及答案
- 高頻電刀之負極板的正確使用方法
- 二下快樂讀書吧《一起長大的玩》導讀課課件
- 關于高中班級管理論文
- 21秋國家開放大學《公共部門人力資源管理》單元自測題參考答案
- 廣東省五年一貫制語文考試題目
- 英語考研高頻詞匯
- 某別墅中央吸塵系統設計施工規范說明
- 中世紀2全面戰爭城市名
- 地鐵施工軌行區作業管理辦法
- 2023年鄭州信息科技職業學院單招考試職業適應性測試模擬試題及答案解析
評論
0/150
提交評論