這份報告是我在學校上軟體工程這門課上機票預訂系統的詳細設計,老師評分95分。
一、引言
1.編寫目的
由前面的總體設計,得出了系統的基本架構,要實現整個系統,需要對每個模組進行詳細設計,詳細設計主要是利用比較具體的設計對整個系統進行分析,確定對系統每個模組的物理配置,確定整個系統的處理流程和系統的資料結構,介面設計。目的在推動軟體工程的規範化,使開發人員遵循統一的詳細設計進行編碼,節省編碼的時間,降低系統實現的風險,以利於系統的測試、維護、版本升級等。
2.背景
本專案的名稱:機票預訂系統。
隨著人們物質需求的提高,科技全球化的發展,乘坐飛機成為多數人生活、旅行中不可缺少的一部分。而飛機的航班的數量和業務量龐大,僅僅靠傳統的記賬式管理是不可行的。機票預訂系統應運而生,逐漸成為資訊化建設的重要組成部分。機票預訂系統為機場的管理員提供所有乘客的詳細資訊,以及飛機航班的詳細情況,對飛機購票和航班資訊兩大功能進行合理操縱並登記。
3.定義
開發(develop ):除了單純的開發活動外,還包括維護活動。
專案(project ):向顧客交付的最終的全部產品,包括程式及各種文件,以及開發活動所需資源經費等各種資訊。
專案開發計劃(project development plan):把專案與過程聯絡起來的計劃方案。
產品生命週期(product life cycle):產品從構思到不可在使用的持續時間。
4.參考資料
張海藩:《軟體工程導論》第五版 清華大學出版社 肖剛等:《實用軟體文件寫作》清華大學出版社 李濤、劉凱奎、王永皎:《Visual C# SQL Server 資料庫開發與例項 》清華大學出版社
二、程式設計說明
1.連線
1.1程式描述
該程式是用來連線航空公司的資料庫的,對於有合作關係的航空公司,連線他們的資料庫,然後把資料寫到檔案上,沒有合作的航空公司,斷開連線,從檔案上刪除資料。這一步為後面的訂票,退票提供資料支援,並且是常駐記憶體的。
1.2功能
連線航空公司資料庫,從而獲得航班的起飛,飛行路線,落地時間等資料,為使用者的選擇提供依據。
1.3流程邏輯
1.4輸入項
使用系統管理員的賬戶名和密碼登入,在介面的對應位置輸入合作的航空公司的名字,點選連線按鈕進行連線。
1.5輸出項
顯示合作的航空公司的名字,獲得他們的資料庫連線密碼,把資料寫入檔案中。
2.查詢
2.1程式描述
該功能用於旅客確認自己的航班、機票的相關資訊。其特點為非常駐記憶體,使用者可以在需要的時候查詢,且採取併發處理請求資料。
2.2功能
a) 查詢航班:可以透過輸入出發地,目的地,日期和時間選定自己的航班。
b) 查詢機票:該項功能三方都可以操作,可以透過自己的身份證號以及取票通知上的機票號查詢自己的機票資訊。
2.3效能
精度:時間要求精確到分,價格精確到個位
靈活性:響應點選、滑鼠和鍵盤的操作
時間特性:是手機、電腦的配置和網路的響應速度而定
2.4流程邏輯
2.5 介面
伺服器程式上可使用Mysql 的對資料庫的備分命令,以做到對資料的儲存。
在網路軟體介面方面,使用一種無差錯的傳輸協議,採用滑動視窗方式對資料進行網路傳輸及接收。
在輸入方面,對於鍵盤、滑鼠的輸入,可用Java、jsp的標準輸入/輸出,對輸入進行處理。
在輸出方面,印表機的連線及使用,也可用Java的標準輸入/輸出對其進行處理。在網路傳輸部分,在網路硬體部分,為了實現高速傳輸,將使用高速ATM。
內部介面方面,各模組之間採用函式呼叫、引數傳遞、返回值的方式進行資訊傳遞。具體引數的結構將在下面資料結構設計的內容中說明。介面傳遞的資訊將是以資料結構封裝了的資料,以引數傳遞或返回值的形式在各模組間傳輸。
2.6 儲存分配
本程式用高階語言jsp進行程式設計,直接記憶體分配由jsp程式執行時分配。
本元件所依賴的變數,結構要求全部在組建內申明。
2.7尚未解決的問題
對使用者ID和密碼的更安全加密方式尚未解決。
3.訂票
3.1程式描述
機票訂票系統的主要模組,根據客戶提供的要求(航班、訂票數額),查詢該航班的票額情況,若有餘票,則為客戶辦理訂票手續,輸入座位號;則重新詢問客戶要求。若需要可登記排隊候補。
3.2功能
3.2效能
因機票預訂系統對系統與現實時間的相對應有比較高的要求,因此係統時間需要確保精確並頻繁校準。
3.3 輸入項
客戶預訂資訊:票數、班次、位次
3.4 輸出項
訂單:票數、班次、位次、是否成功預訂
3.5 演算法
客戶預訂數與餘票數進行比對後輸出是否可以訂票
3.6 流程邏輯
3.7 介面
3.8 儲存分配
需要儲存客戶訂票資訊,與輸出訂單等
3.9 限制條件
確保系統資訊保安需要使用特定資料庫
3.10測試計劃
承載力測試:預計可同時處理一千個預訂
資料準確性測試:準確率達到百分·九十九以上
3.11尚未解決的問題
系統如何應對航班延誤或取消問題
4.退票
4.1程式描述
該功能用於旅客退訂自己的航班、機票的相關資訊。其特點為非常駐記憶體,使用者可以在需要的時候查詢,且採取併發處理請求資料
4.2功能
4.3輸入項
機票編號,時間,客戶資訊
4.4輸出項
是否退訂成功
4.5流程邏輯
4.6儲存分配
需要儲存客戶訂票資訊,與輸出訂單等
5.使用者投訴
5.1程式描述
a.投訴渠道
在使用者介面基於程式本身給出合理的反饋機制,在使用機票預訂系統遇到不可挽回錯誤,如資金支付但未獲得機票、航班資訊錯誤、操作流程卡頓等,可以透過本機票預訂系統內部本身設立的投訴渠道進行反饋,工作人員透過反饋對系統進行修復和最佳化
b.其他
同時我們也設立了建議渠道,人們對於使用系統的不舒服的地方,也可以透過該渠道進行反饋,或者在遇到資金流失等不可逆轉的結果的時候,可以聯絡人工客服進行反饋,客服根據反饋內容進行處理,已彌補軟體設計不足的問題。
5.2 功能
透過投訴系統進行反饋,分為建議和問題解決
5.3 流程控制
5.4效能
因為反饋問題程式處理優先順序不高,所以效能及時要求不需要太高,但需要一定量的儲存空間進行存放資訊
5.5儲存分配
初步劃分伺服器記憶體10%左右,當接近臨界值時再進行自適應增長
6.使用者充值
6.1程式描述
使用者進入充值介面,點選支付按鈕進入支付流程,進入支付流程後會先生成訂單然後再進入支付環節,支付如果失敗則訂單失效重新進入充值介面,支付成功則把錢存入賬戶餘額,結束流程。
6.2功能
使用者可以透過充值功能把錢存入賬戶餘額,以方便,快速的進行機票的預定
輸入 處理 輸出
6.3流程邏輯
6.4限制條件
-
限制單個使用者的最大充值數額;
-
限制所有使用者的累積充值次數;
3.設定充值規則的開始時間和結束時間;
這份報告你們可以參考一下,想了想,這些東西一直待在電腦本地沒有發揮它的價值,決定把這些高分作業分享出來,希望能夠幫助各位園友。