06 詳細設(shè)計說明書
《06 詳細設(shè)計說明書》由會員分享,可在線閱讀,更多相關(guān)《06 詳細設(shè)計說明書(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、16 《五.詳細設(shè)計說明書》 1、 引言: 1、1編寫目的: 本說明書的目的為了說明程序系統(tǒng)的設(shè)計考慮,包括程序設(shè)計的處理流程,組織結(jié)構(gòu),功能分配,模塊劃分,接口設(shè)計,運行設(shè)計,出錯設(shè)計等等,將比概要設(shè)計更加詳細。 1、2項目背景: 【2】待開發(fā)軟件名稱:酒店管理系統(tǒng) 【2】本項目的提出者:開發(fā)小組 【3】本項目的制作者;開發(fā)小組 【4】用戶和運行該程序系統(tǒng)的環(huán)境:開發(fā)小組人員的寢室 1、3文中特殊的定義和縮寫: 1.3.1定義 顧客住宿管理:對顧客的住宿進行管
2、理,并儲存顧客的住宿記錄 顧客信息:存放顧客信息,證件信息,房間信息 房間信息:房間號碼,房間等級,房間價格 1、4參考資料: 以下列出在概要設(shè)計過程中所使用到的有關(guān)資料: 《軟件工程導論》 清華大學出版社 《現(xiàn)在軟件工程》 北京大學出版社 詳細設(shè)計書文檔 2.總體設(shè)計: 2、1需求概要 要求系統(tǒng)能有效、快速、安全、可靠和無誤的完成上“酒店管理系統(tǒng)”允許酒店工作人員對酒店的客房、員工以及入住酒店的顧客進行客房入住、酒店服務等一些管理?!熬频旯芾硐到y(tǒng)”實施后,能節(jié)約人力資源,提高服務質(zhì)量,方便各項管理。賬務處理的時間明顯減少,數(shù)學計算上的錯
3、誤也會消失。對客房狀態(tài)(如是否入住,入住顧客信息等)的查詢與統(tǒng)計也顯得非常方便,減少了顧客等待與員工分類統(tǒng)計的時間。詳細的項目描述請參見酒店管理系統(tǒng)前景和范圍文檔。文檔中這一部分的標題為“初始版本和后續(xù)版本的范圍”,列出了按照進度計劃在這一版本中實現(xiàn)的全部或部分特性。述操作。并要求客戶機的 界面要單明了,易于操作,服務器程序利于維護。 2、2 軟件結(jié)構(gòu): 各模塊之間的關(guān)系已由概要設(shè)計給出。 1、客戶機接受信息模塊結(jié)構(gòu)圖:
4、 旅客信息輸入界面 1 帳單和通知輸入界面2 CheckNoticeExam( ) PersInfoExam ( ) CheckNoticeInput( ) PersInfoInput( ) IErrorHandle( ) CheckNoticeTempSave( ) PersInfoTempSave( ) JudgeOrderOrCash ( ) OrderTransPre ( ) CashTransPre( ) SetCSFlag( )
5、 網(wǎng)絡接受和發(fā)送模塊 2.客戶機輸出信息模塊: 網(wǎng)絡接受和發(fā)送模塊 CDataRecPre( ) DBOperaCheck( ) JudgeOrderOrCash ( ) CheckNoticeComp() Per
6、sInfoComp1( ) PersInfoComp2( ) OErrorHandle( ) CheckNoticeOutput() TicketOutput( ) 錯誤輸出的界面3 帳單和取票通知的輸出界面 1 機票的輸出界面 2 3. 網(wǎng)絡接受和發(fā)送模塊結(jié)構(gòu):
7、 NetMonitor ( ) NetDataUnpack( ) NetDataDiscry ( ) NErrorHandle() SendPre( ) RecPre( ) NetCheck( ) NetSend ( ) NetDataEncry ( ) NetDataPack( ) NetReceive ( ) 客戶機 接受信息模塊 或 服務器輸出信息模塊
8、 JudgeCSFlag ( ) 客戶機 輸出信息模塊 服務器輸入信息模塊
9、 4.服務器模塊: 網(wǎng)絡接受和發(fā)送模塊 SDataRecPre( ) JudgeOrderOrCash( ) InfoComp( ) TicketAvailable( ) DBErrorHandle( ) LockTicket( ) GetoutTicket( ) AddPers ( )
10、 DBErrorTransPre( ) DelItem ( ) GetoutCheck( ) JudgeCheckTicket( ) CheckTransPre( ) TicketTransPre( ) SetCSFlag( ) 網(wǎng)絡接受和發(fā)送模塊 3、程序描述: 3、1 客戶機接受信息模塊: 1、PersInfoExam
11、 過程: 對在旅客信息界面中輸入的各項信息進行初步檢驗。若發(fā)現(xiàn)錯誤,令 PErrorAppear=T,判斷錯誤類型,并將相應的 錯誤類型PErrorType或PErrorRank作為參數(shù),轉(zhuǎn)入IErrorHandle過程。若未發(fā)現(xiàn)錯誤,轉(zhuǎn)入PersInfoInput過程。其中的錯誤種類有: 1.數(shù)據(jù)類型不匹配,PErrorType =T;否則=F; 姓名 st
12、ring 旅行目的地 string 性別 string 旅行時間 date 工作單位 string (年/月/日 yy/mm/dd) 身份證號碼 long int 定票/取票 boolean 2、數(shù)據(jù)超出規(guī)定范圍PErrorRank =T; 否則=F;等等 性別只能是‘男’或‘女’;身份證號
13、碼按規(guī)定必須是13位;旅行時間必須在定票的當天過一天以后; 等等 2、PersInfoInput 過程: 經(jīng)檢驗無誤后,將輸入界面表單中的數(shù)據(jù)輸入到Class PersInfo Class PersInfo{ /* 偽碼 */ String name= 姓名 ; String sex= 性別; String company= 工作單位; Long int
14、 idcode= 身份證號碼; Date stime= 旅行時間; (syear/smonth/stime=年/月/日) String denist= 目的地 Bool ocflag= 定票/取票 } 3.PersInfoTempSave 過程: 將由PersInfoInput輸入的旅客信息 保存在一個
15、臨時文件PersInfoTemp.txt中。以備與將來從服務器經(jīng)網(wǎng)絡傳輸過來的數(shù)據(jù)校驗。 此類temp文件在每次軟件的完全過程操作后,須刪除。 4.CheckNoticeExam過程: 對在帳單和取票通知的信息界面中輸入的各項信息進行初步檢驗。若發(fā)現(xiàn)錯誤,令CErrorAppear=T,判斷錯誤類型,并將相應的 錯誤類型CErrorType或CErrorRank作為參數(shù),轉(zhuǎn)入IErrorHandle過程。若未發(fā)現(xiàn)錯誤,轉(zhuǎn)入CheckNoticeInput過程。其中的錯誤種類有: 1.數(shù)據(jù)
16、結(jié)構(gòu)不匹配,CerrorType=T,否則=F; 帳單號 long int 姓名 string 身份證號碼 long int 付款金額 money 航班號 string 取票截止日期 date 目的地 string 2.數(shù)據(jù)超出規(guī)定范圍CErrorRank =T; 否則=F; 如帳單號不是規(guī)定的15位;金額為負;取票截止
17、日期已過;等等 5.CheckNoticeInput過程: 經(jīng)檢驗無誤后,將輸入界面表單中的數(shù)據(jù)輸入到Class CheckNotice Class CheckNotic{ Long int cncode=帳單號 String name=姓名 Long int idcode=身份證號碼 Money bill = 付款金額 String planecode= 航班號 Date dtime= 取票截止日期
18、 String denist= 目的地 } 6.CheckNoticeSave 過程: 將由CheckNoticeInput輸入的旅客信息 保存在一個臨時文件CheckNoticeTemp.txt中。以備與將來從服務器經(jīng)網(wǎng)絡傳輸過來的數(shù)據(jù)校驗。 此類temp文件在每次軟件的完全過程操作后,須刪除。 7.IErrorHandle過程: 在PersInfoExam或CheckNoticeExam過程中若發(fā)現(xiàn)錯誤,就轉(zhuǎn)入本過程,執(zhí)行相應的處理,并輸出相應的出錯信息。 If (PErrorType==T)
19、 輸出“您的個人信息可能輸錯了位置。請重試?!? If (PErrorRank==T) 輸出“您的個人信息不適應規(guī)定范圍。請重試?!? 再轉(zhuǎn)入旅客信息輸入的界面中。 If (CErrorType==T) 輸出“您的帳單信息可能輸錯了位置。請重試。” If (CErrorRank==T) 輸出“您的帳單信息不適應規(guī)定范圍。請重試。” 再轉(zhuǎn)入帳單和取票通知信息的輸入界面。 8.JudgeOrderOrCash過程: 根據(jù)PersI
20、nfoInput輸入的ocflag 判斷本次操作是定票或取票,相應的設(shè)置標志,相應的轉(zhuǎn)入OrderTransPre或CashTransPre過程. 9.OrderTransPre過程: 定票要求傳輸前,作好各方面(硬件、軟件)的準備。如準備好要傳輸?shù)亩ㄆ毙畔?,包括旅客信息,客戶機信息等等??蛻魴C信息包括唯一序列號c_id,并設(shè)置等待標志waitflag =T和等待開始時間waitstime,等等。轉(zhuǎn)入網(wǎng)絡模塊后,此過程仍處于等待狀態(tài),并一直記時,當waitflag==T且系統(tǒng)時間超過waitstime比如十分鐘后,結(jié)束操作,輸出操作超時的出錯信息。當客戶機接受到數(shù)據(jù)庫的信息,客戶
21、機輸入模塊中的DataRecPre過程會置waitflag=F,這樣本過程就會結(jié)束。 10.CashTranPre過程: 取票要求傳輸前,作好各方面(硬件、軟件)的準備。如準備好要傳輸?shù)娜∑毙畔?,包括帳單和取票通知的信息,客戶機信息等等??蛻魴C信息包括唯一序列號c_id,并設(shè)置等待標志waitflag =T和等待開始時間waitstime,等等。轉(zhuǎn)入網(wǎng)絡模塊后,此過程仍處于等待狀態(tài),并一直記時,當waitflag==T且系統(tǒng)時間超過waitstime比如十分鐘后,結(jié)束操作,輸出操作超時的出錯信息。當客戶機接受到數(shù)據(jù)庫的信息,客戶機輸入模塊中的DataRecPre過程會置waitf
22、lag=F,這樣本過程就會結(jié)束。 11.SetCSFlag過程: 設(shè)置客戶機/服務器標志CSFlag=T(表示將要進行的傳輸是從客戶機到服務器)。以備網(wǎng)絡模塊中的JudgeCSFlag過程使用。 3.2客戶機輸出信息模塊: 1. CDataRecPre 過程: 作好各方面(硬件、軟件)的準備,以便接受網(wǎng)絡傳輸來的數(shù)據(jù)。如設(shè)置服務器的空閑與否狀態(tài)s_idle =F,繼承正在工作聯(lián)系的客戶機序列號c_id 。完成后轉(zhuǎn)入下一個過程DBOperaCheck. 2. DBOperaCheck過程: 檢驗網(wǎng)絡傳輸過來的數(shù)據(jù)。若是出錯信息,轉(zhuǎn)入OErrorHandle過程。否則
23、轉(zhuǎn)入JudgeOrderOrCheck過程。 3. JudgeOrderOrCheck過程: 根據(jù)網(wǎng)絡傳輸來的數(shù)據(jù)中的ocflag 判斷本次操作是定票或取票,相應的設(shè)置標志,相應的轉(zhuǎn)入PersInfoComp或CheckNoticeComp過程. 4.PersInfoComp1過程: 將數(shù)據(jù)庫中的旅客信息與臨時文件PersInfoTemp.txt中的旅客信息進行比較,如果吻合,就轉(zhuǎn)入CheckNoticeOutput 過程。否則出錯,轉(zhuǎn)入OErrorHandle過程。 5. CheckNoticeOutput過程: 將帳單和取票通知輸出到界面1中。注意格式。
24、 Long int cncode =帳單號; String name= 姓名 ; String sex= 性別; String company= 工作單位; Long int idcode= 身份證號碼; Date stime= 旅行時間; (syear/smonth/stime=年/月/日)
25、 String denist= 目的地 Bool ocflag= 定票/取票 6. CheckNoticeComp 過程: 將數(shù)據(jù)庫中的帳單和取票通知信息與臨時文件CheckNoticeTemp.txt中的旅客信息進行比較,如果吻合,就轉(zhuǎn)入PersInfoComp 過程。否則出錯,轉(zhuǎn)入OErrorHandle過程。 7.PersInfoComp2過程: 將數(shù)據(jù)庫中的旅客信息與臨時文件PersInfoTemp.txt中的旅客信息進行比較,如果吻合,就轉(zhuǎn)入TicketOutput 過程。否則出錯,轉(zhuǎn)入OErr
26、orHandle過程。 1. TicketOutput過程: 將機票輸出到界面2。注意格式。 Long int planecode=航班號; Date/time stime=起飛時間; String name=姓名; Long int idcode=身份證號碼; Int seatcode = 座位號; Money price= 票價; 2. OErrorHandle 過程: 處理各個過程產(chǎn)生的錯誤,輸出相應的出錯信息到輸出界面3 。由DBE
27、rrorCheck過程轉(zhuǎn)入的,是數(shù)據(jù)庫操作失效,如:所需機票已被定光;數(shù)據(jù)庫中無對應的帳單或旅客信息;等等。由PersInfoComp過程轉(zhuǎn)入的,是數(shù)據(jù)庫處理有誤,返回的旅客信息無法與原先輸入的旅客信息吻合。由CheckNoticeComp過程轉(zhuǎn)入的,是數(shù)據(jù)庫處理有誤,返回的帳單和取票通知信息無法與原先輸入的帳單和取票通知信息吻合。 3.3網(wǎng)絡接受和發(fā)送模塊結(jié)構(gòu): 1. NetCheck過程: 檢查網(wǎng)路的工作狀況。發(fā)送一些檢驗消息,接受一些反饋信息,查詢要建立通路的終端是否有效,若有效就作好響應的準備,轉(zhuǎn)入RecPre和SendPre過程;若無效就轉(zhuǎn)入NErrorHandle過程。 如
28、服務器要傳輸信息給某客戶機,可先發(fā)檢驗消息,包括由服務器發(fā)送的c_id可檢驗相應的客戶機是否仍處于等待狀態(tài),客戶機再將waitflag反饋給服務器;客戶機要傳輸信息給服務器,若服務器的s_idle=T,由客戶機發(fā)送的c_id的值可賦予服務器中的c_id,再將s_idle反饋給客戶機. 2. RecPre過程: 經(jīng)過NetCheck過程檢驗網(wǎng)路后,作好接受數(shù)據(jù)的準備。若是服務器à客戶機,應該只要相應c_id的客戶機做準備,激活客戶機輸出模塊。若是客戶機à服務器,由于服務器始終處于活動狀態(tài),無須 激活 。 3. NetReceive過程: 接受網(wǎng)絡數(shù)據(jù)包。在分包接受的過程中,始終保持與Ne
29、tMonitor過程聯(lián)系 ,接受和反饋網(wǎng)絡數(shù)據(jù)傳輸狀況的 信息,根據(jù)這些信息繼續(xù)接受數(shù)據(jù)包,或做相應的調(diào)整。 4. NetDataDiscry過程: 將由網(wǎng)絡傳輸來的數(shù)據(jù)依據(jù)一定的算法解密。 5. NetDataUnpack 過程: 將經(jīng)解密后的數(shù)據(jù)(被壓縮過的)依據(jù)一定的算法解壓。 6. SendPre過程: 經(jīng)過NetCheck過程檢驗網(wǎng)路后,作好發(fā)送數(shù)據(jù)的準備。若是服務器à客戶機,應該只要相應c_id的客戶機做準備,激活客戶機輸出模塊。若是客戶機à服務器,由于服務器始終處于活動狀態(tài),無須 激活 。 7. NetDataPack過程: 將由服務器模塊傳過
30、來的數(shù)據(jù)依據(jù)一定的算法壓縮,打包。 8. NetDataEncry過程: 將準備送網(wǎng)絡發(fā)送的數(shù)據(jù)依據(jù)一定的算法加密。 9. NetSend過程: 發(fā)送經(jīng)過壓縮打包和加密的數(shù)據(jù)包。在分包發(fā)送的過程中,始終保持與NetMonitor過程聯(lián)系 ,接受和反饋網(wǎng)絡數(shù)據(jù)傳輸狀況的 信息,根據(jù)這些信息繼續(xù)發(fā)送數(shù)據(jù)包,或做相應的調(diào)整。 10. NetMonitor過程: 從服務器與某客戶機建立網(wǎng)絡聯(lián)系開始,到數(shù)據(jù)傳輸完成,聯(lián)系斷開為止,NetMonitor過程始終監(jiān)視著網(wǎng)絡狀況。并將狀況信息隨時傳給NetReceive和NetSend過程,同時從這兩個過程接受數(shù)據(jù)接受和發(fā)送的狀況信息。
31、如果以上的狀況信息反映出錯誤 ,就轉(zhuǎn)入NErrorHandle過程處理。 11. NErrorHandle過程: 網(wǎng)絡模塊的錯誤處理過程。主要的錯誤種類有:1。無法建立服務器與某客戶機建立網(wǎng)絡聯(lián)系,由NetCheck 過程轉(zhuǎn)來;2。聯(lián)系建立后,網(wǎng)絡數(shù)據(jù)傳輸出現(xiàn)錯誤,由NetMonitor過程轉(zhuǎn)來。 12. JudgeCSFlag過程: 本過程根據(jù)由客戶機輸入模塊中的SetCSFlag過程或服務器模塊中的SetCSFlag 過程來確定網(wǎng)絡模塊完成后應轉(zhuǎn)入哪一個模塊,客戶機輸出模塊或服務器模塊。 3.4服務器模塊: 1. SDataRecPre過程: 作好服務器各方面(
32、硬件、軟件)的準備,以便接受網(wǎng)絡傳輸來的數(shù)據(jù)。如設(shè)置服務器的空閑與否狀態(tài)s_idle =F,繼承正在工作聯(lián)系的客戶機序列號c_id 。完成后轉(zhuǎn)入下一個過程JudgeOrderOrCash . 2. JudgeOrderOrCash過程: 根據(jù)網(wǎng)絡輸入的數(shù)據(jù)中的ocflag 判斷本次操作是定票或取票,相應的設(shè)置標志,相應的轉(zhuǎn)入TicketAvailable或InfoComp過程. 3. TicketAvailable過程: 根據(jù)旅客信息中的旅行時間(日期)查詢數(shù)據(jù)庫,若Ticket表中在此日期仍有票剩余(未被定票或購票),就轉(zhuǎn)入LockTicket 過程;若無余票,就轉(zhuǎn)入DBErr
33、orHandle 過程. 4. LockTicket過程: 根據(jù)旅客信息中的旅行時間(日期),在Ticket表中,把相應數(shù)量的起飛日期等于此日期的機票鎖住,作為已定的機票. 5. AddPers過程: 把已定票的旅客信息添加到PerInfo表中. 姓名 性別 身份證 號碼 工作單位 旅行目的地 旅行時間 6. GetoutCheck過程: 把查詢后許可的定票信息添加到Check表中,同時準備把此信息向網(wǎng)絡輸出.
34、 帳單號 姓名 身份證號碼 金額 航班號 截止日期 目的地 7.InfoComp過程: 檢查輸入的旅客信息、帳單和取票通知信息在數(shù)據(jù)庫的PersInfo和Check 表中是否有對應的項。如果有,就轉(zhuǎn)入DelItem 過程;如果無,就轉(zhuǎn)入DBErrorHandle過程。 8. GetoutTicket 過程: 在Ticket表中取出并刪除對應的被鎖住的機票信息,準備把此信
35、息向網(wǎng)絡輸出. 9. DelItem 過程: 在數(shù)據(jù)庫的PersInfo 和Check 表中,刪除已取票的旅客信息、帳單和取票通知信息。 10. JudgeCheckTicket過程: 根據(jù)數(shù)據(jù)庫輸出的數(shù)據(jù) 判斷本次輸出是帳單和取票通知或機票,相應的設(shè)置標志,相應的轉(zhuǎn)入CheckTransPre或TicketTransPre過程. 11.CheckTransPre過程: 帳單和取票通知 傳輸前,作好各方面(硬件、軟件)的準備。如準備好要傳輸信息,包括帳單信息,要聯(lián)系的客戶機信息等等??蛻魴C信息包括唯一序列號c_id。 12.TicketTransPre 過程: 機票 傳
36、輸前,作好各方面(硬件、軟件)的準備。如準備好要傳輸信息,包括機票信息,要聯(lián)系的客戶機信息等等??蛻魴C信息包括唯一序列號c_id。 13.SetCSFlag 過程: 設(shè)置客戶機/服務器標志CSFlag=F(表示將要進行的傳輸是從服務器到客戶機)。以備網(wǎng)絡模塊中的JudgeCSFlag過程使用。 14.DBErrorHandle 過程: 判斷數(shù)據(jù)庫操作中出現(xiàn)的錯誤,并處理和返回到客戶機上。由TicketAvailable過程轉(zhuǎn)入的錯誤,是Ticket表中在相應日期無票剩余(全被定票或購票,或者飛機已起飛);由Infocomp 過程轉(zhuǎn)入的錯誤,是輸入的旅客信息、帳單和取票通知信息在數(shù)據(jù)庫的PersInfo和Check 表中沒有對應的項,說明取票信息和定票信息不符。 15.DBErrorTransPre 過程: 錯誤信息 傳輸前,作好各方面(硬件、軟件)的準備。如準備好要傳輸信息,包括錯誤類別信息,要聯(lián)系的客戶機信息等等??蛻魴C信息包括唯一序列號c_id。接著轉(zhuǎn)入網(wǎng)絡接受和發(fā)送模塊。 16
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 指向核心素養(yǎng)發(fā)展的高中生物學1輪復習備考建議
- 新課程新評價新高考導向下高三化學備考的新思考
- 新時代背景下化學高考備考策略及新課程標準的高中化學教學思考
- 2025屆江西省高考政治二輪復習備考建議
- 新教材新高考背景下的化學科學備考策略
- 新高考背景下的2024年高考化學二輪復習備考策略
- 2025屆高三數(shù)學二輪復習備考交流會課件
- 2025年高考化學復習研究與展望
- 2024年高考化學復習備考講座
- 2025屆高考數(shù)學二輪復習備考策略和方向
- 2024年感動中國十大人物事跡及頒獎詞
- XX教育系統(tǒng)單位述職報告教育工作概述教育成果展示面臨的挑戰(zhàn)未來規(guī)劃
- 2025《增值稅法》全文解讀學習高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 初中資料:400個語文優(yōu)秀作文標題
- 初中語文考試專項練習題(含答案)