這份報告是機票預訂系統的總體設計,老師評分90分,應該是圖畫的好。
1.引言
1.1編寫目的
由前面的需求分析,得出了系統的基本需求,要實現整個系統,需要對使用者的需求進行設計,概要設計主要是利用比較抽象的語言對整個系統進行概括,確定對系統的物理配置,確定整個系統的處理流程和系統的資料結構,介面設計,實現對系統的初步設計。目的在推動軟體工程的規範化,使設計人員遵循統一的概要設計書寫規範,節省製作文件的時間,降低系統實現的風險,做到系統設計資料的規範性與全面性,以利於系統的實現、測試、維護、版本升級等。
1.2背景
本專案的名稱:機票預訂系統。
隨著人們物質需求的提高,科技全球化的發展,乘坐飛機成為多數人生活、旅行中不可缺少的一部分。而飛機的航班的數量和業務量龐大,僅僅靠傳統的記賬式管理是不可行的。機票預訂系統應運而生,逐漸成為資訊化建設的重要組成部分。機票預訂系統為機場的管理員提供所有乘客的詳細資訊,以及飛機航班的詳細情況,對飛機購票和航班資訊兩大功能進行合理操縱並登記。
1.3 定義
開發(develop ):除了單純的開發活動外,還包括維護活動。
專案(project ):向顧客交付的最終的全部產品,包括程式及各種文件,以及開發活動所需資源經費等各種資訊。
專案開發計劃(project development plan):把專案與過程聯絡起來的計劃方案。
產品生命週期(product life cycle):產品從構思到不可在使用的持續時間。
1.4參考文獻
張海藩:《軟體工程導論》第五版 清華大學出版社 肖剛等:《實用軟體文件寫作》清華大學出版社 李濤、劉凱奎、王永皎:《Visual C# SQL Server 資料庫開發與例項 》清華大學出版社
2.總體設計
2.1需求規定
主要輸入輸出專案:
航班資訊:(航班號、飛機號、登機口、起飛時間、最近一天航班的日期和餘票額)
旅客資訊:(姓名、性別、身份證號碼、旅行時間、旅行始發地和目的地)
訂票:(目標航班、訂票數額、座位號)
退票:(日期、航班)
2.2執行環境
資料庫管理系統軟體:Mysql
執行軟體:Java eclipse/Idea
執行平臺:Windows XP/ Windows 7/ Windows 10/ Windows 11
系統型別:64 位作業系統 基於 x64 的處理器
CPU:1.6GHz 以上
記憶體:256M 以上
解析度:最佳為1024*768畫素
2.3基本設計概念和處理過程
錄入模組:可以錄入航班情況,全部資料可以只放在記憶體中,最好儲存在檔案中。管理員登入系統後,輸入需要錄入航班資訊。系統對航班資訊進行處理,將航班資訊有順序地寫到檔案中。
航班查詢模組:根據旅客提出的終點站名輸出下列資訊:航班號、飛機號及星期幾飛行、最近一天航班的日期和餘票額。旅客登入系統後,輸入需求的終點站名進行航班查詢。系統對旅客查詢的航班訂單進行處理,系統將顯示適合要求的航班資訊。
訂票模組:根據客戶提供的要求(航班、訂票數額),查詢該航班的票額情況,若有餘票,則為客戶辦理訂票手續,輸入座位號;若無客戶需求的座位號,則重新詢問客戶要求。客戶進入訂票系統後,輸入航班和訂票數額。系統對客戶輸入的航班進行查詢找到目標航班,查詢該航班的票額情況並與客戶輸入訂票數額進行比對,最後為客戶處理要求。
退票模組:根據客戶提供的情況(日期、航班),為客戶辦理退票手續,然後查詢該航班是否有人排隊候補,首先詢問排在第一的客戶,若所剩餘票額能滿足他的要求,則為他辦理訂票手續,否則依次詢問其他排隊候補的客戶。
登入模組:分為管理員和客戶登入兩種,管理員擁有客戶的許可權以及航班管理和客戶資訊管理的許可權。客戶只有客戶許可權。
系統流程圖:
3. 資料庫設計
列名 | 資料型別 | 可否為空 | 說明 | 主鍵 |
---|---|---|---|---|
User_Name | CHAR(10) | NOT NULL | 姓名 | √ |
User_No | INT(11) | NOT NULL | 聯絡方式 | |
User_ID | CHAR(18) | NOT NULL | 證件號碼 | |
User_Type | BOOLEAN | NOT NULL | 是否為學生 |
3.1乘客資訊表
列名 | 資料型別 | 可否為空 | 說明 | 主鍵 |
---|---|---|---|---|
Plane_No | INT(15) | NOT NULL | 航班編號 | √ |
Plane_Origin | CHAR(10) | NOT NULL | 起飛地點 | |
Plane_Destination | CHAR(10) | NOT NULL | 目的地 | |
Plane_Departure | CHAR(10) | NOT NULL | 出發時間 | |
Plane_Arrival | CHAR(10) | NOT NULL | 到達時間 |
3.2航班資訊表
列名 | 資料型別 | 可否為空 | 說明 | 主鍵 |
---|---|---|---|---|
Plane_No | INT(15) | NOT NULL | 航班編號 | √ |
ticket_Level | CHAR(4) | NOT NULL | 機艙等級 | |
ticket_Price | INT(5) | NOT NULL | 價格 | |
ticket_Status | CHAR(5) | NOT NULL | 購票狀態 |
3.3機票資訊表
4。介面設計
4.1使用者介面
在使用者介面部分,根據需求分析的結果,使用者需要一個使用者友善介面。在介面設計上,應做到簡單明瞭,易於操作,並且要注意到介面的佈局,應突出的顯示重要以及出錯資訊。外觀上也要做到合理化。總的來說,系統的使用者介面應作到可靠性、簡單性、易學習和使用。
4.2外部介面
在輸入方面,對於鍵盤、滑鼠的輸入。在輸出方面,印表機的連線及使用。在網路傳輸部分,在網路硬體部分,實現高速傳輸。
4.3內部介面
內部介面方面,各模組之間採用函式呼叫、引數傳遞、返回值的方式進行資訊傳遞。具體引數的結構將在下面資料結構設計的內容中說明。介面傳遞的資訊將是以資料結構封裝了的資料,以引數傳遞或返回值的形式在各模組間傳輸。
5.執行設計
5.1執行控制
管理員先對有合作的航空公司的資料庫進行連線,然後把資料寫在檔案上。使用者登入系統後進行查詢相關的航班資訊,資訊從檔案讀取形成航班資訊表給使用者。使用者進行訂票功能,從查詢出來的航班資訊進行選擇,進入支付頁面,支付成功就把相關資訊寫在資料庫裡。使用者進行退票功能,系統從資料庫中查詢使用者支付成功的資訊返回給使用者。使用者對已經支付成功的機票進入退票頁面,退票成功資訊返回給使用者,並且從資料庫中刪除之前使用者支付成功的機票資訊。
5.2 執行模組的組合
5.3 執行時間
整個機票預定系統總體佔用記憶體較小,執行速度很快,不管是管理員還是使用者,體驗感不錯,反應迅速。
6.系統出錯設計
6.1出錯資訊
在使用者使用錯誤的資料或訪問沒有許可權的資料後,系統給出提示:“對不起,你非法使用資料,沒有許可權!”而且使用者的密碼管理可以允許使用者修改自己的密碼,不允許使用者的匿名登入。
6.2補救措施
由於資料在資料庫中已經有備份,故在系統出錯後可以依靠資料庫的恢復功能,並且依靠日誌檔案使系統再啟動,就算系統崩潰使用者資料也不會丟失或遭到破壞。但有可能佔用更多的資料儲存空間,權衡措施由使用者來決定。