總體設計(軟體專案)

2023-03-28 18:00:22

這份報告是機票預訂系統的總體設計,老師評分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補救措施

由於資料在資料庫中已經有備份,故在系統出錯後可以依靠資料庫的恢復功能,並且依靠紀錄檔檔案使系統再啟動,就算系統崩潰使用者資料也不會丟失或遭到破壞。但有可能佔用更多的資料儲存空間,權衡措施由使用者來決定。