航空機(jī)票預(yù)訂系統(tǒng)·軟件工程論文.doc_第1頁
航空機(jī)票預(yù)訂系統(tǒng)·軟件工程論文.doc_第2頁
航空機(jī)票預(yù)訂系統(tǒng)·軟件工程論文.doc_第3頁
航空機(jī)票預(yù)訂系統(tǒng)·軟件工程論文.doc_第4頁
航空機(jī)票預(yù)訂系統(tǒng)·軟件工程論文.doc_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

航空機(jī)票預(yù)訂系統(tǒng)可行性分析報告 1 引言 1 編寫目的 編寫目的 可行性研究的目的是為了對問題進(jìn)行研究 以最小的代價在最短的時間內(nèi)確定問題是 否可解 經(jīng)過對此項目進(jìn)行詳細(xì)調(diào)查研究 初擬系統(tǒng)實現(xiàn)報告 對軟件開發(fā)中將要面臨的問題 及其解決方案進(jìn)行初步設(shè)計及合理安排 明確開發(fā)風(fēng)險及其所帶來的經(jīng)濟(jì)效益 本報告經(jīng) 審核后 交軟件經(jīng)理審查 1 2 項目背景 項目背景 開發(fā)軟件名稱 機(jī)票預(yù)訂系統(tǒng) 項目任務(wù)提出者 民航及國際旅游開發(fā)公司 項目開發(fā)者 開發(fā)小組 用戶 民航及國際旅游開發(fā)公司 實現(xiàn)軟件單位 國際旅游開發(fā)公司 項目與其他軟件 系統(tǒng)的關(guān)系 本項目采用客戶機(jī) 服務(wù)器原理 客戶端的程序是建立在 Windows NT 系統(tǒng)上以 Microsoft Visual C 為開發(fā)軟件的應(yīng)用程序 服務(wù)器端采用 Linux 為操作系統(tǒng)的工作站 是采用 Oracle 8 的為開發(fā)軟件的數(shù)據(jù)庫服務(wù)程序 1 3 定義 定義 專門術(shù)語 縮寫詞 1 4 參考資料 參考資料 軟件工程導(dǎo)論 張海藩 清華大學(xué)出版社 實用軟件工程 鄭人杰等 清華大學(xué)出版社 可行性研究的前提 可行性研究的前提 2 1 要求要求 主要功能 為游客提供機(jī)票預(yù)定服務(wù) 方便旅游局的售票工作 提高旅游局的服務(wù)質(zhì)量和 服務(wù)效率 性能要求 機(jī)場提供的信息必須及時的反映在旅游局的工作平臺上 售票系統(tǒng)的定單必須 無差錯的存儲在機(jī)場的主服務(wù)器上 對服務(wù)器上的數(shù)據(jù)必須進(jìn)行及時正確的刷新 輸出要求 數(shù)據(jù)完整 詳實 輸入要求 簡捷 快速 實時 安全與保密要求 服務(wù)器的管理員享有對機(jī)場航班信息庫及機(jī)票信息庫和定票信息庫的管 理與修改 售票員只享有對訂票信息庫的部分修改 寫入與讀出 完成期限 預(yù)計六個月 即截止 4 年 月 日 2 2 目標(biāo) 目標(biāo) 系統(tǒng)實現(xiàn)后 大大提高旅游局的機(jī)票預(yù)定服務(wù)效率 降低售票服務(wù)中的錯誤發(fā)生率 減少信息交流 的煩瑣過程及其帶來的開銷 2 3 條件 假定和限制條件 假定和限制 建議軟件壽命 5 年 經(jīng)費來源 中國國際旅游開發(fā)公司 硬件條件 服務(wù)器 sun 工作站 終端為 pc 機(jī) 運(yùn)行環(huán)境 Linux 數(shù)據(jù)庫 Oracle8 投入運(yùn)行最遲時間 2000 04 04 2 4 可行性研究方法可行性研究方法 2 5 決定可行性的主要因素決定可行性的主要因素 成本 效益分析結(jié)果 效益 成本 技術(shù)可行 現(xiàn)有技術(shù)可完全承擔(dān)開發(fā)任務(wù) 操作可行 軟件能被原有工作人員快速接受 技術(shù)可行性分析 技術(shù)可行性分析 3 1 系統(tǒng)簡要描述系統(tǒng)簡要描述 在旅游局中的終端是安裝了 Windows 2000 的 PC 機(jī) 主要目的是向機(jī)場的服務(wù)器傳遞數(shù)據(jù) 當(dāng)顧客在旅游局進(jìn)行咨詢時 終端向服務(wù)器發(fā)出查詢請求 服務(wù)器根據(jù)航班信息庫的實時 數(shù)據(jù) 向終端發(fā)送數(shù)據(jù) 顯示在終端的屏幕上 當(dāng)顧客向售票員定票時 終端向服務(wù)器發(fā) 出詳盡的一份定單 服務(wù)器核對后 存入定票信息庫 并修改機(jī)票信息庫 當(dāng)顧客再次來 取票時 終端向服務(wù)器發(fā)出查詢定票請求 服務(wù)器接收后 查詢定票信息庫 核對后 傳 送機(jī)票確認(rèn)表單 終端打印出機(jī)票 3 2 處理流程和數(shù)據(jù)流程處理流程和數(shù)據(jù)流程 系統(tǒng)管 理員 事務(wù)航班信 息的更新 服務(wù)器終端 顯示數(shù)據(jù) 產(chǎn)生報表 售票員查詢請求 數(shù)據(jù)庫 產(chǎn)生報表 客戶機(jī)終端 顯示數(shù)據(jù) 售票員表單申請 產(chǎn)生報表 客戶機(jī)終端 顯示數(shù)據(jù) 售票員 機(jī)票核對事 務(wù)在客戶端打印 機(jī)票和帳單 產(chǎn)生報表及 帳單 經(jīng)濟(jì)可行性分析 經(jīng)濟(jì)可行性分析 4 1 支出支出 基礎(chǔ)投資 終端 PC 機(jī) 臺 8000 20 16 萬 網(wǎng)絡(luò)設(shè)備 10 萬 輔助配置 10 萬 共計 36 萬 其他一次性投資 Oracle 8 0 20 萬 Windows NT 10 萬 操作員培訓(xùn)費 5 萬 共計 35 萬 經(jīng)常性支出 人工費用 6 月 20 人 5000 圓 60 萬 其他不可知額外支出 20 萬 共計 80 萬 支出共計 151 萬 4 2 效益效益 一次性收益 0 元 經(jīng)常性收益 按銀行利率 1 減少員工 20 人 1000 圓 人 五年收益 1000 1 1 1 1 2 1 1 3 1 1 4 1 1 5 20 12 5 120 萬 工作效率提高收益 工作效率提高 30 30 1 1 1 1 2 1 1 3 1 1 4 1 1 5 30 5 45 萬 經(jīng)常性收益共計 160 萬 不可定量收益 因服務(wù)質(zhì)量提高增加旅客量 10 1000 萬 10 90 90 2 90 3 90 4 90 5 360 萬 收益共計 520 萬 4 3 收益收益 投資比投資比 520 萬 151 萬 344 4 4 投資回收周期投資回收周期 2 3 年 4 5 敏感性分析敏感性分析 設(shè)計系統(tǒng)周期為五年 估計最長可達(dá) 10 年 處理速度 一般查詢速度 4 秒 關(guān)鍵數(shù)據(jù)查詢速度 2 秒 社會因素可行性分析 社會因素可行性分析 6 1 法律因素法律因素 所有軟件都選用正版 所有技術(shù)資料都由提出方保管 合同制定確定違約責(zé)任 6 2 用戶使用可行性用戶使用可行性 使用本軟件人員要求有一定計算機(jī)基礎(chǔ)的人員 系統(tǒng)管理員要求由計算機(jī)的專業(yè)知識 所 有人員都要經(jīng)過本公司培訓(xùn) 管理人員也需經(jīng)一般培訓(xùn) 經(jīng)過培訓(xùn)人員將會熟練使用本軟件 兩名系統(tǒng)管理員 一名審計員將進(jìn)行專業(yè)培訓(xùn) 他們將熟練管理本系統(tǒng) 其他可供選擇的方案 其他可供選擇的方案 6 1 客戶端與服務(wù)器端聯(lián)系在一起客戶端與服務(wù)器端聯(lián)系在一起 在旅游局中只設(shè)立終端 在機(jī)場設(shè)立服務(wù)器 數(shù)據(jù)輸入由終端輸入 所有數(shù)據(jù)都由 服務(wù)器處理 只在終端上顯示數(shù)據(jù)結(jié)果 此設(shè)計簡化了數(shù)據(jù)處理 但加重了服務(wù)器的數(shù)據(jù)處理 而使用客戶端 服務(wù)器機(jī)理 簡化數(shù)據(jù)流量 加快數(shù)據(jù)處理 結(jié)論意見 結(jié)論意見 由于投資效益比遠(yuǎn)大于 100 技術(shù) 經(jīng)濟(jì) 操作都有可行性 可以進(jìn)行開發(fā) 機(jī)票預(yù)訂系統(tǒng)需求規(guī)格說明書 1 引言 引言 1 1 編寫目的 本機(jī)票預(yù)訂系統(tǒng)在可行性研究的基礎(chǔ)上 是為了進(jìn)一步明確機(jī)票預(yù)訂系統(tǒng)的軟件需求 以便安排項目規(guī)劃與進(jìn)度 組織軟件開發(fā)與測試 撰寫本文檔 本文檔供項目經(jīng)理 設(shè)計人員 開發(fā)人員參考 1 2 項目背景 開發(fā)軟件名稱 機(jī)票預(yù)訂系統(tǒng) 項目任務(wù)提出者 民航及國際旅游開發(fā)公司 項目開發(fā)者 K 開發(fā)小組 用戶 民航及國際旅游開發(fā)公司 實現(xiàn)軟件單位 國際旅游開發(fā)公司 系統(tǒng)與其他軟件 系統(tǒng)的關(guān)系 機(jī)票預(yù)定系統(tǒng)將由兩部分組成 置于個旅行社定票點的前臺客戶程序 以及置于航空 公司的數(shù)據(jù)庫服務(wù)器 本系統(tǒng)與其他系統(tǒng)的關(guān)系如下 1 3 定義 專門術(shù)語 縮寫詞 1 4 參考資料 1 軟件工程導(dǎo)論 張海藩 清華大學(xué)出版社 2 實用軟件工程 鄭人杰等 清華大學(xué)出版社 3 機(jī)票預(yù)定系統(tǒng)項目計劃任務(wù)書 航空公司 1999 3 4 機(jī)票預(yù)訂系統(tǒng)可行性研究報告 軟件開發(fā)小組 1999 3 2 任務(wù)概述 任務(wù)概述 2 1 目標(biāo) 本機(jī)票預(yù)訂系統(tǒng)實現(xiàn)后 能夠大大提高旅游局的機(jī)票預(yù)定服務(wù)效率 降低售票服務(wù)中 的錯誤發(fā)生率 減少信息交流的煩瑣過程及其帶來的開銷 2 2 運(yùn)行環(huán)境 服務(wù)器 sun 工作站 終端為 pc 機(jī) 運(yùn)行環(huán)境 Linux 數(shù)據(jù)庫 Oracle8 2 3 條件與限制 1 Client Server 結(jié)構(gòu)總體設(shè)計方案對它的約束 機(jī)票預(yù)訂系統(tǒng)做為 Client Server 結(jié)構(gòu)的一個應(yīng)用系統(tǒng) 不可避免的要受到 Client Server 結(jié)構(gòu)的約束 在其實施的各個階段都要服從它的一些規(guī)劃 包括功能設(shè)計 客戶程序 客戶程序 客戶程序 客戶程序 服務(wù)器及程序 網(wǎng)網(wǎng) 絡(luò)絡(luò) 機(jī)場飛機(jī)起飛管理 飛機(jī)起飛數(shù)據(jù) 系統(tǒng)配置和計劃 同時 由于信息的共享 機(jī)票預(yù)訂系統(tǒng)還受到其它系統(tǒng)的信息約束 2 人力 資金 時間的約束 機(jī)票預(yù)訂系統(tǒng)實施的目標(biāo)就是要帶給輪胎生產(chǎn)公司看得出見的效益 其開發(fā)過程中也 要考慮到人力 資金和時間的約束 因此 在設(shè)計中 重點是企業(yè)間信息的網(wǎng)絡(luò)交流 能 提供各部門間的方便快捷的聯(lián)系 并提高數(shù)據(jù)統(tǒng)計的即時性 準(zhǔn)確性 方便性 給公司帶 來良好的效益 3 技術(shù)發(fā)展規(guī)律的約束 計算機(jī)技術(shù)和產(chǎn)品的發(fā)展日新月異 將會給信息處理帶來更多的手段 同時也會帶來 更加豐富的信息表達(dá)形式 例如圖象和語音技術(shù)的進(jìn)步 多媒體技術(shù)的發(fā)展 這些都要求 系統(tǒng)在設(shè)計時考慮技術(shù)變化的可能性 為可能的變化預(yù)留一定的系統(tǒng)處理能力 3 數(shù)據(jù)描述 數(shù)據(jù)描述 3 1 1 數(shù)據(jù)錄入和處理的準(zhǔn)確性和實時性 數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提 錯誤的輸入會導(dǎo)致系統(tǒng)輸出的不正確和不可 用 從而使系統(tǒng)的工作失去意義 數(shù)據(jù)的輸入來源是手工輸入 手工輸入要通過系統(tǒng)界面 上的安排系統(tǒng)具有容錯性 并且對操作人員要進(jìn)行系統(tǒng)的培訓(xùn) 在系統(tǒng)中 數(shù)據(jù)的輸入往 往是大量的 因此系統(tǒng)要有一定的處理能力 以保證迅速的處理數(shù)據(jù) 2 數(shù)據(jù)的一致性與完整性 由于系統(tǒng)的數(shù)據(jù)是共享的 所以如何保證這些數(shù)據(jù)的一致性 是系統(tǒng)必須解決的問題 要解決這一問題 要有一定的人員維護(hù)數(shù)據(jù)的一致性 在數(shù)據(jù)錄入處控制數(shù)據(jù)的去向 并 且要求對數(shù)據(jù)庫的數(shù)據(jù)完整性進(jìn)行嚴(yán)格的約束 對于輸入的數(shù)據(jù) 要為其定義完整性規(guī)則 如果不能符合完整性約束 系統(tǒng)應(yīng)該拒絕 該數(shù)據(jù) 3 2 系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)管理員 事務(wù)航班信息 的更新 服務(wù)器終端顯 示數(shù)據(jù) 產(chǎn)生報表 售票員查詢請求 數(shù)據(jù)庫 產(chǎn)生報表 客戶機(jī)終端顯 示數(shù)據(jù) 售票員表單申請 產(chǎn)生報表 客戶機(jī)終端顯 示數(shù)據(jù) 售票員 機(jī)票核對事務(wù) 在客戶端打印 機(jī)票和帳單 產(chǎn)生報表及 帳單 3 3 數(shù)據(jù)庫描述 數(shù)據(jù)庫采用 Oracle8i 3 4 數(shù)據(jù)詞典 名字 訂票申請表單 描述 旅客訂票時所填的資料 定義 訂票申請表單 旅客姓名 旅客性別 起飛日期 飛行目的地 座位類型 位置 在客戶端由旅客填寫 名字 航班信息 描述 所有從本地起飛的班機(jī)信息 定義 航班信息 航班號 起飛日期 飛行目的地 座位空數(shù) 商務(wù)倉 票價 經(jīng)濟(jì)倉票價 位置 從服務(wù)器端查詢后 發(fā)送到客戶端 名字 帳單信息 描述 已定票的旅客信息資料 定義 帳單信息 帳單號 旅客姓名 旅客性別 旅客身份證號 工作 單位 位置 在服務(wù)器端產(chǎn)生 發(fā)送回客戶端 client 端 名字 機(jī)票信息 描述 旅客所定機(jī)票 定義 機(jī)票信息 旅客姓名 旅客性別 身份證號碼 航班號 起飛時 間 飛行目的地 座位號 位置 發(fā)送到客戶端 client 端 4 功能需求 功能需求 4 1 系統(tǒng)的邏輯模型 機(jī)票預(yù)訂系統(tǒng) 旅客資 料 定票 領(lǐng) 票 帳單號 發(fā)送數(shù)據(jù)接收數(shù)據(jù) 客戶端子系統(tǒng) 聯(lián)絡(luò)服務(wù)器 打印 帳單 打印 機(jī)票 帳單 機(jī)票 輸出數(shù)據(jù) 打印航 班信息 服務(wù)端子系統(tǒng) 接收客戶端請求發(fā)送請求處理信息 處理客戶端請求 機(jī)票預(yù)定航班查詢 讀入旅 客資料 確定 定 票 領(lǐng)票 接收訂 票申請 據(jù) 檢驗輸入 4 2 功能劃分 1 客戶端子系統(tǒng) 客戶端子系統(tǒng)負(fù)責(zé)將訂票員在客戶端輸入的信息 訂票或取票 進(jìn)行有效性驗證之后 將訂票申請或取票申請數(shù)據(jù)打包 發(fā)送到服務(wù)器端 并接收從服務(wù)器返回的信息 根據(jù)訂 票或取票打印出賬單或機(jī)票 2 服務(wù)器端子系統(tǒng) 服務(wù)端子系統(tǒng)負(fù)責(zé)接收客戶端子系統(tǒng)發(fā)送的數(shù)據(jù) 解包后判斷是訂票還是取票操作 執(zhí)行相應(yīng)的數(shù)據(jù)庫操作 并將操作的結(jié)果返回給客戶端 5 性能需求 性能需求 為了保證系統(tǒng)能夠長期 安全 穩(wěn)定 可靠 高效的運(yùn)行 機(jī)票預(yù)訂系統(tǒng)應(yīng)該滿足以 下的性能需求 1 系統(tǒng)處理的準(zhǔn)確性和及時性 系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能 在系統(tǒng)設(shè)計和開發(fā)過程中 要充分考 慮系統(tǒng)當(dāng)前和將來可能承受的工作量 使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足企業(yè)對信息 處理的需求 在系統(tǒng)開發(fā)過程中 必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性 2 系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性 機(jī)票預(yù)訂系統(tǒng)在開發(fā)過程中 應(yīng)該充分考慮以后的可擴(kuò)充性 例如企業(yè)中管理模塊的 加入 人事管理 工資管理 日常事務(wù)管理等 也會不斷的更新和完善 所有這些 都要 求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充為 ERP 系統(tǒng) 而要實現(xiàn)這一點 應(yīng)通過系統(tǒng) 的開放性來完成 即系統(tǒng)應(yīng)是一個開放系統(tǒng) 只要符合一定的規(guī)范 可以簡單的加入和減 少系統(tǒng)的模塊 配置系統(tǒng)的硬件 通過軟件的修補(bǔ) 替換完成系統(tǒng)的升級和更新?lián)Q代 3 系統(tǒng)的易用性和易維護(hù)性 機(jī)票預(yù)訂系統(tǒng)是直接面對使用人員的 而使用人員往往對計算機(jī)并不時非常熟悉 這 就要求系統(tǒng)能夠提供良好的用戶接口 易用的人機(jī)交互界面 要實現(xiàn)這一點 就要求系統(tǒng) 應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面 針對用戶可能出現(xiàn)的使用問題 要提供 足夠的在線幫助 縮短用戶對系統(tǒng)熟悉的過程 4 系統(tǒng)的標(biāo)準(zhǔn)性 系統(tǒng)在設(shè)計開發(fā)使用過程中都要涉及到很多計算機(jī)硬件 軟件 所有這些都要符合主 流國際 國家和行業(yè)標(biāo)準(zhǔn) 例如在開發(fā)中使用的操作系統(tǒng) 網(wǎng)絡(luò)系統(tǒng) 開發(fā)工具都必須符 合通用標(biāo)準(zhǔn) 如規(guī)范的數(shù)據(jù)庫操縱界面 作為業(yè)界標(biāo)準(zhǔn)的 TCP IP 網(wǎng)絡(luò)協(xié)議及 ISO9002 標(biāo) 準(zhǔn)所要求的質(zhì)量規(guī)范等 同時 在自主開發(fā)本系統(tǒng)時 要進(jìn)行良好的設(shè)計工作 制訂行之 有效的軟件工程規(guī)范 保證代碼的易讀性 可操作性和可移植性 5 系統(tǒng)的先進(jìn)性 目前計算機(jī)系統(tǒng)的技術(shù)發(fā)展相當(dāng)快 做為機(jī)票預(yù)訂系統(tǒng)工程 應(yīng)該保證系統(tǒng)在一段時 間內(nèi)是先進(jìn)的 在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn) 充分完成企業(yè)信息處理的要求而 不至于落后 這一方面通過系統(tǒng)的開放性和可擴(kuò)充性 不斷改善系統(tǒng)的功能完成 另一方 面 在系統(tǒng)設(shè)計和開發(fā)的過程中 應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良 好發(fā)展前途的產(chǎn)品 6 運(yùn)行需求 運(yùn)行需求 機(jī)票預(yù)訂系統(tǒng)中的各個子系統(tǒng)的硬件和軟件的配置如下 1 服務(wù)器端子系統(tǒng)的運(yùn)行要求 系統(tǒng)軟件 Linux 數(shù)據(jù)庫管理系統(tǒng) oracle8i 硬件要求 Pentium III 450 以上 256M RAM 14G HD 2 客戶端子系統(tǒng)的運(yùn)行要求 系統(tǒng)軟件 Window 2000 Professional 硬件要求 Pentium 133 以上 32M RAM 4 3G HD 概要設(shè)計說明書概要設(shè)計說明書 1 引言引言 1 1 編寫目的編寫目的 在本機(jī)票預(yù)定系統(tǒng)項目的前一階段 也就是需求分析階段中 已經(jīng)將系統(tǒng)用戶對 本系統(tǒng)的需求做了詳細(xì)的闡述 這些用戶需求已經(jīng)在上一階段中對航空公司 各旅 行社及機(jī)場的實地調(diào)研中獲得 并在需求規(guī)格說明書中得到詳盡得敘述及闡明 本階段已在系統(tǒng)的需求分析的基礎(chǔ)上 對機(jī)票預(yù)定系統(tǒng)做概要設(shè)計 主要解決了 實現(xiàn)該系統(tǒng)需求的程序模塊設(shè)計問題 包括如何把該系統(tǒng)劃分成若干個模塊 決定 各個模塊之間的接口 模塊之間傳遞的信息 以及數(shù)據(jù)結(jié)構(gòu) 模塊結(jié)構(gòu)的設(shè)計等 在以下的概要設(shè)計報告中將對在本階段中對系統(tǒng)所做的所有概要設(shè)計進(jìn)行詳細(xì)的說 明 在下一階段的詳細(xì)設(shè)計中 程序設(shè)計員可參考此概要設(shè)計報告 在概要設(shè)計對機(jī) 票預(yù)定系統(tǒng)所做的模塊結(jié)構(gòu)設(shè)計的基礎(chǔ)上 對系統(tǒng)進(jìn)行詳細(xì)設(shè)計 在以后的軟件測 試以及軟件維護(hù)階段也可參考此說明書 以便于了解在概要設(shè)計過程中所完成的各 模塊設(shè)計結(jié)構(gòu) 或在修改時找出在本階段設(shè)計的不足或錯誤 1 2 項目背景項目背景 本項目 機(jī)票預(yù)定系統(tǒng) 時由航空公司委托 由負(fù)責(zé)開發(fā) 機(jī)票預(yù)定系統(tǒng)將由兩部分組成 置于個旅行社定票點的前臺客戶程序 以及置于 航空公司的數(shù)據(jù)庫服務(wù)器 本系統(tǒng)與其他系統(tǒng)的關(guān)系如下 客戶程序 客戶程序 客戶程序 客戶程序 服務(wù)器及程序 網(wǎng)網(wǎng) 絡(luò)絡(luò) 機(jī)場飛機(jī)起飛管理 旅行社 1 3 定義定義 1 3 1 專門術(shù)語專門術(shù)語 SQL SERVER 系統(tǒng)服務(wù)器所使用的數(shù)據(jù)庫管理系統(tǒng) DBMS SQL 一種用于訪問查詢數(shù)據(jù)庫的語言 事務(wù)流 數(shù)據(jù)進(jìn)入模塊后可能有多種路徑進(jìn)行處理 主鍵 數(shù)據(jù)庫表中的關(guān)鍵域 值互不相同 外部主鍵 數(shù)據(jù)庫表中與其他表主鍵關(guān)聯(lián)的域 ROLLBACK 數(shù)據(jù)庫的錯誤恢復(fù)機(jī)制 1 3 2 縮寫縮寫 系統(tǒng) 若未特別指出 統(tǒng)指本機(jī)票預(yù)定系統(tǒng) SQL Structured Query Language 結(jié)構(gòu)化查詢語言 ATM Asynchronous Transfer Mode 異步傳輸模式 1 4 參考資料參考資料 以下列出在概要設(shè)計過程中所使用到的有關(guān)資料 1 機(jī)票預(yù)定系統(tǒng)項目計劃任務(wù)書機(jī)票預(yù)定系統(tǒng)項目計劃任務(wù)書 航空公司 1999 3 2 機(jī)票預(yù)定系統(tǒng)項目開發(fā)計劃機(jī)票預(yù)定系統(tǒng)項目開發(fā)計劃 軟件開發(fā)小組 1999 3 3 需求規(guī)格說明書需求規(guī)格說明書 軟件開發(fā)小組 1999 3 4 用戶操作手冊 初稿 用戶操作手冊 初稿 軟件開發(fā)小組 1999 4 5 軟件工程及其應(yīng)用軟件工程及其應(yīng)用 周蘇 王文等天津科學(xué)技術(shù)出版社 1992 1 6 軟件工程軟件工程 張海藩清華大學(xué)出版社 1990 11 7 Computer Network A S TanenbaunPrentice Hall 1996 01 文檔所采用的標(biāo)準(zhǔn)是參照 軟件工程導(dǎo)論 沈美明著 的 計算機(jī)軟件開發(fā)文檔 編寫指南 2 任務(wù)概述任務(wù)概述 2 1 目標(biāo)目標(biāo) 2 2 運(yùn)行環(huán)境運(yùn)行環(huán)境 系統(tǒng)將由兩部分程序組成 安裝在各旅行社客戶機(jī)上的客戶程序及航空公司內(nèi)的 數(shù)據(jù)服務(wù)器程序 根據(jù)調(diào)研得知所有旅行社的計算機(jī)配置均在 Pentium 133 級別以上 客戶程序應(yīng) 能夠在 Pentium 133 級別以上 Win NT 環(huán)境下運(yùn)行 2 3 需求概述需求概述 航空公司為方便旅客 需開發(fā)一個機(jī)票預(yù)定系統(tǒng) 為便于旅客由旅行社代替航 空公司負(fù)責(zé)為旅客定票 旅行社把預(yù)定機(jī)票的旅客信息 包括姓名 性別 工作單 位 身份證號碼 旅行時間 旅行目的地 輸入機(jī)票預(yù)定系統(tǒng)的客戶端程序 系統(tǒng) 經(jīng)過查詢航空公司內(nèi)的航班數(shù)據(jù)服務(wù)器后 為旅客安排航班 印出取票通知 旅客 在飛機(jī)起飛前一天憑取票通知和帳單交款后取票 系統(tǒng)校對無誤后即印出機(jī)票給旅 客 要求系統(tǒng)能有效 快速 安全 可靠和無誤的完成上述操作 并要求客戶機(jī)的界 面要簡單明了 易于操作 服務(wù)器程序利于維護(hù) 2 4 條件與限制條件與限制 3 總體設(shè)計總體設(shè)計 3 1 處理流程處理流程 下面將使用 結(jié)構(gòu)化設(shè)計 面向數(shù)據(jù)流的方法對機(jī)票預(yù)定系統(tǒng)的處理流程進(jìn)行分 析 系統(tǒng)可分為兩大部分 一 客戶機(jī)上的程序 二 服務(wù)器上的程序 以下將分 別對系統(tǒng)的這兩大部分進(jìn)行流程分析 3 1 1 客戶機(jī)程序流程客戶機(jī)程序流程 客戶機(jī)上的輸入信息為旅客資料或帳單號 還包括一個定票 領(lǐng)票選項 輸出為 打印帳單或機(jī)票 和確認(rèn)或出錯信息 其內(nèi)部處理流程如下 2 1 5 34 6 78 旅客資料 定票 取票 帳單號 經(jīng)網(wǎng)絡(luò)送服 務(wù)器程序 下面對各模塊 以數(shù)字表示 進(jìn)行功能說明 1 讀入并確定 定票 領(lǐng)票 它是一個事務(wù)處理中心 若輸入是定票時轉(zhuǎn)入 2 輸 出則轉(zhuǎn)入 5 2 讀入旅客資料 讀取所輸入的旅客資料 并將其格式化 將格式化數(shù)據(jù)送 3 3 檢驗輸入資料 檢驗格式化輸入資料 初步檢查輸入是否有誤 它是一個事務(wù)處 理中心 有誤則轉(zhuǎn) 2 再次讀入 檢查無誤則將數(shù)據(jù)送 4 4 準(zhǔn)備服務(wù)器數(shù)據(jù) 由格式化旅客資料準(zhǔn)備需發(fā)送到服務(wù)器的數(shù)據(jù) 將準(zhǔn)備好的數(shù) 據(jù)送 7 5 讀入帳單號 讀取所輸入的帳單號 并將其格式化 將格式化數(shù)據(jù)送 6 6 準(zhǔn)備服務(wù)器數(shù)據(jù) 由格式化帳單號準(zhǔn)備需發(fā)送到服務(wù)器的數(shù)據(jù) 不同于 4 它將準(zhǔn) 備的是帳單號 將準(zhǔn)備好的數(shù)據(jù)送 7 7 準(zhǔn)備網(wǎng)絡(luò)數(shù)據(jù)包 將數(shù)據(jù)準(zhǔn)備 加密成網(wǎng)絡(luò)傳輸數(shù)據(jù)包 8 網(wǎng)絡(luò)數(shù)據(jù)發(fā)送 將數(shù)據(jù)包經(jīng)網(wǎng)絡(luò)發(fā)送到服務(wù)器程序 它是程序與網(wǎng)絡(luò)的接口 9 網(wǎng)絡(luò)數(shù)據(jù)接受 接受由服務(wù)器程序經(jīng)網(wǎng)絡(luò)傳送到客戶機(jī)的數(shù)據(jù)包 它是程序與網(wǎng) 絡(luò)的接口 10 解開 判斷 解開 9 所接受的數(shù)據(jù)包 并判斷數(shù)據(jù)是定票數(shù)據(jù)或是領(lǐng)票數(shù)據(jù) 它是一事務(wù)處理中心 是定票則將數(shù)據(jù)送 11 是領(lǐng)票則將數(shù)據(jù)送 18 11 定票成功 由數(shù)據(jù)判斷定票是否成功 它是一事務(wù)處理中心 若定票成功則 將數(shù)據(jù)送 12 不成功則將數(shù)據(jù)送 15 12 準(zhǔn)備輸出數(shù)據(jù) 由接收的服務(wù)器數(shù)據(jù)準(zhǔn)備輸出數(shù)據(jù) 其中關(guān)于帳單的數(shù)據(jù)將送 入 13 其他包括旅客資料等送入 14 13 打印帳單 由帳單信息處理帳單格式并打印出帳單 14 輸出定位確定 在屏幕上顯示確定定位及其他信息 15 判斷錯誤 由數(shù)據(jù)判斷出錯誤類型 將類型送到 16 16 準(zhǔn)備錯誤語句 由具體錯誤類型準(zhǔn)備錯誤語句 送 17 17 輸出錯誤語句 在屏幕上顯示錯誤語句 18 領(lǐng)票核對成功 由數(shù)據(jù)判斷領(lǐng)票核對是否成功 它是一事務(wù)處理中心 若成 功則將數(shù)據(jù)送 19 不成功則將數(shù)據(jù)送 15 19 準(zhǔn)備機(jī)票輸出數(shù)據(jù) 由接收的服務(wù)器數(shù)據(jù)準(zhǔn)備將打印的機(jī)票數(shù)據(jù)數(shù) 據(jù)其中關(guān) 于帳單的機(jī)票的數(shù)據(jù)將送入 20 其他包括旅客資料等送入 14 20 打印機(jī)票 由機(jī)票信息處理機(jī)票格式并打印出機(jī)票 3 1 2 服務(wù)器程序流程服務(wù)器程序流程 打印 帳單 輸出確定 預(yù)定信息 輸出錯誤 原因 打印 機(jī)票 輸出確定 預(yù)定信息 服務(wù)器經(jīng)網(wǎng) 絡(luò)送來回答 9 11 1 18 1615 12 13 14 17 19 20 10 14 送客戶機(jī) 客戶機(jī)經(jīng) 網(wǎng)絡(luò)送來 的數(shù)據(jù) 來自客戶機(jī) 客戶機(jī)經(jīng) 網(wǎng)絡(luò)送來 的數(shù)據(jù) 1 6 11 5 10 4 32 7 12 1716 8 13 15 9 14 SQL SERVER 班機(jī) 票務(wù)數(shù)據(jù)庫 下面對各模塊 以數(shù)字表示 進(jìn)行功能說明 1 網(wǎng)絡(luò)數(shù)據(jù)接收 接受由客戶機(jī)程序經(jīng)網(wǎng)絡(luò)傳送到客戶機(jī)的數(shù)據(jù)包 它是程序與網(wǎng) 絡(luò)的接口 2 解開數(shù)據(jù) 解開 解密打包的數(shù)據(jù) 并將恢復(fù)的數(shù)據(jù)格式化送入 3 3 判斷操作 由數(shù)據(jù)判斷需要做什么數(shù)據(jù)庫操作 它是一事務(wù)處理中心 若為定票 操作則將數(shù)據(jù)送 4 若為領(lǐng)票操作則將數(shù)據(jù)送 15 4 準(zhǔn)備數(shù)據(jù)庫查詢語句 由定票數(shù)據(jù)準(zhǔn)備訪問 SQL SERVER 數(shù)據(jù)庫所需的 SQL 語 句 送入 5 5 數(shù)據(jù)庫操作 運(yùn)行 SQL 語句 查詢并存入數(shù)據(jù)庫 獲得相應(yīng)的定票數(shù)據(jù) 將數(shù)據(jù) 送入 6 它需包括初步對查詢的判斷 它必須為乘客安排可抵達(dá)目的地的有座位 的航班 6 判斷查詢是否成功 利用查詢所得的數(shù)據(jù)判斷定票是否成功 它是一事務(wù)處理中 心 若為定票操作成功則將數(shù)據(jù)送 7 若不成功則將數(shù)據(jù)送 8 7 準(zhǔn)備回送數(shù)據(jù) 準(zhǔn)備定票成功后需回送客戶機(jī)程序的數(shù)據(jù) 送 16 8 確定原因 由查詢數(shù)據(jù)判斷定票不成功的原因 送 9 9 準(zhǔn)備回送數(shù)據(jù) 根據(jù)不成功的原因 準(zhǔn)備需送回客戶機(jī)程序的數(shù)據(jù) 送入 16 10 準(zhǔn)備數(shù)據(jù)庫查詢語句 由領(lǐng)票數(shù)據(jù)準(zhǔn)備訪問 SQL SERVER 數(shù)據(jù)庫所需的 SQL 語句 送入 11 11 數(shù)據(jù)庫操作 運(yùn)行 SQL 語句 查詢并存入數(shù)據(jù)庫獲得相應(yīng)的領(lǐng)票數(shù)據(jù) 將數(shù) 據(jù)送入 6 它需包括初步對查詢的判斷 12 判斷查詢是否成功 利用查詢所得的數(shù)據(jù)判斷領(lǐng)票是否成功 它是一事務(wù)處理 中心 若為領(lǐng)票操作得到確認(rèn)則將數(shù)據(jù)送 11 若不成功則將數(shù)據(jù)送 8 13 準(zhǔn)備回送數(shù)據(jù) 準(zhǔn)備領(lǐng)票確認(rèn)后需回送客戶機(jī)程序的數(shù)據(jù) 送 16 14 確定原因 由查詢數(shù)據(jù)判斷領(lǐng)票不能確認(rèn)的原因 送 15 15 準(zhǔn)備回送數(shù)據(jù) 根據(jù)不成功的原因 準(zhǔn)備需送回客戶機(jī)程序的數(shù)據(jù) 送入 16 16 準(zhǔn)備網(wǎng)絡(luò)數(shù)據(jù)包 將數(shù)據(jù)準(zhǔn)備 加密成網(wǎng)絡(luò)傳輸數(shù)據(jù)包 17 網(wǎng)絡(luò)數(shù)據(jù)發(fā)送 將數(shù)據(jù)包經(jīng)網(wǎng)絡(luò)發(fā)送到服務(wù)器程序 它是程序與網(wǎng)絡(luò)的接口 以上顯示的各模塊數(shù)字相同的為同一模塊 由于事務(wù)流處理上的便利 將有些功能模 塊 拆分到各事務(wù)流中 3 2 總體結(jié)構(gòu)和模塊外部設(shè)計總體結(jié)構(gòu)和模塊外部設(shè)計 下面以結(jié)構(gòu)圖來描述機(jī)票預(yù)定系統(tǒng)的軟件總體結(jié)構(gòu) 框內(nèi)注明了模塊的名字 方框之間的直線表示模塊的調(diào)用關(guān)系 3 2 1 客戶機(jī)部分客戶機(jī)部分 準(zhǔn)備輸出 判斷錯誤類型 準(zhǔn)備輸出 準(zhǔn)備錯誤信息 打印帳單顯示確認(rèn)顯示錯誤 打印機(jī)票確認(rèn)顯示 帳單 機(jī)票 讀入旅客資 料 讀入帳單號 確定 定票 領(lǐng) 票 旅客資 料 定票 領(lǐng) 票 帳單號 機(jī)票預(yù)定系統(tǒng) 客戶機(jī)程序 接收輸入數(shù)據(jù)聯(lián)絡(luò)服務(wù)器輸出數(shù)據(jù) 準(zhǔn)備定票發(fā)送數(shù)據(jù)準(zhǔn)備確認(rèn)發(fā)送數(shù) 檢驗輸入 準(zhǔn)備網(wǎng)絡(luò)數(shù)據(jù) 包 解開網(wǎng)絡(luò)數(shù)據(jù) 包 發(fā)送數(shù)據(jù)接收數(shù)據(jù)定票成功 領(lǐng)票成功 確認(rèn)操作類型 3 2 2 服務(wù)器程序部分服務(wù)器程序部分 機(jī)票預(yù)定系統(tǒng) 服務(wù)器部分 接收數(shù)據(jù)數(shù)據(jù)處理 查詢發(fā)送數(shù)據(jù) 判斷類型 解開數(shù)據(jù)包 接收客戶機(jī)數(shù)據(jù) 準(zhǔn)備數(shù)據(jù)包 發(fā)送數(shù)據(jù)到客戶機(jī) 準(zhǔn)備 SQL 數(shù)據(jù)庫操作 判斷查詢 準(zhǔn)備返回數(shù)據(jù) 判斷原因 準(zhǔn)備返回數(shù)據(jù) 其中在數(shù)據(jù)處理 查詢下作了省略 只給出了一部分模塊 實際上是有兩部分 分別對應(yīng)于定位及確認(rèn) 3 3 功能分配功能分配 各項模塊的功能可參照 3 1 中的說明 客戶機(jī)程序主要有三大塊 接收數(shù)據(jù) 網(wǎng) 絡(luò)通信及輸出部分 服務(wù)器程序主要也是由三大功能 接收網(wǎng)絡(luò)數(shù)據(jù) 數(shù)據(jù)庫操作 及發(fā)送網(wǎng)絡(luò)數(shù)據(jù)部分 服務(wù)器程序需與已建立的 SQL SERVER 數(shù)據(jù)庫互連 其接口 將于下面部分闡述 4 接口設(shè)計接口設(shè)計 4 1 外部接口外部接口 4 1 1 用戶界面用戶界面 在用戶界面部分 根據(jù)需求分析的結(jié)果 用戶需要一個用戶友善界面 在界面設(shè) 計上 應(yīng)做到簡單明了 易于操作 并且要注意到界面的布局 應(yīng)突出的顯示重要 以及出錯信息 外觀上也要做到合理化 考慮到用戶多對 WINDOW 風(fēng)格較熟悉 應(yīng)盡量向這一方向靠攏 在設(shè)計語言上 已決定使用 MS VISUAL C 進(jìn)行編程 在界面上可使用 VISUAL C 所提供的可視化組件 向 WINDOWS 風(fēng)格靠近 其 中服務(wù)器程序界面要做到操作簡單 易于管理 在設(shè)計上采用下拉式菜單方式 在 出錯顯示上可調(diào)用 VISUAL C 庫中的錯誤提示函數(shù) 總的來說 系統(tǒng)的用戶界面應(yīng)作到可靠性 簡單性 易學(xué)習(xí)和使用 4 1 2 軟件接口軟件接口 服務(wù)器程序可使用 VISUAL C 提供的對 SQL SERVER 的接口 進(jìn)行對數(shù)據(jù) 庫的所有訪問 服務(wù)器程序上可使用 SQL SERVER 的對數(shù)據(jù)庫的備分命令 以做到對數(shù)據(jù)的保 存 在網(wǎng)絡(luò)軟件接口方面 使用一種無差錯的傳輸協(xié)議 采用滑動窗口方式對數(shù)據(jù)進(jìn) 行網(wǎng)絡(luò)傳輸及接收 4 1 3 硬件接口硬件接口 在輸入方面 對于鍵盤 鼠標(biāo)的輸入 可用 VISUAL C 的標(biāo)準(zhǔn)輸入 輸出 對輸 入進(jìn)行處理 在輸出方面 打印機(jī)的連接及使用 也可用 VISUAL C 的標(biāo)準(zhǔn)輸入 輸出對其進(jìn) 行處理 在網(wǎng)絡(luò)傳輸部分 在網(wǎng)絡(luò)硬件部分 為了實現(xiàn)高速傳輸 將使用高速 ATM 4 2 內(nèi)部接口內(nèi)部接口 內(nèi)部接口方面 各模塊之間采用函數(shù)調(diào)用 參數(shù)傳遞 返回值的方式進(jìn)行信息傳 遞 具體參數(shù)的結(jié)構(gòu)將在下面數(shù)據(jù)結(jié)構(gòu)設(shè)計的內(nèi)容中說明 接口傳遞的信息將是以 數(shù)據(jù)結(jié)構(gòu)封裝了的數(shù)據(jù) 以參數(shù)傳遞或返回值的形式在各模塊間傳輸 5 數(shù)據(jù)結(jié)構(gòu)設(shè)計數(shù)據(jù)結(jié)構(gòu)設(shè)計 5 1 數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)設(shè)計數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)設(shè)計 DBMS 的使用上系統(tǒng)將采用 SQL SERVER 系統(tǒng)主要需要維護(hù) 3 張數(shù)據(jù)表 1 航班班次表航班班次表 航班號 起飛日期 時 間 飛行目的地座位空數(shù)商務(wù)倉票價經(jīng)濟(jì)倉票價 航班班次表保存了所有從本地起飛的班機(jī)信息 它的主鍵為航班號 在定位前先 查尋座位空數(shù) 在定位后將修改座位空數(shù) 2 定位信息表定位信息表 航班號帳單號是否領(lǐng)票 定位信息表保存了已定位信息 主鍵為帳單號 外部主鍵為航班號 在旅客領(lǐng)票 過程時將用到此表 領(lǐng)票后修改是否領(lǐng)票域 3 帳單信息帳單信息 旅客資料表旅客資料表 帳單號旅客姓名旅客性別旅客身份證號工作單位 帳單信息 旅客資料表保存已定位的旅客信息資料 它的主鍵為旅客身份證號 外 部主鍵為帳單號 主要用于領(lǐng)票時將旅客信息一同返回 4 機(jī)位信息表機(jī)位信息表 班機(jī)號機(jī)位信息 機(jī)位信息表保存各班機(jī)各機(jī)位定票狀況 它的外部主鍵為班機(jī)號 主要用于 定票時確定旅客機(jī)位 并返回 5 2 物理數(shù)據(jù)結(jié)構(gòu)設(shè)計物理數(shù)據(jù)結(jié)構(gòu)設(shè)計 物理數(shù)據(jù)結(jié)構(gòu)設(shè)計主要是設(shè)計數(shù)據(jù)在模塊中的表示形式 數(shù)據(jù)在模塊中都是以 結(jié)構(gòu)的方式表示 1 旅客信息 1 旅客姓名 String 2 旅客性別Char 3 身份證號碼LONG INT 4 工作單位String 用于定票時接收輸入 以及領(lǐng)票時服務(wù)器返回 2 帳單號 可使用一 LONG INT 實現(xiàn) 用于領(lǐng)票時接收輸入 以及定票時服務(wù)器返回 3 飛行目的 1 航班號String 2 目的地String 3 起飛時間Date Time 4 座位號String 用于定票時接收輸入 以及領(lǐng)票時服務(wù)器返回 4 網(wǎng)絡(luò)包 1 網(wǎng)絡(luò)包 HeadINT 2 傳輸數(shù)據(jù)String 用于數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸 5 錯誤信息 1 錯誤類型INT 2 輸出語句String 用于關(guān)于錯誤操作 6 機(jī)票信息 1 航班號 2 目的地 3 起飛時間 4 旅客姓名 5 旅客性別 6 身份證號碼 7 座位號 8 用于打印機(jī)票準(zhǔn)備工作 數(shù)據(jù)類型可參照上面所述 7 帳單信息 1 帳單號 2 旅客姓名 3 身份證號碼 4 航班號 5 起飛時間 6 目的地 用于打印帳單準(zhǔn)備工作 數(shù)據(jù)類型可參照上面所述 5 3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系 服務(wù)器程序在對定票 領(lǐng)票進(jìn)行操作時需對數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu) 也就是數(shù)據(jù)表 進(jìn)行查詢和修改 在定票 領(lǐng)票過程中都需要對數(shù)據(jù)庫中的所有表 進(jìn)行聯(lián)合查詢 修改 物理數(shù)據(jù)結(jié)構(gòu)主要用于各模塊之間函數(shù)的信息傳遞 接口傳遞的信息將是以數(shù)據(jù) 結(jié)構(gòu)封裝了的數(shù)據(jù) 以參數(shù)傳遞或返回值的形式在各模塊間傳輸 出錯信息將送入 顯示模塊中 機(jī)票結(jié)構(gòu) 帳單結(jié)構(gòu) 送入打印準(zhǔn)備模塊中準(zhǔn)備打印格式 6 運(yùn)行設(shè)計運(yùn)行設(shè)計 6 1 運(yùn)行模塊的組合運(yùn)行模塊的組合 客戶機(jī)程序在有輸入時啟動接收數(shù)據(jù)模塊 通過各模塊之間的調(diào)用 讀入并對輸 入進(jìn)行格式化 在接收數(shù)據(jù)模塊得到充分的數(shù)據(jù)時 將調(diào)用網(wǎng)絡(luò)傳輸模塊 將數(shù)據(jù) 通過網(wǎng)絡(luò)送到服務(wù)器 并等待接收服務(wù)器返回的信息 接收到返回信息后隨即調(diào)用 數(shù)據(jù)輸出模塊 對信息進(jìn)行處理 產(chǎn)生相應(yīng)的輸出 服務(wù)器程序的接收網(wǎng)絡(luò)數(shù)據(jù)模塊必須始終處于活動狀態(tài) 接收到數(shù)據(jù)后 調(diào)用數(shù) 據(jù)處理 查詢模塊對數(shù)據(jù)庫進(jìn)行訪問 完成后調(diào)用網(wǎng)絡(luò)發(fā)送模塊 將信息返回客戶機(jī) 6 2 運(yùn)行控制運(yùn)行控制 運(yùn)行控制將嚴(yán)格按照各模塊間函數(shù)調(diào)用關(guān)系來實現(xiàn) 在各事務(wù)中心模塊中 需對 運(yùn)行控制進(jìn)行正確的判斷 選擇正確的運(yùn)行控制路徑 在網(wǎng)絡(luò)傳方面 客戶機(jī)在發(fā)送數(shù)據(jù)后 將等待服務(wù)器的確認(rèn)收到信號 收到后 再次等待服務(wù)器發(fā)送回答數(shù)據(jù) 然后對數(shù)據(jù)進(jìn)行確認(rèn) 服務(wù)器在接到數(shù)據(jù)后發(fā)送確 認(rèn)信號 在對數(shù)據(jù)處理 訪問數(shù)據(jù)庫后 將返回信息送回客戶機(jī) 并等待確認(rèn) 6 3 運(yùn)行時間運(yùn)行時間 在軟體的需求分析中 對運(yùn)行時間的要求為必須對作出的操作有較快的反應(yīng) 網(wǎng) 絡(luò)硬件對運(yùn)行時間有最大的影響 當(dāng)網(wǎng)絡(luò)負(fù)載量大時 對操作反應(yīng)將受到很大的影 響 所以將采用高速 ATM 網(wǎng)絡(luò) 實現(xiàn)客戶機(jī)與服務(wù)器之間的連接 以減少網(wǎng)絡(luò)傳輸 上的開銷 其次是服務(wù)器的性能 這將影響對數(shù)據(jù)庫訪問時間即操作時間的長短 影響加大客戶機(jī)操作的等待時間 所以必須使用高性能的服務(wù)器 建議使用 Pentium III 處理器 硬件對本系統(tǒng)的速度影響將會大于軟件的影響 7 出錯處理設(shè)計出錯處理設(shè)計 7 1 出錯輸出信息出錯輸出信息 程序在運(yùn)行時主要會出現(xiàn)兩種錯誤 1 由于輸入信息 或無法滿足要求時產(chǎn)生 的錯誤 稱為軟錯誤 2 由于其他問題 如網(wǎng)絡(luò)傳輸超時等 產(chǎn)生的問題 稱為硬 錯誤 對于軟錯誤 須在定票 領(lǐng)票操作成功判斷及輸入數(shù)據(jù)驗證模塊由數(shù)據(jù)進(jìn)行數(shù)據(jù) 分析 判斷錯誤類型 再生成相應(yīng)的錯誤提示語句 送到輸出模塊中 對與硬錯誤 可在出錯的相應(yīng)模塊中輸出簡單的出錯語句 并將程序重置 返回 輸入階段 出錯信息必須給出相應(yīng)的出錯原因 例 全部班機(jī)座位已滿 查無此定位信息 等 7 2 出錯處理對策出錯處理對策 所有的客戶機(jī)及服務(wù)器都必須安裝不間斷電源以防止停電或電壓不穩(wěn)造成的數(shù)據(jù) 丟失的損失 若真斷電時 客戶機(jī)上將不會有太大的影響 主要是服務(wù)器上 在斷 電后恢復(fù)過程可采用 SQL SERVER 的日志文件 對其進(jìn)行 ROLLBACK 處理 對 數(shù)據(jù)進(jìn)行恢復(fù) 在網(wǎng)絡(luò)傳輸方面 可考慮建立一條成本較低的后備網(wǎng)絡(luò) 以保證當(dāng)主網(wǎng)絡(luò)斷路時 數(shù)據(jù)的通信 在硬件方面要選擇較可靠 穩(wěn)定的服務(wù)器機(jī)種 保證系統(tǒng)運(yùn)行時的可靠性 8 安全保密設(shè)計安全保密設(shè)計 由于數(shù)據(jù)的傳輸上需要通過網(wǎng)絡(luò)傳輸 為了客戶資料進(jìn)行保密 需要在網(wǎng)絡(luò)的傳 輸過程中對數(shù)據(jù)進(jìn)行加密 這個工作主要是在準(zhǔn)備網(wǎng)絡(luò)包 及解開網(wǎng)絡(luò)包這兩個模塊完成 它們各對數(shù)據(jù)進(jìn) 行加密及解密還原工作 在加密算法選擇上將使用 RSA 加密算法 具體算法可參照參考資料中 Computer Network p 598 9 維護(hù)設(shè)計維護(hù)設(shè)計 維護(hù)方面主要為對服務(wù)器上的數(shù)據(jù)庫數(shù)據(jù)進(jìn)行維護(hù) 可使用 SQL SERVER 的數(shù) 據(jù)庫維護(hù)功能機(jī)制 例如 定期為數(shù)據(jù)庫進(jìn)行 Backup 維護(hù)管理數(shù)據(jù)庫死鎖問題和 維護(hù)數(shù)據(jù)庫內(nèi)數(shù)據(jù)的一致性等 詳細(xì)設(shè)計說明書 1 1 編寫目的 70 1 2 項目背景 70 1 3 文中特殊的定義和縮寫 70 1 3 1定義 70 1 3 2 縮寫 70 1 4 參考資料 71 2 總體設(shè)計 71 2 1 需求概要 71 2 2 軟件結(jié)構(gòu) 71 1 客戶機(jī)接受信息模塊結(jié)構(gòu)圖 71 2 客戶機(jī)輸出信息模塊 71 3 網(wǎng)絡(luò)接受和發(fā)送模塊結(jié)構(gòu) 71 4 服務(wù)器模塊 71 3 程序描述 71 3 1 客戶機(jī)接受信息模塊 71 1 PersInfoExam 過程 71 2 PersInfoInput 過程 72 3 PersInfoTempSave 過程 72 4 CheckNoticeExam過程 72 5 CheckNoticeInput過程 73 6 CheckNoticeSave 過程 73 7 IErrorHandle過程 73 8 JudgeOrderOrCash過程 73 9 OrderTransPre過程 73 10 CashTranPre過程 73 11 SetCSFlag過程 74 3 2 客戶機(jī)輸出信息模塊 74 1 CDataRecPre 過程 74 2 DBOperaCheck過程 74 3 JudgeOrderOrCheck過程 74 4 PersInfoComp1過程 74 5 CheckNoticeOutput過程 74 6 CheckNoticeComp 過程 75 7 PersInfoComp2過程 75 8 TicketOutput過程 75 9 OErrorHandle 過程 75 3 3 網(wǎng)絡(luò)接受和發(fā)送模塊結(jié)構(gòu) 75 1 NetCheck過程 75 2 RecPre過程 75 3 NetReceive過程 75 4 NetDataDiscry過程 76 5 NetDataUnpack 過程 76 6 SendPre過程 76 7 NetDataPack過程 76 8 NetDataEncry過程 76 9 NetSend過程 76 10 NetMonitor過程 76 11 NErrorHandle過程 76 12 JudgeCSFlag過程 76 3 4 服務(wù)器模塊 77 1 SDataRecPre過程 77 2 JudgeOrderOrCash過程 77 3 TicketAvailable過程 77 4 LockTicket過程 77 5 AddPers過程 77 6 GetoutCheck過程 77 7 InfoComp過程 77 8 GetoutTicket 過程 78 9 DelItem 過程 78 10 JudgeCheckTicket過程 78 11 CheckTransPre過程 78 12 TicketTransPre 過程 78 13 SetCSFlag 過程 78 14 DBErrorHandle 過程 78 15 DBErrorTransPre 過程 78 1 引言 引言 1 1 編寫目的 編寫目的 在前一階段 概要設(shè)計說明書 中 已解決了實現(xiàn)該系統(tǒng)需求的程序模塊設(shè) 計問題 包括如何把該系統(tǒng)劃分成若干個模塊 決定各個模塊之間的接口 模塊 之間傳遞的信息 以及數(shù)據(jù)結(jié)構(gòu) 模塊結(jié)構(gòu)的設(shè)計等 在以下的詳細(xì)設(shè)計報告中 將對在本階段中對系統(tǒng)所做的所有詳細(xì)設(shè)計進(jìn)行說明 在本階段中 確定應(yīng)該如何具體地實現(xiàn)所要求的系統(tǒng) 從而在編碼階段可以 把這個描述直接翻譯成用具體的 程序語言書寫的程序 主要的工作有 根據(jù)在 需求分析說明書 中所描述的數(shù)據(jù) 功能 運(yùn)行 性能需求 并依照 概要設(shè) 計說明書 所確定的處理流程 總體結(jié)構(gòu)和模塊外部設(shè)計 設(shè)計軟件系統(tǒng)的結(jié)構(gòu) 設(shè)計 逐個模塊的程序描述 包括各模塊的功能 性能 輸入 輸出 算法 程 序邏輯 接口等等 解決如何 1 接受 旅客信息及取票通知和帳單 2 輸出 取票通知和帳單及機(jī)票 3 網(wǎng)絡(luò)輸出和加密 輸入和解密 4 分辨信息的種類并采取相應(yīng)的處理步驟 5 判斷信息的正誤并采取相應(yīng)的處理步驟 6 進(jìn)行數(shù)據(jù)庫的查詢 修改工作 7 接受并判斷錯誤 輸出相應(yīng)的出錯消息 在以下的各個階段中 用戶操作手冊 將與本階段的工作緊密結(jié)合 努力作 到 讓用戶易懂易學(xué) 測試報告 和 維護(hù)報告 也將參考本說明書 檢驗本系統(tǒng)的各項性能指標(biāo) 及時發(fā)現(xiàn)紕漏及時修補(bǔ) 一定要把功能強(qiáng)大 穩(wěn)定 可靠 便于維護(hù)的機(jī)票預(yù)定系統(tǒng)交到用戶手中 1 2 項目背景 項目背景 本項目 機(jī)票預(yù)定系統(tǒng) 時由浙江航空公司委托 由 軟件開發(fā)小組負(fù)責(zé) 開發(fā) 本 機(jī)票預(yù)定系統(tǒng)項目主要由兩部分形成 1 各旅行社中的前臺客戶程序 2 航空公司中的數(shù)據(jù)庫服務(wù)器程序 1 3 文中特殊的定義和縮寫 文中特殊的定義和縮寫 1 3 1 定義定義 SQL SERVER 系統(tǒng)服務(wù)器所使用的數(shù)據(jù)庫管理系統(tǒng) DBMS SQL 一種用于訪問查詢數(shù)據(jù)庫的語言 事務(wù)流 數(shù)據(jù)進(jìn)入模塊后可能有多種路徑進(jìn)行處理 主鍵 數(shù)據(jù)庫表中的關(guān)鍵域 值互不相同 外部主鍵 數(shù)據(jù)庫表中與其他表主鍵關(guān)聯(lián)的域 ROLLBACK 數(shù)據(jù)庫的錯誤恢復(fù)機(jī)制 1 3 2 縮寫縮寫 系統(tǒng) 若未特別指出 統(tǒng)指本機(jī)票預(yù)定系統(tǒng) SQL Structured Query Language 結(jié)構(gòu)化查詢語言 ATM Asynchronous Transfer Mode 異步傳輸模式 1 4 參考資料 參考資料 以下列出在概要設(shè)計過程中所使用到的有關(guān)資料 1機(jī)票預(yù)定系統(tǒng)項目計劃任務(wù)書機(jī)票預(yù)定系統(tǒng)項目計劃任務(wù)書 浙江航空公司 2 機(jī)票預(yù)定系統(tǒng)項目開發(fā)計劃機(jī)票預(yù)定系統(tǒng)項目開發(fā)計劃 軟件開發(fā)小組 3 需求規(guī)格說明書需求規(guī)格說明書 軟件開發(fā)小組 4概要設(shè)計說明書概要設(shè)計說明書 軟件開發(fā)小組 4 用戶操作手冊 初稿 用戶操作手冊 初稿 軟件開發(fā)小組 5 軟件工程及其應(yīng)用軟件工程及其應(yīng)用 周蘇 王文等天津科學(xué)技術(shù)出版社 6 軟件工程軟件工程 張海藩清華大學(xué)出版社 7 Computer Network A S TanenbaunPrentice Hall 文檔所采用的標(biāo)準(zhǔn)是參照 軟件工程導(dǎo)論 沈美明著 的 計算機(jī)軟件開發(fā)文 檔編寫指南 2 2 總體設(shè)計 總體設(shè)計 2 1 需求概要 需求概要 浙江航空公司為方便旅客 需開發(fā)一個機(jī)票預(yù)定系統(tǒng) 為便于旅客由旅行社 代替航空公司負(fù)責(zé)為旅客定票 旅行社把預(yù)定機(jī)票的旅客信息 包括姓名 性別 工作單位 身份證號碼 旅行時間 旅行目的地 輸入機(jī)票預(yù)定系統(tǒng)的客戶端程 序 系統(tǒng)經(jīng)過查詢航空公司內(nèi)的航班數(shù)據(jù)服務(wù)器后 為旅客安排航班 印出取票 通知 旅客在飛機(jī)起飛前一天憑取票通知和帳單交款后取票 系統(tǒng)校對無誤后即 印出機(jī)票給旅客 要求系統(tǒng)能有效 快速 安全 可靠和無誤的完成上述操作 并要求客戶機(jī) 的界面要單明了 易于操作 服務(wù)器程序利于維護(hù) 2 2 軟件結(jié)構(gòu) 軟件結(jié)構(gòu) 各模塊之間的關(guān)系已由概要設(shè)計給出 客戶機(jī)接受信息模塊結(jié)構(gòu)圖 客戶機(jī)輸出信息模塊 網(wǎng)絡(luò)接受和發(fā)送模塊結(jié)構(gòu) 服務(wù)器模塊 3 3 程序描述 程序描述 3 1 客戶機(jī)接受信息模塊客戶機(jī)接受信息模塊 1 PersInfoExam 過程 過程 對在旅客信息界面中輸入的各項信息進(jìn)行初步檢驗 若發(fā)現(xiàn)錯誤 令 PErrorAppear T 判斷錯誤類型 并將相應(yīng)的 錯誤類型 PErrorType 或 PErrorRank 作為參數(shù) 轉(zhuǎn) 入 IErrorHandle 過程 若未發(fā)現(xiàn)錯誤 轉(zhuǎn)入 PersInfoInput 過程 其中的錯誤種類有 1 數(shù)據(jù)類型不匹配 PErrorType T 否則 F 姓名 string 旅行目的地 string 性別 string 旅行時間 date 工作單位 string 年 月 日 yy mm dd 身份證號碼 long int 定票 取票 boolean 2 數(shù)據(jù)超出規(guī)定范圍 PErrorRank T 否則 F 等等 性別只能是 男 或 女 身份證號碼按規(guī)定必須是 13 位 旅行時間必 須在定票的當(dāng)天過一天以后 等等 2 PersInfoInput 過程 過程 經(jīng)檢驗無誤后 將輸入界面表單中的數(shù)據(jù)輸入到 Class PersInfo Class PersInfo 偽碼 String name 姓名 String sex 性別 String company 工作單位 Long int idcode 身份證號碼 Date stime 旅行時間 syear smonth stime 年 月 日 String denist 目的地 Bool ocflag 定票 取票 3 PersInfoTempSave 過程 過程 將由 PersInfoInput 輸入的旅客信息 保存在一個臨時文件 PersInfoTemp txt 中 以備與 將來從服務(wù)器經(jīng)網(wǎng)絡(luò)傳輸過來的數(shù)據(jù)校驗 此類 temp 文件在每次軟件的完全過程操作后 須刪除 4 CheckNoticeExam 過程過程 對在帳單和取票通知的信息界面中輸入的各項信息進(jìn)行初步檢驗 若發(fā)現(xiàn) 錯誤 令 CErrorAppear T 判斷錯誤類型 并將相應(yīng)的 錯誤類型 CErrorType 或 CErrorRank 作為參數(shù) 轉(zhuǎn)入 IErrorHandle 過程 若未發(fā)現(xiàn)錯誤 轉(zhuǎn)入 CheckNoticeInput 過程 其中的錯誤種類有 1 數(shù)據(jù)結(jié)構(gòu)不匹配 CerrorType T 否則 F 帳單號 long int 姓名 string 身份證號碼 long int 付款金額 money 航班號 string 取票截止日期 date 目的地 string 2 數(shù)據(jù)超出規(guī)定范圍 CErrorRank T 否則 F 如帳單號不是規(guī)定的 15 位 金額為負(fù) 取票截止日期已過 等等 5 CheckNoticeInput 過程過程 經(jīng)檢驗無誤后 將輸入界面表單中的數(shù)據(jù)輸入到 Class CheckNotice Class CheckNotic Long int cncode 帳單號 String name 姓名 Long int idcode 身份證號碼 Money bill 付款金額 String planecode 航班號 Date dtime 取票截止日期 String denist 目的地 6 CheckNoticeSave 過程過程 將由 CheckNoticeInput 輸入的旅客信息 保存在一個臨時文件 CheckNoticeTemp txt 中 以備與將來從服務(wù)器經(jīng)網(wǎng)絡(luò)傳輸過來的數(shù)據(jù)校驗 此類 temp 文件在每次軟件的完全過程 操作后 須刪除 7 IErrorHandle 過程過程 在 PersInfoExam 或 CheckNoticeExam 過程中若發(fā)現(xiàn)錯誤 就轉(zhuǎn)入本過程 執(zhí)行相應(yīng)的處 理 并輸出相應(yīng)的出錯信息 If PErrorType T 輸出 您的個人信息可能輸錯了位置 請重試 If PErrorRank T 輸出 您的個人信息不適應(yīng)規(guī)定范圍 請重試 再轉(zhuǎn)入旅客信息輸入的界面中 If CErrorType T 輸出 您的帳單信息可能輸錯了位置 請重試 If CErrorRank T 輸出 您的帳單信息不適應(yīng)規(guī)定范圍 請重試 再

溫馨提示

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

評論

0/150

提交評論